/recoon

GitOps controller for docker compose based environments

Primary LanguageGoMIT LicenseMIT

Recoon

GitOps Controller for docker compose based environments.

Getting up and running

First of all, make sure to have a recent docker and docker-compose version installed. Then run:

make build
make docker
mkdir .data
# first start generates SSH keys and client certificate for recoonctl
# this command will keep running. Press Ctrl+C to stop recoon and exit.
# Notice: Recoon will now automatically pull the config repo, pull the app repo, build the app
# and run docker compose for you. This will take some time depending on your internet speed because
# of the image pull process so please be patient
make docker-run

# After everything is up and running, the app will be reachable within your browser over localhost:80
# To check the current status of recoon (besides reading logs) use recoonctl

# list configured repositories
./bin/recoonctl get repo

# list projects (apps)
./bin/recoonctl get project
# get project details
./bin/recoonctl get project PROJECT

# list running containers
./bin/recoonctl get container
# get container logs
./bin/recoonctl logs CONTAINER_ID

While recoon is running, you can also try to kill (docker rm -f) one of the test containers. You should then witness recoon recreating the container and doing it's GitOps stuff.

Also try playing around with the test/recooncfg.yaml. For example point it at your own config repo, push new commits and see how recoon automatically reconciles your config and apps.

Disclaimer

Recoon is not production ready as of now but rather in proof of concept state.