#dockerro# This project should provide integration of Katello and Docker project, focusing on building Docker images based on content from Katello. This project is currently under development.
##Dependencies##
##Infrastructure requirements##
- Docker compute resource
- Properly set up DNS, the Docker compute resource should be able to lookup ip address for the machine running Foreman+Katello
- Set up products, repositories, content views and lifecycle environments
- Have dockerhost-builder image present in your infrastructure
- Directly on the docker compute resource
- Run
docker pull adamruzicka/dockerhost-builder
- Run
docker tag adamruzicka/dockerhost-builder:latest dockerhost-builder:latest
- Set
Settings
>Dockerro
>builder-image
todockerhost-builder
- Run
- In a repository in Katello
- Create docker repository
- Select the defaults for sync url
- Set upstream name to
adamruzicka/dockerhost-builder
- Sync the repository
- Copy the repoistory pull url
- Paste the copied url to
Settings
>Dockerro
>builder-image
- Directly on the docker compute resource
##Deploying docker images into existing environments##
- Go into
Containers
>New image
- Fill in the form
- Click
save
- Wait for the build to finish
- Check out the new image in the repository you selected, the tag will be
content_view_name-environment_name
- Add the repository to a content view (if it is already in one, skip to next step)
- Publish new version of the content view
- Promote the image to desired environment
##Deploying docker images for new versions##
- Go into
Containers
>Docker image build configs
- Click
New docker image build config
- Fill in the form
- Click
save
- Go into
Containers
>Docker image build configs
again - Click
Bulk build
- Check the configs you want to build
- Select compute resource
- Click
build
- Wait for the builds to finish
- Check out newly built images in repositories assigned in build configs, those images will have content from
Library
environment present and will be tagged withlatest
TODO:
- Build docker images with packages from Katello
- Build docker images with base image from Katello
- Keep information about from which image and using which build config an image was built
- Provide the possiblity to do bulk builds
- Trigger the bulk build automatically when publishing new version
- Trigger automatic rebuilds on incremental updates
- Notify about possible updates for docker images
- Rebuild images on base image update