Alex Crawford
3e47c09b41
datasource: replace metadata map with struct
...
The loosely-typed metadata map is a load of crap. Make it a struct and
let the compiler help us out.
2015-01-26 15:57:57 -08:00
Jonathan Boulle
c093e44049
Merge pull request #305 from jonboulle/copyright
...
*: switch to line comments for copyright
2015-01-25 10:28:52 -08:00
Jonathan Boulle
be68a8e5cc
*: switch to line comments for copyright
...
Build tags are not compatible with block comments. Also adds copyright
header to a few places it was missing.
2015-01-24 19:32:33 -08:00
Alex Crawford
e9529ede44
config: add support for multiple github users
2015-01-20 13:45:52 -08:00
Alex Crawford
057ab37364
config: seperate the CoreOS type from CloudConfig
...
Renamed Coreos to CoreOS while I was at it.
2014-12-30 16:20:20 +01:00
Thom May
9be836df31
Create an environment file for flannel
...
Rather than using a systemd overlay, allow docker to load the
environment file. This is due to coreos/coreos-overlay#1002
2014-12-29 10:27:22 +00:00
Alex Crawford
ea90e553d1
Merge pull request #282 from crawford/network
...
network: write network units with user units
2014-12-12 15:12:50 -08:00
Alex Crawford
b0cfd86902
network: write network units with user units
...
This allows us to test the network unit generation as well as removing
some special-cased code.
2014-12-12 15:08:03 -08:00
Alex Crawford
685d8317bc
Merge pull request #275 from mwhooker/master
...
Enable configuration of locksmithd
2014-12-05 14:09:40 -08:00
Matthew Hooker
c944e9ef94
Enable configuration of locksmithd
2014-12-04 23:53:31 -08:00
Alex Crawford
5c059b66f0
initialize: restart networkd before other units
2014-12-04 15:25:44 -08:00
Alex Crawford
2270db3f7a
initialize: only restart networkd once per config
...
Regression introduced by 9fcf338bf3
.
Networkd was erroneously being restarted once per network unit. It
should only restart once for the entire config.
2014-12-02 12:46:35 -08:00
Alex Crawford
ffc54b028c
drop-in: add support for drop-ins
...
This allows a list of drop-ins for a unit to be declared inline within a
cloud-config. For example:
#cloud-config
coreos:
units:
- name: docker.service
drop-ins:
- name: 50-insecure-registry.conf
content: |
[Service]
Environment=DOCKER_OPTS='--insecure-registry="10.0.1.0/24"'
2014-11-26 14:09:35 -08:00
Alex Crawford
75ed8dacf9
initialize: clean up TestProcessUnits()
2014-11-26 10:32:43 -08:00
Alex Crawford
dcaabe4d4a
system: clean up UnitManager interface
2014-11-26 10:32:43 -08:00
Eugene Yakubovich
a20addd05e
flannel: added flannel support and helper to make dropins
...
fleet, flannel, and etcd all generate dropins from config.
To reduce code duplication, factor out a helper to do that.
2014-11-14 10:45:23 -08:00
Alex Crawford
6e2db882e6
script: move Script into config package
2014-11-07 10:13:52 -08:00
Alex Crawford
8be307de49
*: fix warnings from go vet
2014-10-23 11:46:08 -07:00
Jonathan Boulle
6c1ba590aa
*: add license header to all source files
2014-10-17 15:36:22 -07:00
Jonathan Boulle
e2c24c4cef
init: simplify CloudConfigUnit interface
2014-10-06 15:14:29 -07:00
Alex Crawford
18e2f98414
cloudconfig: refactor config
...
- Move CloudConfig into config package
- Add YAML tags to CloudConfig
2014-09-23 17:59:32 -07:00
Alex Crawford
4b472795c4
user: move User into config package
...
- Add YAML tags for the fields
2014-09-23 17:59:19 -07:00
Alex Crawford
85b8d804c8
file: refactor config
...
- Seperate the config from Permissions()
- Add YAML tags for the fields
2014-09-23 17:59:16 -07:00
Alex Crawford
1fbbaaec19
unit: refactor config
...
- Seperate the config from Destination()
- Add YAML tags for the fields
2014-09-23 17:58:32 -07:00
Alex Crawford
667dbd8fb7
update: refactor config
...
- Explicitly specify all of the valid options for Update
- Seperate the config from File() and Units()
- Add YAML tags for the fields
2014-09-23 17:57:43 -07:00
Alex Crawford
6730cb7227
oem: refactor the config
...
- Seperate the config from File()
- Add YAML tags for the fields
2014-09-23 16:08:23 -07:00
Alex Crawford
9454522033
fleet: refactor config
...
- Explicitly specify all of the valid options for fleet
- Seperate the config from Units()
- Add YAML tags for the fields
2014-09-23 16:07:53 -07:00
Alex Crawford
c255739a93
etcd: refactor config
...
- Explicitly specify all of the valid options for etcd
- Remove the default name generation (ETCD_NAME is set by its unit file now)
- Seperate the etcd config from Units()
- Remove support for DISCOVERY_URL
- Add YAML tags for the fields
2014-09-23 16:07:13 -07:00
Alex Crawford
7dec922618
env: add support for escaping environment substitutions
2014-09-11 15:30:33 -07:00
Alex Crawford
56815a6756
metadata: add support for IPv6 variable substitution
2014-09-11 10:43:02 -07:00
Alex Crawford
78aa2c56ec
yaml: replace goyaml with yaml
2014-09-08 13:25:27 -07:00
Alex Crawford
9fcf338bf3
units: Ensure that the units are executed in order
2014-09-02 17:15:32 -07:00
Alex Crawford
3abd6b2225
digitalocean: Add DigitalOcean metadata service
...
Move debian-related processing into its own file.
2014-09-01 16:53:15 -07:00
Alex Crawford
604ef7ecb4
datasource: Add FetchNetworkConfig
...
FetchNetworkConfig is currently only used by ConfigDrive to read the
network config file from the disk.
2014-08-26 13:04:43 -07:00
Alex Crawford
0c212c72c9
test: Fix tests for Go 1.3
2014-08-25 12:01:27 -07:00
Alex Crawford
f0b9eaf2fe
configdrive: Remove broken support for ec2 metadata
...
As it turns out, certain metadata is only present in the ec2 flavor
of metadata (e.g. public_ipv4) and other data is only present in
the openstack flavor (e.g. network_config). For now, just read the
openstack metadata.
2014-08-15 10:35:21 -07:00
Jonathan Boulle
735d6c6161
Merge pull request #202 from jonboulle/env
...
environment: write new keys in consistent order
2014-08-11 22:40:42 -07:00
Jonathan Boulle
f1c97cb4d5
environment: write new keys in consistent order
2014-08-11 18:24:58 -07:00
Jonathan Boulle
dfb5b4fc3a
initialize: use correct heuristic to check if etcdenvironment is set
...
In some circumstances (e.g. nova-agent-watcher) cloudconfig files will
be created where the EtcdEnvironment is an empty map, and hence != nil.
If this is the case we should not do anything at all (because the user
hasn't explicitly asked us to configure etcd). This change standardises
behaviour with the check that we already do for FleetEnvironment.
2014-08-11 16:01:08 -07:00
Alex Crawford
b093094292
config: Verify that type assertions are valid
2014-07-22 11:39:20 -07:00
Jonathan Boulle
be51f4eba0
chore(*): split out unit processing from config.Apply
2014-07-11 10:44:19 -07:00
Michael Marineau
983501e43b
environment: add support for updating /etc/environment with IP values
...
To maintain the behavior of the coreos-setup-environment that has
started to move into cloudinit we need to write out /etc/environment
with the public and private addresses, if known. The file is updated so
that other contents are not replaced. This behavior is disabled entirely
if /etc/environment was written by a write_files entry.
2014-07-11 10:34:44 -07:00
Jonathan Boulle
d4e048a1f4
ParseUserData: return nil on empty input string
2014-06-30 11:27:33 -07:00
Jonathan Boulle
231c0fa20b
initialize: add tests for ParseMetadata
2014-06-27 23:53:06 -07:00
Jonathan Boulle
1aabacc769
cloudinit: merge cloudconfig info from user-data and meta-data
...
This attempts to retrieve cloudconfigs from two sources: the meta-data
service, and the user-data service. If only one cloudconfig is found,
that is applied to the system. If both services return a cloudconfig,
the two are merged into a single cloudconfig which is then applied to
the system.
Only a subset of parameters are merged (because the meta-data service
currently only partially populates a cloudconfig). In the event of any
conflicts, parameters in the user-data cloudconfig take precedence over
those in the meta-data cloudconfig.
2014-06-27 23:48:48 -07:00
Alex Crawford
68dc902ed1
HttpClient: Refactor timeout into two seperate functions
2014-06-26 15:16:22 -07:00
Jonathan Boulle
f0dba2294e
initialize/env: handle nil substitution maps properly
2014-06-25 12:07:48 -07:00
Jonathan Boulle
80d00cde94
Merge pull request #158 from jonboulle/nettttt
...
cloudinit: retrieve IPv4 addresses from metadata
2014-06-24 19:11:15 -07:00
Jonathan Boulle
2805d70ece
initialize/env: add notes about tests
2014-06-24 18:52:08 -07:00
Jonathan Boulle
439b7e8b98
initialize/env: fall back to COREOS_*_IPV4 env variables
2014-06-24 18:49:49 -07:00