Go to file
2014-03-05 14:53:02 -08:00
cloudinit refactor(config): s/ResolveCloudConfig/ApplyCloudConfig/ 2014-03-05 14:50:20 -08:00
src bump(github.com/coreos/go-systemd/dbus): 57eb061b918b793c3ec3939c69a632fc4dfac8c9 2014-03-05 10:54:51 -08:00
.gitignore initial import 2014-03-04 16:36:05 -08:00
build initial import 2014-03-04 16:36:05 -08:00
coreos-cloudinit.go chore(release): Bump version to v0.1.1+git 2014-03-05 14:53:02 -08:00
README.md feat(ssh): Set custom name for ssh identity 2014-03-05 14:38:40 -08:00
test feat(test): Add unittest runner 2014-03-04 16:50:54 -08:00

coreos-cloudinit

coreos-cloudinit allows a user to customize CoreOS machiens by providing either an executable script or a cloud-config document as instance user-data. See below to learn how to use these features.

cloud-config

Only a subset of cloud-config functionality is implemented. A set of custom parameters were added to the cloud-config format that are specific to CoreOS.

Supported cloud-config Parameters

ssh_authorized_keys

Provided public SSH keys will be authorized for the core user.

The keys will be named "coreos-cloudinit" by default. Override this with the --ssh-key-name flag when calling coreos-cloudinit.

Custom cloud-config Parameters

coreos.etcd.discovery_url

The value of coreos.etcd.discovery_url will be used to discover the instance's etcd peers using the etcd discovery protocol. Usage of the public discovery service is encouraged.

user-data Script

Simply set your user-data to a script where the first line is a shebang:

#!/bin/bash

echo 'Hello, world!'

Examples

Inject an SSH key, bootstrap etcd, and start fleet using a cloud-config

#cloud-config

coreos:
	etcd:
		discovery_url: https://discovery.etcd.io/827c73219eeb2fa5530027c37bf18877
    fleet:
        autostart: yes

ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0g+ZTxC7weoIJLUafOgrm+h...