From de0018a9c70e077cfb5d5b048236d81843f3fea0 Mon Sep 17 00:00:00 2001 From: David Boreham Date: Fri, 23 Jun 2023 10:41:09 -0600 Subject: [PATCH] Implement remaining subcommands --- app/deploy.py | 80 ++++++++++++++++++++++++++++------------------- app/deployment.py | 25 +++++++++++++-- 2 files changed, 71 insertions(+), 34 deletions(-) diff --git a/app/deploy.py b/app/deploy.py index f5fb27da..d75dcc8d 100644 --- a/app/deploy.py +++ b/app/deploy.py @@ -90,26 +90,7 @@ def down_operation(ctx, delete_volumes, extra_args_list): ctx.obj.docker.compose.down(timeout=timeout_arg, volumes=delete_volumes) -@command.command() -@click.argument('extra_args', nargs=-1) # help: command: up -@click.pass_context -def up(ctx, extra_args): - extra_args_list = list(extra_args) or None - up_operation(ctx, extra_args_list) - - -@command.command() -@click.option("--delete-volumes/--preserve-volumes", default=False, help="delete data volumes") -@click.argument('extra_args', nargs=-1) # help: command: down -@click.pass_context -def down(ctx, delete_volumes, extra_args): - extra_args_list = list(extra_args) or None - down_operation(ctx, delete_volumes, extra_args_list) - - -@command.command() -@click.pass_context -def ps(ctx): +def ps_operation(ctx): global_context = ctx.parent.parent.obj if not global_context.dry_run: if global_context.verbose: @@ -134,10 +115,7 @@ def ps(ctx): print("No containers running") -@command.command() -@click.argument('extra_args', nargs=-1) # help: command: port -@click.pass_context -def port(ctx, extra_args): +def port_operation(ctx, extra_args): global_context = ctx.parent.parent.obj extra_args_list = list(extra_args) or None if not global_context.dry_run: @@ -152,10 +130,7 @@ def port(ctx, extra_args): print(f"{mapped_port_data[0]}:{mapped_port_data[1]}") -@command.command() -@click.argument('extra_args', nargs=-1) # help: command: exec -@click.pass_context -def exec(ctx, extra_args): +def exec_operation(ctx, extra_args): global_context = ctx.parent.parent.obj extra_args_list = list(extra_args) or None if not global_context.dry_run: @@ -173,10 +148,7 @@ def exec(ctx, extra_args): print(f"container command returned error exit status") -@command.command() -@click.argument('extra_args', nargs=-1) # help: command: logs -@click.pass_context -def logs(ctx, extra_args): +def logs_operation(ctx, extra_args): global_context = ctx.parent.parent.obj extra_args_list = list(extra_args) or None if not global_context.dry_run: @@ -186,6 +158,50 @@ def logs(ctx, extra_args): print(logs_output) +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: up +@click.pass_context +def up(ctx, extra_args): + extra_args_list = list(extra_args) or None + up_operation(ctx, extra_args_list) + + +@command.command() +@click.option("--delete-volumes/--preserve-volumes", default=False, help="delete data volumes") +@click.argument('extra_args', nargs=-1) # help: command: down +@click.pass_context +def down(ctx, delete_volumes, extra_args): + extra_args_list = list(extra_args) or None + down_operation(ctx, delete_volumes, extra_args_list) + + +@command.command() +@click.pass_context +def ps(ctx): + ps_operation(ctx) + + +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: port +@click.pass_context +def port(ctx, extra_args): + port_operation(ctx, extra_args) + + +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: exec +@click.pass_context +def exec(ctx, extra_args): + exec_operation(ctx, extra_args) + + +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: logs +@click.pass_context +def logs(ctx, extra_args): + logs_operation(ctx, extra_args) + + def get_stack_status(ctx, stack): ctx_copy = copy.copy(ctx) diff --git a/app/deployment.py b/app/deployment.py index e14ca2e7..ce688f01 100644 --- a/app/deployment.py +++ b/app/deployment.py @@ -17,7 +17,7 @@ import click from dataclasses import dataclass from pathlib import Path import sys -from .deploy import up_operation, down_operation, create_deploy_context +from .deploy import up_operation, down_operation, ps_operation, port_operation, exec_operation, logs_operation, create_deploy_context from .util import global_options @dataclass @@ -70,7 +70,7 @@ def down(ctx, extra_args): @command.command() @click.pass_context def ps(ctx): - print(f"Context: {ctx.parent.obj}") + ps_operation(ctx) @command.command() @@ -79,6 +79,27 @@ def logs(ctx): print(f"Context: {ctx.parent.obj}") +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: port +@click.pass_context +def port(ctx, extra_args): + port_operation(ctx, extra_args) + + +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: exec +@click.pass_context +def exec(ctx, extra_args): + exec_operation(ctx, extra_args) + + +@command.command() +@click.argument('extra_args', nargs=-1) # help: command: logs +@click.pass_context +def logs(ctx, extra_args): + logs_operation(ctx, extra_args) + + @command.command() @click.pass_context def task(ctx):