Proto commits in poseidon/matchbox

These 31 commits are when the Protocol Buffers files have changed:

Commit:18a84ff
Author:Dalton Hubble

Remove vendored Go module dependencies * Looking at enabling some update automation, the clarity of using non-vendored Go modules/checksums outweighs the risk of a module disappearing (mitigated by proxies)

The documentation is generated from this commit.

Commit:6593da7
Author:Dalton Hubble

Vendor Go module dependencies

Commit:26b5055
Author:Dalton Hubble
Committer:Dalton Hubble

Use a container image for protobuf code generation * Use `quay.io/dghubble/protoc` as the standard codegen environment across projects. Pin a version (v3.10.1) * Generated code is now automatically ignored by golint based on the comment header, which will simplify linting * Upgrade protobuf from 2bba0603135d to v1.3.2 * Upgrade grpc from v1.2.1 to v1.25.1 * Remove `get-protoc` and `codegen` scripts

The documentation is generated from this commit.

Commit:b176de8
Author:Wagner Sartori Junior
Committer:Dalton Hubble

cli,client,http,rpc,server,storage: Add gRPC API for generic (experimental) templates Matchbox added generic template support to enable experimenting with rendering different kinds of templates, beyond Container Linux configs and cloud-configs. We'd like to add a gRPC endpoint for generic templates, as is done for other configs to support gRPC clients.

Commit:6fa1300
Author:Dalton Hubble

matchbox: Remove Profile cmdline map field

Commit:43ce5c1
Author:Dalton Hubble
Committer:Dalton Hubble

matchbox/rpc: Add IgnitionGet and IgnitionDelete gRPC methods

Commit:3464e38
Author:Dalton Hubble
Committer:Dalton Hubble

matchbox/rpc: Add ProfileDelete and GroupDelete gRPC methods

Commit:3ac3063
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Re-vendor protobuf and grpc

Commit:c749a28
Author:Dalton Hubble

*: Rename coreos-baremetal to matchbox

Commit:86f737f
Author:Dalton Hubble
Committer:Dalton Hubble

Rename bootcfg code references to matchbox * Change config drectory to /etc/matchbox * Change data-path to /var/lib/matchbox * Change assets-path to /var/lib/matchbox/assets

Commit:88da595
Author:Dalton Hubble

Move bootcfg package to matchbox

Commit:54f0be2
Author:Dalton Hubble
Committer:Dalton Hubble

bootcfg/storage: Change kernel args to be a slice * Add Profile 'args' field as a list of kernel args * Deprecate 'cmdline' field map of kernel args * Add missing console=tty0 console=ttyS0 kernel args to all example clusters * Show `virsh console nodeN` command for development with local QEMU/KVM nodes

Commit:5bac35c
Author:Adam Schaub
Committer:Dalton Hubble

*: Add /generic docs and revert NetBoot protobuf id * Revert NetBoot id in storage.proto for compatibility * Add URL.RawQuery to data for generic templates * Add generic directory to scripts/setup-data-dir * Add documentation for generic templates.

Commit:d49d9f2
Author:Adam Schaub
Committer:Dalton Hubble

bootcfg/{storage,server}: Added function GetGeneric to storage interface and implementations. Added GenericID to Profile protobuf. Profiles now have GenericId which can be used to render a "generic" go template file (neither ignition nor cloud-init) using group metadata and selectors. The storage interface and it's implementations use GetGeneric to retrieve this template. Partially addresses #224

Commit:e2c066d
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Bump protobuf, grpc, and generated code

Commit:948c9d9
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Switch from godep to glide tool * Use glide for dependency management * https://github.com/coreos/docs/issues/775

Commit:fb560dc
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Update Ignition dependency

Commit:3c222f1
Author:Dalton Hubble

bootcfg/server/serverpb: Fix package name to be serverpb * Use the same Go package name and import directory name 'serverpb'. The messagepb package inside serverpb folder caused confusion.

Commit:8a846d2
Author:Dalton Hubble
Committer:Dalton Hubble

bootcfg/rpc: Add IgnitionPut endpoint to gRPC API * Add `bootcmd ignition create -f file` CLI command

Commit:0ffa17c
Author:Dalton Hubble
Committer:Dalton Hubble

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

Commit:9d5692c
Author:Dalton Hubble

bootcfg/rpc: Add GroupPut to gRPC API and group create cmd * Use hardcoded Group Id's for example groups so repeated group creation overrides

Commit:373d277
Author:Dalton Hubble
Committer:Dalton Hubble

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

Commit:2647f4c
Author:Dalton Hubble

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.

Commit:e0bfb39
Author:Dalton Hubble
Committer:Dalton Hubble

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

Commit:beb1985
Author:Dalton Hubble

cli,server,storage: Allow creating profiles via gRPC and CLI

Commit:7a0d963
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Add github.com/spf13/cobra

Commit:0d14858
Author:Dalton Hubble
Committer:Dalton Hubble

bootcfg/api: Switch from api types to storagepb types * Remove api.Store and use storagepb.Store instead * Remove api.Spec and use storagepb.Profile instead * Switch from api.Group to storagepb.Group * Move api.Group to config for YAML config decoding only

Commit:717a240
Author:Dalton Hubble
Committer:Dalton Hubble

config: Add bytes JSON to storagepb.Group, parse YAML config * Allow bootcfg groups metadata to be defined via YAML * Convert YAML metadata to JSON bytes field in a protobuf message * Strip metadata except strings, string slices, and string-keyed maps with nesting

Commit:9a0de72
Author:Dalton Hubble
Committer:Dalton Hubble

bootcfg: Add gRPC Profile service and types

Commit:7433a9f
Author:Dalton Hubble
Committer:Dalton Hubble

vendor: Update deps and vendor grpc and protobuf

Commit:798be8b
Author:Dalton Hubble
Committer:Dalton Hubble

bootcfg: Add bootcfg gRPC client and server packages * Add standalone gRPC binary example