Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coreos/coreos-cloudinit
[DEPRECATED] - Simple configuration tool for Container Linux
https://github.com/coreos/coreos-cloudinit
Last synced: 3 months ago
JSON representation
[DEPRECATED] - Simple configuration tool for Container Linux
- Host: GitHub
- URL: https://github.com/coreos/coreos-cloudinit
- Owner: coreos
- License: apache-2.0
- Archived: true
- Created: 2014-03-05T00:25:47.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2019-02-18T02:01:34.000Z (almost 6 years ago)
- Last Synced: 2024-08-01T12:24:33.669Z (6 months ago)
- Language: Go
- Homepage:
- Size: 1.94 MB
- Stars: 343
- Watchers: 45
- Forks: 161
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
Awesome Lists containing this project
- awesome-starred - coreos/coreos-cloudinit - [DEPRECATED] - Simple configuration tool for Container Linux (others)
README
**NOTE**: This project has been superseded by [Ignition][ignition] and is no longer under active development. Please direct all development efforts to Ignition.
[ignition]: https://github.com/coreos/ignition
# coreos-cloudinit [![Build Status](https://travis-ci.org/coreos/coreos-cloudinit.png?branch=master)](https://travis-ci.org/coreos/coreos-cloudinit)
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][official-cloud-config] is implemented by coreos-cloudinit.
Additionally, several [CoreOS-specific options][custom-cloud-config] have been implemented to support interacting with unit files, bootstrapping etcd clusters, and more.
All supported cloud-config parameters are [documented here][all-cloud-config].[official-cloud-config]: http://cloudinit.readthedocs.org/en/latest/topics/format.html#cloud-config-data
[custom-cloud-config]: https://github.com/coreos/coreos-cloudinit/blob/master/Documentation/cloud-config.md#coreos-parameters
[all-cloud-config]: https://github.com/coreos/coreos-cloudinit/tree/master/Documentation/cloud-config.mdThe following is an example cloud-config document:
```
#cloud-configcoreos:
units:
- name: etcd.service
command: startusers:
- name: core
passwd: $1$allJZawX$00S5T756I5PGdQga5qhqv1write_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/bashecho '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][oem-doc].[oem-doc]: https://coreos.com/docs/sdk-distributors/distributors/notes-for-distributors/
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][bugs] to report all bugs, issues, and feature requests.
[bugs]: https://github.com/coreos/bugs/issues/new?labels=component/cloud-init