Commit Graph

43 Commits

Author SHA1 Message Date
Ringo De Smet
e8c9b66746 Build for Apple M1/M2 architecture
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
2023-10-15 22:17:32 -07:00
Dalton Hubble
c002e06639 Migrate container image builds to GitHub Workflows
* Migrate from the internal Drone server using a GitHub Workflow
to perform the multi-arch container image build
* Use self-hosted GitHub runners on ARM64 to perform the ARM64
build step faster that QEMU/KVM emulation
* Mandate approval for all workflow runs from outside contributors
since the builds use push credentials and partially run internally
2023-05-20 11:59:17 -07:00
Dalton Hubble
247e7b41a8 Prepare release notes for v0.10.0 release
* Emphasize that Container Linux Configs have been dropped and
that Butane is the way forward to use modern Ignition v2
* Include some links to Flatcar Linux docs
* Update Makefile and docs for v0.10.0 release process
2023-04-02 10:25:20 -07:00
Dalton Hubble
c9e5356047 Change tests to use shared GitHub Workflow from poseidon/.github
* Centrally managed Go test workflow across Poseidon repos
2023-04-01 18:04:01 -07:00
Dalton Hubble
18a84ff091 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)
2021-03-19 16:30:19 -07:00
Dalton Hubble
fad3fe18cb Use multi-stage Dockerfile for image build
* Go build the Matchbox binary in the container image
in a docker.io/golang builder stage rather building
the binary separately
2020-10-23 01:03:33 -07:00
Dalton Hubble
d007c64a5f Change Matchbox container image publishing
* Use our own infra to perform image builds and push images.
Provides future options for publishing images to multiple
image registries and for multiple architectures, while keeping
push permissions in-house
* Remove Travis ability to push to Quay
* Use Travis only for Go tests of Pull Requests
2020-05-31 14:59:51 -07:00
marcelo-martins
be10339429 Add ppc64le build to Makefile (#787) 2020-02-22 15:25:21 -08:00
Dalton Hubble
81341e4923 Update base container image from alpine:3.10 to alpine:3.11
* Add `make image` and `make push` targets to use rootless
buildah for regular development. Retain docker build for
Travis CI
2020-02-08 15:54:19 -08:00
Dalton Hubble
26b5055f2f 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
2019-11-24 14:58:03 -08:00
Dalton Hubble
991c841046 Remove Makefile verbose diff output 2019-11-24 14:06:29 -08:00
Dalton Hubble
873f053d10 Add verbose version output in Makefile
* Inspect why Travis builds may still show a diff
2019-11-24 13:19:44 -08:00
Dalton Hubble
82e97ed654 Disable Go modules while installing golint tool on Travis
* Travis creates a Go v1.13.4 environment, checks out the source
repo, and _then_ executes the `install` block to install `golint`
* With module-aware Go, this means installing `golint` caused a
diff, before the Matchbox `make` target was invoked. Builds were
correctly identified as "dirty" as a result
* Release tags v0.8.1 and v0.8.2 have been removed to avoid any
confusion. Container images with binaries considered dirty have
been removed as well
2019-11-24 12:59:39 -08:00
Dalton Hubble
515afcbb1d Inspect Makefile VERSION detection finding dirty 2019-11-23 16:02:59 -08: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
67707d83a5 Switch to Go modules and use Go v1.11
* Use Go 1.11 modules with `GO111MODULE=on`
* Change `make vendor` target to call `go mod vendor`
* Enforce builds and tests use the vendor directory by setting
the `-mod=vendor` flag (notice, travis does not fetch)
* Remove glide requirement and glide files
2019-03-10 22:24:19 -07:00
Dalton Hubble
a5d3a8a4a7 Remove the rkt / acbuild based tutorial
* Local QEMU/KVM tutorials use either docker or rkt/acbuild,
but they're dated. rkt and acbuild are no longer in mainstream
use since they successfully drove OCI standardization
* Remove the rkt examples, as they are just more difficult for
newcomers to use and seldom maintained at this point
* Retain Docker examples, although podman will likely supplant
all docker usage in future
2019-03-10 21:57:47 -07:00
Dalton Hubble
d34fbb6da6 Replace git-version script with the standard Makefile one-liner 2019-03-10 21:34:27 -07:00
Dalton Hubble
7fbce93101 Replace test script with Makefile test targets 2019-03-10 21:27:10 -07:00
Dalton Hubble
d437167ebf scripts: Move development-only scripts under scripts/dev 2017-05-24 10:15:24 -07:00
Dalton Hubble
ed57a2a04a Makefile: Remove bootcmd from the release tarball
* Stop shipping or mentioning bootcmd CLI tool
  * bootcmd has not been built out into a user-facing tool
  * terraform-provider-matchbox addresses some of the need
* Keep bootcmd implementation as an example matchbox gRPC client
2017-04-17 22:16:17 -07:00
Dennis Schridde
e739b98305 Lock architecture to ARMv6 for linux-arm images
Unless `GOARM` is specified, the Go compiler will choose the compiling system's architecture as a target (similar to GCC's `-march=native`). This commit prevents that by explicitly selecting ARMv6 (e.g. Raspberry Pi 1) as the target.

