54 Commits

Author SHA1 Message Date
Dalton Hubble
930e7e166a Remove dependency on github.com/coreos/pkg
* Remove dependency on github.com/coreos/pkg because the module
is no longer maintained and it doesn't follow the usual release
conventions
* The last time flagutils was touched as 9 years ago by me. Bring
the function into the matchbox repo
2024-05-05 06:53:53 -07:00
Dalton Hubble
8a4da0cf7b Rename Go module/packages org to poseidon
* Matchbox has moved to a new home in Poseidon
* Update Makefile so container image name uses
poseidon instead of coreos
* Publish container images to quay.io/poseidon/matchbox
2019-05-02 22:12:29 -07:00
Dalton Hubble
9cf216e937 Upgrade Sirupsen/logrus v0.10.0 to sirupsen v1.3.0
* Upstream author changed case of his/her username (breaking)
* Fix to lowercase name so clients using Go modules can avoid
case-sensitive conflicts. Go modules do not handle this real-world
case well
2019-02-10 21:39:17 -08:00
Anita Kumar
910ee6f18c cmd/matchbox: HTTPS support for web server 2018-11-01 13:41:04 -07:00
Dalton Hubble
0d1beeb632 cmd/matchbox: fix -address parsing when built with Go 1.8
* 1.8 changed the behavior of url.Parse so it is no longer
appropriate for parsing values like 0.0.0.0:8080
* Pass the address directly to http.ListenAndServe which gives
reasonable errors when bad values are given
2017-03-08 01:45:30 -08:00
Chris Jones
697d7ec73d storage: report errors in GroupList
Errors should be reported instead of silently failing to read files.
2017-02-10 16:45:05 -07:00
Dalton Hubble
c749a28662 *: Rename coreos-baremetal to matchbox 2017-01-17 00:58:03 -08:00
Dalton Hubble
d496192032 Rename bootcfg to matchbox in docs, examples, scripts
* Verify all examples and docs work correctly
* Exclude contrib k8s and systemd which will be updated
and verified in a followup commit
2017-01-09 04:32:45 -08:00
Dalton Hubble
86f737ff93 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
2017-01-09 04:30:30 -08:00
Dalton Hubble
50432159d7 Update imports from bootcfg to matchbox 2017-01-09 02:25:56 -08:00
Dalton Hubble
d8f3ceafbe Documentation,CHANGES.md: Update docs for v0.4.0 2016-07-20 14:35:54 -07:00
Dalton Hubble
63e48160f6 bootcfg/http: Replace capnslog with logrus 2016-07-11 14:43:33 -07:00
Dalton Hubble
29f277f001 bootcfg/http: Replace store field with core Server
* Remove the bootcfg/http/server.Server store field
to enforce handlers use the core Server, not the Store
directly
2016-07-11 14:43:33 -07:00
Dalton Hubble
45622cb346 bootcfg/cmd: Log gRPC TLS filenames or missing flags
* Log which TLS files are being used and why
* Log missing required gRPC TLS flags
2016-06-09 17:02:11 -07:00
Dalton Hubble
baa7f5e025 bootcfg/*: Require TLS client auth for gRPC API
* gRPC API server requires a CA certificate to verify
and authenticate clients (passed via -ca-file)
* gRPC clients must authenticate with a client certificate
and key (passed via -cert-file and -key-file)
2016-06-09 17:02:11 -07:00
Dalton Hubble
af76aa6951 bootcfg:/*: Add gRPC client-to-server TLS and verify
* A CA certificate (e.g. ca.crt) should be used to sign a server
certificate (server.crt for a private key server.key)
* gRPC API server requires a server certificate and key to be enabled
(passed via -cert-file and -key-file)
* gRPC client bootcmd tool must verify the server identity using a
known CA (passed to bootcmd via -ca-file)
* This provides transport security, it does not provide client
authentication
2016-06-09 17:02:10 -07:00
Dalton Hubble
3525abf84f bootcfg/version: Add version package and HTTP version output
* bootcfg/version package provides the linker's GIT SHA based
version to bootcfg components
* Display the bootcfg version via the HTTP server / path for
convenience and for validating a deployed version easily
* Log requests to the / rooted subtree paths to surface machines
which are making requests containing typos and mistakes that do
not match HTTP API endpoints
2016-04-26 18:21:59 -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
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
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
d72c136590 examples/profiles,bootcfg: Add basic profile validation and add profile names 2016-03-25 15:43:45 -07:00
Dalton Hubble
7732fa4d04 cmd/bootcmd: Add initial bootcmd CLI tool 2016-03-21 12:52:48 -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
040665930d cmd, docs: Change default config, data, and assets locations
* Change default -config path to /etc/bootcfg.conf
* Change default -data-path to /etc/bootcfg
* Change default -assets-path to /var/bootcfg
2016-03-15 15:02:37 -07:00
Dalton Hubble
0d148581b9 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
2016-03-10 18:32:57 -08:00
Dalton Hubble
717a240b1d 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
2016-03-09 16:28:16 -08:00
Dalton Hubble
e990320dae api,config,sign: Organize bootcfg packages together 2016-03-04 14:00:46 -08:00
Dalton Hubble
9a0de72de8 bootcfg: Add gRPC Profile service and types 2016-03-04 11:31:33 -08:00
Dalton Hubble
798be8bdb8 bootcfg: Add bootcfg gRPC client and server packages
* Add standalone gRPC binary example
2016-03-04 11:31:33 -08:00
Dalton Hubble
1ae5d113eb api: Add OpenPGP signature endpoints (.sig)
* Compliment the ASCII armored signature endpoints (.asc)
2016-02-11 10:23:30 -08:00
Dalton Hubble
a184e43868 docs: Document signature endpoints and openpgp flags/vars 2016-01-20 22:26:31 -08:00
Dalton Hubble
1708e0cd44 api/server: Add signature endpoints 2016-01-20 22:26:31 -08:00
Dalton Hubble
9a98adac61 changelog: Update the changelog with new required flags 2016-01-15 17:32:56 -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
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
8309b1635c cmd/bootcfg: Add version flag, set compile time version 2016-01-11 17:28:27 -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
83330b5e2d examples: Add etcd small and large cluster configs 2016-01-06 10:54:06 -08:00
Dalton Hubble
139030cd2c imports: Update import paths from coreos-inc to coreos 2015-12-23 09:31:50 -05: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
d30d4e3b60 scripts: Add CoreOS assets download script 2015-12-16 02:22:45 -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
176b763b61 ipxe: Add iPXE Dockerfile for UUID to boot config 2015-12-16 02:22:17 -08:00
Dalton Hubble
633f441021 api: Add BootAdapter with an in-memory impl and UUID matching 2015-12-16 02:22:08 -08:00