Commit Graph

359 Commits

Author SHA1 Message Date
Malte Poll
0c206e62d0
deps: rename bazel-zig-cc to hermetic_cc_toolchain (#1695) 2023-04-27 10:27:43 +02:00
Malte Poll
ec1d5e9fb5
misc: replace sha256sum with shasum -a 256 (#1681) 2023-04-26 13:40:18 +02:00
Malte Poll
84dd25600f
image: upgrade mkosi to support repart (#1684) 2023-04-25 18:22:40 +02:00
Malte Poll
dc5e6f30a9
ci: login to container registry before pushing containers (#1676) 2023-04-21 11:05:08 +02:00
Malte Poll
5145f806ea bazel: remove apko and Dockerfile where Bazel is used to build container images 2023-04-18 15:35:15 +02:00
Malte Poll
19ff132ee8 ci: upload container images when running e2e tests 2023-04-18 15:35:15 +02:00
Paul Meyer
4020e7840a ci: always use tee -a instead of redirecting
into GITHUB_OUTPUT

Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-17 12:08:42 +02:00
Paul Meyer
0b3190ea8b
ci: fix naming issues (#1662)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-15 19:24:48 +02:00
Paul Meyer
860d72a083
ci: reduce number of steps with continue-on-error (#1593)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-14 18:50:58 +02:00
Paul Meyer
1cc0ab2614
ci: improve e2e failure reporting and checklist (#1656)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-14 13:14:25 +02:00
Paul Meyer
76979136de ci: refactor artifact and resource naming
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-14 13:12:39 +02:00
Paul Meyer
dea41bd1ed
ci: refactor e2e test failure notifications (#1625)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-12 16:06:26 +02:00
renovate[bot]
60bacaa587
deps: update golang:1.20.3 Docker digest to 89924bd (#1636)
Co-authored-by: katexochen <katexochen@users.noreply.github.com>
2023-04-12 14:35:57 +02:00
Moritz Sanft
6ba294e175
ci: separate e2e permissions (#1555)
* split e2e test iam create / create perms

* remove global Azure credentials

* remove unnecessary azure actions

* use UUID

* fix e2e upgrade test

* rename create inputs

* remove continue-on-error for resource deletion

* de-exclude verify test

* fix exclude

* fix release e2e test

---------

Co-authored-by: Nils Hanke <nils.hanke@outlook.com>
2023-04-12 13:24:13 +02:00
Malte Poll
52a1bb0a19
ci: prevent accidental GOOS and GOARCH confusion in host go toolchain (#1632) 2023-04-12 11:05:05 +02:00
Moritz Eckert
0b66119a41 docs: group perf graphics by csp 2023-04-11 14:28:21 +02:00
Moritz Eckert
db32251daa docs: update benchmarks with v2.6.0
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2023-04-11 14:28:21 +02:00
Moritz Eckert
a1f5e0e53d ci: Add tooling to create benchmark figures 2023-04-11 14:28:21 +02:00
Malte Poll
2b962598bf
deps: update go to 1.20.3 (#1622) 2023-04-06 16:36:07 +02:00
renovate[bot]
8f17e4b9df
deps: update actions/setup-go action to v4 (#1605)
Co-authored-by: katexochen <katexochen@users.noreply.github.com>
2023-04-04 11:06:30 +02:00
Paul Meyer
00efc30e24
ci: fix empty image input of verify e2e on release (#1604)
* ci: fix empty image input of verify e2e on release
* ci: increase parallelism of e2e release workflow

Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-04 10:47:26 +02:00
renovate[bot]
5dad9bfad7
deps: update GitHub action dependencies (#1591)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-04-03 16:36:43 +02:00
Malte Poll
5e07efbb07 ci: fix cli path for cli signatures 2023-04-03 11:35:39 +02:00
Otto Bittner
4df33b93fe ci: add e2e-test-release workflow
This workflow is used to run e2e tests in
preparation to a release.
It is triggered by the successful completion of
the release workflow.
Also trigger e2e-mini through the release
workflow completion.
This makes restarting the tests easier if
they fail during release preparation.

Co-authored-by: stdoutput <moritz.sanft@outlook.de>
2023-04-03 11:35:39 +02:00
renovate[bot]
96cdf108e4
deps: update golang:1.20.2 Docker digest to 2101aa9 (#1551)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-29 14:56:55 +02:00
Moritz Eckert
feb23ea3da
ci: add unittests for the benchmark actions (#1466)
Co-authored-by: Nils Hanke <nils.hanke@outlook.com>
2023-03-23 17:04:55 +01:00
Paul Meyer
4628222780 ci: always use tee -a when writing output
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-23 10:54:59 -04:00
Paul Meyer
24f974de66 ci: run e2e test manual on last release
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-23 10:54:59 -04:00
Paul Meyer
b33098346f ci: add missing version expansion to verify test
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-23 10:54:59 -04:00
Otto Bittner
cac43a1dd0 ci: add e2e-upgrade test
The test is implemented as a go test.
It can be executed as a bazel target.
The general workflow is to setup a cluster,
point the test to the workspace in which to
find the kubeconfig and the constellation config
and specify a target image, k8s and
service version. The test will succeed
if it detects all target versions in the cluster
within the configured timeout.
The CI automates the above steps.
A separate workflow is introduced as there
are multiple input fields to the test.
Adding all of these to the manual e2e test
seemed confusing.

Co-authored-by: Fabian Kammel <fk@edgeless.systems>
2023-03-23 14:57:38 +01:00
Leonard Cohnen
18661ced48 miniconstellation e2e test as bazel target 2023-03-23 14:55:29 +01:00
renovate[bot]
0a190c2bf6
deps: update GitHub action dependencies (#1499)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-22 17:57:47 +01:00
renovate[bot]
9a9688583d
deps: update aws-actions/configure-aws-credentials action to v2 (#1445)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-21 10:56:30 +01:00
Malte Poll
6f16e0b6fd
ci: use github actions cache to speedup bazel builds (#1444)
* ci: use github actions cache to speedup bazel builds
* ci: warm bazel repo cache daily
2023-03-21 10:06:32 +01:00
Nils Hanke
cdcc549d68 e2e: extract sonobuoy results to access junit results 2023-03-20 16:16:08 +01:00
Nils Hanke
af91ce2a3c e2e: only use junit for full tests 2023-03-20 16:16:08 +01:00
Malte Poll
c3c0940adb
bazel: use remote caching (#1456)
* bazel: add configuration for remote caching
* ci: enable bazel remote caching for building binaries
* ci: use bazel directly when building go binaries
* ci: enable cache for most build steps
* dev-docs: document remote caching
2023-03-20 16:05:08 +01:00
Nils Hanke
914eacb4a3
e2e: use macOS for building Linux artifacts and remove caching steps (#1446) 2023-03-20 11:04:44 +01:00
renovate[bot]
f8f3f00595
deps: update Terraform azurerm to v3.47.0 (#1422)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-16 13:45:08 +01:00
Nils Hanke
70ca69f6bc e2e: print K8s Pods and Events when kubectl wait fails 2023-03-15 18:36:32 +01:00
Nils Hanke
de86bb025f e2e: Temporarily bump kubectl wait timeout from 10 mins to 20 mins 2023-03-15 18:36:32 +01:00
3u13r
fe767ba78e
introduce version.txt (#1412) 2023-03-14 14:53:33 +01:00
Moritz Sanft
01705feb51
ci: upload cli version list (#1377)
* upload cli version list

* fix flag

* name

* allow cli kind for listing

* [remove] update vapi cli

* allow cli kind

* use latest versionsapi image version

* fix kind parsing

* use workflow calls in on_release action

* [remove] update container tag

* change back to latest tag
2023-03-10 10:21:58 +01:00
Malte Poll
bdba9d8ba6
bazel: add build files for go (#1186)
* build: correct toolchain order
* build: gazelle-update-repos
* build: use pregenerated proto for dependencies
* update bazeldnf
* deps: tpm simulator
* Update Google trillian module
* cli: add stamping as alternative build info source
* bazel: add go_test wrappers, mark special tests and select testing deps
* deps: add libvirt deps
* deps: go-libvirt patches
* deps: cloudflare circl patches
* bazel: add go_test wrappers, mark special tests and select testing deps
* bazel: keep gazelle overrides
* bazel: cleanup bazelrc
* bazel: switch CMakeLists.txt to use bazel
* bazel: fix injection of version information via stamping
* bazel: commit all build files
* dev-docs: document bazel usage
* deps: upgrade zig-cc for go 1.20
* bazel: update Perl for macOS arm64 & Linux arm64 support
* bazel: use static perl toolchain for OpenSSL
* bazel: use static protobuf (protoc) toolchain
* deps: add git and go to nix deps

Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-09 15:23:42 +01:00
Daniel Weiße
e07be3d6f8
fix: add measurement-reader to build pipeline (#1386)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2023-03-09 15:01:09 +01:00
renovate[bot]
262e5674a2
deps: update golang Docker tag to v1.20.2 (#1370)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-08 10:41:52 +01:00
renovate[bot]
fede4ec6d2
deps: update GitHub action dependencies (#1365)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-08 10:06:42 +01:00
Paul Meyer
74fc6239b2
deps: update to Go 1.20.2 (#1366)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-08 10:05:36 +01:00
renovate[bot]
38d80f9608
deps: update golang:1.20.1 Docker digest to b03e750 (#1362)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-07 18:18:15 +01:00
Paul Meyer
cc6006c6ea ci: fix labeling when building on other branches
than github.head_ref, e.g., during release

Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-07 11:32:41 -05:00
Paul Meyer
e4b5655646 ci: group output
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-07 11:32:41 -05:00
Paul Meyer
53bc875e59 ci: use latest ver of versionsapi cli container
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-07 04:39:17 -05:00
Malte Poll
3d0ad0b8e1
ci: move aws iam create test to less utilized zone (#1350) 2023-03-07 09:32:26 +01:00
Moritz Eckert
5397ce4509
ci: fix typo in benchmark actions (#1344) 2023-03-06 08:49:15 +01:00
Moritz Eckert
62c437246b
ci: store additional data in bench results (#1341) 2023-03-06 08:12:08 +01:00
Moritz Eckert
ac127db79e
ci: set timestamp format correctly for opensearch (#1335) 2023-03-03 13:47:25 +01:00
Paul Meyer
2e73e0aa18
deps: update sonobuoy (#1330)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-03 12:02:49 +01:00
Moritz Eckert
29664fc481 ci: upload benchmark results to opensearch
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-03 09:43:49 +01:00
Moritz Eckert
bfca2638d0 ci: remove k-bench action 2023-03-03 09:43:49 +01:00
Moritz Eckert
6fbca2818f ci: replace k-bench in e2e-test-manual 2023-03-03 09:43:49 +01:00
Moritz Eckert
0481c039f7 ci: add kubestr and knb based e2e_benchmark action
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-03-03 09:43:49 +01:00
Otto Bittner
a5d4970753
ci: run constellation commands with --debug (#1321) 2023-03-02 09:40:21 +01:00
Paul Meyer
8c171a1b66
ci: pin ko version (#1309)
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-28 18:53:28 +01:00
Moritz Sanft
732d15d013
ci: use iam destroy command for resource destruction (#1272)
* replace tf destruction with new command

* move iam destroy cmd

* fix typos

* exit post test on error

* [remove] test failure on iam destroy

* Revert "[remove] test failure on iam destroy"

This reverts commit 99449c0cc0.

* [remove] test failure on terminate

* Revert "[remove] test failure on terminate"

This reverts commit 99c45bbc54.

* gofumpt
2023-02-28 09:52:32 +01:00
Malte Poll
b79f7d0c8c
cli: add basic support for constellation create on OpenStack (#1283)
* image: support OpenStack image build / upload

* cli: add OpenStack terraform template

* config: add OpenStack as CSP

* versionsapi: add OpenStack as CSP

* cli: add OpenStack as provider for `config generate` and `create`

* disk-mapper: add basic support for boot on OpenStack

* debugd: add placeholder for OpenStack

* image: fix config file sourcing for image upload
2023-02-27 18:19:52 +01:00
Otto Bittner
6c07a2892e ci: adapt pipeline to use --kubernetes flag 2023-02-27 16:33:47 +01:00
Paul Meyer
1d2cdca979 ci: fix quoting of versionsapi flags
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-24 10:52:14 -05:00
Paul Meyer
d2cdc85cf7 ci: fix build-ko action bash
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-24 06:01:08 -05:00
Paul Meyer
f1b331bbbd ci: fix comparision of ref name
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-24 04:42:37 -05:00
Nils Hanke
9b1c9f971f ci: specify URL predicate because shortnames are unreliable 2023-02-22 15:45:39 +01:00
Nils Hanke
f13f80b8af
ci: update Syft to 0.72.0 and Grype to 0.57.1 (#1120)
* ci: update Syft to 0.72.0 and Grype to 0.57.1
* ci: install Cosign before Syft
* ci: directly read private key from environment for Cosign
* ci: add --add-cpes-if-none to Grype
* ci: use cosign attest directly instead of syft attest
2023-02-22 14:17:02 +01:00
Otto Bittner
c4fd70684f
Revert "deps: update Terraform azurerm to v3.44.1 (#1197)" (#1255)
This reverts commit 253f833f6c.
2023-02-22 11:16:05 +01:00
renovate[bot]
30f53f78d0
deps: update GitHub action dependencies (#1239)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-21 13:49:47 +01:00
renovate[bot]
8134b8b4f0
deps: update golang:1.20.1 Docker digest to 745aa72 (#1238)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-21 13:48:38 +01:00
Moritz Sanft
0ba810240f
ci: integrate automatic iam creation in e2e test (#1158)
* integrate automatic iam creation in e2e test

* fix typo

* break long line comments

* fix semvers

* correct bracing
2023-02-21 12:47:14 +01:00
renovate[bot]
253f833f6c
deps: update Terraform azurerm to v3.44.1 (#1197)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-21 10:41:04 +01:00
Paul Meyer
0e7f1c9300 ci: add missing replaced mod files to docker build
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-21 03:13:08 -05:00
Paul Meyer
e011a20c49 deps: update to Go 1.20
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-20 12:08:24 -05:00
renovate[bot]
7500112d37
deps: update GitHub action dependencies (#1201)
Co-authored-by: katexochen <katexochen@users.noreply.github.com>
2023-02-15 14:47:42 +01:00
Otto Bittner
03de71fdd2 ci: do not overwrite warnOnly measurements flag
The image-api's measurement.json includes a setting for warnOnly
that should be followed by default. Enforcing all measurments is
currently not possible as some of them are unstable.
2023-02-15 10:35:30 +01:00
Otto Bittner
f97d351ad2 ci: add force flag to remaining constellation cmds
In the CI most configs use prerelease images. Config validation
prevents this. Therefore we need to use the force flag for now.
2023-02-15 10:35:30 +01:00
renovate[bot]
449d0e5b7a
deps: update golang Docker tag to v1.20.1 (#1190)
Co-authored-by: katexochen <katexochen@users.noreply.github.com>
2023-02-15 10:14:38 +01:00
Otto Bittner
74c569cba0 ci: fix yq command for new k8s version format
The string "1.25" does not need quotes to work in the replace.
"1.25.6" or "v1.25.6", however, do.
2023-02-13 10:19:59 +01:00
Paul Meyer
278031b066 ci: fix workdir of apko base image build
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-10 11:24:17 -05:00
Daniel Weiße
c29107f5be
init: create kubeconfig file with unique user/cluster name (#1133)
* Generate kubeconfig with unique name

* Move create name flag to config

* Add name validation to config

* Move name flag in e2e tests to config generation

* Remove name flag from create

* Update ascii cinema flow

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2023-02-10 13:27:22 +01:00
Fabian Kammel
4c5ab7c5e9
ci: refactor image measurement generation (#1152)
* Merge measurements.image.json and measurements.json into latter.
* Use static (known) measurement values for the ones we cannot precompute.
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
2023-02-09 13:33:17 +01:00
Otto Bittner
c275464634 cli: change upgrade-plan to upgrade-check
Upgrade check is used to find updates for the current cluster.
Optionally the found upgrades can be persisted to the config
for consumption by the upgrade-execute cmd.
The old `upgrade execute` in this commit does not work with
the new `upgrade plan`.
The current versions are read from the cluster.
Supported versions are read from the cli and the versionsapi.
Adds a new config field MicroserviceVersion that will be used
by `upgrade execute` to update the service versions.
The field is optional until 2.7
A deprecation warning for the upgrade key is printed during
config validation.
Kubernetes versions now specify the patch version to make it
explicit for users if an upgrade changes the k8s version.
2023-02-08 12:30:01 +01:00
Otto Bittner
f204c24174 cli: add version validation and force flag
Version validation checks that the configured versions
are not more than one minor version below the CLI's version.
The validation can be disabled using --force.
This is necessary for now during development as the CLI
does not have a prerelease version, as our images do.
2023-02-08 12:30:01 +01:00
renovate[bot]
a3f8bb30ac
deps: update golang Docker tag to v1.20.0 (#1145)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-02-03 18:08:03 +01:00
renovate[bot]
bec82c2328
deps: update GitHub action dependencies (#1112)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-31 17:38:44 +01:00
Paul Meyer
4f1a4ecb9e ci: don't use k-bench install script
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-31 15:06:29 +01:00
Otto Bittner
88e3da750e ci: adjust tags in build_ko
Currently tags can be empty when building a ko image.
However, --bare may not work in case --tags is empty,
as per ko docs.

Also remove redundant build step in release pipeline.

Co-authored-by: Malte Poll <mp@edgeless.systems>
2023-01-31 10:16:20 +01:00
leongross
2187aa6cb0
ci: reproducible builds integration (#1108)
* remove `-ko` suffix from workflows
* integrate into `release.yaml`
* adjust helm charts to use hard coded `ko` binary path
2023-01-30 16:58:49 +01:00
Fabian Kammel
48c8a66114
Minimal GitHub Action token permissions. (#1104)
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
2023-01-30 16:11:27 +01:00
Paul Meyer
d095f08cd4 apko: build base image with pinned packages
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-30 16:05:00 +01:00
Paul Meyer
32a540bff4 ci: tag apko base images
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-30 16:05:00 +01:00
leongross
bd3ec19aef
update kbench requirements.txt (#1103) 2023-01-30 11:57:48 +01:00
Paul Meyer
617c6f0a8d deps: update sonobuoy version
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-30 10:17:18 +01:00
renovate[bot]
a85ba96ac4
deps: update Terraform azurerm to v3.41.0 (#1097)
Co-authored-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
2023-01-27 16:33:32 +01:00
Moritz Sanft
cb894e5df5
ci: fix Constellation recover e2e test (#1081)
* AB#2859 wait for cp to recover

* AB#2859 remove unnecessary inputs & echo
2023-01-27 15:53:53 +01:00