This project does an rpm-ostree build inside a container; that container can then be pulled and run in a cluster, providing a HTTP server for clients to upgrade.
Locally (but see [README-development.md] for more information on builds)
$ docker build .
$ docker push SOME_IMAGE
Turn a CentOS Atomic booted machine into this OS:
- Provision a machine (e.g. an
ami-a06447da
in AWS us-east-1) with at least 20GB disk (10GB is too small for now) - Resize the disk:
$ lvm lvextend -r -l +25%FREE atomicos/root
- SSH to the machine and run:
$ docker run --network host -d -w /srv/tree/repo $REGISTRY/os:latest
$ ostree remote add --no-gpg-verify oscontainer http://localhost:8080/repo
$ rpm-ostree rebase -r oscontainer:openshift/3.10/x86_64/os
# wait, SSH back in
$ openshift version
Within a Kubernetes cluster, serve this content to nodes for upgrades:
$ kubectl run os-content --image=$REGISTRY/os:latest
$ kubectl expose os-content --port 8080
$ ssh root@NODE_HOST
$ ostree remote add --no-gpg-verify oscontainer http://os-content.namespace.svc:8080/repo
$ rpm-ostree rebase -r oscontainer:openshift/3.10/x86_64/os
# wait, SSH back in
$ openshift version