[DEPRECATED] - Simple configuration tool for Container Linux
Go Shell
dgonyeo Merge pull request #454 from dgonyeo/master
config: etcd2 is no longer shipped, update warning
Latest commit f1f0405 Apr 10, 2018
Permalink
Failed to load latest commit information.
Documentation *: remove locksmith "best effort" strategy Apr 6, 2018
config config: etcd2 is no longer shipped, update warning Apr 9, 2018
datasource Vmware-guestinfo: add variable to set DNS search domain Nov 17, 2016
initialize Remove stray quote Oct 14, 2016
network Vmware-guestinfo: add variable to set DNS search domain Nov 17, 2016
pkg *: remove locksmith "best effort" strategy Apr 6, 2018
system *: remove locksmith "best effort" strategy Apr 6, 2018
units units: add timeout to all services Sep 13, 2016
vendor/github.com vendor: move from Godeps Apr 2, 2016
.gitignore style(httpbackoff -> pkg): Adjusts package name to follow convention May 22, 2014
.travis.yml build: test against go 1.5 and 1.6 Apr 2, 2016
CONTRIBUTING.md docs: Update maintainers and contribution guide Sep 8, 2014
DCO chore(contributing): clean up CONTRIBUTING.md and split out DCO Apr 4, 2014
LICENSE feat(*): initial commit Jan 19, 2014
MAINTAINERS MAINTAINERS: remove Brian Waldon Feb 11, 2016
NOTICE feat(*): initial commit Jan 19, 2014
README.md readme: add deprecation notice Dec 9, 2016
build build: fix missing = in GLDFLAGS Nov 3, 2016
code-of-conduct.md update CoC Jan 4, 2018
coreos-cloudinit.go network: remove support for digitalocean Sep 8, 2016
coreos-cloudinit_test.go userdata: gzip autodetection Nov 11, 2015
cover feat(tests): add cover script May 10, 2014
test build: update test script to test properly Apr 2, 2016
vendor.manifest vendor: move from Godeps Apr 2, 2016

README.md

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:

#cloud-config

coreos:
    units:
      - name: etcd.service
        command: start

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

write_files:
  - path: /etc/resolv.conf
    content: |
        nameserver 192.0.2.2
        nameserver 192.0.2.3

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:

#!/bin/bash

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...

#cloud-config
coreos:
    etcd:
        addr: $public_ipv4:4001
        peer-addr: $private_ipv4:7001

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

#cloud-config
coreos:
    etcd:
        addr: 203.0.113.29:4001
        peer-addr: 192.0.2.13:7001

Bugs

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