Skip to content

@dghubble dghubble released this May 7, 2019 · 6 commits to master since this release

  • Migrate Matchbox repo from coreos to poseidon GitHub Org
  • Publish container images at
  • Build Matchbox with Go v1.11.7 for images and binaries
  • Update container image base from alpine:3.6 to alpine:3.9
  • Render Container Linux Configs as Ignition v2.2.0
  • Validate raw Ignition configs with the v2.2 spec (warn-only)
    • Fix warnings that v2.2 configs are too new

Note: Release signing key has changed with the project move.


  • Update Kubernetes example clusters to v1.14.1 (Terraform-based)
Assets 10

@sdemos sdemos released this Nov 6, 2018 · 36 commits to master since this release

  • Add kernel_args variable to the terraform bootkube-install cluster definition
  • Add get-flatcar helper script
  • Add optional TLS support to read-only HTTP API
  • Build Matchbox with Go 1.11.1 for images and binaries


  • Upgrade Kubernetes example clusters to v1.10.0 (Terraform-based)
  • Upgrade Kubernetes example clusters to v1.8.5
Assets 10

@dghubble dghubble released this Dec 13, 2017 · 77 commits to master since this release

  • Add gRPC API endpoints for managing generic templates
  • Update Container Linux config transpiler to v0.5.0
  • Update Ignition to v0.19.0, render v2.1.0 Ignition configs
  • Drop support for Container Linux versions below 1465.0.0 (breaking)
  • Build Matchbox with Go 1.8.5 for images and binaries
  • Remove Profile Cmdline map (deprecated in v0.5.0), use Args slice instead
  • Remove pixiecore support (deprecated in v0.5.0)
  • Remove ContextHandler, ContextHandlerFunc, and NewHandler from the matchbox/http package.


  • Upgrade Kubernetes example clusters to v1.8.4
  • Kubernetes examples clusters enable etcd TLS
  • Deploy the Container Linux Update Operator (CLUO) to coordinate reboots of Container Linux nodes in Kubernetes clusters. See the cluster addon docs.
  • Kubernetes examples (terraform and non-terraform) mask locksmithd
Assets 10

