246 Commits

Author SHA1 Message Date
Dalton Hubble
d4afc6ae97 Documentation: Refresh documentation for v0.3.0 v0.3.0 2016-04-14 10:18:16 -07:00
Justin Garrison
fcf68ce69c examples/groups: Remove unused k8s_service_ip metadata 2016-04-13 16:12:36 -07:00
Dalton Hubble
717c24854b build,travis: Build bootcfg with Go 1.6.1
* Upgrade from Go 1.5.3 to Go 1.6.1
2016-04-13 11:40:18 -07:00
Dalton Hubble
94ead0a1af bootcfg/http: Add selectors to template data
* Ignition and Cloud config templates can reference selector
key/value pairs by lowercase key name
* Metadata endpoint will provide metadata and selector key/val
pairs for the matching machine group
2016-04-12 16:51:44 -07:00
Dalton Hubble
0ffa17c12d Rename Group field requirements to selector
* Use label/selector terms for machine attribute labels and group
selectors requirements since it is familiar to many users
2016-04-12 13:32:46 -07:00
Dalton Hubble
9e5955e600 cmd/bootcfg: Allow bootcfg asset serving to be disabled
* Pass -assets-path="" to disable asset serving. Defaults to
/var/lib/bootcfg/assets.
2016-04-12 13:28:57 -07:00
Dalton Hubble
3e5115a6e0 bootcfg/: Rename and document packages with their purpose (#145) 2016-04-12 11:25:17 -07:00
Dalton Hubble
d54eb0447f examples: Start Heapster service by default in k8s 2016-04-11 18:19:28 -07:00
Dalton Hubble
1a8370a218 examples: Upgrade k8s from v1.1.8 to v1.2.0 2016-04-11 17:55:29 -07:00
Dalton Hubble
611b5853c7 vagrant: Purge docs which are no longer current 2016-04-08 13:54:37 -07:00
Dalton Hubble
b4f17a5669 examples: Add AWS EC2 etcd cluster example
* Set up the etcd nodes using the discovery endpoint
2016-04-08 13:49:12 -07:00
Dalton Hubble
69eb361b7c vet: Don't go get vet tool 2016-04-08 10:44:51 -07:00
Dalton Hubble
b02f91b550 Makefile: Update Makefile targets for systemd usage 2016-04-07 17:29:40 -07:00
Dalton Hubble
79fd3bf51a bootcfg/storage/storagepb: Add Group Normalize method
* All Groups retrieved from FileStore's GroupGet (via ParseGroup)
should have normalized selectors since end-users may write Group
definitions with MAC addresses which don't match Go's format
2016-04-07 15:07:57 -07:00
Dalton Hubble
eaaf3ac599 bootcfg/storage: Improve Group validation and tests 2016-04-07 14:13:13 -07:00
Dalton Hubble
9d5692c823 bootcfg/rpc: Add GroupPut to gRPC API and group create cmd
* Use hardcoded Group Id's for example groups so repeated
group creation overrides
2016-04-07 11:01:33 -07:00
Dalton Hubble
beab04dea4 docs: Update Groups docs and instructions for running examples
* Group definitions are now data. To run a particular example, mount a
provided examples/groups/some-example to /var/lib/bootcfg/groups
2016-04-06 11:09:03 -07:00
Dalton Hubble
4cdcbb1b8b *: Change default FileStore data location to /var/lib/bootcfg
* Change assets download location to examples/assets
* FileStore should default to /var/lib/bootcfg/{profiles,groups,
ignition,cloud}
* Assets location should default to /var/lib/bootcfg/assets
* Fix -rpcAddress flag to be -rpc-address
2016-04-05 18:09:18 -07:00
Dalton Hubble
300291780e tests: Fix marshal/unmarhal errors for Groups without metadata
* Expand the use of testfakes to decrease test fixture duplication
* Add test coverage for numbers and booleans in Group metadata
2016-04-05 17:14:38 -07:00
Dalton Hubble
373d27760a bootcfg/storage: Read groups from groups directory
* Split config.yaml files into JSON groups files
* Update examples to use folders of mountable groups files
* Stop reading groups from a -config config.yaml file
* Add RichGroup JSON <-> Protobuf Serialize Group
2016-04-05 14:10:44 -07:00
Dalton Hubble
b3110f9548 tests: Improve storage test coverage 2016-04-04 14:39:46 -07:00
Dalton Hubble
e5acb77c49 bootcfg/rpc: Convert errors to gRPC canonical errors in rpc pkg 2016-04-01 11:24:34 -07:00
Dalton Hubble
2647f4cb7c bootcfg/rpc: Move protobuf rpc services to rpcpb package
* Defining protobuf messages with protobuf rpc services resulted
in generated code which depended upon the gRPC package. This meant
the core server lib depended on gPRC and thus, so did the HTTP
server.
* Move rpc service protobuf definitions under bootcfg/rpc, so the
bootcfg/server package no longer depends on grpc.
2016-04-01 03:33:39 -07:00
Dalton Hubble
70fce2739b bootcft/server: Simplify responses from server lib
* Simplify server lib responses so HTTP server components don't
have to unwrap protobuf Response types intended for gRPC uses
* Wrap server lib responses in protobuf Response types in the
rpc package
2016-04-01 03:10:05 -07:00
Dalton Hubble
618ab7b969 bootcfg/api: Update HTTP server to use bootcfg shared server
* HTTP and gRPC servers share a core server lib, HTTP server should
not access the store directly
2016-03-31 17:01:05 -07:00
Dalton Hubble
ca91e37504 Merge pull request #126 from coreos/k8s-certgen
scripts: Simplify TLS scripts into k8s-certgen and generate kubeconfig
2016-03-31 13:03:37 -07:00
Dalton Hubble
e4f147b1f2 scripts: Simplify TLS scripts into k8s-certgen and generate kubeconfig
* Remove kubecfg-rkt and kubecfg-docker which used relative paths
2016-03-31 12:54:08 -07:00
Dalton Hubble
ac0e90585c Merge pull request #125 from coreos/diagram
docs: Add machine lifecycle diagram
2016-03-30 13:43:12 -07:00
Dalton Hubble
c8100d94fd docs: Add machine lifecycle diagram 2016-03-29 20:20:02 -07:00
Dalton Hubble
e88e249129 tests: Add storage/testfakes to de-duplicate fakes
* Multiple packages have a need to test with fake storage
components such as FixedStore and EmptyStore
2016-03-29 15:40:31 -07:00
Dalton Hubble
0a68eb7201 examples: Remove metadata service from etcd examples
* The etcd clusters use static address assignment so dynamic metadata
isn't needed for this case. Custom metadata is useful for fetching
custom data on each boot, to configure units.
2016-03-29 13:15:14 -07:00
Dalton Hubble
e0bfb3947b bootcfg/api,server: Refactor Group and Profile selection into server
* Add gRPC SelectGroup and SelectProfile service endpoints
* HTTP and gRPC servers should both allow labels to be resolved to the
matching Group or Profile. Move logic to bootcfg core server.
* Add gRPC wrapper selectServer to avoid cluttering core server with
response types which are currently only useful for gRPC
2016-03-28 17:10:59 -07:00
Dalton Hubble
beb1985b22 cli,server,storage: Allow creating profiles via gRPC and CLI 2016-03-25 16:29:20 -07:00
Dalton Hubble
4e563bbce3 filestore: Parse Profiles found in /etc/bootcfg/profiles
* FileStore should manage resources found in type named directories
since this is similar to a traditional table-DB layout and to how
an EtcdStore would work
2016-03-25 15:46:02 -07:00
Dalton Hubble
d72c136590 examples/profiles,bootcfg: Add basic profile validation and add profile names 2016-03-25 15:43:45 -07:00
Dalton Hubble
7d1fc770f4 tests: Improve bootcfg/storage test coverage 2016-03-25 15:43:44 -07:00
Dalton Hubble
3d07218a3f bootcfg/storage: Switch fileStore from http.Dir to custom Dir
* http.Dir securely restricts accesses to a filesystem directory to
support http FileServe, which is why this type was used previously
* Dir copies the sanatization behavior of http.Dir verbatim, but
provides ioutil-like write and directory access within the directory
* Why: Safe FileStore writes need to be possible and also, storage
should not have a dependency on net/http just for its http.Dir
2016-03-25 15:40:23 -07:00
Dalton Hubble
29ca0c69a4 Merge pull request #115 from coreos/port-to-ignition
Rewrite k8s-master and k8s-worker Profiles from cloud-config to Ignition
2016-03-23 14:15:30 -07:00
Dalton Hubble
50f6741eff examples: Use target and template units in k8s-{master,worker}
* Remove the Path Unit which curl'd 3 files, use a template unit
* Add a k8s-assets.target to simplify depending on fetched assets
2016-03-23 11:53:53 -07:00
Dalton Hubble
c0cf9c5c99 examples: Change /opt script file mode to 0544 2016-03-23 11:52:28 -07:00
Dalton Hubble
b3bac02a12 examples: Fix Kubelet path and service ordering
* Run k8stls.service to fetch TLS assets if path is missing
* Make Kubelet depend upon a kubelet.path path unit
* Fixes to file mode (octal allowed in YAML)
2016-03-22 22:54:52 -07:00
Dalton Hubble
093c738e8f examples: Remove old Kubernetes cloud-configs 2016-03-22 22:54:44 -07:00
Dalton Hubble
62d2b43fe1 examples: Update k8s-install config to use Ignition only
* Ignition is preferred over Cloud-Config
2016-03-22 22:54:44 -07:00
Dalton Hubble
ce806cb92a examples: Remove metadata agent from k8s-master and k8s-worker
* Clusters nodes are statically declared, no need to load dynamic
node metadata
2016-03-22 22:54:44 -07:00
Dalton Hubble
e1fd5dc699 examples: Rewrite k8s-master from cloud-config to Ignition 2016-03-22 22:54:44 -07:00
Dalton Hubble
a93885fdcc examples: Rewrite k8s-worker from cloud-config to Ignition 2016-03-22 22:54:44 -07:00
Dalton Hubble
ad5f6e0a72 scripts: Fold libvirt delete-disks into node destroy 2016-03-22 10:08:55 -07:00
Dalton Hubble
7732fa4d04 cmd/bootcmd: Add initial bootcmd CLI tool 2016-03-21 12:52:48 -07:00
Dalton Hubble
7a0d96344f vendor: Add github.com/spf13/cobra 2016-03-21 12:52:48 -07:00
Dalton Hubble
290be307ea examples: Add k8s install to disk example
* Install a Kubernetes cluster with 1 master, 2 workers
* Setup a 3 node etcd cluster and enable update-engine
* Include fleet on the cluster as well
2016-03-21 11:50:50 -07:00