44 lines
1.4 KiB
Python
44 lines
1.4 KiB
Python
import logging
|
|
|
|
import click
|
|
|
|
from kiwi_scp.commands import KiwiCLI
|
|
|
|
|
|
@click.option(
|
|
"-v", "--verbose",
|
|
help="increase output verbosity",
|
|
count=True,
|
|
)
|
|
@click.command(cls=KiwiCLI)
|
|
def main(verbose: int) -> None:
|
|
"""kiwi is the simple tool for managing container servers.
|
|
|
|
\b
|
|
- Manage full instances using just your favorite version control system
|
|
- Group services into projects, each with their own docker-compose.yml
|
|
- Build service-specific, private docker images from Dockerfiles
|
|
- Make use of the local file system by referring to ${TARGETDIR}, ${TARGETROOT} and ${CONFDIR} in compose files
|
|
- Create your own instance-global variables for compose files using the kiwi.yml "environment" section
|
|
"""
|
|
|
|
if verbose >= 2:
|
|
log_level = logging.DEBUG
|
|
log_format = "[%(asctime)s] %(levelname)s @ %(filename)s:%(funcName)s:%(lineno)d: %(message)s"
|
|
elif verbose >= 1:
|
|
log_level = logging.INFO
|
|
log_format = "[%(asctime)s] %(levelname)s: %(message)s"
|
|
else:
|
|
log_level = logging.WARNING
|
|
log_format = "%(levelname)s: %(message)s"
|
|
|
|
# add a new handler (needed to set the level)
|
|
log_handler = logging.StreamHandler()
|
|
logging.getLogger().addHandler(log_handler)
|
|
|
|
logging.getLogger().setLevel(log_level)
|
|
log_handler.setFormatter(logging.Formatter(log_format))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|