@dghubble dghubble released this May 25, 2017 · 252 commits to master since this release

  • Improve the installation documentation (#524)
  • Move examples/etc/matchbox/cert-gen to scripts/tls (#524)
  • Build Matchbox with Go 1.8.3 for images and binaries (#552)


  • Upgrade self-hosted Kubernetes cluster examples to v1.6.4 (#538)
  • Add NoSchedule taint to self-hosted Kubernetes controllers (#528)
  • Remove static Kubernetes and rktnetes cluster examples (#544)

Note: There are no RPM changes (i.e. no v0.6.1) in the Copr repo, compilation is done by system Go.

Assets 10

@dghubble dghubble released this Apr 24, 2017 · 312 commits to master since this release

  • New terraform-provider-matchbox plugin for Terraform users!
  • New hosted documentation on
  • Add ProfileDelete, GroupDelete, IgnitionGet and IgnitionDelete gRPC endpoints
  • Build matchbox with Go 1.8 for container images and binaries
  • Generate code with gRPC v1.2.1 and matching Go protoc-gen-go plugin
  • Update Ignition to v0.14.0 and coreos-cloudinit to v1.13.0
  • Update "fuze" docs to the new name Container Linux Configs
  • Remove bootcmd binary from release tarballs


  • Upgrade Kubernetes v1.5.5 (static) example clusters
  • Upgrade Kubernetes v1.6.1 (self-hosted) example cluster
  • Use etcd3 by default in all clusters (remove etcd2 clusters)
  • Add Terraform examples for etcd3 and self-hosted Kubernetes 1.6.1
Assets 10

@dghubble dghubble released this Jan 23, 2017 · 425 commits to master since this release


  • Rename project to CoreOS matchbox! (#400)
  • Add @CoreOS/matchbox RPM Copr repository
  • Add Profile args field to list kernel args (#396)
  • Update Fuze and Ignition to v0.11.2 (#397)
  • Update protobuf and gRPC generated code (#417)
  • Use iPXE variable ${mac:hexhyp} instead of ${net0/mac:hexhyp} (#410)
  • Switch from to context (#414)
  • Deprecate Profile cmd field map of kernel args (#396)
  • Deprecate Pixiecore support (#397)
  • Drop build support for Go 1.6 (#414)


  • Move repo from to
  • Rename bootcfg binary to matchbox
  • Rename bootcfg packages to matchbox
  • Publish a container image. The image will no longer be updated.
  • Rename environment variable prefix from BOOTCFG* to MATCHBOX*
  • Change config directory to /etc/matchbox
  • Change default -data-path to /var/lib/matchbox
  • Change default -assets-path to /var/lib/matchbox/assets


  • Upgrade Kubernetes v1.5.1 (static) example clusters
  • Upgrade Kubernetes v1.5.1 (self-hosted) example cluster
  • Switch Kubernetes (self-hosted) to run flannel as pods
  • Combine rktnetes Ignition into Kubernetes static cluster
  • Add a script devnet for trying matchbox locally (#425)


  • binary users should install the matchbox binary (see installation)
  • rkt/docker users should start using (see installation)
  • RPM users should uninstall bootcfg and install matchbox (see installation)
  • Move /etc/bootcfg configs and certificates to /etc/matchbox
  • Move /var/lib/bootcfg data to /var/lib/matchbox
  • See the new contrib/systemd service examples
  • Remove the old bootcfg user if you created one
Assets 12

@dghubble dghubble released this Dec 7, 2016 · 482 commits to master since this release


  • Add RPM packages to Copr (docs)
  • Fix packaged contrib/systemd units
  • Update Go version to 1.7.4


  • Upgrade Kubernetes v1.4.6 (static manifest) example clusters
  • Upgrade Kubernetes v1.4.6 (rktnetes) example clusters
  • Upgrade Kubernetes v1.4.6 (self-hosted) example cluster
Assets 12

@dghubble dghubble released this Dec 7, 2016 · 520 commits to master since this release

Fixes / Improvements

  • Improvements to the bootcfg cert-gen script (#310)
  • Add guide for installing bootcfg on CoreOS (#306)
  • Add ARM and AMR64 release architectures (#309)


  • Add Kubernetes example with rkt container runtime (i.e. rktnetes)
  • Upgrade Kubernetes v1.4.1 (static manifest) example clusters
  • Upgrade Kubernetes v1.4.1 (rktnetes) example clusters
  • Upgrade Kubernetes v1.4.1 (self-hosted) example cluster
  • Add etcd3 example cluster (PXE in-RAM or install to disk)
  • Use DNS names (instead of IPs) in example clusters (except bootkube)
Assets 12

@dghubble dghubble released this Jul 20, 2016 · 621 commits to master since this release


  • Add/improve rkt, Docker, Kubernetes, and binary/systemd deployment docs
  • TLS Client Authentication:
    • Add gRPC API TLS and TLS client-to-server authentication (#140)
    • Enable gRPC API by providing a TLS server -cert-file and -key-file, and a -ca-file to authenticate client certificates
    • Provide the bootcmd tool a TLS client -cert-file and -key-file, and a -ca-file to verify the server identity.
  • Improvements to Ignition Support:
    • Allow Fuze YAML template files for Ignition 2.0.0 (#141)
    • Stop requiring Ignition templates to use file extensions (#176)
  • Logging Improvements:
    • Add structured loggging with Logrus (#254, #268)
    • Log requests for bootcfg assets (#214)
    • Show bootcfg message at the home path /
    • Fix http package log messages (#173)
  • Templating:
    • Allow query parameters to be used as template variables as {{}} (#182)
    • Support nested maps in responses from the "env file" metadata endpoint (#84)
    • Error when a template is rendered with variables which are missing a referenced key. Previously, missing lookups defaulted to "no value" (#210)
  • gRPC API
    • Add DialTimeout to gRPC client config (#273)
    • Add IgnitionPut and Close to the client (#160,#193)


  • gRPC API requires TLS client authentication
  • Replace Ignition YAML templates with Fuze templates
    • Fuze formalizes the transform from Fuze configs (YAML) to Ignition 2.0.0 (JSON)
    • Migrate templates from v0.3.0
    • Require CoreOS 1010.1.0 or newer
    • Drop support for Ignition v1 format
  • Replace template variable {{.query}} with {{.request.raw_query}}


  • Kubernetes
    • Upgrade Kubernetes v1.3.0 (static manifest) example clusters
    • Add Kubernetes v1.3.0-beta.2 (self-hosted) example cluster
    • Mount /etc/resolv.conf into host kubelet for skydns and pod DNS lookups (#237,#260)
    • Fix a bug in the k8s example k8s-certs@.service file check (#156)
    • Avoid systemd dependency failures by restarting components (#257,#274)
    • Verify Kubernetes v1.2.4 and v1.3.0 clusters pass conformance tests (#71,#265)
  • Add Torus distributed storage cluster example (PXE boot)
  • Add create-uefi subcommand to scripts/libvirt for UEFI/GRUB testing
  • Install CoreOS to disk from a cached copy via bootcfg baseurl (#228)
  • Remove from networkd example Ignition configs (#184)
  • Match machines by MAC address in examples to simplify networkd device matching (#209)
  • With rkt 1.8+, you can use rkt gc --grace-period=0 to cleanup rkt IP assignments in examples. The rkt-gc-force script has been removed.
Assets 8

@dghubble dghubble released this Apr 14, 2016 · 789 commits to master since this release


  • Add server library package for implementing servers
  • Add initial gRPC client/server and a CLI tool
    • Allow listing, viewing, and creating Groups and Profiles
  • Add initial Grub net boot support examples
  • Add detached OpenPGP signature endpoints (.sig)
  • Document deployment as a binary with systemd
  • Upgrade from Go 1.5.3 to Go 1.6.1 (#139)


  • Profiles
    • Move Profiles to JSON files under /var/lib/bootcfg/profiles
    • Rename Spec to Profile (#104)
  • Groups
    • Move Groups to JSON files under /var/lib/bootcfg/groups
    • Require Group metadata to be valid JSON
    • Rename Group field spec to profile
    • Rename Group field require to selector (#147)
  • Allow asset serving to be disabled with -assets-path="" (#118)
  • Allow selector key/value pairs to be used in Ignition and Cloud config teplates (#64)
  • Change default -data-path to /var/lib/bootcfg (#132)
  • Change default -assets-path to /var/lib/bootcfg/assets (#132)
  • Change the default assets download location to examples/assets
  • Stop parsing Groups from the -config YAML file. Remove the flag.
  • Remove HTTP /spec/id JSON endpoint


  • Convert all Cloud-Configs to Ignition
  • Kubernetes
    • Upgraded Kubernetes examples to v1.2.0 (#122)
    • Run Heapster service by default (#142)
    • Example multi-node Kubernetes cluster installed to disk
  • Example multi-node etcd cluster installed to disk
  • Example which PXE boots with or without a root partition
  • Setup fleet in multi-node example clusters
Assets 8
You can’t perform that action at this time.