Skip to content

miabbott/os

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demonstration of delivering OSTree host updates as a container image

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 here for more information on builds)

$ docker build .
$ docker push SOME_IMAGE

Turn a CentOS Atomic booted machine into this OS:

  1. Provision a machine (e.g. an ami-a06447da in AWS us-east-1) with at least 20GB disk (10GB is too small for now)
  2. Resize the disk:
$ lvm lvextend -r -l +25%FREE atomicos/root
  1. SSH to the machine and execute one of the following:
$ pivot -r $REGISTRY/os:latest 

OR

$ docker run --network host -d -w /srv/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

THEN

# 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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Groovy 47.5%
  • Python 21.2%
  • Shell 11.6%
  • Makefile 10.7%
  • HTML 8.1%
  • Dockerfile 0.9%