forked from cerc-io/stack-orchestrator
Finish converstion to click
This commit is contained in:
parent
ca5cf55485
commit
b0fc8da64d
@ -27,20 +27,13 @@ from decouple import config
|
||||
import subprocess
|
||||
import click
|
||||
|
||||
#parser = argparse.ArgumentParser(
|
||||
# description="build the set of containers required for a complete stack",
|
||||
# TODO: find a place for this
|
||||
# epilog="Config provided either in .env or settings.ini or env vars: CERC_REPO_BASE_DIR (defaults to ~/cerc)"
|
||||
# )
|
||||
#parser.add_argument("--verbose", action="store_true", help="increase output verbosity")
|
||||
#parser.add_argument("--quiet", action="store_true", help="don\'t print informational output")
|
||||
#parser.add_argument("--check-only", action="store_true", help="looks at what\'s already there and checks if it looks good")
|
||||
#parser.add_argument("--dry-run", action="store_true", help="don\'t do anything, just print the commands that would be executed")
|
||||
|
||||
#args = parser.parse_args()
|
||||
|
||||
@click.command()
|
||||
@click.pass_context
|
||||
def command(ctx):
|
||||
'''build the set of containers required for a complete stack'''
|
||||
|
||||
quiet = ctx.obj.quiet
|
||||
verbose = ctx.obj.verbose
|
||||
@ -77,6 +70,3 @@ def command(ctx):
|
||||
|
||||
for container in containers:
|
||||
process_container(container)
|
||||
|
||||
|
||||
|
||||
|
@ -21,38 +21,25 @@ from decouple import config
|
||||
from python_on_whales import DockerClient
|
||||
import click
|
||||
|
||||
def include_exclude_check(s, args):
|
||||
if args.include == None and args.exclude == None:
|
||||
def include_exclude_check(s, include, exclude):
|
||||
if include == None and exclude == None:
|
||||
return True
|
||||
if args.include != None:
|
||||
include_list = args.include.split(",")
|
||||
if include != None:
|
||||
include_list = include.split(",")
|
||||
return s in include_list
|
||||
if args.exclude != None:
|
||||
exclude_list = args.exclude.split(",")
|
||||
if exclude != None:
|
||||
exclude_list = exclude.split(",")
|
||||
return s not in exclude_list
|
||||
|
||||
#parser = argparse.ArgumentParser(
|
||||
# description="deploy the complete stack"
|
||||
# )
|
||||
#parser.add_argument("command", type=str, nargs=1, choices=['up', 'down', 'ps'], help="command: up|down|ps")
|
||||
#parser.add_argument("--verbose", action="store_true", help="increase output verbosity")
|
||||
#parser.add_argument("--quiet", action="store_true", help="don\'t print informational output")
|
||||
#parser.add_argument("--check-only", action="store_true", help="looks at what\'s already there and checks if it looks good")
|
||||
#parser.add_argument("--dry-run", action="store_true", help="don\'t do anything, just print the commands that would be executed")
|
||||
#group = parser.add_mutually_exclusive_group()
|
||||
#group.add_argument("--exclude", type=str, help="don\'t start these components")
|
||||
#group.add_argument("--include", type=str, help="only start these components")
|
||||
|
||||
#args = parser.parse_args()
|
||||
|
||||
#verbose = args.verbose
|
||||
#quiet = args.quiet
|
||||
|
||||
#print("Yo2!")
|
||||
|
||||
@click.command()
|
||||
@click.option('--include', help="only start these components")
|
||||
@click.option('--exclude', help="don\'t start these components")
|
||||
@click.argument('command' help="command: up|down|ps")
|
||||
@click.pass_context
|
||||
def command(ctx):
|
||||
def command(ctx, include, exclude, command):
|
||||
'''deploy a stack'''
|
||||
|
||||
# TODO: implement option exclusion and command value constraint lost with the move from argparse to click
|
||||
|
||||
quiet = ctx.obj.quiet
|
||||
verbose = ctx.obj.verbose
|
||||
@ -68,7 +55,7 @@ def command(ctx):
|
||||
|
||||
compose_files = []
|
||||
for cluster in clusters:
|
||||
if include_exclude_check(cluster, args):
|
||||
if include_exclude_check(cluster, include, exclude):
|
||||
compose_file_name = os.path.join("compose", f"docker-compose-{cluster}.yml")
|
||||
compose_files.append(compose_file_name)
|
||||
else:
|
||||
@ -81,7 +68,6 @@ def command(ctx):
|
||||
# See: https://gabrieldemarmiesse.github.io/python-on-whales/sub-commands/compose/
|
||||
docker = DockerClient(compose_files=compose_files)
|
||||
|
||||
command = "hack"
|
||||
if not dry_run:
|
||||
if command == "up":
|
||||
if verbose:
|
||||
|
Loading…
Reference in New Issue
Block a user