Skip to content

Commit a398c97

Browse files
authored
Merge pull request #45 from deepmind/inv-pattern-filter
Added --pattern feature to inventory cli
2 parents b0a1c67 + ed7ca72 commit a398c97

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

kapitan/cli.py

+6-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import traceback
2727
import yaml
2828

29-
from kapitan.utils import jsonnet_file, PrettyDumper, flatten_dict, searchvar
29+
from kapitan.utils import jsonnet_file, PrettyDumper, flatten_dict, searchvar, deep_get
3030
from kapitan.targets import compile_targets
3131
from kapitan.resources import search_imports, resource_callbacks, inventory_reclass
3232
from kapitan.version import PROJECT_NAME, DESCRIPTION, VERSION
@@ -91,6 +91,8 @@ def main():
9191
help='set inventory path, default is "./inventory"')
9292
inventory_parser.add_argument('--flat', '-F', help='flatten nested inventory variables',
9393
action='store_true', default=False)
94+
inventory_parser.add_argument('--pattern', '-p', default='',
95+
help='filter pattern (e.g. parameters.mysql), default is ""')
9496

9597
searchvar_parser = subparser.add_parser('searchvar',
9698
help='show all inventory files where var is declared')
@@ -179,6 +181,9 @@ def main():
179181
inv = inventory_reclass(args.inventory_path)
180182
if args.target_name != '':
181183
inv = inv['nodes'][args.target_name]
184+
if args.pattern != '':
185+
pattern = args.pattern.split(".")
186+
inv = deep_get(inv, pattern)
182187
if args.flat:
183188
inv = flatten_dict(inv)
184189
yaml.dump(inv, sys.stdout, width=10000)

kapitan/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"Project description variables"
1818

1919
PROJECT_NAME = 'kapitan'
20-
VERSION = '0.12.0'
20+
VERSION = '0.13.0'
2121
DESCRIPTION = ('Generic templated configuration management for Kubernetes,'
2222
'Terraform and other things')
2323
AUTHOR = 'Ricardo Amaro'

0 commit comments

Comments
 (0)