|
21 | 21 | from kapitan import cached, defaults, setup_logging
|
22 | 22 | from kapitan.initialiser import initialise_skeleton
|
23 | 23 | from kapitan.inputs.jsonnet import jsonnet_file
|
| 24 | +from kapitan.inventory import AVAILABLE_BACKENDS |
24 | 25 | from kapitan.lint import start_lint
|
25 | 26 | from kapitan.refs.base import RefController, Revealer
|
26 | 27 | from kapitan.refs.cmd_parser import handle_refs_command
|
@@ -103,12 +104,12 @@ def build_parser():
|
103 | 104 | subparser = parser.add_subparsers(help="commands", dest="subparser_name")
|
104 | 105 |
|
105 | 106 | inventory_backend_parser = argparse.ArgumentParser(add_help=False)
|
106 |
| - inventory_backend_group = inventory_backend_parser.add_argument_group("inventory_backend") |
107 |
| - inventory_backend_group.add_argument( |
108 |
| - "--reclass", |
109 |
| - action="store_true", |
110 |
| - default=from_dot_kapitan("inventory_backend", "reclass", False), |
111 |
| - help="use reclass as inventory backend (default)", |
| 107 | + inventory_backend_parser.add_argument( |
| 108 | + "--inventory-backend", |
| 109 | + action="store", |
| 110 | + default=from_dot_kapitan("inventory_backend", "inventory", "reclass"), |
| 111 | + choices=AVAILABLE_BACKENDS.keys(), |
| 112 | + help="Select the inventory backend to use (default=reclass)", |
112 | 113 | )
|
113 | 114 |
|
114 | 115 | eval_parser = subparser.add_parser("eval", aliases=["e"], help="evaluate jsonnet file")
|
@@ -663,6 +664,8 @@ def main():
|
663 | 664 | # cache args where key is subcommand
|
664 | 665 | assert "name" in args, "All cli commands must have provided default name"
|
665 | 666 | cached.args[args.name] = args
|
| 667 | + if "inventory_backend" in args: |
| 668 | + cached.args["inventory-backend"] = args.inventory_backend |
666 | 669 |
|
667 | 670 | if hasattr(args, "verbose") and args.verbose:
|
668 | 671 | setup_logging(level=logging.DEBUG, force=True)
|
|
0 commit comments