34 Commits

Author SHA1 Message Date
Dalton Hubble
1ccee77050 api: Allow nested map[string]interface{} template data
* Support templating lists into Ignition (e.g. SSH authorized keys)
2016-02-05 15:12:23 -08:00
Dalton Hubble
68437b9e2d api: Allow Ignition config templates in YAML
* Match machines to their Ignition template file, render the
template, parse as JSON or YAML, and serve as Ignition JSON
* Existing JSON ignition configs should still work
* Remove the Ignition YAML -> JSON transform script which used fuze
2016-02-04 13:45:11 -08:00
Dalton Hubble
a945c1c660 api: Add Cloud-init config templating 2016-02-01 22:09:39 -08:00
Dalton Hubble
27eb545ca4 api: Implement Ignition config templating 2016-02-01 11:34:05 -08:00
Dalton Hubble
76cec40b5a api: Add metadata endpoint with plain/text KEY=val's
* Show example with a custom metadata agent in Ignition
2016-01-31 01:13:53 -08:00
Dalton Hubble
9c16188346 api: Fix name of ascii signature endpoints
* ascii armored detached signatures should be served from .asc
endpoints. Use .sig if binary signatures are later offered.
2016-01-26 15:04:43 -08:00
Dalton Hubble
1708e0cd44 api/server: Add signature endpoints 2016-01-20 22:26:31 -08:00
Dalton Hubble
481c99bf6a tests: Improve matcher and context handler test coverage 2016-01-15 18:05:07 -08:00
Dalton Hubble
bf72dde027 api: Convert handlers to ContextHandlers to isolate responsibility
* Add SpecMatcherHandler to match machine requests to Specs
2016-01-15 18:05:07 -08:00
Dalton Hubble
311ed88f4b api: Add ContextHandler utils from dghubble/ctxh 2016-01-15 18:05:07 -08:00
Dalton Hubble
d9b5f10eb7 config: Require a -config file to run the api server
* Exit if no config file is supplied and the default doesn't exist
2016-01-14 16:16:37 -08:00
Dalton Hubble
2dd017e850 api: Require "mac" matcher reqs to use normalized MAC addresses
* Cause a parse error if user defined matchers use a mac tag that is
not a normalized MAC address. This prevents users from silently defining
tags which will never match a machine.
* Fixes #25
2016-01-14 15:31:23 -08:00
Dalton Hubble
30f856b417 rename: Rename -images-path to -assets-path
* Serve assets from /assets, remove /images endpoint
* Migrate images to assets so we have a place for general assets
2016-01-12 11:13:59 -08:00
Dalton Hubble
bb976840e1 Documentation: Add group matcher docs, improve docs and examples
* Remove Machine docs since machine resources are no longer used
2016-01-08 12:12:48 -08:00
Dalton Hubble
ccd3c7a839 api: Associate machines' attribute labels to specs by group matchers
* Use YAML group config to match machine labels to groups of zero or
more machines sharing a Specification
* Discontinue using machine.json resources representations which are
repetitive, don't support groups, and don't allow label matching
* Previous "default" special case now handled by a Group with an empty
matcher
2016-01-07 23:24:05 -08:00
Dalton Hubble
dae760e5bd api: Add Groups and GroupConfig with Requirements and Labels
* Add Group definitions to associate attribute matchers to particular
Spec specifications to supercede use of machine.json files
2016-01-07 14:35:36 -08:00
Dalton Hubble
7da31344c4 api/ignition: Parse ignition configs and return errors 2016-01-05 13:14:49 -08:00
Dalton Hubble
7482e94876 api: Allow default machine Spec selector
* Apply the data/machines/default/machine.json Spec to
machines which do not match any spec
2016-01-05 12:52:54 -08:00
Dalton Hubble
d880a332de api: Add API endpoint to provide ignition configs
* Add ignition_id field to Spec JSON schema
2016-01-04 15:19:06 -08:00
Dalton Hubble
50df3683cc Documentation: Update docs about the data directory
* Describe machine and spec resources
2015-12-31 15:16:33 -08:00
Dalton Hubble
72a782c4ef api: Use machine and spec resources to present cloud configs
* Change data/cloud directory to be a flat collection of cloud configs
2015-12-31 10:16:48 -08:00
Dalton Hubble
ca49ec6489 api: Use machine and spec resources to present boot scripts/JSON
* Discontinue using data/boot directory containing BootConfig JSON files
2015-12-30 17:42:09 -08:00
Dalton Hubble
16e9c7a773 api: Add machine and spec endpoints with FileStore backing 2015-12-30 16:50:52 -08:00
Dalton Hubble
05c500195e api: Add logging and GET check as middleware handlers 2015-12-30 14:35:16 -08:00
Dalton Hubble
14cef63809 tests: Add tests for handlers 2015-12-23 12:00:40 -05:00
Dalton Hubble
cdedb67b32 fix: Add boot.ipx.0, relax cloud config reqs
* Add boot.ipex.0 because dnsmasq with proxyDHCP expects
an iPXE boot script with a trailing '.0'
* Remove requirement that cloud configs parse with coreos
cloudinit, which doesn't allow scripts
2015-12-21 14:56:36 -08:00
Dalton Hubble
e683d9aed0 api: Get MAC addresses from iPXE or Pixiecore
* Add IP, Domain, Hostname, and Serial machine attrs
2015-12-16 14:17:24 -08:00
Dalton Hubble
bef07bdfc9 deps: Fix package paths to move repo 2015-12-16 10:14:40 -08:00
Dalton Hubble
da2440ed2e api: Read cloud-config-url cmdline entry from boot config json 2015-12-16 02:23:01 -08:00
Dalton Hubble
9d6e0309e3 api: Add config store backed by filesystem 2015-12-16 02:22:52 -08:00
Dalton Hubble
ad737d5c13 api: Add capnslog logging 2015-12-16 02:22:36 -08:00
Dalton Hubble
f3a804f098 api: Add flags to configure address and image asset path 2015-12-16 02:22:27 -08:00
Dalton Hubble
633f441021 api: Add BootAdapter with an in-memory impl and UUID matching 2015-12-16 02:22:08 -08:00
Dalton Hubble
cb52319285 api: Add iPXE initial support 2015-12-16 02:21:59 -08:00