mirror of
https://github.com/ChristianLight/tutor.git
synced 2024-12-12 14:17:46 +00:00
Make it possible to start/stop/reboot a selection of services
This commit is contained in:
parent
eb7037a70f
commit
b75d92f88a
@ -4,6 +4,7 @@ Note: Breaking changes between versions are indicated by "💥".
|
|||||||
|
|
||||||
## Latest
|
## Latest
|
||||||
|
|
||||||
|
- [Improvement] Make it possible to start/stop/reboot a selection of services
|
||||||
- [Improvement] Add ``local/k8s reboot`` commands
|
- [Improvement] Add ``local/k8s reboot`` commands
|
||||||
- [Improvement] Add ``-U/--unset`` option to ``config save``
|
- [Improvement] Add ``-U/--unset`` option to ``config save``
|
||||||
- [Bugfix] Fix insecure static asset loading when web proxy is enabled
|
- [Bugfix] Fix insecure static asset loading when web proxy is enabled
|
||||||
|
@ -21,7 +21,7 @@ def dev():
|
|||||||
@opts.edx_platform_settings
|
@opts.edx_platform_settings
|
||||||
@click.argument("service")
|
@click.argument("service")
|
||||||
@click.argument("command", default=None, required=False)
|
@click.argument("command", default=None, required=False)
|
||||||
@click.argument("args", nargs=-1, required=False)
|
@click.argument("args", nargs=-1)
|
||||||
def run(root, edx_platform_path, edx_platform_settings, service, command, args):
|
def run(root, edx_platform_path, edx_platform_settings, service, command, args):
|
||||||
run_command = [service]
|
run_command = [service]
|
||||||
if command:
|
if command:
|
||||||
|
@ -31,7 +31,7 @@ def quickstart(root, non_interactive, pullimages_):
|
|||||||
click.echo(fmt.title("Updating the current environment"))
|
click.echo(fmt.title("Updating the current environment"))
|
||||||
tutor_env.save(root, config)
|
tutor_env.save(root, config)
|
||||||
click.echo(fmt.title("Stopping any existing platform"))
|
click.echo(fmt.title("Stopping any existing platform"))
|
||||||
stop.callback(root)
|
stop.callback(root, [])
|
||||||
if pullimages_:
|
if pullimages_:
|
||||||
click.echo(fmt.title("Docker image updates"))
|
click.echo(fmt.title("Docker image updates"))
|
||||||
pullimages.callback(root)
|
pullimages.callback(root)
|
||||||
@ -40,7 +40,7 @@ def quickstart(root, non_interactive, pullimages_):
|
|||||||
click.echo(fmt.title("HTTPS certificates generation"))
|
click.echo(fmt.title("HTTPS certificates generation"))
|
||||||
https_create.callback(root)
|
https_create.callback(root)
|
||||||
click.echo(fmt.title("Starting the platform in detached mode"))
|
click.echo(fmt.title("Starting the platform in detached mode"))
|
||||||
start.callback(root, True)
|
start.callback(root, True, [])
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Update docker images")
|
@click.command(help="Update docker images")
|
||||||
@ -50,16 +50,17 @@ def pullimages(root):
|
|||||||
docker_compose(root, config, "pull")
|
docker_compose(root, config, "pull")
|
||||||
|
|
||||||
|
|
||||||
@click.command(help="Run all configured Open edX services")
|
@click.command(help="Run all or a selection of configured Open edX services")
|
||||||
@opts.root
|
@opts.root
|
||||||
@click.option("-d", "--detach", is_flag=True, help="Start in daemon mode")
|
@click.option("-d", "--detach", is_flag=True, help="Start in daemon mode")
|
||||||
def start(root, detach):
|
@click.argument("services", metavar="service", nargs=-1)
|
||||||
|
def start(root, detach, services):
|
||||||
command = ["up", "--remove-orphans"]
|
command = ["up", "--remove-orphans"]
|
||||||
if detach:
|
if detach:
|
||||||
command.append("-d")
|
command.append("-d")
|
||||||
|
|
||||||
config = tutor_config.load(root)
|
config = tutor_config.load(root)
|
||||||
docker_compose(root, config, *command)
|
docker_compose(root, config, *command, *services)
|
||||||
|
|
||||||
if detach:
|
if detach:
|
||||||
fmt.echo_info("The Open edX platform is now running in detached mode")
|
fmt.echo_info("The Open edX platform is now running in detached mode")
|
||||||
@ -84,9 +85,10 @@ def start(root, detach):
|
|||||||
|
|
||||||
@click.command(help="Stop a running platform")
|
@click.command(help="Stop a running platform")
|
||||||
@opts.root
|
@opts.root
|
||||||
def stop(root):
|
@click.argument("services", metavar="service", nargs=-1)
|
||||||
|
def stop(root, services):
|
||||||
config = tutor_config.load(root)
|
config = tutor_config.load(root)
|
||||||
docker_compose(root, config, "rm", "--stop", "--force")
|
docker_compose(root, config, "rm", "--stop", "--force", *services)
|
||||||
|
|
||||||
|
|
||||||
@click.command(
|
@click.command(
|
||||||
@ -95,15 +97,18 @@ def stop(root):
|
|||||||
)
|
)
|
||||||
@opts.root
|
@opts.root
|
||||||
@click.option("-d", "--detach", is_flag=True, help="Start in daemon mode")
|
@click.option("-d", "--detach", is_flag=True, help="Start in daemon mode")
|
||||||
def reboot(root, detach):
|
@click.argument("services", metavar="service", nargs=-1)
|
||||||
stop.callback(root)
|
def reboot(root, detach, services):
|
||||||
start.callback(root, detach)
|
stop.callback(root, services)
|
||||||
|
start.callback(root, detach, services)
|
||||||
|
|
||||||
|
|
||||||
@click.command(
|
@click.command(
|
||||||
short_help="Restart some components from a running platform.",
|
short_help="Restart some components from a running platform.",
|
||||||
help="""Specify 'openedx' to restart the lms, cms and workers, or 'all' to
|
help="""Specify 'openedx' to restart the lms, cms and workers, or 'all' to
|
||||||
restart all services. Note that this performs a 'docker-compose restart', so new images may not be taken into account. To fully stop the platform, use the 'reboot' command.""",
|
restart all services. Note that this performs a 'docker-compose restart', so new images
|
||||||
|
may not be taken into account. It is useful for reloading settings, for instance. To
|
||||||
|
fully stop the platform, use the 'reboot' command.""",
|
||||||
)
|
)
|
||||||
@opts.root
|
@opts.root
|
||||||
@click.argument("service")
|
@click.argument("service")
|
||||||
@ -128,7 +133,7 @@ def restart(root, service):
|
|||||||
@click.option("--entrypoint", help="Override the entrypoint of the image")
|
@click.option("--entrypoint", help="Override the entrypoint of the image")
|
||||||
@click.argument("service")
|
@click.argument("service")
|
||||||
@click.argument("command", default=None, required=False)
|
@click.argument("command", default=None, required=False)
|
||||||
@click.argument("args", nargs=-1, required=False)
|
@click.argument("args", nargs=-1)
|
||||||
def run(root, entrypoint, service, command, args):
|
def run(root, entrypoint, service, command, args):
|
||||||
run_command = ["run", "--rm"]
|
run_command = ["run", "--rm"]
|
||||||
if entrypoint:
|
if entrypoint:
|
||||||
@ -149,7 +154,7 @@ def run(root, entrypoint, service, command, args):
|
|||||||
@opts.root
|
@opts.root
|
||||||
@click.argument("service")
|
@click.argument("service")
|
||||||
@click.argument("command")
|
@click.argument("command")
|
||||||
@click.argument("args", nargs=-1, required=False)
|
@click.argument("args", nargs=-1)
|
||||||
def execute(root, service, command, args):
|
def execute(root, service, command, args):
|
||||||
exec_command = ["exec", service, command]
|
exec_command = ["exec", service, command]
|
||||||
if args:
|
if args:
|
||||||
@ -249,7 +254,7 @@ See the official certbot documentation for your platform: https://certbot.eff.or
|
|||||||
@opts.root
|
@opts.root
|
||||||
@click.option("-f", "--follow", is_flag=True, help="Follow log output")
|
@click.option("-f", "--follow", is_flag=True, help="Follow log output")
|
||||||
@click.option("--tail", type=int, help="Number of lines to show from each container")
|
@click.option("--tail", type=int, help="Number of lines to show from each container")
|
||||||
@click.argument("service", nargs=-1, required=False)
|
@click.argument("service", nargs=-1)
|
||||||
def logs(root, follow, tail, service):
|
def logs(root, follow, tail, service):
|
||||||
command = ["logs"]
|
command = ["logs"]
|
||||||
if follow:
|
if follow:
|
||||||
|
Loading…
Reference in New Issue
Block a user