1
0
Fork 0
mirror of https://github.com/yavook/kiwi-scp.git synced 2024-11-22 04:43:00 +00:00

Merge branch 'feature/pip' into develop

This commit is contained in:
Jörn-Michael Miehe 2021-09-30 17:49:46 +02:00
commit 5fc1e8a3a6
51 changed files with 192 additions and 162 deletions

16
.drone.yml Normal file
View file

@ -0,0 +1,16 @@
---
kind: pipeline
name: default
steps:
- name: docker
image: plugins/docker
settings:
repo: ldericher/kind
auto_tag: true
# tags:
# - edge
username:
from_secret: DOCKER_USERNAME
password:
from_secret: DOCKER_PASSWORD

View file

@ -5,7 +5,7 @@
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/src/venv" /> <excludeFolder url="file://$MODULE_DIR$/src/venv" />
</content> </content>
<orderEntry type="jdk" jdkName="Pipenv (kiwi-scp)" jdkType="Python SDK" /> <orderEntry type="jdk" jdkName="Poetry (kiwi-scp)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
</component> </component>
</module> </module>

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Pipenv (kiwi-scp)" project-jdk-type="Python SDK" /> <component name="ProjectRootManager" version="2" project-jdk-name="Poetry (kiwi-scp)" project-jdk-type="Python SDK" />
</project> </project>

17
Dockerfile Normal file
View file

@ -0,0 +1,17 @@
FROM python:3.6-alpine3.13
ENV PYTHONUNBUFFERED 1
RUN set -ex; \
# install prerequisites
apk add --no-cache \
docker-cli \
docker-compose \
;
COPY . /usr/src/kiwi_scp
RUN set -ex; \
pip3 --use-feature=in-tree-build install /usr/src/kiwi_scp
ENTRYPOINT ["kiwi"]

12
Pipfile
View file

