Commit Graph

233 Commits

Author SHA1 Message Date
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
Dalton Hubble
e43a018db3 Merge pull request #113 from coreos/multi-worker-k8s
Create k8s clusters with 3-node etcd, 2 workers, and fleet
2016-03-19 17:34:43 -07:00
Dalton Hubble
1004777a71 examples: Update etcd examples from beta 899.6.0 to alpha 983.0.0 2016-03-19 17:29:23 -07:00
Dalton Hubble
409e2d4fbb scripts/tls: Add example bare metal TLS generation script 2016-03-19 17:19:02 -07:00
Dalton Hubble
33dbd567ee examples: Inform k8s of all etcd nodes 2016-03-19 17:17:51 -07:00
Dalton Hubble
c5ea8362d3 examples: Update k8s to have 1 master, 2 workers
* Setup 3-node etcd cluster instead of dedicated etcd node
* Update certificate generation for workers on rkt/docker nets
* Add Tectonic Starter call to action
2016-03-19 16:56:51 -07:00
Dalton Hubble
a2e8f6756d scripts/get-coreos: Download CoreOS Alpha 962.0.0 2016-03-19 01:58:32 -07:00
Dalton Hubble
80a6f7448e Merge pull request #112 from coreos/k8s-v1.1.8
examples: Upgrade k8s to v1.1.8
2016-03-18 18:52:09 -07:00
Dalton Hubble
39c1c414d2 examples: Upgrade k8s to v1.1.8
* Upgrade CoreOS Version to Alpha 962.0.0
* rkt run kubelet with the kubelet-wrapper
* Switch to quay.io/coreos/hyperkube
* Provision an ext4 root partition
2016-03-18 17:36:44 -07:00
Dalton Hubble
bfc9b6806d Merge pull request #107 from coreos/rkt-dnsmasq
contrib/dnsmasq: Make coreos.com/dnsmasq:v0.2.0 rkt fetch-able
2016-03-18 13:25:40 -07:00
Dalton Hubble
044d277393 contrib/dnsmasq: Make coreos.com/dnsmasq rkt fetch-able
* Make ACI coreos.com/dnsmasq is available as v0.2.0
* Signed by the CoreOS Application Signing Key
2016-03-18 13:12:42 -07:00
Dalton Hubble
afe6da77b6 Merge pull request #110 from coreos/start-http-and-grpc
cmd/bootcfg: Start HTTP and gRPC(optional) via bootcfg binary
2016-03-17 16:42:58 -07:00
Dalton Hubble
3f7161fe33 cmd/bootcfg: Start HTTP and gRPC (optional) via bootcfg binary 2016-03-17 16:02:26 -07:00
Dalton Hubble
96c8c67975 Merge pull request #109 from coreos/fix-two-stage-install
examples: Fix 2-stage install CoreOS and etcd_proxy setup
2016-03-17 11:25:06 -07:00