module
Version:
v0.0.7
Opens a new window with list of versions in this module.
Published: Sep 11, 2023
License: Apache-2.0
Opens a new window with license information.
README
¶
Recompose
Minimal container orchestration designed for GitOps.
- Polling + webhook support
- Encrypted secrets using age
- Lightweight coordinator service with easy mTLS
Future Features
- Coordinated container updates for zero-downtime rolling deployments
Architecture
recompose-agent
processes run on every managed node
- Agents connect to a single, central
recompose-coordinator
process
- Only the coordinator needs access to the secret encryption private keys and git repo
Agent nodes will continue to function when the coordinator is unavailable, minus any functionality it provides (deployments)
Installation
Prereqs
- Podman 4+
- Git
- age (if you plan to encrypt secrets)
Start the Coordinator
On the node that will serve as coordinator:
- Download a binary from the latest Github release
- Customize and install the systemd unit for the coordinator
- Clone your GitOps repo to
/opt/recompose-coordinator/repo
- (The coordinator will
git pull
in this directory to fetch changes)
- Configure Github webhook per the settings in the unit file, salt to taste
Start Agents
- Download a binary from the latest Github release
- Customize and install the systemd unit for the agent
- Get the agent's fingerprint from
/opt/recompose-agent/tls/cert-fingerprint.txt
and commit it to your GitOps repo (see example)
Done!
See the cluster configuration example for how to get started actually managing containers.
Directories
¶
|
|
|
|
internal
|
|
|
|
|
|
|
|
|
|
Click to show internal directories.
Click to hide internal directories.