@ -1,12 +0,0 @@
[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true
[dev-packages]
[packages]
pyyaml = "*"
[requires]
python_version = "3.6"

56
Pipfile.lock generated
View file

@ -1,56 +0,0 @@
{
"_meta": {
"hash": {
"sha256": "d518a36ed441568acff15b0a3c4b536738a55fb68801cdd682045be04d29954a"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.6"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"pyyaml": {
"hashes": [
"sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf",
"sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696",
"sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393",
"sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77",
"sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922",
"sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5",
"sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8",
"sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10",
"sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc",
"sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018",
"sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e",
"sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253",
"sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347",
"sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183",
"sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541",
"sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb",
"sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185",
"sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc",
"sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db",
"sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa",
"sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46",
"sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122",
"sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b",
"sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63",
"sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df",
"sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc",
"sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247",
"sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6",
"sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"
],
"index": "pypi",
"version": "==5.4.1"
}
},
"develop": {}
}

View file

@ -1,5 +1,7 @@
# kiwi-scp # kiwi-scp
[![Build Status](https://github.drone.yavook.de/api/badges/ldericher/kiwi-scp/status.svg)](https://github.drone.yavook.de/ldericher/kiwi-scp)
> `kiwi` - simple, consistent, powerful > `kiwi` - simple, consistent, powerful
The simple tool for managing container servers The simple tool for managing container servers

View file

@ -4,7 +4,10 @@ this="$(readlink -f "${0}")"
this_dir="$(dirname "${this}")" this_dir="$(dirname "${this}")"
git_branch="$(git rev-parse --abbrev-ref HEAD)" git_branch="$(git rev-parse --abbrev-ref HEAD)"
git_tag="$(git describe --abbrev=0)"
version_str="${git_branch##*/}" version_str="${git_branch##*/}"
version_str="0.1.6"
echo "${version_str}" > "${this_dir}/src/etc/version_tag" echo "${version_str}" > "${this_dir}/kiwi_scp/data/etc/version_tag"
sed -ri "s/(version\s*:).*$/\1 '${version_str}'/" "${this_dir}/example/kiwi.yml" sed -ri "s/(version\s*:).*$/\1 '${version_str}'/" "${this_dir}/example/kiwi.yml"
sed -ri "s/(version\s*=\s*).*$/\1\"${version_str}\"/" "${this_dir}/pyproject.toml"

68
kiwi
View file

@ -7,10 +7,10 @@
# base config filename # base config filename
KIWI_CONF_NAME="kiwi.yml" KIWI_CONF_NAME="kiwi.yml"
# version tag filename # version tag filename
KIWI_VERSION_TAG="etc/version_tag" KIWI_VERSION_TAG="kiwi_scp/data/etc/version_tag"
# dependencies to run kiwi-scp # dependencies to run kiwi-scp
KIWI_DEPENDENCIES="python3 pipenv less docker docker-compose" KIWI_DEPENDENCIES="python3 less docker docker-compose"
# base install dir # base install dir
KIWI_BASEDIR="${HOME}/.cache/kiwi-scp" KIWI_BASEDIR="${HOME}/.cache/kiwi-scp"
# per-user env setup script # per-user env setup script
@ -32,12 +32,9 @@ CANARY_MAX_AGE=600
# DYNAMIC STRINGS # # DYNAMIC STRINGS #
################### ###################
# cache current work directory
WORKDIR="$(pwd)"
# uri of correct kiwi-scp archive # uri of correct kiwi-scp archive
kiwi_archive_uri() { kiwi_archive_uri() {
echo "${KIWI_REPO}/archive/${KIWI_VERSION}.tar.gz" echo "${KIWI_REPO}/archive/refs/heads/${KIWI_VERSION}.tar.gz"
} }
# directory of correct installation # directory of correct installation
@ -45,14 +42,9 @@ kiwi_install_dir() {
echo "${KIWI_BASEDIR}/${KIWI_VERSION}" echo "${KIWI_BASEDIR}/${KIWI_VERSION}"
} }
# src directory in installed version
kiwi_root() {
echo "$(kiwi_install_dir)/src"
}
# main script in installed version # main script in installed version
kiwi_executable() { kiwi_executable() {
echo "$(kiwi_root)/kiwi-scp.py" echo "$(kiwi_install_dir)/bin/kiwi"
} }
############# #############
@ -175,54 +167,32 @@ fi
if [ ! -x "$(kiwi_executable)" ]; then if [ ! -x "$(kiwi_executable)" ]; then
printf "Installing kiwi-scp v%s into %s ... " "${KIWI_VERSION}" "${KIWI_BASEDIR}" printf "Installing kiwi-scp v%s into %s ... " "${KIWI_VERSION}" "${KIWI_BASEDIR}"
# switch to temp dir # read version tag
tmp_dir=$(mktemp -d) KIWI_VERSION="$( \
cd "${tmp_dir}" || : curl \
--proto '=https' \
# download archive --tlsv1.2 \
curl --proto '=https' --tlsv1.2 -sSfL "$(kiwi_archive_uri)" | tar xz -sSfL \
"https://raw.githubusercontent.com/ldericher/kiwi-scp/${KIWI_VERSION}/${KIWI_VERSION_TAG}" \
# read archive version tag )"
cd "kiwi-scp-${KIWI_VERSION}" || :
KIWI_VERSION=$(cat "./src/${KIWI_VERSION_TAG}")
if [ -x "$(kiwi_executable)" ]; then if [ -x "$(kiwi_executable)" ]; then
# after version update: no need to install # after version tag update: no need to install
echo "v${KIWI_VERSION} already installed!" echo "v${KIWI_VERSION} already installed!"
else else
# install archive # install archive
mkdir -p "$(kiwi_install_dir)" python3 -m virtualenv "$(kiwi_install_dir)" >/dev/null 2>/dev/null
mv "src" "Pipfile" "Pipfile.lock" "$(kiwi_install_dir)/" . "$(kiwi_install_dir)/bin/activate"
python3 -m pip install "git+${KIWI_REPO}@${KIWI_VERSION}" >/dev/null 2>/dev/null
echo "OK" echo "OK"
fi fi
# discard temp dir
cd "${WORKDIR}" || :
rm -rf "${tmp_dir}"
fi fi
# setup main environment # setup main environment
KIWI_ROOT="$(kiwi_root)"
PIPENV_VERBOSITY=-1
PIPENV_PIPFILE="$(kiwi_install_dir)/Pipfile"
export KIWI_CONF_NAME export KIWI_CONF_NAME
export KIWI_ROOT . "$(kiwi_install_dir)/bin/activate"
export PIPENV_VERBOSITY
export PIPENV_PIPFILE
# check virtualenv
cd "$(kiwi_install_dir)" || :
if ! pipenv --venv >/dev/null 2>/dev/null; then
# install virtualenv
printf "Preparing virtualenv ... "
pipenv sync >/dev/null 2>/dev/null
echo "OK"
fi
# go back to the original work directory
cd "${WORKDIR}" || :
# run main script # run main script
exec pipenv run "$(kiwi_executable)" "${@}" exec "$(kiwi_executable)" "${@}"

33
kiwi_scp/_constants.py Normal file
View file

@ -0,0 +1,33 @@
# system
import os
#############
# ENVIRONMENT
# location of "kiwi_scp" module
KIWI_ROOT = os.path.dirname(__file__)
# default name of kiwi-scp file
KIWI_CONF_NAME = os.getenv('KIWI_CONF_NAME', "kiwi.yml")
############
# FILE NAMES
# text files inside kiwi-scp "src" directory
HEADER_KIWI_CONF_NAME = f"{KIWI_ROOT}/data/etc/kiwi_header.yml"
DEFAULT_KIWI_CONF_NAME = f"{KIWI_ROOT}/data/etc/kiwi_default.yml"
VERSION_TAG_NAME = f"{KIWI_ROOT}/data/etc/version_tag"
DEFAULT_DOCKER_COMPOSE_NAME = f"{KIWI_ROOT}/data/etc/docker-compose_default.yml"
KIWI_HELP_TEXT_NAME = f"{KIWI_ROOT}/data/etc/kiwi_help.txt"
COMMAND_HELP_TEXT_NAME = f"{KIWI_ROOT}/data/etc/command_help.txt"
# special config directory in projects
CONF_DIRECTORY_NAME = 'conf'
# location for auxiliary Dockerfiles
IMAGES_DIRECTORY_NAME = f"{KIWI_ROOT}/data/images"
####################
# DOCKER IMAGE NAMES
# name for auxiliary docker images
LOCAL_IMAGES_NAME = 'localhost/kiwi-scp/auxiliary'
DEFAULT_IMAGE_NAME = 'alpine:latest'

View file

@ -4,7 +4,7 @@ networks:
# reachable from outside # reachable from outside
default: default:
driver: bridge driver: bridge
# interconnects projects # interconnect projects
kiwi_hub: kiwi_hub:
external: external:
name: ${KIWI_HUB_NAME} name: ${KIWI_HUB_NAME}

View file

@ -3,9 +3,6 @@ import logging
import os import os
import subprocess import subprocess
# local
from .config import LoadedConfig
def _is_executable(filename): def _is_executable(filename):
if filename is None: if filename is None:

View file

@ -1,6 +1,6 @@
import os import os
from kiwi.project import Project from .project import Project
class Projects: class Projects:

View file

View file

@ -4,7 +4,7 @@
import logging import logging
# local # local
import kiwi import kiwi_scp
def set_verbosity(logger, handler, verbosity): def set_verbosity(logger, handler, verbosity):
@ -28,10 +28,10 @@ def main():
# add a new handler (needed to set the level) # add a new handler (needed to set the level)
log_handler = logging.StreamHandler() log_handler = logging.StreamHandler()
logging.getLogger().addHandler(log_handler) logging.getLogger().addHandler(log_handler)
set_verbosity(logging.getLogger(), log_handler, kiwi.verbosity()) set_verbosity(logging.getLogger(), log_handler, kiwi_scp.verbosity())
# run the app # run the app
if not kiwi.run(): if not kiwi_scp.run():
quit(1) quit(1)

View file

@ -3,7 +3,6 @@ import logging
import subprocess import subprocess
# local # local
from .._constants import CONF_DIRECTORY_NAME
from ..config import LoadedConfig from ..config import LoadedConfig
from ..executable import Executable from ..executable import Executable
from ..projects import Projects from ..projects import Projects

45
poetry.lock generated Normal file
View file

@ -0,0 +1,45 @@
[[package]]
name = "pyyaml"
version = "5.4.1"
description = "YAML parser and emitter for Python"
category = "main"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
[metadata]
lock-version = "1.1"
python-versions = "^3.6"
content-hash = "36970da0e8c6151dcf68abd9008ecef35673f04db53952bfb3fd7544c0516b7f"
[metadata.files]
pyyaml = [
{file = "PyYAML-5.4.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3b2b1824fe7112845700f815ff6a489360226a5609b96ec2190a45e62a9fc922"},
{file = "PyYAML-5.4.1-cp27-cp27m-win32.whl", hash = "sha256:129def1b7c1bf22faffd67b8f3724645203b79d8f4cc81f674654d9902cb4393"},
{file = "PyYAML-5.4.1-cp27-cp27m-win_amd64.whl", hash = "sha256:4465124ef1b18d9ace298060f4eccc64b0850899ac4ac53294547536533800c8"},
{file = "PyYAML-5.4.1-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:bb4191dfc9306777bc594117aee052446b3fa88737cd13b7188d0e7aa8162185"},
{file = "PyYAML-5.4.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:6c78645d400265a062508ae399b60b8c167bf003db364ecb26dcab2bda048253"},
{file = "PyYAML-5.4.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4e0583d24c881e14342eaf4ec5fbc97f934b999a6828693a99157fde912540cc"},
{file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:72a01f726a9c7851ca9bfad6fd09ca4e090a023c00945ea05ba1638c09dc3347"},
{file = "PyYAML-5.4.1-cp36-cp36m-manylinux2014_s390x.whl", hash = "sha256:895f61ef02e8fed38159bb70f7e100e00f471eae2bc838cd0f4ebb21e28f8541"},
{file = "PyYAML-5.4.1-cp36-cp36m-win32.whl", hash = "sha256:3bd0e463264cf257d1ffd2e40223b197271046d09dadf73a0fe82b9c1fc385a5"},
{file = "PyYAML-5.4.1-cp36-cp36m-win_amd64.whl", hash = "sha256:e4fac90784481d221a8e4b1162afa7c47ed953be40d31ab4629ae917510051df"},
{file = "PyYAML-5.4.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5accb17103e43963b80e6f837831f38d314a0495500067cb25afab2e8d7a4018"},
{file = "PyYAML-5.4.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:e1d4970ea66be07ae37a3c2e48b5ec63f7ba6804bdddfdbd3cfd954d25a82e63"},
{file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:cb333c16912324fd5f769fff6bc5de372e9e7a202247b48870bc251ed40239aa"},
{file = "PyYAML-5.4.1-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:fe69978f3f768926cfa37b867e3843918e012cf83f680806599ddce33c2c68b0"},
{file = "PyYAML-5.4.1-cp37-cp37m-win32.whl", hash = "sha256:dd5de0646207f053eb0d6c74ae45ba98c3395a571a2891858e87df7c9b9bd51b"},
{file = "PyYAML-5.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:08682f6b72c722394747bddaf0aa62277e02557c0fd1c42cb853016a38f8dedf"},
{file = "PyYAML-5.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d2d9808ea7b4af864f35ea216be506ecec180628aced0704e34aca0b040ffe46"},
{file = "PyYAML-5.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:8c1be557ee92a20f184922c7b6424e8ab6691788e6d86137c5d93c1a6ec1b8fb"},
{file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:fd7f6999a8070df521b6384004ef42833b9bd62cfee11a09bda1079b4b704247"},
{file = "PyYAML-5.4.1-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:bfb51918d4ff3d77c1c856a9699f8492c612cde32fd3bcd344af9be34999bfdc"},
{file = "PyYAML-5.4.1-cp38-cp38-win32.whl", hash = "sha256:fa5ae20527d8e831e8230cbffd9f8fe952815b2b7dae6ffec25318803a7528fc"},
{file = "PyYAML-5.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:0f5f5786c0e09baddcd8b4b45f20a7b5d61a7e7e99846e3c799b05c7c53fa696"},
{file = "PyYAML-5.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:294db365efa064d00b8d1ef65d8ea2c3426ac366c0c4368d930bf1c5fb497f77"},
{file = "PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:74c1485f7707cf707a7aef42ef6322b8f97921bd89be2ab6317fd782c2d53183"},
{file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:d483ad4e639292c90170eb6f7783ad19490e7a8defb3e46f97dfe4bacae89122"},
{file = "PyYAML-5.4.1-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:fdc842473cd33f45ff6bce46aea678a54e3d21f1b61a7750ce3c498eedfe25d6"},
{file = "PyYAML-5.4.1-cp39-cp39-win32.whl", hash = "sha256:49d4cdd9065b9b6e206d0595fee27a96b5dd22618e7520c33204a4a3239d5b10"},
{file = "PyYAML-5.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:c20cfa2d49991c8b4147af39859b167664f2ad4561704ee74c1de03318e898db"},
{file = "PyYAML-5.4.1.tar.gz", hash = "sha256:607774cbba28732bfa802b54baa7484215f530991055bb562efbed5b2f20a45e"},
]

18
pyproject.toml Normal file
View file

@ -0,0 +1,18 @@
[tool.poetry]
name = "kiwi-scp"
version = "0.1.6"
description = "kiwi is the simple tool for managing container servers."
authors = ["ldericher <40151420+ldericher@users.noreply.github.com>"]
[tool.poetry.dependencies]
python = "^3.6"
PyYAML = "^5.4.1"
[tool.poetry.dev-dependencies]
[tool.poetry.scripts]
kiwi = "kiwi_scp.scripts.kiwi:main"
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

31
setup.py Normal file
View file

@ -0,0 +1,31 @@
from setuptools import setup, find_packages
setup(
name="kiwi_scp",
version="0.1.6",
description="kiwi is the simple tool for managing container servers.",
long_description=open("README.md").read(),
packages=find_packages(),
license="LICENSE",
author="LDericher",
author_email="ldericher@gmx.de",
setup_requires="setuptools-pipfile",
use_pipfile=True,
entry_points={
"console_scripts": [
"kiwi = kiwi_scp.scripts.kiwi:main"
],
},
data_files=[
('./kiwi_scp/', [
"*.txt",
"*.yml",
"*.Dockerfile",
"data/etc/version_tag",
])
],
include_package_data=True,
)

View file

@ -1,33 +0,0 @@
# system
import os
#############
# ENVIRONMENT
# location of "src" directory to use
KIWI_ROOT = os.getenv('KIWI_ROOT', ".")
# default name of kiwi-scp file
KIWI_CONF_NAME = os.getenv('KIWI_CONF_NAME', "kiwi.yml")
############
# FILE NAMES
# text files inside kiwi-scp "src" directory
HEADER_KIWI_CONF_NAME = f"{KIWI_ROOT}/etc/kiwi_header.yml"
DEFAULT_KIWI_CONF_NAME = f"{KIWI_ROOT}/etc/kiwi_default.yml"
VERSION_TAG_NAME = f"{KIWI_ROOT}/etc/version_tag"
DEFAULT_DOCKER_COMPOSE_NAME = f"{KIWI_ROOT}/etc/docker-compose_default.yml"
KIWI_HELP_TEXT_NAME = f"{KIWI_ROOT}/etc/kiwi_help.txt"
COMMAND_HELP_TEXT_NAME = f"{KIWI_ROOT}/etc/command_help.txt"
# special config directory in projects
CONF_DIRECTORY_NAME = 'conf'
# location for auxiliary Dockerfiles
IMAGES_DIRECTORY_NAME = f"{KIWI_ROOT}/images"
####################
# DOCKER IMAGE NAMES
# name for auxiliary docker images
LOCAL_IMAGES_NAME = 'localhost/kiwi-scp/auxiliary'
DEFAULT_IMAGE_NAME = 'alpine:latest'