Many months back I introduced work to run Foreman, Katello and a subset of plugins via containers running in Openshift. The previous work was captured in a deep dive. That work went quiet but has been revived and that revival is the subject of this email. Please note, this work is still in an alpha stage, presents a potential shift in how we think about Foreman and it’s deployment. Further, there is much testing and discussions to be had going forward around every aspect. We look forward to your help testing, contributions and feedback.
I am happy to announce a large chunk of this work has been merged to Forklift master and can be found in the containers directory. For those wishing to jump right in and play with it checkout the Quick Start Guide. Please take heed of the system requirements to avoid a failed installation.
This work is by no means production ready at present. We have tested certain workflows and have to-dos related to testing a range of functionality. That being said, the application is usable and testable and we encourage everyone to do so!
The current setup requires Openshift and is built around using a Minishift instance to isolate the setup and make it easy to create and delete. Any Openshift cluster should work, but take note that you will need some escalated privileges on the cluster. Given we are currently using Openshift natives to make things like routing easier native Kubernetes cannot be used for the deployment.
A proof of concept has already been performed to migrate an existing Foreman instance’s data into an Openshift based one with as little downtime as possible. We look forward to sharing this work with you as we progress but for this first announcement the focus is on fresh deployment.
Please take this deployment for a test drive and try out your favorite features. Given the early nature of this work, we’ve not tested every path or even every major feature. If you find an issue this could be a real code issue or a deployment issue. Please file an issues here and label them containers and we will triage.
There are many areas to contribute in with the largest area being testing. The current docs do not spell out how to setup an environment for contribution but this is forthcoming. Contributions can be made to docs, image builds, deployment or fixing existing or new issues.
There are many items left on the roadmap that will be captured as Github issues on Forklift. A highlight of those higher level items:
- Updated deep dive showing deployment process and tour
- Testing all major features and ensuring they work
- Migrating an existing Foreman instance
- Smart proxy architecture
- Moving to Dockerfiles for image builds and deprecating ansible-container
- Adding more continuous integration and delivery
- Add contributing and development documentation
- Liveness and readiness probes
- Scale testing and Auto-scaling of pods based on load
- Upgrades between container versions