Merge branch 'feature/pip' into develop
This commit is contained in:
commit
5fc1e8a3a6
51 changed files with 192 additions and 162 deletions
16
.drone.yml
Normal file
16
.drone.yml
Normal 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
|
|
@ -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>
|
|
@ -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
17
Dockerfile
Normal 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
12
Pipfile
|
@ -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
56
Pipfile.lock
generated
|
@ -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": {}
|
|
||||||
}
|
|
|
@ -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
|
||||||
|
|
|
@ -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
68
kiwi
|
@ -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
33
kiwi_scp/_constants.py
Normal 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'
|
|
@ -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}
|
|
@ -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:
|
|
@ -1,6 +1,6 @@
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from kiwi.project import Project
|
from .project import Project
|
||||||
|
|
||||||
|
|
||||||
class Projects:
|
class Projects:
|
0
kiwi_scp/scripts/__init__.py
Normal file
0
kiwi_scp/scripts/__init__.py
Normal 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)
|
||||||
|
|
||||||
|
|
|
@ -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
45
poetry.lock
generated
Normal 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
18
pyproject.toml
Normal 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
31
setup.py
Normal 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,
|
||||||
|
)
|
|
@ -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'
|
|
Loading…
Reference in a new issue