According to the documentation, ARM64 does not need this, as ARMv8 is implicit and the value of `GOARM` is not considered for this architecture.

See-Also: https://github.com/golang/go/wiki/GoArm
2017-01-19 13:49:23 +01:00
Dalton Hubble
219da4d934 *: Switch to a Makefile driven develop/release process
* Add make targets for vendor, docker-image, and tools
* Move scripts into the scripts folder
2017-01-18 02:11:27 -08: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
3073e1ed22 Rename bootcfg to matchbox in development scripts
* Build and cross-compile binary named matchbox
* Use matchbox binary in container images
2017-01-09 02:15:30 -08:00
Dalton Hubble
5325f104d3 Makefile: Add ARM to release architectures 2016-08-12 11:38:41 -07:00
Dalton Hubble
05da923fc3 Makefile, scripts: Add make codegen target
* Get/build protoc and protoc-gen-go binaries under tools
so they do not interfere with any user installations
* Ensure protoc and protoc-gen-go versions are pinned
2016-08-05 12:07:19 -07:00
Dalton Hubble
02a759a300 Makefile,scripts: Make platform-specific binary tarball targets 2016-07-12 11:26:19 -07:00
Dalton Hubble
482cecf155 Makefile: Add order-only prerequisite 2016-07-07 12:29:27 -07:00
Dalton Hubble
88eed6bc59 Makefile: Add release tarball target 2016-06-28 12:01:54 -07:00
Dalton Hubble
a6113b5042 *: Use platform agnostic Makefile, stop creating empty env file
* systemd users can use /etc/bootcfg.env if they choose to
use environment files
2016-05-27 14:34:22 -07:00
Spencer Brown
1e0c21b1cf Improve documentation of bootcfg arguments and files
also fix typo in Makefile
2016-05-26 10:33:33 -05:00
Dalton Hubble
5cd35d8606 contrib/systemd: Run bootcfg with bootcfg user/group
* Setup data dir with the bootcfg group
2016-05-17 12:30:26 -07:00
Dalton Hubble
e31bcb4470 docs: Add rkt and Docker bootcfg deployment notes 2016-04-26 16:18:58 -07:00
Dalton Hubble
b02f91b550 Makefile: Update Makefile targets for systemd usage 2016-04-07 17:29:40 -07:00
Dalton Hubble
e5641d9535 contrib/systemd: Add systemd build and deploy example
* docs: Compile bootcfg from source, start a systemd unit
* Install bootcfg static binary to /usr/local/bin
* Add default configs /etc/bootcfg.conf and /etc/bootcfg
2016-03-15 17:06:37 -07:00
Dalton Hubble
247db7dbc4 scripts: Remove unused scripts, Dockerfiles, Makefile
* Remove unused scripts and avoid maintaining multiple
ways of doing the exact same thing
2016-01-05 23:36:19 -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
cb52319285 api: Add iPXE initial support 2015-12-16 02:21:59 -08:00
Dalton Hubble
5087c96f43 metal: Update image and example for real hardware 2015-12-16 02:21:22 -08:00
Dalton Hubble
8e4dcf4172 pixiecore: Add pixiecore network example 2015-12-16 02:20:40 -08:00
Dalton Hubble
46da9091a7 metal: Add boot metadata server skeleton 2015-12-16 02:20:27 -08:00