Simple configuration tool for Container Linux
Go Shell
Latest commit d7e6084 Dec 8, 2016 @crawford crawford committed on GitHub Merge pull request #441 from crawford/readme
readme: add deprecation notice

NOTE: This project has been superseded by Ignition and is no longer under active development. Please direct all development efforts to Ignition.

coreos-cloudinit Build Status

coreos-cloudinit enables a user to customize CoreOS machines by providing either a cloud-config document or an executable script through user-data.

Configuration with cloud-config

A subset of the official cloud-config spec is implemented by coreos-cloudinit. Additionally, several CoreOS-specific options have been implemented to support interacting with unit files, bootstrapping etcd clusters, and more. All supported cloud-config parameters are documented here.

The following is an example cloud-config document:


      - name: etcd.service
        command: start

  - name: core
    passwd: $1$allJZawX$00S5T756I5PGdQga5qhqv1

  - path: /etc/resolv.conf
    content: |

Executing a Script

coreos-cloudinit supports executing user-data as a script instead of parsing it as a cloud-config document. Make sure the first line of your user-data is a shebang and coreos-cloudinit will attempt to execute it:


echo 'Hello, world!'

user-data Field Substitution

coreos-cloudinit will replace the following set of tokens in your user-data with system-generated values.

Token Description
$public_ipv4 Public IPv4 address of machine
$private_ipv4 Private IPv4 address of machine

These values are determined by CoreOS based on the given provider on which your machine is running. Read more about provider-specific functionality in the CoreOS OEM documentation.

For example, submitting the following user-data...

        addr: $public_ipv4:4001
        peer-addr: $private_ipv4:7001

...will result in this cloud-config document being executed:



Please use the CoreOS issue tracker to report all bugs, issues, and feature requests.