Add deployer switch
This commit is contained in:
parent
bfc668d64d
commit
ada1eff241
@ -38,8 +38,9 @@ from app.deployment_create import setup as deployment_setup
|
|||||||
@click.option("--exclude", help="don\'t start these components")
|
@click.option("--exclude", help="don\'t start these components")
|
||||||
@click.option("--env-file", help="env file to be used")
|
@click.option("--env-file", help="env file to be used")
|
||||||
@click.option("--cluster", help="specify a non-default cluster name")
|
@click.option("--cluster", help="specify a non-default cluster name")
|
||||||
|
@click.option("--deploy-to", help="cluster system to deploy to (compose or k8s)")
|
||||||
@click.pass_context
|
@click.pass_context
|
||||||
def command(ctx, include, exclude, env_file, cluster):
|
def command(ctx, include, exclude, env_file, cluster, deploy_to):
|
||||||
'''deploy a stack'''
|
'''deploy a stack'''
|
||||||
|
|
||||||
# Although in theory for some subcommands (e.g. deploy create) the stack can be inferred,
|
# Although in theory for some subcommands (e.g. deploy create) the stack can be inferred,
|
||||||
@ -51,14 +52,14 @@ def command(ctx, include, exclude, env_file, cluster):
|
|||||||
|
|
||||||
if ctx.parent.obj.debug:
|
if ctx.parent.obj.debug:
|
||||||
print(f"ctx.parent.obj: {ctx.parent.obj}")
|
print(f"ctx.parent.obj: {ctx.parent.obj}")
|
||||||
ctx.obj = create_deploy_context(global_options2(ctx), stack, include, exclude, cluster, env_file)
|
ctx.obj = create_deploy_context(global_options2(ctx), stack, include, exclude, cluster, env_file, deploy_to)
|
||||||
# Subcommand is executed now, by the magic of click
|
# Subcommand is executed now, by the magic of click
|
||||||
|
|
||||||
|
|
||||||
def create_deploy_context(global_context, stack, include, exclude, cluster, env_file):
|
def create_deploy_context(global_context, stack, include, exclude, cluster, env_file, deploy_to):
|
||||||
cluster_context = _make_cluster_context(global_context, stack, include, exclude, cluster, env_file)
|
cluster_context = _make_cluster_context(global_context, stack, include, exclude, cluster, env_file)
|
||||||
# See: https://gabrieldemarmiesse.github.io/python-on-whales/sub-commands/compose/
|
# See: https://gabrieldemarmiesse.github.io/python-on-whales/sub-commands/compose/
|
||||||
deployer = getDeployer("docker", compose_files=cluster_context.compose_files, compose_project_name=cluster_context.cluster,
|
deployer = getDeployer(deploy_to, compose_files=cluster_context.compose_files, compose_project_name=cluster_context.cluster,
|
||||||
compose_env_file=cluster_context.env_file)
|
compose_env_file=cluster_context.env_file)
|
||||||
return DeployCommandContext(stack, cluster_context, deployer)
|
return DeployCommandContext(stack, cluster_context, deployer)
|
||||||
|
|
||||||
|
@ -18,7 +18,9 @@ from app.deploy_docker import DockerDeployer
|
|||||||
|
|
||||||
|
|
||||||
def getDeployer(type, compose_files, compose_project_name, compose_env_file):
|
def getDeployer(type, compose_files, compose_project_name, compose_env_file):
|
||||||
if type == "docker":
|
if type == "compose" or type is None:
|
||||||
return DockerDeployer(compose_files, compose_project_name, compose_env_file)
|
return DockerDeployer(compose_files, compose_project_name, compose_env_file)
|
||||||
else:
|
elif type == "k8s":
|
||||||
return K8sDeployer(compose_files, compose_project_name, compose_env_file)
|
return K8sDeployer(compose_files, compose_project_name, compose_env_file)
|
||||||
|
else:
|
||||||
|
print(f"ERROR: deploy-to {type} is not valid")
|
||||||
|
@ -62,7 +62,7 @@ def make_deploy_context(ctx):
|
|||||||
stack_file_path = ctx.obj.get_stack_file()
|
stack_file_path = ctx.obj.get_stack_file()
|
||||||
env_file = ctx.obj.get_env_file()
|
env_file = ctx.obj.get_env_file()
|
||||||
cluster_name = ctx.obj.get_cluster_name()
|
cluster_name = ctx.obj.get_cluster_name()
|
||||||
return create_deploy_context(ctx.parent.parent.obj, stack_file_path, None, None, cluster_name, env_file)
|
return create_deploy_context(ctx.parent.parent.obj, stack_file_path, None, None, cluster_name, env_file, deploy_to)
|
||||||
|
|
||||||
|
|
||||||
@command.command()
|
@command.command()
|
||||||
|
Loading…
Reference in New Issue
Block a user