Konductor Engine
Maestro Plugin Driver
Find on quay.io & Quay.io
Find on GitHub
About
Konductor provides a human workspace for DevOps dependency & control.
Problem
Dependencies & prerequisites quickly become complex as the DevOps toolchain grows. Additional complexity stems from maturity as dependency version control comes into play. This common expamsion results in frequent & high cycle consumption troubleshooting & support engagement as well as rapid tribal knowledge dependence, and or large and hard to maintain documentation efforts which quickly become dated as the product lifecycle outpaces documentation team bandwidth.
Solution
Konductor is an intentionally designed ‘multi purpose container’ antipattern. Optimally containers most typically should build on the philosophy of ‘one process per container’. Per this standard, Konductor offers ‘one human process per container’ and provides the dependencies required for human task accomplishment.
Features
Konductor is a SSH & TMUX enabled UBI8 based Infrastructure As Code (IaC) development & deployment sandbox which includes multiple cloud provider tools & devops deployment utilities. Konductor is a core compoment of the CloudCtl bastion Podman container Pod, and is intended for use in both typical & restricted or airgap network environments.
Public Binaries Installed:
- jq, oc, helm, registry, gcloud, kubectl, terraform, openshift-install
Yum Packages Installed:
- git, vim, tree, tmux, rsync, bsdtar, podman, openssl, ncurses, nmap-ncat, python3-pip, openssh, ansible
Pip Packages installed:
- ansible, awscli, boto3
Dependencies
Supported Distributions
- Fedora 32+
- CentOS 8.0+
- RedHat 8.0+
- Ubuntu 20.04+
- Fedora CoreOS
- RedHat CoreOS
Install Dependencies
- Install Podman
Usage
A) Run with CloudCtl Ansible Automation
B) Run Manually:
Create local path persisence directory
mkdir ${HOME}/.red/.run 2>/dev/null
Start CloudCtl Pod
sudo podman pod create \
--name cloudctl \
--publish 2022:2022 \
--pod-id-file ~/.red/.run/pod.id
Run ConainerOne
sudo podman run \
--detach --name one \
--pod cloudctl --hostname one \
--privileged --pull always \
--restart on-failure --workdir /root/deploy \
--entrypoint=/bin/entrypoint \
--volume ${HOME}/.red:/root/deploy:z \
quay.io/cloudctl/konductor:latest
Exec directly:
sudo podman exec -it one connect
Or SSH into Konductor:
cat ~/.ssh/id_rsa.pub >> ~/.red/.secrets.d/ssh/user/authorized_keys
ssh -p 2022 root@localhost
Removal & Cleanup
sudo podman rm --force one
sudo podman rmi --force one:latest
sudo podman pod rm --force cloudctl
sudo rm -rf ${HOME}/.red