Skip to main content

Translate Docker compose and k8s manifests to a MiCADO ADT

Project description

Docker Compose and K8s manifests to (MiCADO) ADT

Translate a single or multi-part YAML file containing Kubernetes manifests or a Docker compose into a MiCADO ADT.

Requirements

  • Python >= 3.6
  • click
  • ruamel.yaml

Usage

Install compose binary:

curl -L https://github.com/kubernetes/kompose/releases/download/v1.26.1/kompose-linux-amd64 -o kompose
chmod +x kompose
sudo mv ./kompose /usr/local/bin/kompose

Clone the repository:

git clone <repository> dockubeadt
cd dockubeadt

Install and run dockubeadt with pip:

pip3 install .
dockubeadt PATH/TO/FILENAME.YAML

Or skip the install and simply:

python3 -m dockubeadt PATH/TO/FILENAME.YAML

Generated output file will be saved to your current directory as adt-FILENAME.YAML

Things to note(Docker Compose)

  • All the volume mounts in docker compose are by default converted to 'hostPath' volume mounts in MiCADO ADT
  • Use the restart property in docker compose to manage the container restarts. The values can be always, on-failure or none.
  • Use the long port syntax in docker-compose for services that needs to be exposed externally using a domain name or public IP. A sample of long port syntax is given below.
    ports:
     - target: 8080
       published:8080
       protocol: tcp
       mode: host

Docker Compose Variables

The variables in docker compose file needs to be in these form:

- TEST_MESSAGE={ get_input:TEST_MESSAGE }
TEST_MESSAGE: '{ get_input:TEST_MESSAGE }'
command: 'python3 start.py {get_input:DB_MODEL_}'

Roadmap

  • Support appending translated nodes to an existing ADT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dockubeadt-0.2.0.tar.gz (10.2 kB view hashes)

Uploaded Source

Built Distribution

dockubeadt-0.2.0-py3-none-any.whl (10.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page