coreos/tectonic-torcx

Name: tectonic-torcx

Owner: CoreOS

Description: Mediate the interaction between Tectonic and Torcx

Created: 2017-07-03 12:00:16.0

Updated: 2018-02-23 22:39:26.0

Pushed: 2018-01-26 15:39:16.0

Homepage:

Size: 4079

Language: Go

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

tectonic-torcx

A self-contained node-helper to automatically operate torcx on Tectonic machines.

Background

Tectonic needs a specific version of Docker to be installed. Since Docker on Container Linux is managed by torcx, this tool suite keeps the torcx configuration in sync with the cluster environment.

The tool ensures that the correct verison of Docker is in the torcx store for any potential OS versions. In other words, it populates torcx stores for Current and Next OS versions.

Details

This software handles two main cases:

  1. A new node is added to the cluster and needs to be configured (bootstrap)
  2. An existing node is ready to reboot to a new OS version (pre-reboot hook)
1: Bootstrap
  1. Trigger an OS update (optional, default true)
  2. Determine the Kubelet version to install
  3. Determine the correct Docker version
  4. Fetch and configure Docker torcx addons and profile
  5. Set the correct kubelet version
  6. Trigger node reboot (if needed by updates)
2: OS upgrade on a node
  1. Watch for pre-reboot annotation
  2. Determine new OS version
  3. Determine docker version
  4. Fetch correct docker torcx addon
  5. GC unneeded images
  6. Add success annotation

In both cases, it can also determine/update kubelet based on cluster status.

Build

make all to build for all supported architectures.

Execute

This helper is normally run within a container:

er run \
--tmpfs /tmp \
-v /usr/share:/usr/share:ro \
-v /usr/lib/os-release:/usr/lib/os-release:ro \
-v /usr/share/ca-certificates/ca-certificates.crt:/etc/ssl/certs/ca-certificates.crt:ro \
-v /var/lib/torcx:/var/lib/torcx \
-v /run/metadata:/run/metadata:ro \
-v /run/systemd:/run/systemd \
-v /run/torcx:/run/torcx:ro \
-v /var/run/dbus:/var/run/dbus \
-v /etc/coreos:/etc/coreos:ro \
-v /etc/torcx:/etc/torcx \
-v /etc/kubernetes:/etc/kubernetes \
-v /dev/log:/dev/log \
quay.io/coreos/tectonic-torcx:latest-dev \
--verbose=debug
See also

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.