1
0
Fork 0
mirror of https://github.com/yavook/kiwi-scp.git synced 2024-11-22 21:03:00 +00:00
kiwi-scp/src/kiwi/subcommands/down.py

43 lines
1.2 KiB
Python
Raw Normal View History

2020-08-17 12:51:11 +00:00
# system
import logging
# local
2020-08-18 11:50:21 +00:00
from ._subcommand import FlexCommand
2020-08-17 12:51:11 +00:00
from .utils.dockercommand import DockerCommand
from .utils.project import get_project_name, list_projects
from .utils.user_input import are_you_sure
2020-08-18 11:50:21 +00:00
class DownCommand(FlexCommand):
2020-08-17 12:51:11 +00:00
"""kiwi down"""
def __init__(self):
super().__init__(
2020-08-18 11:50:21 +00:00
'down', description="Bring down the whole instance, a project or service(s) inside a project"
2020-08-17 12:51:11 +00:00
)
2020-08-18 11:50:21 +00:00
def _run_instance(self, runner, config, args):
if are_you_sure("This will bring down the entire instance."):
super()._run_instance(runner, config, args)
2020-08-17 13:00:05 +00:00
2020-08-18 11:50:21 +00:00
return False
def _run_project(self, runner, config, args):
logging.info(f"Bringing down project '{get_project_name(args)}'")
DockerCommand('docker-compose').run(
config, args, ['down']
)
return True
def _run_services(self, runner, config, args):
logging.info(f"Bringing down services {args.services} in project '{get_project_name(args)}'")
DockerCommand('docker-compose').run(
config, args, ['stop', *args.services]
)
DockerCommand('docker-compose').run(
config, args, ['rm', '-f', *args.services]
)
2020-08-17 13:00:05 +00:00
return True