Compare commits

...

769 Commits

Author SHA1 Message Date
Daniel Weiße
e46726cf13
mini-constellation: pin swtpm to v0.8.2 (#3756)
* mini-constellation: pin swtpm to v0.8.2
* containers: update libvirtd_base image

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-04-11 14:09:37 +02:00
edgelessci
97a313ae0d
image: update measurements and image version (#3755)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-11 09:12:48 +02:00
renovate[bot]
9efaf7efe1
deps: update module helm.sh/helm/v3 to v3.17.3 [SECURITY] (#3754)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 08:40:04 +02:00
Moritz Sanft
620b4c7da4
terraform: rename deprecated field for STACKIT (#3753) 2025-04-10 14:53:00 +02:00
renovate[bot]
4db767d89a
deps: update Constellation containers (#3752)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 12:05:03 +02:00
renovate[bot]
db63cd1659
deps: update Terraform dependencies (#3749)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 11:45:21 +02:00
renovate[bot]
55ffe967e4
deps: update GitHub action dependencies (major) (#3746)
* deps: update GitHub action dependencies
* allow unrestricted namespaces when building on ubuntu 24.04

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-04-10 09:26:36 +02:00
renovate[bot]
8e6c934741
deps: update ubuntu:24.04 Docker digest to 1e622c5 (#3751)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 15:01:10 +02:00
edgelessci
667da042bc
image: update measurements and image version (#3748)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-09 11:33:03 +02:00
Daniel Weiße
4e5c213b4d
deps: update Go to v1.24.2 (#3750)
* deps: update Go to v1.24.2
* tests: replace context.Background() with t.Context()

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-04-09 10:54:28 +02:00
renovate[bot]
a7f9561a3d
deps: update bufbuild/buf to v1.52.1 (#3747)
* deps: update bufbuild/buf to v1.52.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-09 10:45:43 +02:00
renovate[bot]
bfab84ce1c
deps: update Go dependencies (#3743)
* deps: update Go dependencies

* deps: keep go-tpm-tools at v0.4.4

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-04-08 11:43:16 +02:00
renovate[bot]
2fdb533798
deps: update GitHub action dependencies (#3745)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-08 08:43:54 +02:00
renovate[bot]
518070ee78
deps: update bufbuild/buf to v1.52.0 (#3744)
* deps: update bufbuild/buf to v1.52.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-08 08:41:19 +02:00
Moritz Sanft
934c6339ee
nix: update mkosi to v25.3 (#3726)
* nix: update mkosi to v25.3

* bazel: 7.4.1 -> 7.6.0
2025-04-07 10:26:54 +02:00
edgelessci
ad250ac78f
image: update locked rpms (#3742)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-06 10:29:53 +02:00
Moritz Sanft
819ec9a22c
ci: rename nixpkgs input (#3741)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2025-04-04 11:19:37 +02:00
Moritz Sanft
e5d22ebcaf
nix: boostrap "v2" tree (#3740)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2025-04-04 10:22:28 +02:00
renovate[bot]
0926b82a65
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20250331 (#3738)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 08:37:49 +02:00
renovate[bot]
d742243cdc
deps: update Constellation containers (#3737)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 08:27:22 +02:00
edgelessci
ae50f8b500
image: update measurements and image version (#3739)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-04 08:15:19 +02:00
renovate[bot]
ba0865706e
deps: update bazel (plugins) (#3675)
* deps: update bazel (plugins)

Co-Authored-By: Markus Rudy <mr@edgeless.systems>

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-03 09:47:12 +02:00
renovate[bot]
1079fba200
deps: update dependency DeterminateSystems/nix-installer to v3.2.1 (#3736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-03 07:37:51 +02:00
Moritz Sanft
fa21c55f5d
dev-docs: Add guide on publishing marketplace images (#3734)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2025-04-02 16:21:19 +02:00
renovate[bot]
88ca92509c
deps: update Go dependencies (#3735)
* deps: update Go dependencies

* deps: rollback go-tpm-tools

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-02 16:20:47 +02:00
renovate[bot]
b52639d2b8
deps: update bufbuild/buf to v1.51.0 (#3729)
* deps: update bufbuild/buf to v1.51.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-02 13:31:22 +02:00
renovate[bot]
ebc962ad68
deps: update Terraform dependencies (#3732)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 13:19:18 +02:00
renovate[bot]
5ab11ab996
deps: update dependency DeterminateSystems/nix-installer to v3.2.0 (#3730)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 08:59:01 +02:00
edgelessci
c4d8fe3741
image: update measurements and image version (#3731)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-02 08:29:51 +02:00
edgelessci
700eb60614
Post v2.22.0 release updates to main (#3717)
* docs: release 2.22

* chore: update version.txt to v2.23.0-pre

* chore: update CI for v2.22.0

---------

Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-01 10:52:26 +02:00
renovate[bot]
810c8448d9
deps: update fedora:40 Docker digest to 3c86d25 (#3722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 10:40:11 +02:00
renovate[bot]
3e6777c3e5
deps: update dependency rules_python to v1.3.0 (#3723)
* deps: update dependency rules_python to v1.3.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-04-01 10:38:51 +02:00
edgelessci
7b550bbf09
image: update locked rpms (#3727)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-30 19:29:55 +02:00
renovate[bot]
accfd4e041
deps: update ghcr.io/edgelesssys/constellation/s3proxy Docker tag to v2.22.0 (#3719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 21:34:47 +01:00
renovate[bot]
67efbd43a5
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20250324 (#3720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 21:34:32 +01:00
renovate[bot]
4dab6759bb
deps: update Terraform dependencies (#3716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 21:34:15 +01:00
Markus Rudy
5a1b7b7944
ci: exclude go vulns that don't affect library usage (#3721) 2025-03-27 10:23:30 +01:00
Leonard Cohnen
be146cdb22
ci: bump slsa verifier (#3718) 2025-03-26 21:53:32 +01:00
edgelessci
f5cd6a9d0b
image: update measurements and image version (#3713)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-26 19:31:53 +01:00
renovate[bot]
18e67e7deb
deps: update golangci/golangci-lint to v2.0.2 (#3715)
* deps: update golangci/golangci-lint to v2.0.2

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-26 19:31:00 +01:00
Leonard Cohnen
66815a4a47
gcp: support projects with no default permissions (#3656)
* helm/gcp: use service account in operator and joinservice

* helm: format operator testdata

* terraform/iam: create additional service account for VMs

This service account is used in the following commits and is attached to the VMs

* config: pass VM service account from iam create to cluster create via config

* cli/iamcreate: limit name prefix length

* docs: add minimal gcp IAM permissions
2025-03-25 14:13:38 +01:00
renovate[bot]
83e08e3e37
deps: update golangci/golangci-lint to v2.0.1 (#3712)
* deps: update golangci/golangci-lint to v2.0.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-25 12:34:08 +01:00
miampf
3cc930fa97
feat: implement RFC 16 to allow emergency node access (#3557) 2025-03-25 11:28:48 +00:00
renovate[bot]
c7369fa2a7
deps: update GitHub action dependencies (#3711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-25 11:59:07 +01:00
renovate[bot]
ec46c97d4c
deps: update golangci/golangci-lint to v2 (major) (#3709)
* deps: update golangci/golangci-lint to v2

* deps: tidy all modules

* ci: migrate golangci-lint config to v2

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2025-03-25 11:30:13 +01:00
renovate[bot]
4a9d265579
deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.12.0 (#3706)
* deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.12.0

* deps: tidy all modules

* deps: make renovate ignore generated AWS LB chart

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2025-03-24 17:46:41 +01:00
renovate[bot]
906e93b95c
deps: update dependency rules_pkg to v1.1.0 (#3705)
* deps: update dependency rules_pkg to v1.1.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2025-03-24 15:41:05 +01:00
renovate[bot]
41396b21e5
deps: update dependency numpy to v2.2.4 (#3708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-24 14:30:14 +01:00
Markus Rudy
ddff16badb
deps: bump github.com/containerd/containerd to v1.7.27 (#3707) 2025-03-24 14:23:21 +01:00
renovate[bot]
53c3d12feb
deps: update golangci/golangci-lint to v1.64.8 (#3704)
* deps: update golangci/golangci-lint to v1.64.8

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-24 09:53:07 +01:00
edgelessci
e001a8ec8f
image: update locked rpms (#3703)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:08:35 +01:00
edgelessci
be9f78cdc7
image: update measurements and image version (#3701)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:08:08 +01:00
renovate[bot]
3ccc7910aa
deps: update dependency kubernetes-sigs/cri-tools to v1.32.0 (#3682)
* deps: update dependency kubernetes-sigs/cri-tools to v1.32.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:07:54 +01:00
renovate[bot]
f4840de69e
deps: update module github.com/golang-jwt/jwt/v5 to v5.2.2 [SECURITY] (#3702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 18:07:43 +01:00
renovate[bot]
b42f9dfb4f
deps: update K8s constrained GCP versions (#3673)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-23 18:07:33 +01:00
edgelessci
b0a22270f8
image: update locked rpms (#3698)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:06:48 +01:00
renovate[bot]
a67818f447
deps: update Kubernetes versions (#3696)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:06:34 +01:00
edgelessci
0de14a2e60
image: update measurements and image version (#3700)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-23 18:06:19 +01:00
Daniel Weiße
f64dc96e7a
ci: add k8s v1.31 and remove v1.28 from stackit e2e test (#3699)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-03-17 10:34:34 +01:00
renovate[bot]
7f52752cbd
deps: update bufbuild/buf to v1.50.1 (#3697)
* deps: update bufbuild/buf to v1.50.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-14 10:49:34 +01:00
renovate[bot]
dbb7c5b0fd
deps: update Python dependencies (#3692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-14 10:02:56 +01:00
edgelessci
cf2e83c723
image: update measurements and image version (#3695)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-14 08:00:42 +01:00
Felix Schuster
df06022e9e
Make PCRs part of payload in Security Overview (#3480)
* Make RTMRs part of "aux data"

* Introduce Sig-TPM
2025-03-12 15:18:13 +01:00
edgelessci
eb9dc01425
image: update measurements and image version (#3693)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-12 08:46:29 +01:00
3u13r
368b52a4dd
terraform: remove legacy infrastructure modules (#3691) 2025-03-10 13:21:19 +01:00
renovate[bot]
b08bfd327d
deps: update K8s constrained Azure versions (#3688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 13:15:30 +01:00
edgelessci
fa8b0bab79
image: update locked rpms (#3690)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-10 08:07:56 +01:00
edgelessci
e5d1aab7d8
chore: update CI for v2.21.1 (#3686)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-07 09:34:08 +01:00
edgelessci
39bca12491
image: update measurements and image version (#3687)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-07 08:25:46 +01:00
renovate[bot]
4b9b101378
deps: update module github.com/docker/docker to v28 (#3685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 08:25:27 +01:00
Moritz Sanft
a491cac57a
terraform: update AWS LB permissions (#3681)
* bazel: add download rules for AWS LB policy

* docs: add migration notice

* terraform: re-download lb policy
2025-03-06 16:44:49 +01:00
renovate[bot]
a1e24742a9
deps: update dependency DeterminateSystems/nix-installer to v3 (#3684)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 16:16:40 +01:00
renovate[bot]
b4b6df2676
deps: update registry.k8s.io/provider-os/openstack-cloud-controller-manager Docker tag to v1.32.0 (#3683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 15:36:18 +01:00
renovate[bot]
f56693c139
deps: update bazel (modules) (#3680)
* deps: update bazel (modules)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-06 13:32:55 +01:00
renovate[bot]
f66c03e0c8
deps: update dependency DeterminateSystems/nix-installer to v0.38.1 (#3640)
* deps: update dependency DeterminateSystems/nix-installer to v0.38.1

* ci: pin nix version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2025-03-06 12:32:56 +01:00
miampf
ddbcda848b
e2e: measurements reproducibility test for images (#3654) 2025-03-06 10:50:43 +00:00
3u13r
fab1c8e149
cli: re-introduce iam upgrade check (#3657) 2025-03-06 11:33:42 +01:00
renovate[bot]
494eb265c6
deps: update registry.k8s.io/sig-storage/snapshot-controller Docker tag to v8.2.1 (#3679)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 11:17:29 +01:00
renovate[bot]
810a6ecac5
deps: update golangci/golangci-lint to v1.64.6 (#3678)
* deps: update golangci/golangci-lint to v1.64.6

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-05 15:51:14 +01:00
edgelessci
08f740d5db
image: update measurements and image version (#3677)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-05 14:36:50 +01:00
renovate[bot]
84075ca052
deps: update Go dependencies (#3676)
* deps: update Go dependencies
* deps: keep google/go-tpm-tools at v0.4.4
* deps: upgrade rules_go to v0.53.0
* deps: re-generate files
* deps: upgrade go-jose/v3 to v3.0.4

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 14:01:53 +01:00
renovate[bot]
7fdece4d6c
deps: update K8s constrained Azure versions (#3669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 12:46:12 +01:00
edgelessci
6225d910de
Post v2.21.0 release updates to main (#3670)
* docs: release 2.21

* chore: update version.txt to v2.22.0-pre

* chore: update CI for v2.21.0

---------

Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-04 12:45:58 +01:00
Moritz Sanft
44d20385d2
ci: replace tenv linter with usetesting (#3674) 2025-03-04 12:45:36 +01:00
renovate[bot]
c5b9208472
deps: update ghcr.io/edgelesssys/cloud-provider-gcp Docker tag to v30.1.4 (#3671)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 12:45:24 +01:00
edgelessci
ca6cc22beb
image: update locked rpms (#3672)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-03-04 08:47:58 +01:00
renovate[bot]
60663ebe75
deps: update K8s constrained AWS versions (#3659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 08:47:19 +01:00
renovate[bot]
60604fdc5e
deps: update Terraform dependencies (#3665)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-28 09:38:28 +01:00
renovate[bot]
e95c60c3fc
deps: update Kubernetes versions (#3660)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-28 09:38:00 +01:00
edgelessci
10e39c4d7c
image: update measurements and image version (#3667)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-28 08:51:45 +01:00
renovate[bot]
9e1578aca1
deps: update golangci/golangci-lint to v1.64.5 (#3666)
* deps: update golangci/golangci-lint to v1.64.5

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-26 15:38:23 +01:00
renovate[bot]
0ccaa00026
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20250225 (#3639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-26 14:34:41 +01:00
Markus Rudy
473b04abd5
versions: add k8s 1.31, remove k8s 1.28 (#3396)
* constellation-node-operator: upgrade control plane nodes first (#3663)

* versions: add k8s 1.31, remove k8s 1.28

* e2e: set default k8s version for daily to 1.30

* e2e: remove defaults for required arguments

* versions: move 1.31 to the end of the list

* kubernetes: set feature gate ControlPlaneKubeletLocalMode

Co-Authored-By: Leonard Cohnen <lc@edgeless.systems>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2025-02-26 14:07:42 +01:00
edgelessci
fb609b23b0
image: update measurements and image version (#3664)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-26 08:16:57 +01:00
Moritz Sanft
d97e60fea5
dev-docs: fix attestationconfigapi instructions (#3661) 2025-02-24 08:58:57 +01:00
edgelessci
144d5e9d06
image: update locked rpms (#3662)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-23 10:56:58 +01:00
renovate[bot]
a65176ee06
deps: update K8s constrained Azure versions (#3646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 12:36:38 +01:00
edgelessci
159e60d8bb
image: update measurements and image version (#3658)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-21 12:36:20 +01:00
renovate[bot]
148cb1e150
deps: update Terraform dependencies (#3637)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-21 11:33:25 +01:00
3u13r
99a81cd246
versionsapi: canonicalize ref in version constructors (#3652)
* versionsapi: canonicalize ref in version constructors

Co-authored-by: 3u13r <lc@edgeless.systems>
Signed-off-by: Paul Meyer <katexochen0@gmail.com>

* hack/cli-k8s-compat: canonicalize ref

---------

Signed-off-by: Paul Meyer <katexochen0@gmail.com>
Co-authored-by: Paul Meyer <katexochen0@gmail.com>
2025-02-19 11:41:10 +01:00
edgelessci
f8a95de174
image: update measurements and image version (#3655)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-19 08:28:08 +01:00
Markus Rudy
758191ad42
operator: bump controller-gen version (#3653)
* operator: bump controller-gen version

This bump the controller gen version and also adjusts the generate commands (back to the original ones). This allows correct generation of CRDs and go code.

---------

Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2025-02-18 11:06:56 +01:00
Moritz Sanft
28ae7de4ea
ci: supply STACKIT credentials to cleanup job (#3651) 2025-02-17 15:27:51 +01:00
edgelessci
d208251df1
image: update locked rpms (#3650)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-17 08:28:12 +01:00
renovate[bot]
0abd06053c
deps: update module k8s.io/kubernetes to v1.32.2 [SECURITY] (#3648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-14 09:16:50 +01:00
edgelessci
b204b3c59b
image: update measurements and image version (#3649)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-14 08:35:50 +01:00
edgelessci
df2383ab09
chore: update CI for v2.20.1 (#3647)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-13 20:04:58 +01:00
renovate[bot]
28e92b9732
deps: update dependency rules_cc to v0.1.1 (#3643)
* deps: update dependency rules_cc to v0.1.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-13 10:23:24 +01:00
Thomas Tendyck
1551f8884e attestation: update go-azguestattestation to fix MAA PCR11 bug 2025-02-12 10:42:50 +01:00
edgelessci
c39ecc8a82
image: update measurements and image version (#3645)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-12 09:42:02 +01:00
edgelessci
571c81cfd5
image: update measurements and image version (#3641)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-07 13:38:12 +01:00
Daniel Weiße
4d79ce2773
deps: bump Go to v1.23.6 (#3642)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-02-07 10:15:14 +01:00
renovate[bot]
cb77e7bb0d
deps: update dependency asciinema-player to v3.9.0 (#3635)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 12:40:38 +01:00
renovate[bot]
3fa29a5ee8
deps: update Go dependencies (#3631)
* deps: update Go dependencies
* deps: fix dependency for go-control-plane/envoy
* Accept AGPL-3.0 for edgelesssys/go-tdx-qpl

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-02-06 11:07:06 +01:00
renovate[bot]
f81c357f51
deps: update Constellation containers (#3638)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-06 08:03:14 +01:00
edgelessci
6d42d9b40e
image: update measurements and image version (#3636)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-02-05 08:29:26 +01:00
renovate[bot]
f41c7619e1
deps: update ubuntu:24.04 Docker digest to 7229784 (#3634)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 10:02:41 +01:00
renovate[bot]
f1e30863c1
deps: update GitHub action dependencies (#3633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-04 08:27:37 +01:00
Moritz Sanft
245700ee54
helm: grant configmap watch permission to constellation-operator-controller-manager (#3632) 2025-02-03 20:31:37 +01:00
edgelessci
76b642baf9
image: update locked rpms (#3630) 2025-02-02 10:02:35 +01:00
edgelessci
ad364f2089
image: update measurements and image version (#3628)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-31 08:31:34 +01:00
renovate[bot]
681a341b8f
deps: update bazel (plugins) (#3598)
* deps: update bazel (plugins)

* deps: fix renovate's attempt

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2025-01-30 16:36:45 +01:00
renovate[bot]
0e4f3a0716
deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.11.0 (#3611)
* deps: update aws-load-balancer-controller Helm chart

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-30 15:54:07 +01:00
miampf
706d1dff15
cli: add ssh command to securely connect with nodes over ssh (#3568) 2025-01-30 12:08:59 +00:00
renovate[bot]
e6048e093b
deps: update dependency aspect_bazel_lib to v2.13.0 (#3627)
* deps: update dependency aspect_bazel_lib to v2.13.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-30 11:45:03 +01:00
renovate[bot]
1faf2dd1b8
deps: update dependency gazelle to v0.42.0 (#3626)
* deps: update dependency gazelle to v0.42.0

* deps: tidy all modules

* ci: ignore GO-2025-3408

The vulnerability does not have a patch and is a denial-of-service.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2025-01-30 11:00:18 +01:00
renovate[bot]
bb994d5a01
deps: update Go dependencies (#3623)
* deps: update Go dependencies

* deps: tidy all modules

* keep cloud.google.com/go/storage at v1.49.0

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-01-29 16:31:16 +01:00
edgelessci
7242a1eb74
image: update measurements and image version (#3625)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-29 16:31:07 +01:00
miampf
8da08bec8d
e2e: downgrade vale version to 3.9.3 (#3624) 2025-01-28 13:12:50 +00:00
renovate[bot]
8e8c44e35a
deps: update dependency buildifier_prebuilt to v8.0.1 (#3621)
* deps: update dependency buildifier_prebuilt to v8.0.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-24 13:36:58 +01:00
renovate[bot]
148b82e32c
deps: update dependency prism-react-renderer to v2.4.1 (#3619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-24 08:06:24 +01:00
edgelessci
e44adf85d4
image: update measurements and image version (#3620)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-24 08:06:12 +01:00
renovate[bot]
3af498fbfe
deps: update dependency numpy to v2.2.2 (#3618)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 12:26:18 +01:00
renovate[bot]
bda3d802dc
deps: update dependency asciinema-player to v3.8.2 (#3616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 12:21:19 +01:00
renovate[bot]
808631f530
deps: update dependency buildifier_prebuilt to v8 (#3615)
* deps: update dependency buildifier_prebuilt to v8

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-22 11:53:19 +01:00
renovate[bot]
3f702ecda9
deps: update Terraform google to v6.17.0 (#3614)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 08:49:30 +01:00
renovate[bot]
12cfd7006b
deps: update registry.k8s.io/sig-storage/snapshot-controller Docker tag to v8.2.0 (#3612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-22 08:27:02 +01:00
edgelessci
caa80783eb
image: update measurements and image version (#3613)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-22 08:13:32 +01:00
renovate[bot]
501d1779ed
deps: update Go dependencies (#3603)
* deps: update Go dependencies
* hold back cloud.google.com/go/storage dependency
* keep fork replacement at consistent version

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-01-21 16:23:10 +01:00
Daniel Weiße
bea2f33efc
renovate: reformat config file for json5 (#3610)
* renovate: include replace directives in Go deps upgrade
* renovate: replace deprecated regexManagers with customManagers
* renovate: rewrite config in proper json5

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-01-21 13:26:42 +01:00
renovate[bot]
92d7fc5385
deps: update module k8s.io/cri-client to v0.32.1 (#3608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 11:03:48 +01:00
renovate[bot]
e9a6513346
deps: update actions/setup-go action to v5.3.0 (#3605)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 10:28:03 +01:00
renovate[bot]
ebbe61727c
deps: update dependency DeterminateSystems/nix-installer to v0.34.0 (#3607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 10:06:09 +01:00
renovate[bot]
44e898e187
deps: update Terraform dependencies (#3604)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 10:05:01 +01:00
renovate[bot]
f048ebb8e8
deps: update rhysd/actionlint to v1.7.7 (#3602)
* deps: update rhysd/actionlint to v1.7.7

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-21 10:04:32 +01:00
renovate[bot]
f789b8efc7
deps: update bufbuild/buf to v1.50.0 (#3606)
* deps: update bufbuild/buf to v1.50.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-21 10:04:07 +01:00
renovate[bot]
c6db8bd46b
deps: update aquasecurity/tfsec to v1.28.13 (#3600)
* deps: update aquasecurity/tfsec to v1.28.13

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-21 09:05:04 +01:00
renovate[bot]
2216098a9b
deps: update registry.k8s.io/sig-storage/snapshot-validation-webhook Docker tag to v8.1.1 (#3601)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 08:51:04 +01:00
renovate[bot]
679edd79d4
deps: update Go dependencies (#3586)
* deps: update Go dependencies

* keep cloud.google.com/go/storage at v1.49.0

This is required to avoid issues with a broken
google.golang.org/grpc/stats/opentelemetry import
See https://github.com/googleapis/google-cloud-go/issues/11455

* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-20 16:15:42 +01:00
renovate[bot]
22d093cc6f
deps: update bazel (core) (#3581)
* deps: update bazel (core)

* bazel: depset -> list

To comply with some breaking changes in rules_go v0.51, we explicitly
need to type-cast the depsets to lists here.

* bazel: migrate deprecated GoLibrary usage

In rules_go v0.51.0, `GoLibrary` was deprecated and replaced by
`GoInfo`. This adjusts our `protoc-gen-go` rule to use the new `GoInfo`.

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-20 15:17:05 +01:00
Daniel Weiße
53e937522f
dependencies: bump Go to v1.23.5 (#3599)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-01-20 11:53:55 +01:00
Daniel Weiße
40754753a2
dependencies: drop google/go-sev-guest fork (#3595)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2025-01-20 10:39:14 +01:00
renovate[bot]
56b061e84b
deps: update kubernetes packages (#3589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-20 10:01:17 +01:00
renovate[bot]
576add30d1
deps: update ubuntu Docker tag to v24 (#3597)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-20 09:45:03 +01:00
renovate[bot]
c24e149b12
deps: update dependency containernetworking/plugins to v1.6.2 (#3524)
* deps: update dependency containernetworking/plugins to v1.6.2

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-20 09:10:44 +01:00
edgelessci
3a898e9cff
image: update locked rpms (#3594)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-20 09:07:00 +01:00
renovate[bot]
b996a4cbae
deps: update docusaurus monorepo to v3.7.0 (#3591)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 17:08:33 +01:00
renovate[bot]
9a969548e4
deps: update Python dependencies (#3592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 17:08:05 +01:00
renovate[bot]
cef2436065
deps: update golangci/golangci-lint to v1.63.4 (#3588)
* deps: update golangci/golangci-lint to v1.63.4

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-17 15:15:02 +01:00
renovate[bot]
188e51bba1
deps: update Python dependencies (#3590)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 15:05:36 +01:00
renovate[bot]
4cffde5036
deps: update rhysd/actionlint to v1.7.6 (#3584)
* deps: update rhysd/actionlint to v1.7.6

* deps: tidy all modules

* Update macos-12 runners to macos-latest

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2025-01-17 11:53:24 +01:00
renovate[bot]
405d0c6154
deps: update bazel (modules) (#3582)
* deps: update bazel (modules)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-17 10:43:07 +01:00
renovate[bot]
1459ab96fe
deps: update GitHub action dependencies (#3585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-17 09:58:24 +01:00
Moritz Sanft
6ba47d5634
ci: allow unrestricted user namespaces in image builds (#3587)
Since Ubuntu 23.10, creating namespaces, e.g. via `unshare`, requires
privileges. Since `unshare` is used by `mkosi` in our image build
pipeline, we need to re-enable them explicitly here before building the
image, aligning with the behavior before Ubuntu 23.10.
2025-01-17 09:36:48 +01:00
renovate[bot]
0272e7dd15
deps: update ghcr.io/edgelesssys/cloud-provider-gcp Docker tag to v30.1.4 (#3579)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 15:29:39 +01:00
renovate[bot]
99c8a1eb11
deps: update bufbuild/buf to v1.49.0 (#3583)
* deps: update bufbuild/buf to v1.49.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-16 14:39:20 +01:00
renovate[bot]
e3f29ecf4d
deps: update Kubernetes versions (#3578)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-16 14:22:02 +01:00
renovate[bot]
f10376fd44
deps: update Terraform dependencies (#3580)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 14:21:35 +01:00
renovate[bot]
e8771e2dab
deps: update K8s constrained AWS versions (#3561)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 13:58:21 +01:00
renovate[bot]
d9ab8c76e0
deps: update Terraform openstack to v3 (#3539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 12:47:29 +01:00
edgelessci
126dbd69d9
image: update measurements and image version (#3577)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-15 08:07:44 +01:00
miampf
0d2bedbca3
fix(docs): reference up to date longhorn guide (#3576) 2025-01-14 16:07:19 +01:00
miampf
2fad395bb5
docs(image): Add section for adding new packages (#3575) 2025-01-14 15:46:19 +01:00
renovate[bot]
2ba6b66cee
deps: update Kubernetes versions (#3574)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-14 12:30:12 +01:00
Moritz Sanft
9f59990c7d
renovate: match dl.k8s.io for K8s releases (#3573)
We have a version mismatch in our Kubernetes (e.g. `kubadm`) versions
and the versions the CLI expects to have right now, as the Renovate rule
didn't match the `dl.k8s.io` URLs introduced in c1714aaf92.
This fixes the issue by adjusting the Regex. Updates should work again
when the versions are back in sync.
2025-01-14 11:41:04 +01:00
edgelessci
91ffc68189
image: update locked rpms (#3572)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-12 10:55:56 +01:00
edgelessci
094f5e87a6
image: update measurements and image version (#3571)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-10 08:03:42 +01:00
edgelessci
40e25c3046
image: update measurements and image version (#3569)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-08 08:40:44 +01:00
edgelessci
88f26bc161
image: update measurements and image version (#3566)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-06 10:22:25 +01:00
edgelessci
7dd743b69e
image: update locked rpms (#3567)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2025-01-05 15:50:36 +01:00
edgelessci
19e54a0174
image: update locked rpms (#3564)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-29 13:22:19 +01:00
renovate[bot]
44612b1d93
deps: update Kubernetes versions (#3553)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-23 14:01:26 +01:00
edgelessci
3d9d386538
image: update locked rpms (#3560)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-23 13:59:59 +01:00
Moritz Sanft
fcf778e73c
ci: only write STACKIT configuration if STACKIT test runs (#3559) 2024-12-20 10:05:48 +01:00
Moritz Sanft
c467ff603b
ci: enable STACKIT e2e tests (#3556) 2024-12-19 19:18:09 +01:00
Markus Rudy
50ab77e37a
image: include files from git reproducibly (#3555) 2024-12-19 14:58:47 +01:00
edgelessci
ba0b2521ab
image: update measurements and image version (#3554)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-18 08:38:20 +01:00
Paul Meyer
abe54a2f7a deps: update go-sev-guest to include fix for badram platform info
Signed-off-by: Paul Meyer <katexochen0@gmail.com>
2024-12-16 11:16:06 +01:00
edgelessci
4b4afffee7
image: update locked rpms (#3551)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-15 18:15:49 +01:00
renovate[bot]
1b050a636f
deps: update mikepenz/action-junit-report action to v5 (#3550)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 08:50:28 +01:00
renovate[bot]
8496b4ce46
deps: update dependency DeterminateSystems/nix-installer to v0.32.2 (#3547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 08:25:52 +01:00
edgelessci
2da6c7d911
image: update measurements and image version (#3549)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-13 08:16:03 +01:00
renovate[bot]
2da0ed6da0
deps: update GitHub action dependencies (#3548)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-13 08:12:59 +01:00
Moritz Sanft
1495a7f6dd
docs: correct STACKIT IDs (#3545)
We got OpenStack and STACKIT IDs mixed up in our documentation previously. The OpenStack project ID is required in the `clouds.yaml` file, while the STACKIT project ID is required in the Constellation config. This fixes the warning for the OpenStack project ID in `clouds.yaml`, and adds an additional warning for the STACKIT project ID in the configuration section.
2024-12-12 09:45:24 +01:00
renovate[bot]
7d0aca054b
deps: update module golang.org/x/crypto to v0.31.0 [SECURITY] (#3546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-12 09:17:21 +01:00
Moritz Sanft
be1deb7d4b
Revert "operator: use GCP REST API for instance templates (#3361)" (#3544)
This reverts commit effb086cd33129a3b4046419b4615b43d4380038.
2024-12-11 17:04:13 +01:00
Markus Rudy
37e21b2ff0
image: use uplosi from nixpkgs-unstable (#3543)
* image: correct sharing profile for Azure gallery

* nix: use uplosi from nixpkgs-unstable instead of GitHub
2024-12-11 11:51:58 +01:00
renovate[bot]
54878ddc56
deps: update bazel (modules) (major) (#3540)
* deps: update bazel (modules)

* deps: tidy all modules

* Copy private go_bin_for_host rule from `rules_go` to `/bazel/ci`

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-12-10 15:19:46 +01:00
Markus Rudy
7a7b6b3655
ci: exclude CoreDNS chart from renovate (#3541) 2024-12-10 13:00:00 +01:00
renovate[bot]
eb08fe1025
deps: update bufbuild/buf to v1.47.2 (#3532)
* deps: update bufbuild/buf to v1.47.2

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-10 11:54:05 +01:00
renovate[bot]
2596d7c1c2
deps: update dependency kubernetes-sigs/cri-tools to v1.32.0 (#3537)
* deps: update dependency kubernetes-sigs/cri-tools to v1.32.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-10 11:49:03 +01:00
renovate[bot]
64b395dba8
deps: update dependency DeterminateSystems/nix-installer to v0.32.1 (#3536)
* deps: update dependency DeterminateSystems/nix-installer to v0.32.1

* ci: run reproducible builds workflow on changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2024-12-10 09:26:05 +01:00
renovate[bot]
59b9d54c44
deps: update github/codeql-action action to v3.27.6 (#3535)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-10 08:27:31 +01:00
Moritz Sanft
23354f23a5
flake: update to Bazel 7.4.1 (#3534) 2024-12-10 07:13:54 +01:00
renovate[bot]
cdb3e461bb
deps: update bazel (core) (#3531) 2024-12-10 07:13:44 +01:00
renovate[bot]
d346848aac
deps: update module k8s.io/endpointslice to v0.31.3 (#3529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 16:07:01 +01:00
renovate[bot]
469cae4658
deps: update bazel (plugins) (#3515)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-09 16:06:28 +01:00
edgelessci
d7728fe3ba
image: update measurements and image version (#3528)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-09 09:00:04 +01:00
edgelessci
36f8c6d540
image: update locked rpms (#3530)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-09 08:46:25 +01:00
renovate[bot]
4bf607529b
deps: update module k8s.io/dynamic-resource-allocation to v0.31.3 (#3519)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-06 08:38:20 +01:00
edgelessci
224e6e397c
image: update measurements and image version (#3527)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-04 10:49:53 +01:00
edgelessci
ab2782a2a2
Post v2.20.0 release updates to main (#3525)
* docs: release 2.20

* chore: update version.txt to v2.21.0-pre

* chore: update CI for v2.20.0

---------

Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-04 08:30:14 +01:00
Moritz Sanft
b03e671a62
constellation-node-operator: don't bail out on listing errors (#3522)
If the GCP project has scaling groups for which our checks can't be performed (which is the case for regional scaling groups, as they "don't exist" for the operator, if deployed in another region) . In that case, we should not bail out directly but go on with the next group. An error should only be thrown if there are no matching groups at all.
2024-12-03 22:44:38 +01:00
Moritz Sanft
0aa44a8221
versions: manually pull in new Kubernetes versions (#3523)
Some upgrade (possibly due to a too-eagerly merged PR) missed upgrading certain parts of the K8s versions. This fixes that by manually aligning to the newest version.
2024-12-03 16:41:04 +01:00
renovate[bot]
a1da8aa70c
deps: update kubernetes packages (#3517)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 14:27:10 +01:00
renovate[bot]
fc0b3cc4a2
deps: update Kubernetes versions (#3516)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-02 14:26:59 +01:00
renovate[bot]
af4b15c365
deps: update K8s constrained GCP versions (#3446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-02 13:24:47 +01:00
renovate[bot]
53ae065329
deps: update golangci/golangci-lint to v1.62.2 (#3511)
* deps: update golangci/golangci-lint to v1.62.2

* deps: tidy all modules

* chore: align with new golangci-lint rules

golangci-lint added some linters in this version upgrade that require fixes on our side. These are done in this commit.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-12-02 13:24:34 +01:00
renovate[bot]
b652baa9c2
deps: update Terraform dependencies (#3510)
* deps: update Terraform dependencies

* Update terraform lock files

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Print module path for lockfile to be generated

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-12-02 12:04:15 +01:00
Daniel Weiße
6bad8b9839
ci: ensure autoscaling test actuallly waits for all Pods to be ready (#3514)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-12-02 11:29:46 +01:00
Daniel Weiße
5b1e3627c9
ci: run memory intensive check targets sequentially (#3513)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-12-02 09:25:45 +01:00
renovate[bot]
ed573c46d6
deps: update Go dependencies (#3509)
* deps: update Go dependencies

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-02 09:17:23 +01:00
renovate[bot]
6ebfa28e6d
deps: update Kubernetes versions (#3472)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-01 13:13:48 +01:00
edgelessci
283ea08437
image: update locked rpms (#3512)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-12-01 13:13:31 +01:00
Malte Poll
d8e9ed4f93
attestation: upgrade expected AWS SEV-SNP firmware (#3049)
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-11-29 14:32:15 +01:00
renovate[bot]
2c318905a6
deps: update bazel (modules) (#3505)
* deps: update bazel (modules)

* deps: tidy all modules

* Ignore rules_python root warning

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-11-29 11:14:21 +01:00
edgelessci
17bfce7c11
image: update measurements and image version (#3508)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-29 08:49:05 +01:00
renovate[bot]
5977f0f5b1
deps: update rhysd/actionlint to v1.7.4 (#3506)
* deps: update rhysd/actionlint to v1.7.4

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-28 19:49:37 +01:00
renovate[bot]
b99bd53066
deps: update fedora:40 Docker digest to 7cdd2b4 (#3503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 16:15:39 +01:00
renovate[bot]
8f3d6c42f2
deps: update GitHub action dependencies (#3507)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 16:15:26 +01:00
renovate[bot]
6dbb8ac56a
deps: update Terraform azuread to v3 (#3432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-28 15:48:29 +01:00
edgelessci
b99413a7cc
image: update locked rpms (#3493)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-28 15:46:22 +01:00
Markus Rudy
6d7f687609
image: allow autologin on TTY1 for STACKIT cloud (#3499) 2024-11-27 14:21:43 +01:00
Daniel Weiße
900fb3f88b
ci: automate manual post-release steps (#3498)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-27 08:52:54 +01:00
edgelessci
247df63d68
image: update measurements and image version (#3500)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-27 08:31:00 +01:00
Adrian Stobbe
143f683852
make post release more promiment (#3497) 2024-11-26 16:50:41 +01:00
Moritz Sanft
52372ae808
bootstrapper: only err if no control plane IPs available (#3496)
Previously we errored out of the entire join if retrieval
of either LB IP or control plane public IP failed. This resulted
in the entire "use either IP" logic not working as intended. This now
makes it log a warning only if the IP retrievals fail, and only errors
out of the join if no IP can be found at all.
2024-11-26 10:38:18 +01:00
renovate[bot]
fbdf1db053
deps: update bazel (plugins) (#3486)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-26 09:27:43 +01:00
Daniel Weiße
871be80877
ci: update workflows to initialize upgrade tests with v2.19.3 (#3494)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-26 08:55:33 +01:00
Thomas Tendyck
b2e99af86c docs: refactor gtag 2024-11-22 17:19:51 +01:00
Daniel Weiße
f06830ec1a
deps: update google/go-sev-guest to v0.11.2-0.20241122022416-97a55186df28 (#3490)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-22 11:01:09 +01:00
edgelessci
4d65c7811b
image: update measurements and image version (#3491)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-22 09:18:26 +01:00
3u13r
4026752e89
docs: remove mentioning of Cilium's key rotation for IPSec since it does not apply to WireGuard (#3489) 2024-11-21 09:03:05 +01:00
Daniel Weiße
775ba22ab2
ci: run terraform apply in provider example test with timeout (#3482)
* Run terraform apply with timeouts
* Ignore lock file when running terraform destroy

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-21 08:32:22 +01:00
3u13r
521ff0d14c
Pin crane and npm dependencies (#3477)
* ci: pin crane dependency

* docs: pin npm dependencies

* deps: bump docusaurus

---------

Co-authored-by: Thomas Tendyck <tt@edgeless.systems>
2024-11-20 18:34:25 +01:00
Daniel Weiße
d874b5b5f4
deps: use forked google/go-sev-guest to support v3 AMD SEV-SNP attestation reports (#3487)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-20 09:39:51 +01:00
Markus Rudy
173ef26f70
ci: pin nix version to 2.25.2 (#3484)
* ci: pin nix version to 2.25.2

* bazel: update stale lock file
2024-11-20 09:09:20 +01:00
edgelessci
3b23d080d7
image: update measurements and image version (#3485)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-20 08:09:59 +01:00
Daniel Weiße
e0c95a34bb
ci: update workload identity provider url (#3483)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-11-18 16:36:32 +01:00
edgelessci
7cde5220c5
image: update locked rpms (#3481)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-18 08:16:45 +01:00
edgelessci
98cabeebd5
image: update measurements and image version (#3479)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-15 09:02:24 +01:00
edgelessci
26da32ed95
image: update measurements and image version (#3478)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-14 08:50:09 +01:00
Moritz Eckert
1c5fe3fe24
docs: update azure firmware with openhcl (#3473)
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2024-11-11 12:50:18 +01:00
Moritz Eckert
36024f20ae
docs: change wording contrast with comparison (#3476) 2024-11-11 12:45:30 +01:00
edgelessci
a8434a2415
image: update locked rpms (#3475)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-11 11:17:09 +01:00
renovate[bot]
d95a1de17f
deps: update ubuntu:22.04 Docker digest to 0e5e4a5 (#3447)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-11 10:11:51 +01:00
edgelessci
000a7627fc
image: update measurements and image version (#3474)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-08 08:27:27 +01:00
Moritz Eckert
887b9c5fae
docs: stackit improve clouds.yaml description (#3470) 2024-11-07 09:30:41 +01:00
edgelessci
273ec733fb
image: update measurements and image version (#3471)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-06 08:28:21 +01:00
edgelessci
f2b919a563
image: update locked rpms (#3468)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-11-05 17:09:26 +01:00
Adrian Stobbe
e39d90ac1e
add migrate instructions to v2.19 docs (#3469) 2024-11-05 09:56:29 +01:00
Markus Rudy
960499a937
image: unset password reset date to ensure reprodicibility (#3466)
* image: unset password reset date
2024-11-04 14:53:35 +01:00
Adrian Stobbe
54058eed2a
terraform: fix security rule reconciliation on Azure (#3454)
* fix security rule reconciliation on azure
* fix simulated patch version upgrade
2024-11-04 08:59:16 +01:00
edgelessci
aa7d47ed5f
image: update measurements and image version (#3464)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-30 08:07:48 +01:00
Moritz Sanft
7458d0e892
deps: update terraform-provider-stackit (#3462) 2024-10-29 19:03:19 +01:00
Markus Rudy
bff8bce88f
docs: how to reproduce released artifacts (#3451)
* ci: test reproducability with different dependency installation methods

* nix: mitigate nix store optimisiation

* docs: reproducible builds

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>

Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>

* ci: upgrade ubuntu runners for reproducible builds

---------

Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2024-10-29 14:04:59 +01:00
Mauritz Uphoff
9124691743
config: only allow confidential instances on stackit (#3463)
* cli: only allow confidential instances on stackit

* review changes
2024-10-29 12:35:01 +01:00
renovate[bot]
7dc38d9ff0
deps: update bazel (modules) (#3448)
* deps: update bazel (modules)

* Dont upgrade rules_python due to incompatibility with rules_pkg

* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-29 09:30:43 +01:00
Daniel Weiße
4b7cd84eaf
e2e-upgrade: guard function return values behind sync.WaitGroup (#3461)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-10-28 11:34:11 +01:00
Daniel Weiße
132218ac1e
ci: report failure in scheduled Terraform provider tests on cancel (#3460)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-10-28 10:46:24 +01:00
edgelessci
46fcbb5ee8
image: update locked rpms (#3459)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-28 09:55:07 +01:00
Adrian Stobbe
53caa86cb8
docs: clarify for Azure TDX with Terraform provider (#3449) 2024-10-25 14:00:44 +02:00
edgelessci
1ed1a627b3
image: update measurements and image version (#3458)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-25 11:08:47 +02:00
3u13r
2cd5b05b51
cli: also log applier debug messages to debug log file (#3457)
* cli: also log applier debug messages to debug log file

* cli: use debug logger instead of cliLogger
2024-10-24 15:00:51 +02:00
Markus Rudy
cbd8cc6976
ci: use GOPROXY fallbacks (#3456) 2024-10-23 16:45:22 +02:00
edgelessci
7977746785
image: update measurements and image version (#3455)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-23 09:38:20 +02:00
Markus Rudy
96ac7124e3
terraform: upgrade hashicorp/google to 6.7.0 (#3440) 2024-10-21 10:41:33 +02:00
edgelessci
0997ce2b98
docs: add release v2.19.0 (#3434)
Co-authored-by: msanft <58110325+msanft@users.noreply.github.com>
2024-10-21 09:59:30 +02:00
Moritz Sanft
44b2a758dd
chore: v2.19.0 post-release (#3445) 2024-10-21 09:59:04 +02:00
Moritz Sanft
dd385bce1f
helm: allow namespace handling for node-maintenance-operator (#3442) 2024-10-18 11:11:26 +02:00
edgelessci
e9203a2aee
image: update measurements and image version (#3441)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-18 08:08:45 +02:00
Moritz Sanft
0453f5b611
e2e: fix malicious join test (#3439) 2024-10-17 14:45:48 +02:00
Moritz Sanft
50df35438e
ci: fix artifact deletion (#3437)
GitHub seemingly now adds a newline to the output of the gh CLI, so we need to cut it before using it.
2024-10-17 09:37:59 +02:00
renovate[bot]
24af06b02f
deps: update Go dependencies (#3411)
* deps: update Go dependencies

* bazel: force Gazelle generation for xDS

xDS has an upstream set of build files that makes Gazelle consider their project a whole new Bazel project, which makes Gazelle not generate any build files, even though the upstream ones aren't valid.

See https://github.com/cncf/xds/issues/104.

* go: update cel.dev/expr for Bazel fixes

cel.dev/expr had some upstream Bazel fixes in v0.16.2 without which Gazelle doesn't work.

* chore: generate

* e2e: remove references to kubeProxyVersion

kubeProxyVersion is deprecated as of KEP-4004. It was never being set to an accurate value before, and we only used it in the e2e test, so removing the additional check should not hurt here.

See https://github.com/kubernetes/enhancements/tree/master/keps/sig-network/4004-deprecate-kube-proxy-version

* constellation-node-operator: use typed rate-limiter

The untyped rate-limiter was deprecated in favor of a generic one that can just be instantiated to `any` to achieve the previous behaviour.

* Advertise ALPN settings in NextProtos required by gRPC

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* atls: add nextProtos

nextProtos (for ALPN) is now required by gRPC, so add it.

* go: add cri-client replace

* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-16 17:35:51 +02:00
renovate[bot]
36f8beb3df
deps: update quay.io/medik8s/node-maintenance-operator Docker tag to v0.17.0 (#3425)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 17:07:37 +02:00
renovate[bot]
357e4366ff
deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.9.1 (#3426)
* deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.9.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-16 17:06:41 +02:00
renovate[bot]
8813a1ab04
deps: update registry.k8s.io/sig-storage/snapshot-validation-webhook Docker tag to v8.1.0 (#3431)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 17:06:06 +02:00
renovate[bot]
2e2dd855b5
deps: update registry.k8s.io/sig-storage/snapshot-controller Docker tag to v8.1.0 (#3430)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-16 16:07:41 +02:00
renovate[bot]
9733dc0cd5
deps: update dependency aspect_bazel_lib to v2.9.2 (#3428)
* deps: update dependency aspect_bazel_lib to v2.9.2

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-16 11:51:48 +02:00
Daniel Weiße
dd73c4ce5f
ci: enable Teams mentions for burgerdev (#3422)
* Enable Teams mentions for burgerdev
* Add instructions on how to update notify_teams assignees

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-10-16 10:54:53 +02:00
renovate[bot]
e27d80fa02
deps: update dependency containernetworking/plugins to v1.6.0 (#3420)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-10-16 10:28:37 +02:00
edgelessci
d3822f8e16
image: update measurements and image version (#3427)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-16 08:06:50 +02:00
renovate[bot]
c8bf4a8a43
deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.9.1 (#3424)
* deps: update public.ecr.aws/eks/aws-load-balancer-controller Docker tag to v2.9.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-15 21:29:53 +02:00
renovate[bot]
5af5c72372
deps: update module k8s.io/endpointslice to v0.31.1 (#3421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 16:40:19 +02:00
renovate[bot]
cfb3b70113
deps: update mvdan/gofumpt to v0.7.0 (#3423)
* deps: update mvdan/gofumpt to v0.7.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-15 16:40:07 +02:00
renovate[bot]
8ca8849df6
deps: update module k8s.io/dynamic-resource-allocation to v0.31.1 (#3418)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 15:23:31 +02:00
Moritz Sanft
843d9bcb7c
treewide: upgrade to Go 1.23.2 (#3417)
* treewide: upgrade to Go 1.23.2

* deps: update golangci/golangci-lint to v1.61.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-15 13:52:45 +02:00
renovate[bot]
9ef5b70966
deps: update kubernetes packages (#3416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-15 13:10:39 +02:00
renovate[bot]
093fddb001
deps: update golangci/golangci-lint to v1.61.0 (#3415)
* deps: update golangci/golangci-lint to v1.61.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-15 13:09:31 +02:00
renovate[bot]
fd280ecc5f
deps: update dependency kubernetes-sigs/cri-tools to v1.31.1 (#3414)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-10-14 22:11:09 +02:00
renovate[bot]
0b5b2ea65b
deps: update dependency containernetworking/plugins to v1.5.1 (#3408)
* deps: update dependency containernetworking/plugins to v1.5.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 11:38:19 +02:00
renovate[bot]
70ebfea5ec
deps: update bufbuild/buf to v1.45.0 (#3407)
* deps: update bufbuild/buf to v1.45.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 11:37:40 +02:00
renovate[bot]
c392bec892
deps: update dependency rules_oci to v2.0.1 (#3412)
* deps: update dependency rules_oci to v2.0.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 11:36:47 +02:00
Daniel Weiße
6c94b5ae6b
ci: upgrade to ubuntu-24.04 fixups (#3413)
* Upgrade workflows to ubuntu-24.04
* Install missing tools for ubuntu-24.04

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-10-14 11:10:30 +02:00
renovate[bot]
898c37be2a
deps: update bazel (modules) (#3405)
* deps: update bazel (modules)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 08:29:37 +02:00
renovate[bot]
2006c0eb04
deps: update rhysd/actionlint to v1.7.3 (#3406)
* deps: update rhysd/actionlint to v1.7.3

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 08:29:24 +02:00
edgelessci
47b2f59b7d
image: update locked rpms (#3410)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-14 08:25:05 +02:00
renovate[bot]
810f86582d
deps: update Kubernetes versions (#3358)
* deps: update Kubernetes versions

* e2e: run vale with python venv

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2024-10-11 19:23:31 +02:00
Markus Rudy
96d98aa136
CODEOWNERS: move ownership of Helm charts to burgerdev (#3400) 2024-10-11 17:04:35 +02:00
renovate[bot]
1bdc0944ae
deps: update K8s constrained Azure versions (#3374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-11 17:04:08 +02:00
renovate[bot]
228aa18a2c
deps: update bazel (core) (#3368)
* deps: update bazel (core)

* bazel: use non-release rules_nixpkgs

* Update bazel module lock file

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* bazel: resolve patch conflict after upgrading gazelle

The generated BUILD file has changed, so our patch needs to be adapted.

* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-11 16:40:35 +02:00
renovate[bot]
a33639a354
deps: update aquasecurity/tfsec to v1.28.11 (#3401)
* deps: update aquasecurity/tfsec to v1.28.11

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-11 16:24:01 +02:00
Markus Rudy
60dcac1f1b
ci: ignore GO-2024-3166 in govulncheck (#3404)
* ci: ignore GO-2024-3166 in govulncheck
2024-10-11 15:39:44 +02:00
edgelessci
1561d67a12
image: update measurements and image version (#3402)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-11 09:35:11 +02:00
renovate[bot]
ac26c80a90
deps: update GitHub action dependencies (#3399)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-09 12:16:10 +02:00
Markus Rudy
b1cf9bc3fe
e2e: upgrade: allow specifying the origin k8s version (#3397) 2024-10-09 11:33:21 +02:00
3u13r
2854136192
Allow upgrades on azure without Terraform changes on LBs created from within Kubernetes (#3257)
* k8s: use separate lb for K8s services on azure

* terraform: introduce local revision variable and data resource

* terraform: azure: dont expose full nodeport range

* docs: add Azure load balancer migration
2024-10-09 11:31:17 +02:00
edgelessci
2dcea4fa63
image: update measurements and image version (#3398)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-09 08:34:16 +02:00
Markus Rudy
961fabbd1a
helm: upgrade Cilium to v1.15.8 (#3392)
* helm: upgrade to Cilium v1.15.8

* fixup! helm: upgrade to Cilium v1.15.8

use proper release tag

* fixup! helm: upgrade to Cilium v1.15.8

use images build from tag
2024-10-08 10:55:29 +02:00
renovate[bot]
02762f7956
deps: update distroless_static Docker digest to 69830f2 (#3391)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 19:07:25 +02:00
3u13r
204d684686
dev-docs: link to docs website instead of to local files (#3394)
* dev-docs: link to docs website instead of to local files

* dev-docs: pin sonobuoy link to latest working docs release

* dev-docs: link to new libvirt docs URL
2024-10-07 19:05:21 +02:00
Moritz Eckert
0f93af9aec
readme: remove demo references (#3393) 2024-10-07 15:16:54 +02:00
Markus Rudy
dd1763a36d
helm: manage CoreDNS addon as Helm chart (#3388)
* Reapply "helm: manage CoreDNS addon as Helm chart (#3236)"

This reverts commit 4a9422d288ef42f5ebf0dd878dc9aff26ed082dd.

* Reapply "helm: fix kubeadm bugs caused by CoreDNS installation (#3353)"

This reverts commit 9ecfc3fa19780b8b4972872b0a505d377ec70601.
2024-10-07 10:51:37 +02:00
renovate[bot]
32e00994bb
deps: update ubuntu:22.04 Docker digest to 58b8789 (#3365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-07 10:39:06 +02:00
edgelessci
da623ad3cc
image: update locked rpms (#3390)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-07 09:54:36 +02:00
edgelessci
cecc57f993
image: update measurements and image version (#3386)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-07 08:45:03 +02:00
Markus Rudy
bd31361d3d
image: retire idle=poll option for AWS (#3387) 2024-10-04 17:01:18 +02:00
Felix Schuster
622406de2c
Add overview of security protocols (#3376) 2024-10-02 10:22:27 +02:00
edgelessci
097879a9ca
image: update measurements and image version (#3384)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-10-02 09:32:22 +02:00
Moritz Sanft
39e6059607
ci: fix matrix runner spec (#3380) 2024-09-27 16:07:38 +02:00
Moritz Sanft
648e9370b6
treewide: v2.18.0 post-release (#3381) 2024-09-27 09:43:47 +02:00
edgelessci
692cb3fa00
docs: add release v2.18.0 (#3378)
Co-authored-by: msanft <58110325+msanft@users.noreply.github.com>
2024-09-27 09:08:18 +02:00
edgelessci
2f67eb3f54
image: update measurements and image version (#3379)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-27 08:10:42 +02:00
3u13r
882d602524
openstack: set region in cluster cloud client (#3375) 2024-09-26 11:08:06 +02:00
edgelessci
d65987cb15
image: update measurements and image version (#3377)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-25 08:41:47 +02:00
Daniel Weiße
c0a59a18d5
ci: update e2e mini default region and always return resource group name (#3373)
* Choose resource group name outside of Terraform to catch issues during apply
* Run test in West Europe

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-09-25 08:37:27 +02:00
renovate[bot]
068e68d478
deps: update bazel (modules) (#3370)
* deps: update bazel (modules)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2024-09-24 09:52:45 +02:00
edgelessci
ea9d5122f3
image: update locked rpms (#3372)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-22 11:36:40 +02:00
edgelessci
6fc051cf98
image: update measurements and image version (#3371)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-20 08:21:52 +02:00
Markus Rudy
1ca8d4f977
ci: remove obsolete python dep (#3369) 2024-09-19 14:16:51 +02:00
renovate[bot]
681393ef28
deps: update distroless_static Docker digest to b033683 (#3367)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-19 13:23:09 +02:00
Markus Rudy
850b460002
helm: revert parts of CoreDNS Helm chart packaging (#3366)
* Revert "helm: fix kubeadm bugs caused by CoreDNS installation (#3353)"

This reverts commit 8ef5ea2efe48f44bc5cbdacc5bcd15511cc7440a.

* Revert "helm: manage CoreDNS addon as Helm chart (#3236)"

This reverts commit 97c77e2a78793a5519da7712ea87ef1475f7dc0c.

* upgrade-agent: ignore CoreDNS preflight errors
2024-09-19 10:55:21 +02:00
Daniel Weiße
89eb8ca6ae
ci: check if CLI version supports --subscriptionID flag before using it (#3364)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-09-18 10:04:29 +02:00
Moritz Sanft
effb086cd3
operator: use GCP REST API for instance templates (#3361) 2024-09-18 08:57:14 +02:00
renovate[bot]
dda6d5c16c
deps: update fedora:40 Docker digest to d0207db (#3363)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 08:49:43 +02:00
edgelessci
3a40e79779
image: update measurements and image version (#3362)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-18 08:35:33 +02:00
renovate[bot]
9c13603756
deps: update distroless_static Docker digest to 95eb83a (#3347)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-18 08:15:50 +02:00
Daniel Weiße
7bb6ad6cc2
docs: fix broken links (#3359)
* Update cosign installation guide link
* Update cosign overview link
* Update cosign sbom link

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-09-17 15:33:08 +02:00
Moritz Sanft
d2cbc0adef
terraform: enable serial console by default (#3360) 2024-09-17 15:01:33 +02:00
3u13r
1f887c7868
image: re-enable autologin for debug and console images (#3355)
* image: remove autologin via mkosi

In mkosi v24 --autologin no longer works for ttyS consoles. Since the CSPs use those exclusively for their serial consoles, we need to replace this with another solution (see next commit)

* image: add getty systemd unit for debug images

This replaces the mkosi --autologin solution with a getty systemd unit for ttyS0.
Note that both console and debug images hace their consoles enabled.
2024-09-17 14:07:28 +02:00
renovate[bot]
a295ecaffb
cli: add --subscriptionID flag for iam create azure command (#3328)
* deps: update Terraform azurerm to v4
* Set Azure subscription ID when applying Terraform files
* Upgrade azurerm to v4.1.0
* Mark subscriptionID flag as not required
* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-17 12:30:22 +02:00
edgelessci
c6a9c2574b
image: update locked rpms (#3356)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-15 16:49:40 +02:00
edgelessci
994c4523b0
image: update measurements and image version (#3354)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-13 10:30:55 +02:00
Markus Rudy
8ef5ea2efe
helm: fix kubeadm bugs caused by CoreDNS installation (#3353)
* helm: rename CoreDNS configmap

* upgrade-agent: ignore CoreDNS preflight errors

* fixup! helm: rename CoreDNS configmap
2024-09-13 09:47:33 +02:00
Markus Rudy
e077eaf02c
e2e: remove immediate node status printing (#3351) 2024-09-12 22:44:38 +02:00
Moritz Sanft
5f5df1fc36
terraform-provider-constellation: set correct cc_technology in GCP example (#3352) 2024-09-12 13:31:21 +02:00
edgelessci
7e9c316201
image: update measurements and image version (#3350)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-11 08:30:27 +02:00
Markus Rudy
98f359e039
helm: allow multiple default routes (#3344) 2024-09-10 13:17:26 +02:00
renovate[bot]
3e37819fe7
deps: update cloud-provider-gcp (K8s version constrained) (#3320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 13:16:51 +02:00
renovate[bot]
665cff0071
deps: update K8s constrained AWS versions (#3319)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 11:41:44 +02:00
renovate[bot]
282fd315d2
deps: update K8s constrained Azure versions (#3346)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-10 11:39:05 +02:00
Moritz Sanft
fe2fd0a2da
treewide: update Go toolchain to 1.22.7 (#3343) 2024-09-09 12:45:48 +02:00
edgelessci
0aeda78089
image: update locked rpms (#3341)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-09 11:19:05 +02:00
Moritz Sanft
f7c2392be2
image: update mkosi to 24.3 (#3342)
* flake: format

* image: update mkosi to 24.3

This updates mkosi to a next-version of v24.3, which is now available in nixpkgs. This removes the non-hermetic `uidmap` dependency, which is a great advantage. It will also be less of an effort to upgrade to v25 going forward.
Changes required are keeping `/var/cache` around (which is reproducible for our images, so no problem), as mkosi needs files from it in the build process. mkosi now additionally requires an explicit option to fetch the signing keys for the package repositories from the internet. A hack was required to satisfy the Bazel package, which should probably be solved properly at some point.
2024-09-09 11:18:51 +02:00
renovate[bot]
5720fcc330
deps: update ubuntu:22.04 Docker digest to adbb901 (#3321)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-09 08:35:43 +02:00
edgelessci
a4b29ebdb6
image: update measurements and image version (#3338)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-06 08:13:50 +02:00
edgelessci
a3bd2e029c
image: update measurements and image version (#3335)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-04 08:36:51 +02:00
Moritz Sanft
eab9aca26f
terraform-provider-constellation: make kubeconfig output fine-grained (#3334) 2024-09-03 16:26:08 +02:00
edgelessci
d04fbe88af
image: update locked rpms (#3331)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-03 16:14:59 +02:00
edgelessci
40d0811298
image: update measurements and image version (#3332)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-09-03 10:43:40 +02:00
Daniel Weiße
d7bdfccdd7
terraform: tidy files (#3333)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-09-03 09:57:05 +02:00
Moritz Sanft
8555bd00a9
terraform-provider: document MAA patching more prominently (#3330) 2024-08-29 15:50:26 +02:00
Daniel Weiße
c11631ec11
logging: reduce grpc logging noise (#3329)
* Normalize gRPC logs to print at warn level only
* Fix grpcLogger level enablement

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-08-29 10:44:22 +02:00
renovate[bot]
6e6ea1a9d5
deps: update Kubernetes versions (#3325)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-26 13:46:46 +02:00
Moritz Eckert
a54b59ab25
docs: remove deprecated master-secret flag from recovery (#3326) 2024-08-26 12:54:58 +02:00
edgelessci
5efa7ffefb
image: update locked rpms (#3324)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-26 09:19:10 +02:00
renovate[bot]
cf5d9c2f12
deps: update Kubernetes versions (#3298)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-26 09:18:56 +02:00
Thomas Tendyck
e2ee775483 docs: update Tab tags 2024-08-23 22:45:37 +02:00
Thomas Tendyck
e90b0e5109 docs: update docusaurus and enable broken anchor detection 2024-08-23 22:45:37 +02:00
Thomas Tendyck
ded559a3fe docs: update AsciinemaWidget tags 2024-08-23 22:45:37 +02:00
Thomas Tendyck
abe0397e0d docs: replace angle bracket links, which aren't supported by new mdx version 2024-08-23 22:45:37 +02:00
edgelessci
03c6ae20bb
image: update measurements and image version (#3322)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-23 10:20:46 +02:00
renovate[bot]
7f2b388168
deps: update K8s constrained GCP versions (#3289)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-08-23 01:17:24 +02:00
renovate[bot]
f9dd864229
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20240816 (#3285)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-08-23 00:30:51 +02:00
renovate[bot]
10b08a030e
deps: update K8s constrained Azure versions (#3246)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-08-22 23:42:05 +02:00
Joseph Mearman
5e1c09bdd6 chore: remove rogue character 2024-08-22 14:29:44 +02:00
laralaske
1c78d2fde1
update readme banner (#3318)
* Add files via upload

* Update README.md

* Rename GitHub Banner_Constellation animated.svg to BannerConstellationanimated.svg

* Update README.md

* Delete docs/static/img/banner.svg

* Update BannerConstellationanimated.svg
2024-08-22 12:29:52 +02:00
edgelessci
57ffe6d4a7
image: update measurements and image version (#3316)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-22 08:27:27 +02:00
Moritz Eckert
ec7b40d933
docs: sort clouds table alphabetical (#3315) 2024-08-20 10:35:41 +02:00
edgelessci
f92d9db78a image: update locked rpms 2024-08-19 09:31:30 +02:00
edgelessci
f41b7fa9d7
image: update measurements and image version (#3312)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-14 08:12:10 +02:00
Thomas Tendyck
0551a862b3 docs: remove date from "feature status of clouds" page 2024-08-13 22:28:57 +02:00
Moritz Sanft
0f57261c67
image: document uidmap dependency (#3310) 2024-08-12 13:34:03 +02:00
edgelessci
85d4208f26
image: update locked rpms (#3309)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-12 09:37:35 +02:00
renovate[bot]
fe96153507
deps: update bazel (modules) (#3304)
* deps: update bazel (modules)
* Set std=c++14
* deps: tidy all modules

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2024-08-09 11:00:22 +02:00
edgelessci
9b1b04f4e5
image: update measurements and image version (#3307)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-09 08:24:39 +02:00
Daniel Weiße
1e5dcc3f76
renovate: schedule dependency updates (#3305)
* Run large dependency group upgrades on schedule
* Stop ignoring stackit Terraform releases
* Put s3proxy container updates on a schedule

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-08-09 08:23:08 +02:00
renovate[bot]
e881705f73
deps: update Terraform constellation to v2 (#3306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 16:34:04 +02:00
renovate[bot]
2d008c2923
deps: update bazel (plugins) (#3303)
* deps: update bazel (plugins)

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-08-08 15:43:52 +02:00
renovate[bot]
6257d0a283
deps: update bufbuild/buf to v1.36.0 (#3302)
* deps: update bufbuild/buf to v1.36.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-08 11:25:49 +02:00
renovate[bot]
0ad89ebcd8
deps: update aquasecurity/tfsec to v1.28.10 (#3301)
* deps: update aquasecurity/tfsec to v1.28.10

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-08 11:25:39 +02:00
renovate[bot]
087855ec00
deps: update module github.com/gophercloud/gophercloud to v2 (#3300)
* deps: update module github.com/gophercloud/gophercloud to v2

* update module github.com/gophercloud/utils to v2 and add context

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-08-08 10:37:09 +02:00
renovate[bot]
8b256f20b8
deps: update module github.com/docker/docker to v27 (#3299)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 10:24:32 +02:00
renovate[bot]
2e15e54e33
deps: update ghcr.io/edgelesssys/constellation/s3proxy Docker tag to v2.18.0-pre.0.20240807132706-ffde0ef7b7d3 (#3295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-08 09:34:22 +02:00
Daniel Weiße
ffde0ef7b7
ci: give scheduled image builds more time between executions (#3297)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-08-07 13:27:06 +02:00
renovate[bot]
59df2b7d92
deps: update rules_oci digest to v2.0.0-beta1 (#3135)
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2024-08-07 09:32:38 +02:00
edgelessci
e41bb61694
image: update measurements and image version (#3296)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-07 09:03:54 +02:00
renovate[bot]
b010015326
deps: update dependency Pillow to v10.3.0 [SECURITY] (#3293)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 08:30:52 +02:00
renovate[bot]
f186bbb235
deps: update Go dependencies (#3291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-06 09:31:03 +02:00
edgelessci
c5a5cd7d72
image: update locked rpms (#3290)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-05 09:47:35 +02:00
renovate[bot]
c6eec7384b
deps: update bazel (core) (#3286)
* deps: update bazel (core)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-02 15:43:40 +02:00
renovate[bot]
aca61bda4e
deps: update golangci/golangci-lint to v1.59.1 (#3287)
* deps: update golangci/golangci-lint to v1.59.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-02 15:15:55 +02:00
renovate[bot]
5538a7a23d
deps: update GitHub action dependencies (#3288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 15:06:00 +02:00
renovate[bot]
f33e7e5ac5
deps: update ubuntu:22.04 Docker digest to 340d9b0 (#3252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 15:05:28 +02:00
renovate[bot]
b38dcc1f52
deps: update ghcr.io/edgelesssys/constellation/s3proxy Docker tag to v2.18.0-pre.0.20240801135259-5a577728fd23 (#3264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 14:28:20 +02:00
edgelessci
e3077aa80f
image: update measurements and image version (#3284)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-02 08:34:08 +02:00
Daniel Weiße
5a577728fd
renovate: fix missing comma in renovate config (#3283)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-08-01 13:52:59 +02:00
Daniel Weiße
302a519198
renovate: group non-core bazel dependency updates (#3281)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-08-01 12:46:32 +02:00
renovate[bot]
211670f89d
deps: update module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v5 to v6 (#3280)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-08-01 12:46:03 +02:00
renovate[bot]
61bb7c2c26
deps: update module github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 to v6 (#3279)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-08-01 11:28:15 +02:00
renovate[bot]
92b9d5ab20
deps: update GitHub action dependencies (#3278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-01 10:34:44 +02:00
edgelessci
ed22f88f7e
image: update locked rpms (#3275)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-08-01 10:34:35 +02:00
edgelessci
43fde2ea79
image: update measurements and image version (#3277)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-31 08:45:51 +02:00
Daniel Weiße
9d58f8a494
ci: correctly fetch image on nightly image ref (#3276)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-30 12:58:57 +02:00
Moritz Sanft
2e9dda52b7
ci: mirror GCP SEV-SNP marketplace images (#3274) 2024-07-26 12:43:16 +02:00
edgelessci
60bdec5fb1
image: update measurements and image version (#3273)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-26 08:20:53 +02:00
3u13r
f4e6c910ab
terraform: azure detach unused lb backends (#3270) 2024-07-25 22:53:13 +02:00
Adrian Stobbe
212aa64f10
ci: add conformance test to weekly (#3230) 2024-07-25 17:38:17 +02:00
Daniel Weiße
b781a75af7
ci: run performance e2e tests using nightly image (#3272)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-25 16:25:56 +02:00
edgelessci
eb9aa8238a
image: update measurements and image version (#3271)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-24 08:19:30 +02:00
renovate[bot]
a55e330f5e
deps: update module k8s.io/kubernetes to v1.30.3 [SECURITY] (#3266)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-07-24 01:26:04 +02:00
Thomas Tendyck
399376d3e3
Make SEV-SNP the default attestation variant on GCP (#3267)
* Make SNP the default on GCP

* fixup! Make SNP

* fixup! Make SNP
2024-07-22 13:29:27 +02:00
3u13r
4573f10884
attestation: replace expired test vlek (#3269)
Co-authored-by: Thomas Tendyck <tt@edgeless.systems>
2024-07-22 00:14:20 +02:00
edgelessci
6e8d8d43f8
image: update locked rpms (#3268)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-21 11:49:59 +02:00
edgelessci
3f6e7f9c53
image: update measurements and image version (#3265)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-19 07:53:33 +02:00
renovate[bot]
78ce220cf9
deps: update GitHub action dependencies (#3259)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-18 08:49:57 +02:00
edgelessci
1edc1966f9
image: update measurements and image version (#3260)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-17 08:46:15 +02:00
renovate[bot]
d2e74133a9
deps: update ghcr.io/edgelesssys/constellation/s3proxy Docker tag to v2.18.0-pre.0.20240716154541-4d13479f9053 (#3258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 16:40:18 +02:00
renovate[bot]
f6d7a33540
deps: update ghcr.io/edgelesssys/constellation/s3proxy Docker tag to v2.18.0-pre.0.20240716132742-505b29458eec (#3245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 16:15:51 +02:00
laralaske
eab42221a9
Update concept.svg (#3255)
* Update concept.svg

* Update concept.svg
2024-07-14 21:29:11 +02:00
3u13r
38b72f8294
helm: add serviceProxyName to conformance values (#3247) 2024-07-14 15:49:45 +02:00
edgelessci
4f2418ed27
image: update locked rpms (#3256)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-14 12:56:13 +02:00
Markus Rudy
02cb4a3850
renovate: exclude stackit from Terraform group (#3253) 2024-07-12 13:23:49 +02:00
Markus Rudy
97c77e2a78 helm: manage CoreDNS addon as Helm chart (#3236)
* helm: generate CoreDNS Helm chart
* helm: load CoreDNS Helm chart
* bootstrapper: don't install coredns addon
2024-07-12 12:01:49 +02:00
Markus Rudy
807bbbfd16 cli: annotate CoreDNS resources for Helm (#3236) 2024-07-12 12:01:49 +02:00
renovate[bot]
b872fbdfe8
deps: update distroless_static Docker digest to ce46866 (#3251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-12 10:57:20 +02:00
renovate[bot]
c2b720ca56
deps: update Terraform dependencies (#3209)
Co-authored-by: Markus Rudy <mr@edgeless.systems>
2024-07-12 10:30:37 +02:00
Thomas Tendyck
712ff90ba0 docs: backport to old versions 2024-07-12 09:16:44 +02:00
Thomas Tendyck
1826801f0a docs: move compute benchmarks to own page 2024-07-12 09:16:44 +02:00
edgelessci
529eab2bf9
image: update measurements and image version (#3250)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-12 08:27:08 +02:00
Daniel Weiße
e08ed38be8
ci: fix relative paths for verify e2e test (#3249)
* Use absolute paths to avoid issues with bazel run changing working directory
* Fix error message in attestationconfig cli

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-12 08:26:36 +02:00
Malte Poll
65ed286c7d
image: replicate nvidia Azure images in eastus2 (#3027)
Co-authored-by: derpsteb <ob@edgeless.systems>
2024-07-11 11:09:15 +02:00
Daniel Weiße
6c24963570
attestationconfigapi: revise upload frequency (#3238)
* Add attestationconfigapi compare command
* Only upload the lowest version for each verify test

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-10 12:59:02 +02:00
Markus Rudy
a6b0885f18
dev-docs: set an MTU on the VPN route (#3239) 2024-07-10 10:55:48 +02:00
renovate[bot]
2cf315911d
deps: update Go dependencies (#3242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-10 10:29:58 +02:00
Adrian Stobbe
051cb20b09
ci: fix TF attestation version assertion in integration test (#3237) 2024-07-10 09:56:36 +02:00
Markus Rudy
5d25eded1d
csi: mark mount integration test as flaky (#3240) 2024-07-10 09:11:32 +02:00
Daniel Weiße
391deeae37
ci: reduce max parallel attestationconfig e2e tests back to 1 for stability (#3208)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-10 08:24:32 +02:00
edgelessci
543ba96e59
image: update measurements and image version (#3243)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-10 07:40:24 +02:00
renovate[bot]
8c680ee811
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20240701 (#3227)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-10 06:46:32 +02:00
renovate[bot]
f3ade03a3e
deps: update module google.golang.org/grpc to v1.64.1 [SECURITY] (#3244)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-10 06:44:46 +02:00
renovate[bot]
0d421b905f
deps: update bufbuild/buf to v1.34.0 (#3210)
* deps: update bufbuild/buf to v1.34.0

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-09 21:28:15 +02:00
Adrian Stobbe
f4a3ae7d27
ci: fix IDE setup on mac (#3226) 2024-07-09 09:27:32 +02:00
edgelessci
2de4cdba74
image: update locked rpms (#3235)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-07 21:46:07 +02:00
edgelessci
2a59f2d464
image: update measurements and image version (#3234)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-05 08:38:48 +02:00
Moritz Eckert
5efe2a4c83
docs: update concept graphic (#3233) 2024-07-04 15:40:21 +02:00
Moritz Sanft
9f28c62793
terraform: update StackIT provider to v0.23.0 (#3232) 2024-07-04 11:34:24 +02:00
Moritz Sanft
74e0f44230
chore: v2.17.0 post-release (#3229)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-07-04 11:17:55 +02:00
Daniel Weiße
e9a4ccd009
ci: run versionsapi through Bazel instead of building a container (#3231)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-04 10:02:59 +02:00
Daniel Weiße
20269ab46e
gcp: pass context to metadata functions (#3228)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-03 14:41:29 +02:00
edgelessci
7b6c3a710e
docs: add release v2.17.0 (#3221)
Co-authored-by: msanft <58110325+msanft@users.noreply.github.com>
2024-07-03 14:11:59 +02:00
renovate[bot]
9418535229
deps: update Go dependencies (#3215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2024-07-03 13:59:03 +02:00
Daniel Weiße
9c3cb08f92
deps: bump Go version to v1.22.5 (#3225)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-03 09:49:37 +02:00
Moritz Sanft
c48995f249
ci: only commit measurements if changes are present (#3223)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-07-02 09:12:46 +02:00
Moritz Sanft
7945778d67
ci: fix directory deletion (#3222) 2024-07-01 17:24:44 +02:00
Moritz Sanft
c7027d9ddf
ci: add missing permissions in release workflow (#3220)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-07-01 16:23:53 +02:00
Daniel Weiße
c7e8dfd1e8
deps: remove dependency on helm/v2 (#3219)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-07-01 16:13:36 +02:00
edgelessci
c004e0610d
image: update locked rpms (#3218)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-07-01 08:55:54 +02:00
Daniel Weiße
ca47f3fa02
renovate: allow major version upgrades of GitHub action dependencies (#3217)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-28 16:15:11 +02:00
Markus Rudy
ab94456455
debugd: daemonize logstash containers (#3216)
* debugd: daemonize logstash containers

* fixup! debugd: daemonize logstash containers

remove in-process logging
2024-06-28 14:56:46 +02:00
renovate[bot]
782752080f
deps: update Constellation containers to v2.17.0-pre.0.20240627193502-8aed4bb0fe45 (#3214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-28 08:34:08 +02:00
edgelessci
9445a1af04
image: update measurements and image version (#3213)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-28 08:18:14 +02:00
renovate[bot]
f3641fa106
deps: update dependency bazel_skylib to v1.7.1 (#3211)
* deps: update dependency bazel_skylib to v1.7.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-28 06:45:49 +02:00
Markus Rudy
8aed4bb0fe debugd: provide filebeat with systemd libs (#3205) 2024-06-27 19:35:02 +02:00
Markus Rudy
3b64e654d1 debugd: use runc as podman runtime (#3205) 2024-06-27 19:35:02 +02:00
Moritz Eckert
ca8d11861d
docs: add policy troubleshooting tip (#3212)
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-06-27 16:47:23 +02:00
renovate[bot]
aa52777982
deps: update dependency bazel to v7.2.1 (#3194)
* deps: update dependency bazel to v7.2.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-27 11:42:37 +02:00
renovate[bot]
f1f61ffd51
deps: update ubuntu:22.04 Docker digest to 19478ce (#3187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 10:34:30 +02:00
renovate[bot]
1f70c4e77a
deps: update Go dependencies (#3207)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-27 10:32:17 +02:00
renovate[bot]
bdfb74f6ca
deps: update Terraform dependencies (#3200)
* deps: update Terraform dependencies

* upgrade random provider

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-27 09:14:10 +02:00
Daniel Weiße
d67d0ac9df Enable upload of TDX reports to Constellation CDN
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
Daniel Weiße
9159b60331 Implement support for "latest" placeholders for Azure TDX
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
Daniel Weiße
a34493caa6 Enable versions API to handle TDX versions
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
Daniel Weiße
fbddbc9867 Dont re-marshal fetched objects
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
Daniel Weiße
cd4c90af7e Rename apifetcher methods
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
Daniel Weiße
52a65c20ac Move upload/delete code to its own package
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-27 09:09:13 +02:00
edgelessci
5654e76f7e
image: update measurements and image version (#3204)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-27 08:00:56 +02:00
renovate[bot]
2df105f8dd
deps: update Go dependencies (#3199)
* deps: update Go dependencies

* Bump go.work Go version to v1.22.4

* Bump github.com/hashicorp/go-retryablehttp to v0.7.7 to fix GO-2024-2947

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-06-26 15:40:45 +02:00
3u13r
27946c6f2c
dev-docs: add bare-metal setup (#3126) 2024-06-25 14:23:12 +02:00
Moritz Sanft
50dcfd7905
bootstrapper: remove unnecessary stat (#3202) 2024-06-25 11:51:23 +02:00
Moritz Sanft
dcb8cca268
bootstrapper: remove static pod manifests before cluster init/join 2024-06-25 10:43:23 +02:00
Markus Rudy
3db3db3bf2
operator: fix gRPC dialing over UDS (#3201)
* operator: add test for gRPC connection over UDS
2024-06-25 10:11:57 +02:00
Daniel Weiße
e0c5acf2f3
deps: update k8s replace directive (#3193)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-24 16:04:07 +02:00
renovate[bot]
af3f2bcd42
deps: update GitHub action dependencies (#3198)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 15:19:00 +02:00
renovate[bot]
5f9e970ebd
deps: update Constellation containers to v2.17.0-pre.0.20240619151941-9cd11842442d (#3179)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-24 15:03:21 +02:00
renovate[bot]
1d3eae010f
deps: update rhysd/actionlint to v1.7.1 (#3197)
* deps: update rhysd/actionlint to v1.7.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-24 14:32:00 +02:00
renovate[bot]
c1b6d93fb9
deps: update dependency aspect_bazel_lib to v2.7.8 (#3196)
* deps: update dependency aspect_bazel_lib to v2.7.8

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-24 13:47:50 +02:00
Markus Rudy
9ad9ff4b51
bazel: use released version of gazelle (#3192) 2024-06-24 12:04:31 +02:00
edgelessci
3161adea5f
image: update locked rpms (#3195)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-23 15:00:08 +02:00
renovate[bot]
d8680367b0
deps: update golang Docker tag to v1.22.4 (#3191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-22 10:30:26 +02:00
Daniel Weiße
d3f3697d00
ci: make bazel generate more stable (#3188)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-21 13:22:07 +02:00
renovate[bot]
fcf83318fd
deps: update dependency rules_proto to v6.0.2 (#3190)
* deps: update dependency rules_proto to v6.0.2

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-21 11:04:00 +02:00
Daniel Weiße
09d19fec22
cli: fix constellation verify depending on an initialized constellation-state.yaml file (#3184)
* Ignore missing state file if flags are provided
* Update verify docs to include requirement for config file

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-21 10:09:01 +02:00
renovate[bot]
e71819eb62
deps: update Go dependencies (#3185)
* deps: update Go dependencies
* deps: tidy all modules
* Replace deprecated `grpc.DialContext` with `grpc.NewClient`

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-06-21 10:05:57 +02:00
edgelessci
bd80ab89cb
image: update measurements and image version (#3189)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-21 08:28:27 +02:00
renovate[bot]
c01f735042
deps: update bazel (core) (#3186)
* deps: update bazel (core)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-20 13:49:33 +02:00
renovate[bot]
afd6b35f18
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20240611 (#3180)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-20 13:28:21 +02:00
renovate[bot]
364bc1c9c4
deps: update dependency aspect_bazel_lib to v2.7.7 (#3137)
* deps: update dependency aspect_bazel_lib to v2.7.7

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-20 13:27:48 +02:00
Daniel Weiße
c1e4da3ea1
debugd: reset unit failed status before restarting (#3183)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-20 11:22:37 +02:00
Daniel Weiße
a36e1a79f0
helm: upgrade cert-manager from v1.12.6 to v1.15.0 (#3177)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-20 10:49:00 +02:00
Daniel Weiße
0368047939
helm: update Azure CSI, GCP CSI, and CSI snapshotter charts (#3175)
* Update GCP CSI chart to v1.4.0
* Update Azure CSI chart to v1.4.0
* Update CSI snapshotter from v6.2.2 to v8.0.1

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-20 08:41:46 +02:00
Markus Rudy
6e2af89c01
ci: fix cdbg_deploy error reporting (#3182) 2024-06-20 08:25:30 +02:00
Markus Rudy
c911eb4e3a
versions: default to k8s v1.29, support k8s v1.30, EOL v1.27 (#3173)
* versions: remove k8s 1.27 and patch-upgrade the others

* versions: add support for k8s 1.30.2

* versions: upgrade cloud provider images
2024-06-19 17:34:34 +02:00
Markus Rudy
132d540ac0
ci: fix GCP CCM findvers.sh script (#3178) 2024-06-19 16:26:02 +02:00
renovate[bot]
9cd1184244
deps: update GitHub action dependencies (#3176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-19 15:19:41 +02:00
Markus Rudy
9a295b2c3a
ci: better fence around tidy-check-generate summary (#3174) 2024-06-19 12:19:41 +02:00
edgelessci
1975a10721
image: update measurements and image version (#3172)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-19 08:26:57 +02:00
Daniel Weiße
9d99d05826
cli: fix unmarshalling of sev-snp attestation documents in constellation verify (#3171)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-17 13:38:59 +02:00
edgelessci
e0f52b4acd
image: update locked rpms (#3170)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-16 11:05:20 +02:00
Markus Rudy
429711bf5d
ci: don't assign 3u13r (#3169) 2024-06-14 13:32:10 +02:00
Markus Rudy
566137e7ab
ci: make cdbg deploy errors easier to spot (#3168)
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
2024-06-14 13:31:42 +02:00
edgelessci
63dc0c79af
image: update measurements and image version (#3167)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-14 08:14:39 +02:00
Daniel Weiße
daaa7755a7
cli: enable JSON output for constellation verify on Azure TDX (#3164)
* Remove formatter factory
* Enable `constellation verify` with JSON output for Azure TDX

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-12 13:18:27 +02:00
renovate[bot]
b3fcdc9a22
deps: update module github.com/Azure/azure-sdk-for-go/sdk/azidentity to v1.6.0 [SECURITY] (#3163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-12 08:04:52 +02:00
edgelessci
305bc692e9
image: update measurements and image version (#3162)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-12 08:03:25 +02:00
Daniel Weiße
8b76dd68ca
attetstation: enable Azure TDX CRL checking (#3160)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-12 08:02:47 +02:00
Daniel Weiße
c682558940
debugd: return systemd logs if restarting a unit fails (#3159)
* Wait until logcollection containers are ready
* Add systemd unit journal entries to error message

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-12 08:01:54 +02:00
Markus Rudy
08770a69c4
deps: upgrade to tink-go v2.1.0 (#3054)
* deps: leave notes on why forks are used

* deps: use upstream version of tink-go
2024-06-11 20:15:42 +02:00
renovate[bot]
f8e0ca4bb6
deps: update libvirtd_base Docker digest to 99dbf3c (#3157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-11 17:44:55 +02:00
Markus Rudy
fddad83eb4
helm: upgrade Cilium to v1.15.5-edg.1 (#3149) 2024-06-11 11:53:00 +02:00
Moritz Sanft
3efd50a518
ci: bump origin versions of upgrade tests (#3158) 2024-06-10 14:04:00 +02:00
renovate[bot]
85c4f9be2a
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20240528 (#3143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-09 11:05:02 +02:00
edgelessci
0a3f77e926
image: update locked rpms (#3156)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-09 11:03:17 +02:00
Daniel Weiße
32588339f3
cdbg: better error reporting on deploy failure (#3155)
* Don't report `UPLOAD_FILES_START_FAILED` as unknown error
* Return error to `cdbg` if present

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-07 15:46:37 +02:00
Moritz Sanft
095a66fb83
cli: return a more helpful error message on MAA patch failure (#3153)
* cli: return a more helpful error message on maa patch failure

* Update internal/maa/patch.go

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>

---------

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
2024-06-07 15:18:34 +02:00
Moritz Sanft
7d4e7eff65
docs: adjust MAA updating (#3152)
* docs: adjust MAA updating

* versioned-docs: backport fix
2024-06-07 13:56:10 +02:00
miampf
94cf85c65a
fix: let artifact_upload fail if a bash command errors (#3154) 2024-06-07 13:37:06 +02:00
edgelessci
2c03a16a68
image: update measurements and image version (#3151)
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-07 07:59:55 +02:00
Daniel Weiße
9c2aef88ba
debugd: remove --debug flag from bootstrapper service created by debugd (#3150)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-06 10:25:51 +02:00
Markus Rudy
9a01551f75
ci: don't filter output of govulncheck (#3148) 2024-06-05 16:45:27 +02:00
Markus Rudy
2fbbf02516
bazel: use go_bin_for_host for all scripts (#3147) 2024-06-05 14:35:10 +02:00
Markus Rudy
68035cd90b
rfc: node access (#3051) 2024-06-05 14:07:15 +02:00
Daniel Weiße
d64aba7636
ci: author scheduled PRs using edgelessci account (#3145)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-05 10:41:19 +02:00
Daniel Weiße
39b01f8dac
deps: bump Go version to v1.22.4 (#3146)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-05 10:27:39 +02:00
Moritz Sanft
1989bce0a5
bootstrapper: disable gRPC logging (#3134)
* bootstrapper: disable gRPC logging

* bootstrapper: remove debug flag

* upgrade-agent: remove gRPC logging

Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>

---------

Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-06-05 09:24:08 +02:00
Moritz Sanft
1b7b80673c
image: update measurements and image version (#3144)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-06-05 09:22:32 +02:00
Daniel Weiße
1514351571
ci: update conditions on when to auto assign reviewer (#3141)
* Use the correct value for `github.event.pull_request.requested_reviewers`
* Run the workflow on more events than just labeling a PR
* Skip workflow if there are already reviewers assigned

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-05 08:42:47 +02:00
Markus Rudy
5a100d1fc9
helm: use Cilium chart from fork (#3130) 2024-06-05 07:56:11 +02:00
renovate[bot]
66a5d6a5d3
deps: update dependency rules_proto to v6.0.0.bcr.1 (#3138)
* deps: update dependency rules_proto to v6.0.0.bcr.1

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-06-04 16:54:50 +02:00
Moritz Sanft
5f0ed2b865
flake: pin bazel to 7.1.2 (#3142)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-06-04 16:50:52 +02:00
renovate[bot]
72555e9ba1
deps: update GitHub action dependencies (#3140)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-04 14:50:20 +02:00
Daniel Weiße
66aa8a8d52
ci: adjust performance benchmark to run on different attestation variants (#3129)
* Create perf bench artifacts based on attestation variant, not CSP
* Enable perf bench on gcp-sev-snp, azure-tdx and AWS

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-06-04 13:23:07 +02:00
Moritz Sanft
69048e430e
image: fix podman config path (#3139) 2024-06-04 11:02:59 +02:00
renovate[bot]
929a555de5
deps: update bazel (core) (#3136)
* deps: update bazel (core)

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-06-03 15:35:32 +02:00
renovate[bot]
aa910cfc25
deps: update Kubernetes versions (#3102)
* deps: update Kubernetes versions

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-06-03 15:08:09 +02:00
renovate[bot]
3c3b993c36
deps: update golang:1.22.3 Docker digest to f43c6f0 (#3117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 13:14:52 +02:00
renovate[bot]
93cabbe0b2
deps: update Constellation containers to v2.17.0-pre.0.20240524110423-80917921e3d6 (#3106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-03 13:13:48 +02:00
edgelessci
ce3b00668b
image: update measurements and image version (#3131)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-06-03 08:53:59 +02:00
edgelessci
26e9f988ff
image: update locked rpms (#3133)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-06-02 20:21:45 +02:00
miampf
fbdc8f6e85
ci: clean up failed miniconstellation e2e tests (#3109) 2024-05-31 13:51:55 +02:00
edgelessci
79d3781f3e
image: update measurements and image version (#3128)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-29 08:18:27 +02:00
Daniel Weiße
3834373fd2
ci: disable perf-bench test for gcp-sev-snp (#3127)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-28 16:25:37 +02:00
Felix Schuster
7197a9b719
Rewrite "chain of trust" section (#3066)
Co-authored-by: 3u13r <lc@edgeless.systems>
Co-authored-by: Moritz Eckert <m1gh7ym0@gmail.com>
2024-05-27 18:21:27 +02:00
Moritz Sanft
d14ee6ba1d
helm: update AWS CSI driver chart (#3121) 2024-05-27 16:22:56 +02:00
edgelessci
a2e417f5bb
image: update locked rpms (#3124)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-05-27 08:15:52 +02:00
3u13r
21c30ebb76
metadata-api: support dnsmasq (#3115) 2024-05-24 15:14:16 +02:00
Malte Poll
37e46b98c2 bazel: removed unused WORKSPACE dependency 2024-05-24 11:18:35 +02:00
Malte Poll
f1794eb97d bazel: upgrade aspect_bazel_lib to 2.7.6 2024-05-24 11:18:35 +02:00
Malte Poll
32a8d8ffca bazel: upgrade rules_go to 0.48.0 2024-05-24 11:18:35 +02:00
renovate[bot]
80917921e3
deps: update GitHub action dependencies (#3123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 11:04:23 +02:00
Daniel Weiße
d4ab6a83bc
ci: check for pattern completion instead of file when creating archive (#3120)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-24 08:46:22 +02:00
Malte Poll
bd8466a8c8 misc: remove malt3 from issue assignments 2024-05-24 08:31:59 +02:00
Malte Poll
31653ec2b8 CODEOWNERS: remove malt3 2024-05-24 08:31:59 +02:00
edgelessci
be3f555573
image: update measurements and image version (#3119)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-24 08:08:42 +02:00
Malte Poll
b86faadfcc tidy: document MODULE.bazel.lock maintencance 2024-05-23 09:48:04 +02:00
Malte Poll
162e73de72 bazel: commit bzlmod lockfile
While it does have some quirks before Bazel 7.2, it is still vital for security.
2024-05-23 09:48:04 +02:00
Malte Poll
6533351dd9 bazel: limit concurrency of mkosi_image rule
The mkosi_image rule uses a lot of memory.
In order to allow higher levels of concurrency,
such as `bazel build --jobs 128`, we need to more accurately model the
amount of CPU and memory required.
2024-05-23 09:48:04 +02:00
Malte Poll
1b3b3041d7 renovate: match additional names for Bazel core deps 2024-05-23 09:48:04 +02:00
Malte Poll
8181582450 link-checker: add ignored sites 2024-05-23 09:48:04 +02:00
Malte Poll
f57698ac3f dev-docs: document new location of Go toolchain version 2024-05-23 09:48:04 +02:00
Malte Poll
2c8a16294e bazel: migrate rules_proto to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
d960121cba bazel: update BUILD files for rules_go bzlmod migration 2024-05-23 09:48:04 +02:00
Malte Poll
9e83ba12cd bazel: migrate rules_go and gazelle to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
73e4cf6a78 bazel: migrate buildifier to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
7e5f56f3ba bazel: migrate aspect_bazel_lib to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
fd70709192 bazel: migrate rules_python to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
2ba94f5ba8 bazel: migrate rules_pkg to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
8abac5c2fd bazel: migrate rules_cc to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
d179fae776 bazel: migrate hermetic_cc_toolchain to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
3be4adb7c4 bazel: migrate skylib to bzlmod 2024-05-23 09:48:04 +02:00
Malte Poll
8796edc9ad bazel: enable bzlmod
This change enables bzlmod without migrating any dependencies.
Instead, WORKSPACE dependencies can be migrated one by one.
2024-05-23 09:48:04 +02:00
Daniel Weiße
d0bab9eb08
ci: ignore missing files when creating archive (#3118)
* Reduce output noise from using 7zip
* Ignore non existent files when creating archive

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-23 09:24:15 +02:00
Moritz Sanft
9c100a542c
bootstrapper: prioritize etcd disk I/O (#3114) 2024-05-22 16:12:53 +02:00
Markus Rudy
902b7f49a8
operators: ignore node deletion errors on absence (#3113)
* operators: ignore node deletion errors on absence
2024-05-22 15:51:21 +02:00
edgelessci
71fe73a076
image: update locked rpms (#3111)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-05-20 11:29:16 +02:00
edgelessci
4434a85a51
image: update measurements and image version (#3110)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-17 08:12:51 +02:00
Malte Poll
5fb2a2cb89
dev-docs: document E-Mail to STACKIT on every release (#3108) 2024-05-16 18:23:31 +02:00
Daniel Weiße
036a4f2ee1
deps: remove obsolete Go replace to upgrade go-sev-guest (#3107)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-16 15:48:44 +02:00
renovate[bot]
fe65a6da76 deps: update Constellation containers 2024-05-16 13:11:53 +02:00
Moritz Sanft
5c3a7a5580
image: update to Fedora 40 (#3104)
* deps: upgrade OS to Fedora 40

* image: measure uki sections uname and sbat for systemd >= 254

* deps: update mainline kernel for Fedora 40

* image: update kernel to 6.6.30

* image: update upload docs

---------

Co-authored-by: Malte Poll <1780588+malt3@users.noreply.github.com>
2024-05-16 09:10:09 +02:00
Malte Poll
7eedd0e3de
cli: simplify log message on init call (#3105) 2024-05-15 16:17:12 +02:00
renovate[bot]
36a827056f
deps: update softprops/action-gh-release action to v2 (#3103)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 10:54:37 +02:00
Daniel Weiße
87e112085f
renovate: group all Terraform dependency updates into one PR (#3101)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-15 10:31:20 +02:00
edgelessci
36141b149c
image: update measurements and image version (#3100)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-15 09:36:01 +02:00
renovate[bot]
af64f99bfe
deps: update google-github-actions/auth action to v2.1.3 (#3094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 09:28:58 +02:00
renovate[bot]
ed54277f78
deps: update actions/download-artifact action to v4 (#3096)
* deps: update actions/download-artifact action to v4

* Update slsa generator action to v2

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-05-15 09:26:10 +02:00
renovate[bot]
73d86c25df
deps: update azure/login action to v2 (#3097)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 09:05:50 +02:00
renovate[bot]
d5d5ea857d
deps: update github/codeql-action action to v3 (#3099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 09:05:38 +02:00
renovate[bot]
62baa9bed2
deps: update cachix/install-nix-action action to v26 (#3098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:59:07 +02:00
renovate[bot]
c866e3d670
deps: update actions/checkout action to v4 (#3095)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-15 08:58:56 +02:00
Daniel Weiße
8219005587
terraform: only set confidential_instance_type if cc_technology is SEV_SNP (#3085)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-14 16:02:30 +02:00
Markus Rudy
8e3cf5a270
s3proxy: commit image version on release, too (#3093) 2024-05-14 15:45:06 +02:00
Malte Poll
93fcb51e67 ci: explicitly set bazel test timeout to four hours for e2e tests
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
2024-05-14 13:34:50 +02:00
Thomas Tendyck
547d435aca deps: remove replacement of go-tpm with fork 2024-05-14 10:25:08 +02:00
Markus Rudy
43e6b85026
ci: only assign reviewer to bot PRs (#3091) 2024-05-14 10:02:00 +02:00
Markus Rudy
c0a39eab89
deps: bump stackit terraform provider to 0.17.0 (#3089) 2024-05-14 09:46:40 +02:00
renovate[bot]
93daf811d7
deps: update Go dependencies (#3087)
* deps: update Go dependencies

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-05-14 08:15:57 +02:00
Daniel Weiße
4f1768e660
cloud: hide kubernetes iptables usage behind linux build tag (#3088)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-13 13:22:22 +02:00
renovate[bot]
d76c9ac82d
deps: update GitHub action dependencies (#3086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 10:42:07 +02:00
renovate[bot]
dda426a51e
deps: update ubuntu:22.04 Docker digest to a6d2b38 (#3084)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-13 10:18:56 +02:00
renovate[bot]
10a2bca9f9 deps: update fedora:38 Docker digest to b9ff6f2 2024-05-13 09:37:54 +02:00
Malte Poll
39805a41ba deps: update Bazel 2024-05-13 08:47:15 +02:00
Malte Poll
57ad6f6bc5 deps: update flakes 2024-05-13 08:47:15 +02:00
Malte Poll
cfaba0b1c3 misc: update golangci-lint related changes 2024-05-13 08:47:15 +02:00
Malte Poll
dfeeb788ec deps: update distroless base 2024-05-13 08:47:15 +02:00
Malte Poll
fcf233492e deps: update skylib 2024-05-13 08:47:15 +02:00
Malte Poll
58238f5a0a deps: update rules_nixpkgs 2024-05-13 08:47:15 +02:00
Malte Poll
ccdc87ad74 deps: update bazel_tools 2024-05-13 08:47:15 +02:00
Malte Poll
f67292d0de deps: update hermetic_cc 2024-05-13 08:47:15 +02:00
Malte Poll
5b6f8d838e deps: update rules_go / gazelle 2024-05-13 08:47:15 +02:00
Malte Poll
c540feb209 deps: update CI deps 2024-05-13 08:47:15 +02:00
Malte Poll
e79c74cd97 deps: update buildifier 2024-05-13 08:47:15 +02:00
Malte Poll
9116d2b82a deps: update aspect/bazel-lib 2024-05-13 08:47:15 +02:00
edgelessci
d0bb738607
image: update measurements and image version (#3074)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-13 08:39:52 +02:00
edgelessci
19cf9b7f40
image: update locked rpms (#3080)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-05-12 17:16:47 +02:00
Malte Poll
4fec2dba99 deps: update LTS kernel 6.7.6 -> 6.8.9 2024-05-10 18:27:40 +02:00
Malte Poll
1e8f08e350 deps: update LTS kernel 6.1.79 -> 6.1.90 2024-05-10 18:27:40 +02:00
Malte Poll
03475b60b3
ci: disable BuildBuddy (#3077) 2024-05-10 11:14:45 +02:00
Malte Poll
97e5c437b4
deps: update bazel buildtools (#3075) 2024-05-10 11:10:14 +02:00
renovate[bot]
1ead19e69a
deps: update ghcr.io/edgelesssys/cloud-provider-gcp Docker tag to v29.0.1 (#3073)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-10 09:57:07 +02:00
Markus Rudy
174c3ab48a
terraform: add missing policies for AWS ALB (#3063)
* terraform: add missing policies for AWS ALB
2024-05-10 08:51:32 +02:00
renovate[bot]
fffc9db2b5
deps: update Kubernetes versions (#3072)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-05-09 13:38:01 +02:00
3u13r
0325483504
helm: disable cilium ipmasq agent when in conformance mode (#3062) 2024-05-08 18:51:12 +02:00
Daniel Weiße
9def35ed06
deps: update all Go dependencies (#3071)
* Upgrade Go dependencies

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Group Go dependency upgrades

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Remove usage of deprecated docker types

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Fix usage of invalid validation tags

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Regenerate bazel files

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Keep github.com/bazelbuild/buildtools at old version to not break other dependencies

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-08 17:31:47 +02:00
Malte Poll
1c0c7d6227
ci: disable e2e-attestationconfigapi on PRs (#2937)
This workflow touches shared state by deleting all objects of a bucket and then
uploading a signed blob of data to that S3 bucket under a fixed name.
It also does so multiple times in a row, while invalidating the cloudfront
cache and checking if the uploaded object exists.
All runs of this workflow share the same bucket.
Since this pipeline runs on any modification of go.mod, it is very prone
to race condition between PRs (or PRs and main).
2024-05-08 14:59:03 +02:00
renovate[bot]
adf03ad76c
deps: update GitHub action dependencies (#3070)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-08 14:33:35 +02:00
Daniel Weiße
86c45d1d5f
deps: update to Go 1.22.3 (#3069)
* Update renovate syntax
* Update to Go 1.22.3

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-08 11:34:31 +02:00
Daniel Weiße
a15cf54477
ci: use 7zip for creating archives (#3068)
* Use 7zip for creating and processing encrypted archives
* Switch to .7z file extension
* Fix shell check issues
* Fix tfstate update logic

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-08 10:34:10 +02:00
Daniel Weiße
edc0c7068e
ci: fix delete artifact conditional (#3067)
* Fix state exists check
* Dont fail if folder to remove does not exist

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-07 08:48:38 +02:00
Thomas Tendyck
012937740f
Update action.yml 2024-05-07 01:52:35 +02:00
3u13r
ecebd607c5
terraform: Allow nodes to join the cluster when using a jump host by removing the constellation-uid tag (#3064)
* terraform: remove constellation-uid tag from jump-host
2024-05-06 12:25:52 +02:00
edgelessci
3241e5a126
image: update locked rpms (#3065)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-05-05 17:25:51 +02:00
miampf
bd26cb592d
ci: correctly clean up failed windows e2e tests (#3059) 2024-05-03 10:54:08 +00:00
Daniel Weiße
f6999084c9
terraform: set empty default value for additional_tags (#3052)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-03 10:27:46 +02:00
Daniel Weiße
47fbbd42a9
Fix tool not generating measurements for gcp-sev-snp (#3061)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-03 09:52:57 +02:00
edgelessci
96b71b0205
image: update measurements and image version (#3060)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-03 09:28:57 +02:00
Daniel Weiße
35bd805bec
ci: enable gcp-sev-snp for daily tests (#3058)
* Run gcp-sev-snp debug e2e test in daily
* Fix verify e2e test not creating json file for gcp-sev-snp

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-03 08:18:21 +02:00
Daniel Weiße
259e85d9c1
ci: reduce noise from warnings (#3055)
* Fix whitespace errors
* Remove usage of external action to URI encode component
* Upgrade Azure login action to v2.1
* Remove GitHub actions warning when running e2e test with NOP payload
* Only try to upload updated tf state if it exists
* Upgrade out of date aws credential actions

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-05-03 08:17:40 +02:00
edgelessci
3d2a023ccf
image: update measurements and image version (#3057)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-05-02 08:20:51 +02:00
Felix Schuster
7d46d0f7d6
Small changes in docs/README (#3050)
* Change concept image

* Add sentence to "first steps"
2024-04-30 16:01:56 +02:00
Moritz Sanft
002c6fa5a4
snp: don't print warning if no ASK is present (#3048)
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
2024-04-29 14:38:34 +02:00
renovate[bot]
c1740b17d9
deps: update ghcr.io/edgelesssys/gcp-guest-agent Docker tag to v20240314 (#3042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-29 11:01:21 +02:00
Markus Rudy
9101417ef8
dev-docs: howto generate kubeconfigs (#3047) 2024-04-26 14:58:38 +02:00
Malte Poll
5ec1b1f488
deps: upgrade terraform provider stackit to 0.16.0 (#3046) 2024-04-26 14:02:35 +02:00
miampf
0c0d87aa4c
ci: Delete e2e terraform state (#2874) 2024-04-26 10:06:01 +00:00
Daniel Weiße
46994b7ee0
terraform: simplify additional tagging logic to ensure they are always applied (#3045)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-26 11:53:25 +02:00
Daniel Weiße
680d3318af
ci: ensure --tags flag is only set if the CLI supports it (#3044)
* Use github.run_id to correctly tag resources with the run id
* Ensure `--tags` flag is only set if CLI supports it

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-26 09:34:21 +02:00
edgelessci
0df26c0e9b
image: update measurements and image version (#3043)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-26 08:05:44 +02:00
renovate[bot]
3ea0e3a487
deps: update K8s constrained AWS versions (#2938)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-04-25 15:49:50 +02:00
renovate[bot]
0f6491f3c7
deps: update K8s constrained Azure versions (#2941)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-04-25 15:48:46 +02:00
renovate[bot]
f00890ab1e
deps: update module k8s.io/kubernetes to v1.29.4 [SECURITY] (#3039)
Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-04-25 14:03:24 +02:00
miampf
3f7a4e4313
ci: tag resources created by e2e tests with the run name (#3035) 2024-04-25 12:02:23 +00:00
edgelessci
591aba99fd
image: update measurements and image version (#3040)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-24 08:16:45 +02:00
Daniel Weiße
056f991f58
ci: add missing permission for e2e-windows test in weekly run (#3037)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-22 15:21:56 +02:00
Daniel Weiße
4635a6c8b1
attestation: dont set a default for TDX MRSEAM (#3038)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-22 14:07:24 +02:00
edgelessci
a7451fbe1c
image: update locked rpms (#3036)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-04-22 09:39:09 +02:00
miampf
b187966581
cli: allow tagging cloud resources with custom tags (#3033) 2024-04-19 09:07:57 +00:00
edgelessci
f60c133724
image: update measurements and image version (#3034)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-19 08:30:06 +02:00
Markus Rudy
9b52ec403b
deps: auto-assign reviewer for deps PRs (#3032)
* deps: auto-assign reviewer for deps PRs

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
2024-04-17 20:38:32 +02:00
Moritz Sanft
35e19a45bb
ci: disable SEV-SNP tests that need stable images (#3031) 2024-04-17 09:12:52 +02:00
edgelessci
ea17af3dcc
image: update measurements and image version (#3030)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-17 08:18:39 +02:00
Moritz Sanft
913b09aeb8
Support SEV-SNP on GCP (#3011)
* terraform: enable creation of SEV-SNP VMs on GCP

* variant: add SEV-SNP attestation variant

* config: add SEV-SNP config options for GCP

* measurements: add GCP SEV-SNP measurements

* gcp: separate package for SEV-ES

* attestation: add GCP SEV-SNP attestation logic

* gcp: factor out common logic

* choose: add GCP SEV-SNP

* cli: add TF variable passthrough for GCP SEV-SNP variables

* cli: support GCP SEV-SNP for `constellation verify`

* Adjust usage of GCP SEV-SNP throughout codebase

* ci: add GCP SEV-SNP

* terraform-provider: support GCP SEV-SNP

* docs: add GCP SEV-SNP reference

* linter fixes

* gcp: only run test with TPM simulator

* gcp: remove nonsense test

* Update cli/internal/cmd/verify.go

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>

* Update docs/docs/overview/clouds.md

Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>

* Update terraform-provider-constellation/internal/provider/attestation_data_source_test.go

Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>

* linter fixes

* terraform_provider: correctly pass down CC technology

* config: mark attestationconfigapi as unimplemented

* gcp: fix comments and typos

* snp: use nonce and PK hash in SNP report

* snp: ensure we never use ARK supplied by Issuer (#3025)

* Make sure SNP ARK is always loaded from config, or fetched from AMD KDS
* GCP: Set validator `reportData` correctly

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>

* attestationconfigapi: add GCP to uploading

* snp: use correct cert

Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>

* terraform-provider: enable fetching of attestation config values for GCP SEV-SNP

* linter fixes

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Signed-off-by: Moritz Sanft <58110325+msanft@users.noreply.github.com>
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
Co-authored-by: Adrian Stobbe <stobbe.adrian@gmail.com>
2024-04-16 18:13:47 +02:00
Daniel Weiße
485ebb151e
kubecmd: retry any k8s errors in CLI and Terraform (#3028)
* Retry any k8s errors in CLI and Terraform
* Use structured logging in `kubecmd` package

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-16 15:12:42 +02:00
Markus Rudy
f189aa186f
dev-docs: document security advisory process (#3024)
* dev-docs: document security advisory process
2024-04-15 11:49:23 +02:00
edgelessci
456279c896
image: update locked rpms (#3026)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-04-15 07:44:24 +02:00
edgelessci
41e4f144ed
image: update measurements and image version (#3023)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-12 08:24:28 +02:00
davidweisse
e89d8e4d72
ci: add error handling to e2e windows liveness probe (#3018)
* workflows: add error handling to e2e windows liveness probe

* update retry condition in last iteration

* Update liveness probe to check for correct number of nodes

* ci: fix Windows e2e test not pushing required container images (#3021)

* More output when waiting for nodes to get ready
* Create unique resource group name for Windows e2e test
* Push container images on windows CLI build to fix e2e test

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

* Fix resource group naming

Signed-off-by: Daniel Weiße <dw@edgeless.systems>

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
Co-authored-by: Daniel Weiße <66256922+daniel-weisse@users.noreply.github.com>
Co-authored-by: Daniel Weiße <dw@edgeless.systems>
2024-04-11 11:27:12 +02:00
Markus Rudy
f6dfea2a79
helm: unbreak helm test after Cilium version bump (#3022) 2024-04-11 09:38:15 +02:00
Markus Rudy
550798279a
Merge pull request from GHSA-g8fc-vrcg-8vjg
* helm: firewall pods

* helm: bump cilium chart version

---------

Co-authored-by: Leonard Cohnen <lc@edgeless.systems>
2024-04-10 13:48:32 +02:00
Daniel Weiße
6e31223ff9
ci: suppress license check on windows e2e (#3020)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-10 10:51:09 +02:00
edgelessci
7bdd4c2449
image: update measurements and image version (#3019)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-10 08:25:16 +02:00
Daniel Weiße
cddbba1898
ci: bump fromVersion for e2e tests to v2.16.2 (#3016)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-08 11:13:44 +02:00
Moritz Eckert
c3eae84fbb
docs: update images with inter font (#2995) 2024-04-08 07:28:01 +02:00
edgelessci
2c70867bc2
image: update locked rpms (#3017)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-04-07 10:30:01 +02:00
Daniel Weiße
a2737e8f61
ci: bump slsa-verifier to v2.5.1 (#3015)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-05 21:00:33 +02:00
edgelessci
249148abe2
image: update measurements and image version (#3013)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-05 15:23:44 +02:00
Daniel Weiße
408eb31422
ci: fix slsa generator action by updating to new version (#3014)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-04-05 14:29:52 +02:00
Malte Poll
2a226fd8e9
deps: update Go toolchain to 1.22.2 (#3010)
* deps: update Go toolchain to 1.22.2
* deps: update vulnerable dependencies (govulncheck)
2024-04-05 12:14:48 +02:00
Moritz Sanft
b38a8f4d49
rfc: remove broken link (#3012) 2024-04-05 11:42:36 +02:00
miampf
840f460bac
logging: unify debug log message format (#2997) 2024-04-03 13:49:03 +00:00
Malte Poll
24c346c657
bazel: patch Go SDK to increase tls maxHandshake size (#3009) 2024-04-03 14:08:45 +02:00
edgelessci
638a94c7c6
image: update measurements and image version (#3008)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-03 08:28:45 +02:00
Thomas Tendyck
d8d2cd48c1 ci: disable license check for minicon e2e 2024-04-02 17:21:22 +02:00
Malte Poll
93441fe1ee
terraform: update terraform provider STACKIT (#3007) 2024-04-02 17:17:17 +02:00
edgelessci
3ebf66554f
image: update locked rpms (#3005)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-04-02 09:23:39 +02:00
edgelessci
d6ac1967c5
image: update measurements and image version (#3004)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-04-02 08:44:25 +02:00
miampf
febe8f0801
ci: add a delete artifact action (#2999) 2024-03-25 13:36:09 +00:00
renovate[bot]
4ca9db156b
deps: update module github.com/docker/docker to v25.0.5+incompatible [SECURITY] (#2998)
* deps: update module github.com/docker/docker to v25.0.5+incompatible [SECURITY]

* deps: tidy all modules

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: edgelessci <edgelessci@users.noreply.github.com>
2024-03-25 09:35:56 +01:00
edgelessci
367b278002
image: update measurements and image version (#3000)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-25 08:19:58 +01:00
edgelessci
309bc83831
image: update locked rpms (#3002)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-03-24 19:59:45 +01:00
Thomas Tendyck
b97f2b905a
ci: fix unwanted license checks for some e2e test configs (#3001)
* ci: fix unwanted license checks for some e2e test configs

* fixup! ci: fix unwanted
2024-03-22 20:45:45 +01:00
edgelessci
89f311dac1
image: update measurements and image version (#2996)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-20 08:35:26 +01:00
Daniel Weiße
0da6f0d014
ci: fix pvc clean-up on non deletable namespaces (#2994)
* Only delete namespace if its deletable
  * For "default" namespace, delete all resources in that namespace
  * For "kube-system" namespace, delete all PVCs in that namespace
* Don't abort terminate action if PVC deletion fails

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-19 14:53:58 +01:00
Daniel Weiße
dc86a30988
provider: Add build tag for Terraform provider (#2992)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-18 14:30:56 +01:00
edgelessci
6a2dffc379
image: update locked rpms (#2991)
Co-authored-by: malt3 <1780588+malt3@users.noreply.github.com>
2024-03-18 09:44:44 +01:00
Markus Rudy
1a10cf645d
ci: query identity directly instead of searching in list (#2985)
* ci: add debug information when UAMI is missing

* ci: query identity directly instead of searching in list
2024-03-18 08:40:15 +01:00
3u13r
0b13c5bca9
operator: escape dots in url (#2990) 2024-03-15 22:44:10 +01:00
Moritz Eckert
c40e1a9bbd
docs: change to inter font (#2989) 2024-03-15 15:38:34 +01:00
Thomas Tendyck
9e3d605cf2
Add STACKIT to readme (#2988)
* Add STACKIT to readme

and sort CSPs alphabetically in sentences

* fix links
2024-03-15 11:53:13 +01:00
Moritz Eckert
912575eb31
docs: order csp strictly alphabetically (#2986) 2024-03-15 10:13:57 +01:00
edgelessci
e0bbb447a9
image: update measurements and image version (#2987)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-15 07:54:20 +01:00
Markus Rudy
54af083da3
helm: retry uninstall manually if atomic install failed (#2984) 2024-03-14 10:52:11 +01:00
Adrian Stobbe
1334b84c2e
Update docs (#2982)
Co-authored-by: Thomas Tendyck <51411342+thomasten@users.noreply.github.com>
2024-03-13 14:09:51 +01:00
Markus Rudy
85b44f7f57
ci: make waiting for nodes more robust (#2981)
* ci: make waiting for nodes more robust

After initializing the cluster, a lot of things happen in parallel and
are potentially getting in each others' way: nodes are joining,
daemonsets are proliferating, the network is being set up. During this
period, it's not unusual that the Kubernetes API server is unavailable
for a short time, e.g. due to etcd loosing quorum or load balancing
changes.

This period of instability has the potential to affect all kubectl
commands negatively, leading to problems especially for tests, where
command failures often lead to test failures. On the other hand, we'd
expect everything to be quite stable after the initial dust settles.

Therefore, this commit changes how we wait after initializing a cluster.
Until we have a reasonable expectation of readiness, we ignore command
failures and wait for things to stabilize. The cluster is considered
stable once all configured nodes and all API servers report ready.
2024-03-13 09:42:18 +01:00
edgelessci
3b8fa95648
image: update measurements and image version (#2983)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-13 09:08:44 +01:00
Daniel Weiße
1077b7a48e
bootstrapper: wipe disk and reboot on non-recoverable error (#2971)
* Let JoinClient return fatal errors
* Mark disk for wiping if JoinClient or InitServer return errors
* Reboot system if bootstrapper detects an error
* Refactor joinClient start/stop implementation
* Fix joining nodes retrying kubeadm 3 times in all cases
* Write non-recoverable failures to syslog before rebooting

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-12 11:43:38 +01:00
Malte Poll
1b973bf23f
docs: remove steps for STACKIT credentials in config (#2980)
The OpenStack credentials (username and password) can now be retrieved
from the "clouds.yaml" by the Constellation CLI and terraform code.
This simplifies the configuration for end-users.
2024-03-12 07:27:45 +01:00
Malte Poll
25624e91e8
docs: add runtime measurement table for Constellation v2.16 (#2979) 2024-03-12 07:27:26 +01:00
Malte Poll
35260a4455 docs: document OpenStack related config files on Windows 2024-03-11 16:43:36 +01:00
Malte Poll
353b02c17c docs: document STACKIT CC features
Co-Authored-By: Moritz Eckert <m1gh7ym0@gmail.com>
2024-03-11 16:43:36 +01:00
Malte Poll
63b9761962 docs: explain recovery steps on STACKIT 2024-03-11 16:43:36 +01:00
Malte Poll
220f292181 docs: mention all zones where STACKIT instances are available 2024-03-11 16:43:36 +01:00
Malte Poll
addcfaaaf4 terraform: ignore changes of OpenStack instance image 2024-03-11 16:43:36 +01:00
Malte Poll
923a41ba01 openstack: move credentials to instance user data 2024-03-11 16:43:36 +01:00
Malte Poll
7fb2a357d9 docs: add STACKIT to the terraform provider page 2024-03-11 15:59:23 +01:00
Malte Poll
c23f17de41 openstack: read credentials from clouds.yaml 2024-03-11 15:59:23 +01:00
Malte Poll
d69673fab7 terraform-provider: Add support for STACKIT / OpenStack 2024-03-11 15:59:23 +01:00
Malte Poll
1670d977c6 openstack: vendor clouds.yaml Go type definitions from gophercloud v2 beta 2024-03-11 15:59:23 +01:00
Malte Poll
6ddabd025d openstack: rename client type 2024-03-11 15:59:23 +01:00
malt3
9c5f231f4a image: update locked rpms 2024-03-11 09:35:10 +01:00
Daniel Weiße
27330490f3
cli: retry auth handshake deadline exceeded errors in CLI and Terraform (#2976)
Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-08 13:15:06 +01:00
Malte Poll
52e4e64316 docs: add installation instructions for the Windows CLI variant 2024-03-08 10:45:36 +01:00
edgelessci
483c888a3c
image: update measurements and image version (#2975)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-08 08:40:29 +01:00
Malte Poll
108784c580 openstack: improve error message on IMDS failures 2024-03-07 11:47:51 +01:00
Malte Poll
7f262d18a8 imagefetcher: allow any marketplace image for OpenStack 2024-03-07 11:47:51 +01:00
Malte Poll
56460f0d63 image: special case OpenStack serial console to include ttyS1 2024-03-07 11:47:51 +01:00
Malte Poll
f94b00fe7c disk-mapper: write failure message to syslog and sleep before reboot 2024-03-07 11:47:51 +01:00
Malte Poll
5e241bcb45 deps: update Go to v1.22.1 2024-03-06 14:50:01 +01:00
Malte Poll
281c7c320c deps: update protobuf to v1.33.0 2024-03-06 14:50:01 +01:00
Markus Rudy
03fbcafe68
bootstrapper: bounded retry of k8s join (#2968) 2024-03-05 09:14:01 +01:00
Malte Poll
8b41bcaecc cli: correct measurements in config generate stackit 2024-03-04 18:17:26 +01:00
Malte Poll
f94c6ca0d4 misc: skip message about community license with marketplace image 2024-03-04 18:17:26 +01:00
Malte Poll
1c8a7e4c22 cli: add STACKIT to constellation config instance-types 2024-03-04 18:17:26 +01:00
Daniel Weiße
d5b3d4fd6f
ci: use collision resistant name for Terraform e2e test (#2967)
* Use collision resistant name for Terraform e2e test
* Remove test suffix from Terraform provider examples

---------

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
2024-03-04 13:48:30 +01:00
malt3
06da526fe0 image: update locked rpms 2024-03-04 10:23:14 +01:00
Malte Poll
fc08e50605
docs: update STACKIT flavors (#2964) 2024-03-01 10:59:06 +01:00
edgelessci
d8a8d9b6b9
image: update measurements and image version (#2963)
Co-authored-by: katexochen <49727155+katexochen@users.noreply.github.com>
2024-03-01 08:31:34 +01:00
Malte Poll
c513c3f40c ci: v2.16 post-release cleanup 2024-02-29 18:36:07 +01:00
malt3
c4f27f62ee docs: add release v2.16.0 2024-02-29 17:22:19 +01:00
1736 changed files with 110581 additions and 30028 deletions

View File

@ -1,9 +1,3 @@
# Sadly, some Bazel rules we depend on have no support for bzlmod yet
# Here is an (incomplete) list of rules known to not support bzlmod.
# Please extend this list as you find more.
# - rules_nixpkgs: https://github.com/tweag/rules_nixpkgs/issues/181
common --noenable_bzlmod
# Import bazelrc presets
import %workspace%/bazel/bazelrc/bazel7.bazelrc
import %workspace%/bazel/bazelrc/convenience.bazelrc
@ -54,15 +48,6 @@ common --crosstool_top=@local_config_cc//:toolchain
# bazel config to explicitly disable stamping (hide version information at build time)
common:nostamp --nostamp --workspace_status_command=
# bazel config to use (buildbuddy) remote cache
common:remote_cache --bes_results_url=https://app.buildbuddy.io/invocation/
common:remote_cache --bes_backend=grpcs://remote.buildbuddy.io
common:remote_cache --remote_cache=grpcs://remote.buildbuddy.io
common:remote_cache --remote_timeout=3600
common:remote_cache --experimental_remote_build_event_upload=minimal
common:remote_cache --nolegacy_important_outputs
common:remote_cache_readonly --noremote_upload_local_results # Uploads logs & artifacts without writing to cache
common:build_barn_rbe_ubuntu_22_04 --remote_timeout=3600
common:build_barn_rbe_ubuntu_22_04 --remote_executor=grpc://frontend.buildbarn:8980 # this maps to the kubernetes internal buildbarn/frontend service
common:build_barn_rbe_ubuntu_22_04 --extra_execution_platforms=//bazel/rbe:ubuntu-act-22-04-platform

View File

@ -1 +1 @@
7.0.0
7.6.0

View File

@ -0,0 +1,17 @@
name: Delete artifact
description: Delete an artifact by name
inputs:
name:
description: 'The name of the artifact.'
required: true
workflowID:
description: 'The ID of the workflow.'
required: true
runs:
using: "composite"
steps:
- name: Delete artifact
shell: bash
run: ./.github/actions/artifact_delete/delete_artifact.sh ${{ inputs.workflowID }} ${{ inputs.name }}

View File

@ -0,0 +1,37 @@
#!/usr/bin/env bash
# get_artifact_id retrieves the artifact id of
# an artifact that was generated by a workflow.
# $1 should be the workflow run id. $2 should be the artifact name.
function get_artifact_id {
artifact_id="$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
--paginate \
"/repos/edgelesssys/constellation/actions/runs/$1/artifacts" --jq ".artifacts |= map(select(.name==\"$2\")) | .artifacts[0].id" || exit 1)"
echo "$artifact_id" | tr -d "\n"
}
# delete_artifact_by_id deletes an artifact by its artifact id.
# $1 should be the id of the artifact.
function delete_artifact_by_id {
gh api \
--method DELETE \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/edgelesssys/constellation/actions/artifacts/$1" || exit 1
}
workflow_id="$1"
artifact_name="$2"
if [[ -z $workflow_id ]] || [[ -z $artifact_name ]]; then
echo "Usage: delete_artifact.sh <WORKFLOW_ID> <ARTIFACT_NAME>"
exit 1
fi
echo "[*] retrieving artifact ID"
artifact_id="$(get_artifact_id "$workflow_id" "$artifact_name")"
echo "[*] deleting artifact with ID $artifact_id"
delete_artifact_by_id "$artifact_id"

View File

@ -16,11 +16,11 @@ inputs:
runs:
using: "composite"
steps:
- name: Install unzip
- name: Install 7zip
uses: ./.github/actions/setup_bazel_nix
with:
nixTools: |
unzip
_7zz
- name: Create temporary directory
id: tempdir
@ -28,7 +28,7 @@ runs:
run: echo "directory=$(mktemp -d)" >> "$GITHUB_OUTPUT"
- name: Download the artifact
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: ${{ inputs.name }}
path: ${{ steps.tempdir.outputs.directory }}
@ -37,4 +37,4 @@ runs:
shell: bash
run: |
mkdir -p ${{ inputs.path }}
unzip -P '${{ inputs.encryptionSecret }}' -qq -d ${{ inputs.path }} ${{ steps.tempdir.outputs.directory }}/archive.zip
7zz x -p'${{ inputs.encryptionSecret }}' -bso0 -bsp0 -t7z -o"${{ inputs.path }}" ${{ steps.tempdir.outputs.directory }}/archive.7z

View File

@ -14,15 +14,19 @@ inputs:
encryptionSecret:
description: 'The secret to use for encrypting the files.'
required: true
overwrite:
description: 'Overwrite an artifact with the same name.'
default: false
required: false
runs:
using: "composite"
steps:
- name: Install zip
- name: Install 7zip
uses: ./.github/actions/setup_bazel_nix
with:
nixTools: |
zip
_7zz
- name: Create temporary directory
id: tempdir
@ -32,11 +36,10 @@ runs:
- name: Create archive
shell: bash
run: |
set -euo pipefail
shopt -s extglob
paths="${{ inputs.path }}"
paths=${paths%$'\n'} # Remove trailing newline
# Check if any file matches the given pattern(s).
something_exists=false
for pattern in ${paths}
@ -57,15 +60,19 @@ runs:
for target in ${paths}
do
pushd "$(dirname "${target}")" || exit 1
zip -e -P '${{ inputs.encryptionSecret }}' -r "${{ steps.tempdir.outputs.directory }}/archive.zip" "$(basename "${target}")"
popd || exit 1
if compgen -G "${target}" > /dev/null
then
pushd "$(dirname "${target}")"
7zz a -p'${{ inputs.encryptionSecret }}' -bso0 -bsp0 -t7z -ms=on -mhe=on "${{ steps.tempdir.outputs.directory }}/archive.7z" "$(basename "${target}")"
popd
fi
done
- name: Upload archive as artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ inputs.name }}
path: ${{ steps.tempdir.outputs.directory }}/archive.zip
path: ${{ steps.tempdir.outputs.directory }}/archive.7z
retention-days: ${{ inputs.retention-days }}
if-no-files-found: ignore
overwrite: ${{ inputs.overwrite }}

View File

@ -79,7 +79,7 @@ runs:
# once it has the functionality
- name: Install Cosign
if: inputs.cosignPublicKey != '' && inputs.cosignPrivateKey != '' && inputs.cosignPassword != ''
uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 # v3.4.0
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
- name: Install Rekor
if: inputs.cosignPublicKey != '' && inputs.cosignPrivateKey != '' && inputs.cosignPassword != ''

View File

@ -42,7 +42,7 @@ runs:
- name: Docker metadata
id: meta
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
ghcr.io/${{ github.repository }}/${{ inputs.name }}
@ -62,7 +62,7 @@ runs:
- name: Build and push container image
id: build-micro-service
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
context: .
file: ${{ inputs.dockerfile }}

View File

@ -40,8 +40,15 @@ runs:
if: inputs.cloudProvider == 'azure'
shell: bash
run: |
UAMI=$(yq eval ".provider.azure.userAssignedIdentity | upcase" constellation-conf.yaml)
PRINCIPAL_ID=$(az identity list | yq ".[] | select(.id | test(\"(?i)$UAMI\"; \"g\")) | .principalId")
UAMI=$(yq eval ".provider.azure.userAssignedIdentity" constellation-conf.yaml)
PRINCIPAL_ID=$(az identity show --ids "$UAMI" | yq ".principalId")
if [ -z "$PRINCIPAL_ID" ]; then
echo "::error::PRINCIPAL_ID for \"$UAMI\" not found"
echo "::group::Available identities"
az identity list | yq ".[].id"
echo "::endgroup::"
exit 1
fi
az role assignment create --role "Key Vault Secrets User" \
--assignee "$PRINCIPAL_ID" \
--scope /subscriptions/0d202bbb-4fa7-4af8-8125-58c269a05435/resourceGroups/e2e-test-creds/providers/Microsoft.KeyVault/vaults/opensearch-creds
@ -54,7 +61,7 @@ runs:
- name: Login to AWS (IAM service principal)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2EIAM
aws-region: eu-central-1
@ -73,7 +80,7 @@ runs:
- name: Login to AWS (Cluster service principal)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2ECluster
aws-region: eu-central-1
@ -84,6 +91,11 @@ runs:
shell: bash
run: |
echo "::group::cdbg deploy"
on_error() {
echo "::error::cdbg deploy failed"
}
trap on_error ERR
chmod +x $GITHUB_WORKSPACE/build/cdbg
cdbg deploy \
--bootstrapper "${{ github.workspace }}/build/bootstrapper" \

View File

@ -0,0 +1,64 @@
name: Check measurements reproducibility
description: Check if the measurements of a given release are reproducible.
inputs:
version:
type: string
description: The version of the measurements that are downloaded from the CDN.
required: true
ref:
type: string
description: The git ref to check out. You probably want this to be the tag of the release you are testing.
required: true
runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref }}
path: ./release
- name: Set up bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "false"
nixTools: |
systemdUkify
jq
jd-diff-patch
moreutils
- name: Allow unrestricted user namespaces
shell: bash
run: |
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_unconfined=0
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_userns=0
- name: Build images
id: build-images
shell: bash
run: |
set -euo pipefail
# Build required binaries
pushd release
bazel build //image/system:stable
echo "buildPath=$PWD/bazel-bin/image" | tee -a "$GITHUB_OUTPUT"
popd
- name: Download measurements
shell: bash
run: |
curl -fsLO https://cdn.confidential.cloud/constellation/v2/ref/-/stream/stable/${{ inputs.version }}/image/measurements.json
- name: Cleanup release measurements and generate our own
shell: bash
run: |
${{ github.action_path }}/create_measurements.sh "${{ steps.build-images.outputs.buildPath }}"
- name: Compare measurements
shell: bash
run: |
${{ github.action_path }}/compare_measurements.sh "${{ steps.build-images.outputs.buildPath }}"

View File

@ -0,0 +1,31 @@
#!/usr/bin/env bash
# no -e since we need to collect errors later
# no -u since it interferes with checking associative arrays
set -o pipefail
shopt -s extglob
declare -A errors
for directory in "$1"/system/!(mkosi_wrapper.sh); do
dirname="$(basename "$directory")"
attestationVariant="$(echo "$dirname" | cut -d_ -f2)"
echo "Their measurements for $attestationVariant:"
ts " " < "$attestationVariant"_their-measurements.json
echo "Own measurements for $attestationVariant:"
ts " " < "$attestationVariant"_own-measurements.json
diff="$(jd ./"$attestationVariant"_their-measurements.json ./"$attestationVariant"_own-measurements.json)"
if [[ -n $diff ]]; then
errors["$attestationVariant"]="$diff"
fi
done
for attestationVariant in "${!errors[@]}"; do
echo "Failed to reproduce measurements for $attestationVariant:"
echo "${errors["$attestationVariant"]}" | ts " "
done
if [[ ${#errors[@]} -ne 0 ]]; then
exit 1
fi

View File

@ -0,0 +1,28 @@
#!/usr/bin/env bash
set -euo pipefail
shopt -s extglob
for directory in "$1"/system/!(mkosi_wrapper.sh); do
dirname="$(basename "$directory")"
csp="$(echo "$dirname" | cut -d_ -f1)"
attestationVariant="$(echo "$dirname" | cut -d_ -f2)"
# This jq filter selects the measurements for the correct CSP and attestation variant
# and then removes all `warnOnly: true` measurements.
jq --arg attestation_variant "$attestationVariant" --arg csp "$csp" \
'
.list.[]
| select(
.attestationVariant == $attestation_variant
and (.csp | ascii_downcase) == $csp
)
| .measurements
| to_entries
| map(select(.value.warnOnly | not))
| from_entries
| del(.[] .warnOnly)
' \
measurements.json > "$attestationVariant"_their-measurements.json
bazel run --run_under "sudo --preserve-env" //image/measured-boot/cmd -- "$directory/constellation" /dev/stdout | jq '.measurements' > ./"$attestationVariant"_own-measurements.json
done

View File

@ -192,6 +192,13 @@ runs:
run: |
echo "flag=--force" | tee -a $GITHUB_OUTPUT
- name: Set conformance flag
id: set-conformance-flag
if: inputs.test == 'sonobuoy conformance'
shell: bash
run: |
echo "flag=--conformance" | tee -a $GITHUB_OUTPUT
- name: Constellation apply (Terraform)
id: constellation-apply-terraform
if: inputs.clusterCreation == 'terraform'
@ -204,7 +211,7 @@ runs:
if: inputs.clusterCreation != 'terraform'
shell: bash
run: |
constellation apply --skip-phases=infrastructure --debug ${{ steps.set-force-flag.outputs.flag }}
constellation apply --skip-phases=infrastructure --debug ${{ steps.set-force-flag.outputs.flag }} ${{ steps.set-conformance-flag.outputs.flag }}
- name: Get kubeconfig
id: get-kubeconfig
@ -217,31 +224,9 @@ runs:
env:
KUBECONFIG: "${{ steps.get-kubeconfig.outputs.KUBECONFIG }}"
JOINTIMEOUT: "1200" # 20 minutes timeout for all nodes to join
run: |
echo "::group::Wait for nodes"
NODES_COUNT=$((${{ inputs.controlNodesCount }} + ${{ inputs.workerNodesCount }}))
JOINWAIT=0
until [[ "$(kubectl get nodes -o json | jq '.items | length')" == "${NODES_COUNT}" ]] || [[ $JOINWAIT -gt $JOINTIMEOUT ]];
do
echo "$(kubectl get nodes -o json | jq '.items | length')/"${NODES_COUNT}" nodes have joined.. waiting.."
JOINWAIT=$((JOINWAIT+30))
sleep 30
done
if [[ $JOINWAIT -gt $JOINTIMEOUT ]]; then
kubectl get nodes -o wide
echo "::error::Timed out waiting for nodes to join"
echo "::endgroup::"
exit 1
fi
echo "$(kubectl get nodes -o json | jq '.items | length')/"${NODES_COUNT}" nodes have joined"
if ! kubectl wait --for=condition=ready --all nodes --timeout=20m; then
kubectl get pods -n kube-system
kubectl get events -n kube-system
echo "::error::kubectl wait timed out before all nodes became ready"
echo "::endgroup::"
exit 1
fi
echo "::endgroup::"
CONTROL_NODES_COUNT: "${{ inputs.controlNodesCount }}"
WORKER_NODES_COUNT: "${{ inputs.workerNodesCount }}"
run: ./.github/actions/constellation_create/wait-for-nodes.sh
- name: Download boot logs
if: always()
@ -272,9 +257,9 @@ runs:
continue-on-error: true
uses: ./.github/actions/artifact_upload
with:
name: serial-logs-${{ inputs.artifactNameSuffix }}
path: >
!(terraform).log
name: debug-logs-${{ inputs.artifactNameSuffix }}
path: |
*.log
encryptionSecret: ${{ inputs.encryptionSecret }}
- name: Prepare terraform state folders
@ -283,9 +268,12 @@ runs:
run: |
mkdir to-zip
cp -r constellation-terraform to-zip
cp -r constellation-iam-terraform to-zip
rm to-zip/constellation-terraform/plan.zip
rm -rf to-zip/constellation-terraform/.terraform to-zip/constellation-iam-terraform/.terraform
# constellation-iam-terraform is optional
if [ -d constellation-iam-terraform ]; then
cp -r constellation-iam-terraform to-zip
fi
rm -f to-zip/constellation-terraform/plan.zip
rm -rf to-zip/*/.terraform
- name: Upload terraform state
if: always()

View File

@ -0,0 +1,51 @@
#!/bin/bash
# We don't want to abort the script if there's a transient error in kubectl.
set +e
set -uo pipefail
NODES_COUNT=$((CONTROL_NODES_COUNT + WORKER_NODES_COUNT))
JOINWAIT=0
# Reports how many nodes are registered and fulfill condition=ready.
num_nodes_ready() {
kubectl get nodes -o json |
jq '.items | map(select(.status.conditions[] | .type == "Ready" and .status == "True")) | length'
}
# Reports how many API server pods are ready.
num_apiservers_ready() {
kubectl get pods -n kube-system -l component=kube-apiserver -o json |
jq '.items | map(select(.status.conditions[] | .type == "Ready" and .status == "True")) | length'
}
# Prints node joining progress.
report_join_progress() {
echo -n "nodes_joined=$(kubectl get nodes -o json | jq '.items | length')/${NODES_COUNT} "
echo -n "nodes_ready=$(num_nodes_ready)/${NODES_COUNT} "
echo "api_servers_ready=$(num_apiservers_ready)/${CONTROL_NODES_COUNT} ..."
}
# Indicates by exit code whether the cluster is ready, i.e. all nodes and API servers are ready.
cluster_ready() {
[[ "$(num_nodes_ready)" == "${NODES_COUNT}" && "$(num_apiservers_ready)" == "${CONTROL_NODES_COUNT}" ]]
}
echo "::group::Wait for nodes"
until cluster_ready || [[ ${JOINWAIT} -gt ${JOINTIMEOUT} ]]; do
report_join_progress
JOINWAIT=$((JOINWAIT + 30))
sleep 30
done
report_join_progress
if [[ ${JOINWAIT} -gt ${JOINTIMEOUT} ]]; then
set -x
kubectl get nodes -o wide
kubectl get pods -n kube-system -o wide
kubectl get events -n kube-system
set +x
echo "::error::timeout reached before all nodes became ready"
echo "::endgroup::"
exit 1
fi
echo "::endgroup::"

View File

@ -24,6 +24,7 @@ runs:
- name: Delete persistent volumes
if: inputs.kubeconfig != ''
shell: bash
continue-on-error: true
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
PV_DELETION_TIMEOUT: "120" # 2 minutes timeout for pv deletion
@ -34,6 +35,14 @@ runs:
# Scrap namespaces that contain PVCs
for namespace in `kubectl get namespace --no-headers=true -o custom-columns=":metadata.name"`; do
if [[ `kubectl get pvc -n $namespace --no-headers=true -o custom-columns=":metadata.name" | wc -l` -gt 0 ]]; then
if [[ "${namespace}" == "default" ]]; then
kubectl delete all --all --namespace "default" --wait
continue
fi
if [[ "${namespace}" == "kube-system" ]]; then
kubectl delete pvc --all --namespace "kube-system" --wait
continue
fi
kubectl delete namespace $namespace --wait
fi
done
@ -58,7 +67,7 @@ runs:
- name: Login to AWS (Cluster role)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2ECluster
aws-region: eu-central-1

View File

@ -14,6 +14,10 @@ inputs:
namePrefix:
description: "Name prefix to use for resources."
required: true
additionalTags:
description: "Additional resource tags that will be written into the constellation configuration."
default: ""
required: false
#
# AWS specific inputs
#
@ -23,6 +27,9 @@ inputs:
#
# Azure specific inputs
#
azureSubscriptionID:
description: "Azure subscription ID to deploy Constellation in."
required: true
azureRegion:
description: "Azure region to deploy Constellation in."
required: false
@ -35,6 +42,15 @@ inputs:
gcpZone:
description: "The GCP zone to deploy Constellation in."
required: false
#
# STACKIT specific inputs
#
stackitZone:
description: "The STACKIT zone to deploy Constellation in."
required: false
stackitProjectID:
description: "The STACKIT project ID to deploy Constellation in."
required: false
runs:
using: "composite"
@ -48,8 +64,14 @@ runs:
kubernetesFlag="--kubernetes=${{ inputs.kubernetesVersion }}"
fi
# TODO(v2.17): Remove this fallback and always use --tags flag
tagsFlag=""
if constellation config generate --help | grep -q -- --tags; then
tagsFlag="--tags=\"${{ inputs.additionalTags }}\""
fi
echo "flag=--update-config" | tee -a "$GITHUB_OUTPUT"
constellation config generate ${{ inputs.cloudProvider }} ${kubernetesFlag} --attestation ${{ inputs.attestationVariant }}
constellation config generate ${{ inputs.cloudProvider }} ${kubernetesFlag} --attestation ${{ inputs.attestationVariant }} ${tagsFlag}
- name: Constellation iam create aws
shell: bash
@ -66,14 +88,21 @@ runs:
shell: bash
if: inputs.cloudProvider == 'azure'
run: |
extraFlags=""
if [[ $(constellation iam create azure --help | grep -c -- --subscriptionID) -ne 0 ]]; then
extraFlags="--subscriptionID=${{ inputs.azureSubscriptionID }}"
fi
constellation iam create azure \
--region="${{ inputs.azureRegion }}" \
--resourceGroup="${{ inputs.namePrefix }}-rg" \
--servicePrincipal="${{ inputs.namePrefix }}-sp" \
--update-config \
--tf-log=DEBUG \
--yes
--yes ${extraFlags}
# TODO(@3u13r): Replace deprecated --serviceAccountID with --prefix
- name: Constellation iam create gcp
shell: bash
if: inputs.cloudProvider == 'gcp'
@ -85,3 +114,13 @@ runs:
--update-config \
--tf-log=DEBUG \
--yes
- name: Set STACKIT-specific configuration
shell: bash
if: inputs.cloudProvider == 'stackit'
env:
STACKIT_PROJECT_ID: ${{ inputs.stackitProjectID }}
run: |
yq eval -i "(.provider.openstack.stackitProjectID) = \"${STACKIT_PROJECT_ID}\"" constellation-conf.yaml
yq eval -i "(.provider.openstack.availabilityZone) = \"${{ inputs.stackitZone }}\"" constellation-conf.yaml
yq eval -i "(.nodeGroups.[].zone) = \"${{ inputs.stackitZone }}\"" constellation-conf.yaml

View File

@ -23,7 +23,7 @@ runs:
- name: Login to AWS (IAM role)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2EIAM
aws-region: eu-central-1

View File

@ -17,7 +17,7 @@ runs:
steps:
- name: Use docker for logging in
if: runner.os != 'macOS'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
with:
registry: ${{ inputs.registry }}
username: ${{ inputs.username }}

View File

@ -19,7 +19,7 @@ runs:
steps:
- name: Install Cosign
if: inputs.cosignPublicKey != '' && inputs.cosignPrivateKey != '' && inputs.cosignPassword != ''
uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 # v3.4.0
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
- name: Download Syft & Grype
uses: ./.github/actions/install_syft_grype

View File

@ -67,7 +67,7 @@ runs:
# Make sure that helm is installed
# This is not always the case, e.g. on MacOS runners
- name: Install Helm
uses: azure/setup-helm@29960d0f5f19214b88e1d9ba750a9914ab0f1a2f # v4.0.0
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # v4.3.0
with:
version: v3.9.0

View File

@ -5,51 +5,51 @@ runs:
using: "composite"
steps:
- name: Download CLI binaries darwin-amd64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-darwin-amd64
- name: Download CLI binaries darwin-arm64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-darwin-arm64
- name: Download CLI binaries linux-amd64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-linux-amd64
- name: Download CLI binaries linux-arm64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-linux-arm64
- name: Download CLI binaries windows-amd64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-windows-amd64
- name: Download Terraform module
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: terraform-module
- name: Download Terraform provider binary darwin-amd64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: terraform-provider-constellation-darwin-amd64
- name: Download Terraform provider binary darwin-arm64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: terraform-provider-constellation-darwin-arm64
- name: Download Terraform provider binary linux-amd64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: terraform-provider-constellation-linux-amd64
- name: Download Terraform provider binary linux-arm64
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: terraform-provider-constellation-linux-arm64

View File

@ -2,12 +2,9 @@ name: E2E Attestationconfig API Test
description: "Test the attestationconfig CLI is functional."
inputs:
csp:
description: "Cloud provider to run tests against"
default: "azure"
buildBuddyApiKey:
description: "BuildBuddy API key for caching Bazel artifacts"
required: true
attestationVariant:
description: "attestation variant to run tests against"
default: "azure-sev-snp"
cosignPrivateKey:
description: "Cosign private key"
required: true
@ -20,12 +17,9 @@ runs:
steps:
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubTestResourceAPI
aws-region: eu-west-1
@ -36,4 +30,4 @@ runs:
COSIGN_PRIVATE_KEY: ${{ inputs.cosignPrivateKey }}
COSIGN_PASSWORD: ${{ inputs.cosignPassword }}
run: |
bazel run //internal/api/attestationconfigapi/cli:cli_e2e_test -- ${{ inputs.csp }}
bazel run //internal/api/attestationconfigapi/cli:cli_e2e_test -- ${{ inputs.attestationVariant }}

View File

@ -82,7 +82,30 @@ runs:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: |
worker_count=${{ steps.worker_count.outputs.worker_count }}
kubectl create -n default deployment nginx --image=nginx --replicas $(( 110 * (worker_count + 1) + 55 ))
cat <<EOF | kubectl apply -f -
kind: Deployment
apiVersion: apps/v1
metadata:
name: nginx
namespace: default
spec:
replicas: $(( 110 * (worker_count + 1) + 55 ))
strategy:
rollingUpdate:
maxUnavailable: 0 # Ensure "kubectl wait" actually waits for all pods to be ready
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx
EOF
- name: Wait for autoscaling and check result
shell: bash

View File

@ -5,7 +5,6 @@ inputs:
cloudProvider:
description: "Which cloud provider to use."
required: true
# TODO: Create different report depending on the attestation variant
attestationVariant:
description: "Which attestation variant to use."
required: true
@ -33,9 +32,9 @@ runs:
steps:
- name: Setup python
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
with:
python-version: "3.10"
python-version: "3.13"
- name: Install kubestr
shell: bash
@ -49,25 +48,25 @@ runs:
install kubestr /usr/local/bin
- name: Checkout k8s-bench-suite
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
repository: "edgelesssys/k8s-bench-suite"
ref: 67c64c854841165b778979375444da1c02e02210
path: k8s-bench-suite
- name: Run FIO benchmark without caching in Azure
if: inputs.cloudProvider == 'azure'
- name: Run FIO benchmark
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: |
if [[ "${{ inputs.cloudProvider }}" == "azure" ]]
then
cat <<EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: encrypted-rwo-no-cache
name: fio-benchmark
allowVolumeExpansion: true
allowedTopologies: []
mountOptions: []
@ -78,34 +77,47 @@ runs:
reclaimPolicy: Delete
volumeBindingMode: Immediate
EOF
mkdir -p out
kubestr fio -e "out/fio-constellation-${{ inputs.cloudProvider }}.json" -o json -s encrypted-rwo-no-cache -z 400Gi -f .github/actions/e2e_benchmark/fio.ini
fi
- name: Run FIO benchmark
if: inputs.cloudProvider == 'gcp'
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: |
if [[ "${{ inputs.cloudProvider }}" == "gcp" ]]
then
cat <<EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: encrypted-balanced-rwo
name: fio-benchmark
provisioner: gcp.csi.confidential.cloud
volumeBindingMode: Immediate
allowVolumeExpansion: true
parameters:
type: pd-balanced
EOF
fi
if [[ "${{ inputs.cloudProvider }}" == "aws" ]]
then
cat <<EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fio-benchmark
parameters:
type: gp3
provisioner: aws.csi.confidential.cloud
allowVolumeExpansion: true
reclaimPolicy: Delete
volumeBindingMode: Immediate
EOF
fi
mkdir -p out
kubestr fio -e "out/fio-constellation-${{ inputs.cloudProvider }}.json" -o json -s encrypted-balanced-rwo -z 400Gi -f .github/actions/e2e_benchmark/fio.ini
kubestr fio -e "out/fio-constellation-${{ inputs.attestationVariant }}.json" -o json -s fio-benchmark -z 400Gi -f .github/actions/e2e_benchmark/fio.ini
- name: Upload raw FIO benchmark results
if: (!env.ACT)
uses: ./.github/actions/artifact_upload
with:
path: "out/fio-constellation-${{ inputs.cloudProvider }}.json"
path: "out/fio-constellation-${{ inputs.attestationVariant }}.json"
name: "fio-constellation-${{ inputs.artifactNameSuffix }}.json"
encryptionSecret: ${{ inputs.encryptionSecret }}
@ -115,19 +127,19 @@ runs:
KUBECONFIG: ${{ inputs.kubeconfig }}
TERM: xterm-256color
run: |
workers="$(kubectl get nodes -o name | grep worker)"
workers="$(kubectl get nodes -o name -l '!node-role.kubernetes.io/control-plane')"
echo -e "Found workers:\n$workers"
server="$(echo "$workers" | tail +1 | head -1 | cut -d '/' -f2)"
echo "Server: $server"
client="$(echo "$workers" | tail +2 | head -1 | cut -d '/' -f2)"
echo "Client: $client"
k8s-bench-suite/knb -f "out/knb-constellation-${{ inputs.cloudProvider }}.json" -o json --server-node "$server" --client-node "$client"
k8s-bench-suite/knb -f "out/knb-constellation-${{ inputs.attestationVariant }}.json" -o json --server-node "$server" --client-node "$client"
- name: Upload raw knb benchmark results
if: (!env.ACT)
uses: ./.github/actions/artifact_upload
with:
path: "out/knb-constellation-${{ inputs.cloudProvider }}.json"
path: "out/knb-constellation-${{ inputs.attestationVariant }}.json"
name: "knb-constellation-${{ inputs.artifactNameSuffix }}.json"
encryptionSecret: ${{ inputs.encryptionSecret }}
@ -139,6 +151,7 @@ runs:
# Working directory containing the previous results as JSON and to contain the graphs
BDIR: benchmarks
CSP: ${{ inputs.cloudProvider }}
ATTESTATION_VARIANT: ${{ inputs.attestationVariant }}
run: |
mkdir -p benchmarks
python .github/actions/e2e_benchmark/evaluate/parse.py
@ -148,12 +161,12 @@ runs:
uses: ./.github/actions/artifact_upload
with:
path: >
benchmarks/constellation-${{ inputs.cloudProvider }}.json
benchmarks/constellation-${{ inputs.attestationVariant }}.json
name: "benchmarks-${{ inputs.artifactNameSuffix }}"
encryptionSecret: ${{ inputs.encryptionSecret }}
- name: Assume AWS role to retrieve and update benchmarks in S3
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionUpdateBenchmarks
aws-region: us-east-2
@ -166,12 +179,10 @@ runs:
- name: Get previous benchmark records from S3
shell: bash
env:
CSP: ${{ inputs.cloudProvider }}
run: |
aws s3 cp --recursive ${S3_PATH} ./ --no-progress
if [[ -f constellation-${CSP}.json ]]; then
mv constellation-${CSP}.json benchmarks/constellation-${CSP}-previous.json
if aws s3 cp "${S3_PATH}/constellation-${{ inputs.attestationVariant }}.json" ./ --no-progress
then
mv "constellation-${{ inputs.attestationVariant }}.json" "benchmarks/constellation-${{ inputs.attestationVariant }}-previous.json"
else
echo "::warning::Couldn't retrieve previous benchmark records from s3"
fi
@ -180,15 +191,15 @@ runs:
shell: bash
env:
# Paths to benchmark results as JSON of the previous run and the current run
PREV_BENCH: benchmarks/constellation-${{ inputs.cloudProvider }}-previous.json
CURR_BENCH: benchmarks/constellation-${{ inputs.cloudProvider }}.json
PREV_BENCH: benchmarks/constellation-${{ inputs.attestationVariant }}-previous.json
CURR_BENCH: benchmarks/constellation-${{ inputs.attestationVariant }}.json
run: |
if [[ -f "$PREV_BENCH" ]]; then
# Fails if the results are outside the threshold range
python .github/actions/e2e_benchmark/evaluate/compare.py >> $GITHUB_STEP_SUMMARY
fi
- name: Upload benchmark results to opensearch
- name: Upload benchmark results to OpenSearch
if: (!env.ACT)
shell: bash
env:
@ -198,14 +209,12 @@ runs:
run: |
curl -XPOST \
-u "${OPENSEARCH_USER}:${OPENSEARCH_PWD}" \
"${OPENSEARCH_DOMAIN}/benchmarks-${{ inputs.cloudProvider }}-$(date '+%Y')"/_doc \
--data-binary @benchmarks/constellation-${{ inputs.cloudProvider }}.json \
"${OPENSEARCH_DOMAIN}/benchmarks-${{ inputs.attestationVariant }}-$(date '+%Y')"/_doc \
--data-binary @benchmarks/constellation-${{ inputs.attestationVariant }}.json \
-H 'Content-Type: application/json'
- name: Update benchmark records in S3
if: github.ref_name == 'main'
shell: bash
env:
CSP: ${{ inputs.cloudProvider }}
run: |
aws s3 cp benchmarks/constellation-${CSP}.json ${S3_PATH}/constellation-${CSP}.json
aws s3 cp benchmarks/constellation-${{ inputs.attestationVariant }}.json ${S3_PATH}/constellation-${{ inputs.attestationVariant }}.json

View File

@ -94,18 +94,18 @@ class BenchmarkComparer:
raise ValueError('Failed reading benchmark file: {e}'.format(e=e))
try:
name = bench_curr['provider']
name = bench_curr['attestationVariant']
except KeyError:
raise ValueError(
'Current benchmark record file does not contain provider.')
'Current benchmark record file does not contain attestationVariant.')
try:
prev_name = bench_prev['provider']
prev_name = bench_prev['attestationVariant']
except KeyError:
raise ValueError(
'Previous benchmark record file does not contain provider.')
'Previous benchmark record file does not contain attestationVariant.')
if name != prev_name:
raise ValueError(
'Cloud providers of previous and current benchmark data do not match.')
'Cloud attestationVariants of previous and current benchmark data do not match.')
if 'fio' not in bench_prev.keys() or 'fio' not in bench_curr.keys():
raise ValueError('Benchmarks do not both contain fio records.')

View File

@ -7,7 +7,7 @@ from datetime import datetime
from evaluators import fio, knb
def configure() -> Tuple[str, str, str, str | None, str, str, str, str]:
def configure() -> Tuple[str, str, str, str, str | None, str, str, str, str]:
"""Read the benchmark data paths.
Expects ENV vars (required):
@ -25,27 +25,29 @@ def configure() -> Tuple[str, str, str, str | None, str, str, str, str]:
"""
base_path = os.environ.get('BENCH_RESULTS', None)
csp = os.environ.get('CSP', None)
attestation_variant = os.environ.get('ATTESTATION_VARIANT', None)
out_dir = os.environ.get('BDIR', None)
if not base_path or not csp or not out_dir:
if not base_path or not csp or not out_dir or not attestation_variant:
raise TypeError(
'ENV variables BENCH_RESULTS, CSP, BDIR are required.')
'ENV variables BENCH_RESULTS, CSP, BDIR, ATTESTATION_VARIANT are required.')
ext_provider_name = os.environ.get('EXT_NAME', None)
commit_hash = os.environ.get('GITHUB_SHA', 'N/A')
commit_ref = os.environ.get('GITHUB_REF_NAME', 'N/A')
actor = os.environ.get('GITHUB_ACTOR', 'N/A')
workflow = os.environ.get('GITHUB_WORKFLOW', 'N/A')
return base_path, csp, out_dir, ext_provider_name, commit_hash, commit_ref, actor, workflow
return base_path, csp, attestation_variant, out_dir, ext_provider_name, commit_hash, commit_ref, actor, workflow
class BenchmarkParser:
def __init__(self, base_path, csp, out_dir, ext_provider_name=None, commit_hash="N/A", commit_ref="N/A", actor="N/A", workflow="N/A"):
def __init__(self, base_path, csp, attestation_variant, out_dir, ext_provider_name=None, commit_hash="N/A", commit_ref="N/A", actor="N/A", workflow="N/A"):
self.base_path = base_path
self.csp = csp
self.attestation_variant = attestation_variant
self.out_dir = out_dir
self.ext_provider_name = ext_provider_name
if not self.ext_provider_name:
self.ext_provider_name = f'constellation-{csp}'
self.ext_provider_name = f'constellation-{attestation_variant}'
self.commit_hash = commit_hash
self.commit_ref = commit_ref
self.actor = actor
@ -88,6 +90,7 @@ class BenchmarkParser:
},
'@timestamp': str(timestamp),
'provider': self.ext_provider_name,
'attestationVariant': self.attestation_variant,
'fio': {},
'knb': {}}
@ -101,8 +104,8 @@ class BenchmarkParser:
def main():
base_path, csp, out_dir, ext_provider_name, commit_hash, commit_ref, actor, workflow = configure()
p = BenchmarkParser(base_path, csp, out_dir, ext_provider_name,
base_path, csp, attestation_variant, out_dir, ext_provider_name, commit_hash, commit_ref, actor, workflow = configure()
p = BenchmarkParser(base_path, csp, attestation_variant, out_dir, ext_provider_name,
commit_hash, commit_ref, actor, workflow)
p.parse()

View File

@ -1,3 +1,3 @@
numpy ==1.26.4
matplotlib ==3.8.3
Pillow ==10.2.0
numpy ==2.2.4
matplotlib ==3.10.1
Pillow ==11.1.0

View File

@ -7,7 +7,7 @@ size=10Gi
time_based=1
group_reporting
thread
cpus_allowed=1
cpus_allowed=0
[read_iops]

View File

@ -0,0 +1,62 @@
name: E2E cleanup over timeframe
description: Clean up old terraform resources of E2E tests
inputs:
ghToken:
description: 'The github token that is used with the github CLI.'
required: true
encryptionSecret:
description: 'The secret to use for decrypting the artifacts.'
required: true
azure_credentials:
description: "Credentials authorized to create Constellation on Azure."
required: true
openStackCloudsYaml:
description: "The contents of ~/.config/openstack/clouds.yaml"
required: false
stackitUat:
description: "The UAT for STACKIT"
required: false
runs:
using: "composite"
steps:
- name: Authenticate AWS
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2EDestroy
aws-region: eu-central-1
- name: Authenticate Azure
uses: ./.github/actions/login_azure
with:
azure_credentials: ${{ inputs.azure_credentials }}
- name: Authenticate GCP
uses: ./.github/actions/login_gcp
with:
service_account: "destroy-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Login to OpenStack
uses: ./.github/actions/login_openstack
with:
clouds_yaml: ${{ inputs.openStackCloudsYaml }}
- name: Login to STACKIT
uses: ./.github/actions/login_stackit
with:
serviceAccountToken: ${{ inputs.stackitUat }}
- name: Install tools
uses: ./.github/actions/setup_bazel_nix
with:
nixTools: |
_7zz
terraform
- name: Run cleanup
run: ./.github/actions/e2e_cleanup_timeframe/e2e-cleanup.sh
shell: bash
env:
GH_TOKEN: ${{ inputs.ghToken }}
ENCRYPTION_SECRET: ${{ inputs.encryptionSecret }}

View File

@ -0,0 +1,97 @@
#!/bin/bash
# get_e2e_test_ids_on_date gets all workflow IDs of workflows that contain "e2e" on a specific date.
function get_e2e_test_ids_on_date {
ids="$(gh run list --created "$1" --status failure --json createdAt,workflowName,databaseId --jq '.[] | select(.workflowName | contains("e2e") and (contains("MiniConstellation") | not)) | .databaseId' -L1000 -R edgelesssys/constellation || exit 1)"
echo "${ids}"
}
# download_tfstate_artifact downloads all artifacts matching the pattern terraform-state-* from a given workflow ID.
function download_tfstate_artifact {
gh run download "$1" -p "terraform-state-*" -R edgelesssys/constellation > /dev/null
}
# delete_resources runs terraform destroy on the constellation-terraform subfolder of a given folder.
function delete_resources {
if [[ -d "$1/constellation-terraform" ]]; then
cd "$1/constellation-terraform" || exit 1
terraform init > /dev/null || exit 1 # first, install plugins
terraform destroy -auto-approve || exit 1
cd ../../ || exit 1
fi
}
# delete_iam_config runs terraform destroy on the constellation-iam-terraform subfolder of a given folder.
function delete_iam_config {
if [[ -d "$1/constellation-iam-terraform" ]]; then
cd "$1/constellation-iam-terraform" || exit 1
terraform init > /dev/null || exit 1 # first, install plugins
terraform destroy -auto-approve || exit 1
cd ../../ || exit 1
fi
}
# check if the password for artifact decryption was given
if [[ -z ${ENCRYPTION_SECRET} ]]; then
echo "ENCRYPTION_SECRET is not set. Please set an environment variable with that secret."
exit 1
fi
artifact_pwd=${ENCRYPTION_SECRET}
shopt -s nullglob
start_date=$(date "+%Y-%m-%d")
end_date=$(date --date "-7 day" "+%Y-%m-%d")
dates_to_clean=()
# get all dates of the last week
while [[ ${end_date} != "${start_date}" ]]; do
dates_to_clean+=("${end_date}")
end_date=$(date --date "${end_date} +1 day" "+%Y-%m-%d")
done
echo "[*] retrieving run IDs for cleanup"
database_ids=()
for d in "${dates_to_clean[@]}"; do
echo " retrieving run IDs from $d"
mapfile -td " " tmp < <(get_e2e_test_ids_on_date "$d")
database_ids+=("${tmp[*]}")
done
# cleanup database_ids
mapfile -t database_ids < <(echo "${database_ids[@]}")
mapfile -td " " database_ids < <(echo "${database_ids[@]}")
echo "[*] downloading terraform state artifacts"
for id in "${database_ids[@]}"; do
if [[ ${id} == *[^[:space:]]* ]]; then
echo " downloading from workflow ${id}"
download_tfstate_artifact "${id}"
fi
done
echo "[*] extracting artifacts"
for directory in ./terraform-state-*; do
echo " extracting ${directory}"
# extract and decrypt the artifact
7zz x -t7z -p"${artifact_pwd}" -o"${directory}" "${directory}/archive.7z" > /dev/null || exit 1
done
# create terraform caching directory
mkdir "${HOME}/tf_plugin_cache"
export TF_PLUGIN_CACHE_DIR="${HOME}/tf_plugin_cache"
echo "[*] created terraform cache directory ${TF_PLUGIN_CACHE_DIR}"
echo "[*] deleting resources"
for directory in ./terraform-state-*; do
echo " deleting resources in ${directory}"
delete_resources "${directory}"
echo " deleting IAM configuration in ${directory}"
delete_iam_config "${directory}"
echo " deleting directory ${directory}"
rm -rf "${directory}"
done
exit 0

View File

@ -0,0 +1,68 @@
name: Emergency ssh
description: "Verify that an emergency ssh connection can be established."
inputs:
kubeconfig:
description: "The kubeconfig file for the cluster."
required: true
runs:
using: "composite"
steps:
- name: Test emergency ssh
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
run: |
set -euo pipefail
# Activate emergency ssh access to the cluster
pushd ./constellation-terraform
echo "emergency_ssh = true" >> terraform.tfvars
terraform apply -auto-approve
lb="$(terraform output -raw loadbalancer_address)"
popd
# write ssh config
cat > ssh_config <<EOF
Host $lb
ProxyJump none
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
IdentityFile ./access-key
PreferredAuthentications publickey
CertificateFile=constellation_cert.pub
User root
ProxyJump $lb
EOF
for i in {1..26}; do
if [[ "$i" -eq 26 ]]; then
echo "Port 22 never became reachable"
exit 1
fi
echo "Waiting until port 22 is reachable: $i/25"
if nc -z -w 25 "$lb" 22; then
break
fi
done
# generate and try keypair
ssh-keygen -t ecdsa -q -N "" -f ./access-key
constellation ssh --debug --key ./access-key.pub
internalIPs="$(kubectl get nodes -o=jsonpath='{.items[*].status.addresses}' | jq -r '.[] | select(.type == "InternalIP") | .address')"
for ip in $internalIPs; do
for i in {1..26}; do
if [[ "$i" -eq 26 ]]; then
echo "Failed to connect to $ip over $lb"
exit 1
fi
echo "Trying connection to $ip over $lb: $i/25"
if ssh -F ssh_config -o BatchMode=yes $ip true; then
echo "Connected to $ip successfully"
break
fi
done
done

View File

@ -5,6 +5,9 @@ inputs:
kubeconfig:
description: "The kubeconfig of the cluster to test."
required: true
cloudProvider:
description: "The CSP this test runs on. Some tests exercise functionality not supported everywhere."
required: false
runs:
using: "composite"
@ -18,7 +21,25 @@ runs:
run: |
kubectl apply -f ns.yml
kubectl apply -f lb.yml
bazel run //e2e/internal/lb:lb_test
bazel run --test_timeout=14400 //e2e/internal/lb:lb_test
- name: Test AWS Ingress
if: inputs.cloudProvider == 'aws'
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
working-directory: ./.github/actions/e2e_lb
run: |
kubectl apply -f aws-ingress.yml
kubectl wait -n lb-test ing/whoami --for=jsonpath='{.status.loadBalancer.ingress}' --timeout=5m
host=$(kubectl get -n lb-test ingress whoami -o=jsonpath='{.status.loadBalancer.ingress[0].hostname}')
for i in $(seq 30); do
curl --silent --fail --connect-timeout 5 --output /dev/null http://$host && exit 0
sleep 10
done
echo "::error::Ingress did not become ready in the alloted time."
kubectl describe ing -n lb-test
exit 1
- name: Delete deployment
if: always()
@ -28,4 +49,5 @@ runs:
working-directory: ./.github/actions/e2e_lb
run: |
kubectl delete -f lb.yml
kubectl delete --ignore-not-found -f aws-ingress.yml
kubectl delete -f ns.yml --timeout=5m

35
.github/actions/e2e_lb/aws-ingress.yml vendored Normal file
View File

@ -0,0 +1,35 @@
apiVersion: v1
kind: Service
metadata:
name: whoami-internal
namespace: lb-test
spec:
selector:
app: whoami
ports:
- port: 80
targetPort: 80
type: NodePort
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: lb-test
name: whoami
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: instance
spec:
ingressClassName: alb
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: whoami-internal
port:
number: 80

View File

@ -32,7 +32,7 @@ runs:
KUBECONFIG: ${{ inputs.kubeconfig }}
working-directory: e2e/malicious-join
run: |
bazel run //e2e/malicious-join:stamp_and_push
bazel run --test_timeout=14400 //e2e/malicious-join:stamp_and_push
yq eval -i "(.spec.template.spec.containers[0].command) = \
[ \"/malicious-join_bin\", \
\"--js-endpoint=join-service.kube-system:9090\", \

View File

@ -11,8 +11,8 @@ inputs:
azureTenantID:
description: "Azure tenant to use for login with OIDC"
required: true
buildBuddyApiKey:
description: "BuildBuddy API key for caching Bazel artifacts"
azureIAMCredentials:
description: "Azure IAM credentials used for cleaning up resources"
required: true
registry:
description: "Container registry to use"
@ -25,15 +25,12 @@ runs:
using: "composite"
steps:
- name: Install terraform
uses: hashicorp/setup-terraform@a1502cd9e758c50496cc9ac5308c4843bcd56d36 # v3.0.0
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
with:
terraform_wrapper: false
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
@ -44,9 +41,25 @@ runs:
- name: MiniConstellation E2E
shell: bash
id: e2e-test
env:
ARM_CLIENT_ID: ${{ inputs.azureClientID }}
ARM_SUBSCRIPTION_ID: ${{ inputs.azureSubscriptionID }}
ARM_TENANT_ID: ${{ inputs.azureTenantID }}
run: |
bazel run //e2e/miniconstellation:push_remote_test
bazel run --test_timeout=14400 //e2e/miniconstellation:push_remote_test
- name: Log in to azure
# only log in if e2e test failed or if the run was cancelled
if: (failure() && steps.e2e-test.conclusion == 'failure') || cancelled()
uses: ./.github/actions/login_azure
with:
azure_credentials: ${{ inputs.azureIAMCredentials }}
- name: Clean up after failure
shell: bash
# clean up if e2e test failed or if the run was cancelled
if: (failure() && steps.e2e-test.conclusion == 'failure') || cancelled()
run: |
echo "[*] Deleting resource group ${{ steps.e2e-test.outputs.rgname }}"
az group delete -y --resource-group "${{ steps.e2e-test.outputs.rgname }}"

View File

@ -11,9 +11,6 @@ inputs:
s3SecretKey:
description: "Secret key for s3proxy"
required: true
buildBuddyApiKey:
description: "BuildBuddy API key"
required: true
githubToken:
description: "GitHub token"
required: true
@ -23,9 +20,6 @@ runs:
steps:
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
- name: Get pseudoversion
id: pseudoversion

View File

@ -48,6 +48,12 @@ runs:
sonobuoy results *_sonobuoy_*.tar.gz
sonobuoy results *_sonobuoy_*.tar.gz --mode detailed | jq 'select(.status!="passed")' | jq 'select(.status!="skipped")' || true
- name: Cleanup sonobuoy deployment
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
shell: bash
run: sonobuoy delete --wait
- name: Upload test results
if: always() && !env.ACT
uses: ./.github/actions/artifact_upload
@ -64,7 +70,7 @@ runs:
- name: Publish test results
if: (!env.ACT) && contains(inputs.sonobuoyTestSuiteCmd, '--plugin e2e')
uses: mikepenz/action-junit-report@5f47764eec0e1c1f19f40c8e60a5ba47e47015c5 # v4.1.0
uses: mikepenz/action-junit-report@cf701569b05ccdd861a76b8607a66d76f6fd4857 # v5.5.1
with:
report_paths: "**/junit_01.xml"
fail_on_failure: true

View File

@ -46,6 +46,9 @@ inputs:
description: "AWS OpenSearch User to upload the benchmark results."
awsOpenSearchPwd:
description: "AWS OpenSearch Password to upload the benchmark results."
azureSubscriptionID:
description: "Azure subscription ID to deploy Constellation in."
required: true
azureClusterCreateCredentials:
description: "Azure credentials authorized to create a Constellation cluster."
required: true
@ -53,12 +56,10 @@ inputs:
description: "Azure credentials authorized to create an IAM configuration."
required: true
test:
description: "The test to run. Can currently be one of [sonobuoy full, sonobuoy quick, autoscaling, lb, perf-bench, verify, recover, malicious join, nop, upgrade]."
description: "The test to run. Can currently be one of [sonobuoy full, sonobuoy quick, sonobuoy conformance, autoscaling, lb, perf-bench, verify, recover, malicious join, nop, upgrade, emergency ssh]."
required: true
sonobuoyTestSuiteCmd:
description: "The sonobuoy test suite to run."
buildBuddyApiKey:
description: "BuildBuddy API key for caching Bazel artifacts"
registry:
description: "Container registry to use"
required: true
@ -90,8 +91,17 @@ inputs:
description: "Set the force-flag on apply to ignore version mismatches."
required: false
encryptionSecret:
description: 'The secret to use for decrypting the artifact.'
description: "The secret to use for decrypting the artifact."
required: true
openStackCloudsYaml:
description: "The contents of ~/.config/openstack/clouds.yaml"
required: false
stackitUat:
description: "The UAT for STACKIT"
required: false
stackitProjectID:
description: "The STACKIT project ID to deploy Constellation in."
required: false
outputs:
kubeconfig:
@ -105,7 +115,7 @@ runs:
using: "composite"
steps:
- name: Check input
if: (!contains(fromJson('["sonobuoy full", "sonobuoy quick", "autoscaling", "perf-bench", "verify", "lb", "recover", "malicious join", "s3proxy", "nop", "upgrade"]'), inputs.test))
if: (!contains(fromJson('["sonobuoy full", "sonobuoy quick", "sonobuoy conformance", "autoscaling", "perf-bench", "verify", "lb", "recover", "malicious join", "s3proxy", "nop", "upgrade", "emergency ssh"]'), inputs.test))
shell: bash
run: |
echo "::error::Invalid input for test field: ${{ inputs.test }}"
@ -140,8 +150,7 @@ runs:
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: ${{ inputs.buildBuddyApiKey != '' }}
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
nixTools: terraform
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
@ -169,8 +178,6 @@ runs:
echo "$(pwd)" >> $GITHUB_PATH
export PATH="$PATH:$(pwd)"
constellation version
# Do not spam license server from pipeline
sudo sh -c 'echo "127.0.0.1 license.confidential.cloud" >> /etc/hosts'
- name: Build Terraform provider binary
if: inputs.clusterCreation == 'terraform' && inputs.cliVersion == ''
@ -220,7 +227,7 @@ runs:
- name: Login to AWS (IAM role)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2EIAM
aws-region: eu-central-1
@ -233,12 +240,30 @@ runs:
with:
azure_credentials: ${{ inputs.azureIAMCreateCredentials }}
- name: Login to OpenStack
if: inputs.cloudProvider == 'stackit'
uses: ./.github/actions/login_openstack
with:
clouds_yaml: ${{inputs.openStackCloudsYaml }}
- name: Login to STACKIT
if: inputs.cloudProvider == 'stackit'
uses: ./.github/actions/login_stackit
with:
serviceAccountToken: ${{ inputs.stackitUat }}
- name: Create prefix
id: create-prefix
shell: bash
run: |
uuid=$(uuidgen | tr "[:upper:]" "[:lower:]")
uuid=${uuid%%-*}
# GCP has a 6 character limit the additional uuid prefix since the full prefix length has a maximum of 24
if [[ ${{ inputs.cloudProvider }} == 'gcp' ]]; then
uuid=${uuid:0:6}
fi
echo "uuid=${uuid}" | tee -a $GITHUB_OUTPUT
echo "prefix=e2e-${{ github.run_id }}-${{ github.run_attempt }}-${uuid}" | tee -a $GITHUB_OUTPUT
@ -248,7 +273,7 @@ runs:
with:
attestationVariant: ${{ inputs.attestationVariant }}
- name: Create IAM configuration
- name: Create Constellation config and IAM
id: constellation-iam-create
uses: ./.github/actions/constellation_iam_create
with:
@ -256,10 +281,14 @@ runs:
attestationVariant: ${{ inputs.attestationVariant }}
namePrefix: ${{ steps.create-prefix.outputs.prefix }}
awsZone: ${{ inputs.regionZone || 'us-east-2c' }}
azureSubscriptionID: ${{ inputs.azureSubscriptionID }}
azureRegion: ${{ inputs.regionZone || steps.pick-az-region.outputs.region }}
gcpProjectID: ${{ inputs.gcpProject }}
gcpZone: ${{ inputs.regionZone || 'europe-west3-b' }}
stackitZone: ${{ inputs.regionZone || 'eu01-2' }}
stackitProjectID: ${{ inputs.stackitProjectID }}
kubernetesVersion: ${{ inputs.kubernetesVersion }}
additionalTags: "workflow=${{ github.run_id }}"
- name: Login to GCP (Cluster service account)
if: inputs.cloudProvider == 'gcp'
@ -269,7 +298,7 @@ runs:
- name: Login to AWS (Cluster role)
if: inputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2ECluster
aws-region: eu-central-1
@ -331,7 +360,7 @@ runs:
if: (inputs.test == 'nop') || (inputs.test == 'upgrade')
shell: bash
run: |
echo "::warning::This test has a nop payload. It doesn't run any tests."
echo "This test has a nop payload. It doesn't run any tests."
echo "Sleeping for 30 seconds to allow logs to propagate to the log collection service."
sleep 30
@ -354,6 +383,15 @@ runs:
artifactNameSuffix: ${{ steps.create-prefix.outputs.prefix }}
encryptionSecret: ${{ inputs.encryptionSecret }}
- name: Run sonobuoy conformance
if: inputs.test == 'sonobuoy conformance'
uses: ./.github/actions/e2e_sonobuoy
with:
sonobuoyTestSuiteCmd: "--plugin e2e --mode certified-conformance"
kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }}
artifactNameSuffix: ${{ steps.create-prefix.outputs.prefix }}
encryptionSecret: ${{ inputs.encryptionSecret }}
- name: Run autoscaling test
if: inputs.test == 'autoscaling'
uses: ./.github/actions/e2e_autoscaling
@ -365,6 +403,7 @@ runs:
uses: ./.github/actions/e2e_lb
with:
kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }}
cloudProvider: ${{ inputs.cloudProvider }}
- name: Run Performance Benchmark
if: inputs.test == 'perf-bench'
@ -412,5 +451,10 @@ runs:
kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }}
s3AccessKey: ${{ inputs.s3AccessKey }}
s3SecretKey: ${{ inputs.s3SecretKey }}
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
githubToken: ${{ inputs.githubToken }}
- name: Run emergency ssh test
if: inputs.test == 'emergency ssh'
uses: ./.github/actions/e2e_emergency_ssh
with:
kubeconfig: ${{ steps.constellation-create.outputs.kubeconfig }}

View File

@ -66,45 +66,46 @@ runs:
forwarderPID=$!
sleep 5
if [[ ${{ inputs.attestationVariant }} == "azure-sev-snp" ]] || [[ ${{ inputs.attestationVariant }} == "aws-sev-snp" ]]; then
echo "Extracting TCB versions for API update"
constellation verify --cluster-id "${clusterID}" --node-endpoint localhost:9090 -o json > "snp-report-${node}.json"
else
constellation verify --cluster-id "${clusterID}" --node-endpoint localhost:9090
fi
case "${{ inputs.attestationVariant }}"
in
"azure-sev-snp"|"azure-tdx"|"aws-sev-snp"|"gcp-sev-snp")
echo "Extracting TCB versions for API update"
constellation verify --cluster-id "${clusterID}" --node-endpoint localhost:9090 -o json > "attestation-report-${node}.json"
;;
*)
constellation verify --cluster-id "${clusterID}" --node-endpoint localhost:9090
;;
esac
kill $forwarderPID
done
- name: Login to AWS
if: github.ref_name == 'main'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GitHubConstellationImagePipeline
aws-region: eu-central-1
- name: Upload extracted TCBs
if: github.ref_name == 'main' && (inputs.attestationVariant == 'azure-sev-snp' || inputs.attestationVariant == 'aws-sev-snp')
if: github.ref_name == 'main' && (inputs.attestationVariant == 'azure-sev-snp' || inputs.attestationVariant == 'azure-tdx' || inputs.attestationVariant == 'aws-sev-snp' || inputs.attestationVariant == 'gcp-sev-snp')
shell: bash
env:
COSIGN_PASSWORD: ${{ inputs.cosignPassword }}
COSIGN_PRIVATE_KEY: ${{ inputs.cosignPrivateKey }}
run: |
if [[ ${{ inputs.attestationVariant }} == "aws-sev-snp" ]] && constellation version | grep -q "v2.13."; then
echo "Skipping TCB upload for AWS on CLI v2.13"
exit 0
fi
reports=attestation-report-*.json
reports=(snp-report-*.json)
if [ -z ${#reports[@]} ]; then
exit 1
fi
attestationVariant=${{ inputs.attestationVariant }}
cloudProvider=${attestationVariant%%-*}
for file in "${reports[@]}"; do
path=$(realpath "${file}")
cat "${path}"
bazel run //internal/api/attestationconfigapi/cli -- upload "${cloudProvider}" snp-report "${path}"
# bazel run changes the working directory
# convert the relative paths to absolute paths to avoid issues
absolute_reports=""
for report in ${reports}; do
absolute_reports="${absolute_reports} $(realpath "${report}")"
done
report=$(bazel run //internal/api/attestationconfigapi/cli -- compare ${{ inputs.attestationVariant }} ${absolute_reports})
path=$(realpath "${report}")
cat "${path}"
bazel run //internal/api/attestationconfigapi/cli -- upload ${{ inputs.attestationVariant }} attestation-report "${path}"

View File

@ -26,23 +26,25 @@ runs:
steps:
- name: Checkout head
if: inputs.imageVersion == '' && inputs.git-ref == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.imageVersion == '' && inputs.git-ref != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.git-ref }}
- name: Login to AWS
if: inputs.imageVersion == ''
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationVersionsAPIRead
aws-region: eu-central-1
- uses: ./.github/actions/setup_bazel_nix
- name: Find latest image
id: find-latest-image
if: inputs.imageVersion == ''

View File

@ -82,4 +82,4 @@ for major in "${allMajorVersions[@]}"; do
done
# Print one elem per line | quote elems | create array | remove empty elems and print compact.
printf '%s' "${versionsToBuild[@]}" | jq -R | jq -s | jq -c 'map(select(length > 0))'
printf '%s\n' "${versionsToBuild[@]}" | jq -R | jq -s | jq -c 'map(select(length > 0))'

View File

@ -10,6 +10,6 @@ runs:
# As described at:
# https://github.com/Azure/login#configure-deployment-credentials
- name: Login to Azure
uses: azure/login@cb79c773a3cfa27f31f25eb3f677781210c9ce3d # v1.6.1
uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0
with:
creds: ${{ inputs.azure_credentials }}

View File

@ -20,11 +20,11 @@ runs:
echo "GOOGLE_CLOUD_PROJECT=" >> "$GITHUB_ENV"
- name: Authorize GCP access
uses: google-github-actions/auth@a6e2e39c0a0331da29f7fd2c2a20a427e8d3ad1f # v2.1.1
uses: google-github-actions/auth@71f986410dfbc7added4569d411d040a91dc6935 # v2.1.8
with:
workload_identity_provider: projects/796962942582/locations/global/workloadIdentityPools/constellation-ci-pool/providers/constellation-ci-provider
workload_identity_provider: projects/1052692473304/locations/global/workloadIdentityPools/constellation-ci-pool/providers/constellation-ci-provider
service_account: ${{ inputs.service_account }}
# Even if preinstalled in Github Actions runner image, this setup does some magic authentication required for gsutil.
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 # v2.1.0
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4

View File

@ -0,0 +1,16 @@
name: STACKIT login
description: "Login to STACKIT"
inputs:
serviceAccountToken:
description: "Credentials authorized to create Constellation on STACKIT."
required: true
runs:
using: "composite"
steps:
- name: Login to STACKIT
env:
UAT: ${{ inputs.serviceAccountToken }}
shell: bash
run: |
mkdir -p ~/.stackit
echo "${UAT}" > ~/.stackit/credentials.json

View File

@ -36,12 +36,6 @@ runs:
shell: bash
run: echo "CURRENT_DATE=$(date +'%Y-%m-%d %H:%M:%S')" >> $GITHUB_ENV
- name: Encode URI component
uses: Ablestor/encode-uri-component-action@790ea01bcf2d5ca4d0dbe8c15351a87b47f22f61 # v1.3
id: encode-uri-component
with:
string: ${{ inputs.test }}
- name: Create body template
id: body-template
shell: bash
@ -69,13 +63,15 @@ runs:
fi
}
e2eTestPayload=$(echo "${{ inputs.test }}" | jq -R -r @uri)
q=$(echo "(filters:!(
$(queryGen cloud.provider "${{ inputs.provider }}")
$(queryGen metadata.github.ref-stream "${{ inputs.refStream }}")
$(queryGen metadata.github.kubernetes-version "${{ inputs.kubernetesVersion }}")
$(queryGen metadata.github.attestation-variant "${{ inputs.attestationVariant }}")
$(queryGen metadata.github.cluster-creation "${{ inputs.clusterCreation }}")
$(queryGen metadata.github.e2e-test-payload "${{ steps.encode-uri-component.outputs.string }}")
$(queryGen metadata.github.e2e-test-payload "${e2eTestPayload}")
(query:(match_phrase:(metadata.github.run-id:${{ github.run_id }})))
))" | tr -d "\t\n ")

View File

@ -0,0 +1,19 @@
name: Notify STACKIT
description: "Notify STACKIT about test failure"
inputs:
slackToken:
description: "Slack access token."
required: true
runs:
using: "composite"
steps:
- name: Notify STACKIT
env:
SLACK_TOKEN: ${{ inputs.slackToken }}
shell: bash
run: |
curl -X POST \
-H "Authorization: Bearer $SLACK_TOKEN" \
-H "Content-type: application/json; charset=utf-8" \
-d "{\"channel\":\"C0827BT59SM\",\"text\":\"E2E test failed: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID\"}" \
https://slack.com/api/chat.postMessage

27
.github/actions/notify_teams/README.md vendored Normal file
View File

@ -0,0 +1,27 @@
# notify Teams action
This action is used to send a message to our Teams channel in case of a failure in the CI/CD pipeline.
The action will automatically choose an engineer to assign to the issue and tag them in the message.
Engineers are identified by their GitHub username and bound to a Microsoft Teams ID in `.attachments[0].content.msteams.entities`.
To add a new engineer, add a new entry to the entity list in the format:
```json
{
"type": "mention",
"text": "${github_username}",
"mentioned": {
"id": "${msteams_id}",
"name": "${name}"
}
}
```
Where `${github_username}` is the GitHub username of the engineer, `${msteams_id}` is the Microsoft Teams ID of the engineer, and `${name}` is the name of the engineer.
To find the Microsoft Teams ID use the following command:
```bash
az ad user show --id ${email} --query id
```
Where `${email}` is the email address of the engineer.

View File

@ -25,7 +25,7 @@ runs:
continue-on-error: true
shell: bash
run: |
cp .github/teams_payload_template.json teams_payload.json
cp .github/actions/notify_teams/teams_payload_template.json teams_payload.json
# Add workflow name to the notification
yq -oj -iP '.attachments[0].content.body[0].columns[1].items[0].text = "${{ inputs.title }}"' teams_payload.json

View File

@ -1,5 +1,5 @@
{
"type": "message",
"type": "AdaptiveCard",
"attachments": [
{
"contentType": "application/vnd.microsoft.card.adaptive",
@ -61,10 +61,10 @@
},
{
"type": "mention",
"text": "<at>malt3</at>",
"text": "<at>burgerdev</at>",
"mentioned": {
"id": "3012fe21-cff7-499d-88cf-48cf12f2e90c",
"name": "Malte Poll"
"id": "c9efc581-58ca-4da6-93ce-79f69f89deeb",
"name": "Markus Rudy"
}
}
]

View File

@ -15,8 +15,6 @@ runs:
run: |
possibleAssignees=(
"elchead"
"malt3"
"3u13r"
"daniel-weisse"
"msanft"
"burgerdev"

View File

@ -13,7 +13,7 @@ runs:
using: "composite"
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: edgelesssys/helm
ref: main
@ -29,7 +29,7 @@ runs:
echo version=$(yq eval ".version" ${{ inputs.chartPath }}/Chart.yaml) | tee -a $GITHUB_OUTPUT
- name: Create pull request
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
path: helm
branch: "release/s3proxy/${{ steps.update-chart-version.outputs.version }}"

View File

@ -3,22 +3,22 @@ description: Resolve string presets and shortpaths to shortpaths only
inputs:
osImage:
description: "Shortpath or main-debug or release-stable"
description: "Shortpath, main-debug, main-nightly, or release-stable"
required: true
outputs:
osImage:
description: "Shortpath of for input string, original input if that was already a shortpath"
description: "Shortpath of input string, original input if that was already a shortpath"
value: ${{ steps.set-output.outputs.osImage }}
isDebugImage:
description: "Input represents a debug image or not"
description: "Input is a debug image or not"
value: ${{ steps.set-output.outputs.isDebugImage }}
runs:
using: "composite"
steps:
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationVersionsAPIRead
aws-region: eu-central-1
@ -27,7 +27,7 @@ runs:
id: input-is-preset
shell: bash
run: |
if [[ "${{ inputs.osImage }}" == "ref/main/stream/debug/?" || "${{ inputs.osImage }}" == "ref/release/stream/stable/?" ]]; then
if [[ "${{ inputs.osImage }}" == "ref/main/stream/debug/?" || "${{ inputs.osImage }}" == "ref/main/stream/nightly/?" || "${{ inputs.osImage }}" == "ref/release/stream/stable/?" ]]; then
echo "result=true" | tee -a "$GITHUB_OUTPUT"
else
echo "result=false" | tee -a "$GITHUB_OUTPUT"
@ -43,6 +43,10 @@ runs:
echo "ref=$(echo $REFSTREAM | cut -d/ -f2)" | tee -a "$GITHUB_OUTPUT"
echo "stream=$(echo $REFSTREAM | cut -d/ -f4)" | tee -a "$GITHUB_OUTPUT"
- name: Setup Bazel & Nix
if: steps.input-is-preset.outputs.result == 'true'
uses: ./.github/actions/setup_bazel_nix
- name: Find latest image
if: steps.input-is-preset.outputs.result == 'true'
id: find-latest-image

View File

@ -3,12 +3,9 @@ description: Setup Bazel and Nix for CI builds and tests
inputs:
useCache:
description: "Cache Bazel artifacts. Use 'true' to enable with rw, 'readonly' to download, 'rbe' to enable with remote execution, 'log' to disable cache but upload logs, and 'false' to disable."
description: "Cache Bazel artifacts. Use 'rbe' to enable with remote execution, and 'false' to disable."
default: "false"
required: true
buildBuddyApiKey:
description: "BuildBuddy API key for caching Bazel artifacts"
required: false
rbePlatform:
description: "RBE platform to use. If empty, RBE will not be used."
required: false
@ -25,12 +22,8 @@ runs:
shell: bash
run: |
echo "::group::Check inputs"
if [[ "${{ inputs.useCache }}" != "true" && "${{ inputs.useCache }}" != "readonly" && "${{ inputs.useCache }}" != "rbe" && "${{ inputs.useCache }}" != "logs" && "${{ inputs.useCache }}" != "false" ]]; then
echo "Invalid value for 'useCache' input: '${{ inputs.useCache }}'. Must be 'true', 'readonly', or 'false'."
exit 1
fi
if [[ "${{ inputs.useCache }}" == "true" || "${{ inputs.useCache }}" == "readonly" || "${{ inputs.useCache }}" == "logs" ]] && [[ -z "${{ inputs.buildBuddyApiKey }}" ]]; then
echo "BuildBuddy API key is required when cache is enabled."
if [[ "${{ inputs.useCache }}" != "rbe" && "${{ inputs.useCache }}" != "false" ]]; then
echo "Invalid value for 'useCache' input: '${{ inputs.useCache }}'. Must be 'rbe', or 'false'."
exit 1
fi
if [[ "${{ inputs.useCache }}" == "rbe" && -z "${{ inputs.rbePlatform }}" ]]; then
@ -82,6 +75,7 @@ runs:
echo "$RUNNER_ARCH not supported"
exit 1
fi
echo "nixVersion=$(cat "${{ github.workspace }}/.nixversion")" | tee -a "$GITHUB_OUTPUT"
echo "::endgroup::"
- name: Install current Bash on macOS
@ -120,7 +114,9 @@ runs:
- name: Install nix
if: steps.check_inputs.outputs.nixPreinstalled == 'false'
uses: cachix/install-nix-action@6004951b182f8860210c8d6f0d808ec5b1a33d28 # v25
uses: cachix/install-nix-action@d1ca217b388ee87b2507a9a93bf01368bde7cec2 # v31
with:
install_url: "https://releases.nixos.org/nix/nix-${{ steps.check_inputs.outputs.nixVersion }}/install"
- name: Set $USER if not set
shell: bash
@ -182,57 +178,6 @@ runs:
EOF
echo "::endgroup::"
- name: Configure Bazel (rw)
if: inputs.useCache == 'true' || inputs.useCache == 'readonly'
shell: bash
env:
BUILDBUDDY_ORG_API_KEY: ${{ inputs.buildBuddyApiKey }}
WORKSPACE: ${{ github.workspace }}
run: |
echo "::group::Configure Bazel"
cat <<EOF >> "${WORKSPACE}/.bazeloverwriterc"
common --bes_results_url=https://app.buildbuddy.io/invocation/
common --bes_backend=grpcs://remote.buildbuddy.io
common --remote_cache=grpcs://remote.buildbuddy.io
common --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_ORG_API_KEY}
cquery --bes_results_url=
cquery --bes_backend=
cquery --remote_cache=
query --bes_results_url=
query --bes_backend=
query --remote_cache=
EOF
echo "::endgroup::"
- name: Configure Bazel (readonly)
if: inputs.useCache == 'readonly'
shell: bash
env:
WORKSPACE: ${{ github.workspace }}
run: |
echo "::group::Configure Bazel (readonly)"
echo "common --remote_upload_local_results=false" >> "${WORKSPACE}/.bazeloverwriterc"
echo "::endgroup::"
- name: Configure Bazel (logs)
if: inputs.useCache == 'logs'
shell: bash
env:
BUILDBUDDY_ORG_API_KEY: ${{ inputs.buildBuddyApiKey }}
WORKSPACE: ${{ github.workspace }}
run: |
echo "::group::Configure Bazel"
cat <<EOF >> "${WORKSPACE}/.bazeloverwriterc"
common --bes_results_url=https://app.buildbuddy.io/invocation/
common --bes_backend=grpcs://remote.buildbuddy.io
common --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_ORG_API_KEY}
cquery --bes_results_url=
cquery --bes_backend=
query --bes_results_url=
query --bes_backend=
EOF
echo "::endgroup::"
- name: Configure Bazel (rbe)
if: inputs.useCache == 'rbe'
shell: bash
@ -247,24 +192,6 @@ runs:
common --repo_env=GOPROXY=http://goproxy:3000
EOF
echo "::endgroup::"
- name: Configure Bazel (rbe logs)
if: inputs.useCache == 'rbe' && inputs.buildBuddyApiKey != ''
shell: bash
env:
BUILDBUDDY_ORG_API_KEY: ${{ inputs.buildBuddyApiKey }}
WORKSPACE: ${{ github.workspace }}
run: |
echo "::group::Configure Bazel"
cat <<EOF >> "${WORKSPACE}/.bazeloverwriterc"
common --bes_results_url=https://app.buildbuddy.io/invocation/
common --bes_backend=grpcs://remote.buildbuddy.io
common --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_ORG_API_KEY}
cquery --bes_results_url=
cquery --bes_backend=
query --bes_results_url=
query --bes_backend=
EOF
echo "::endgroup::"
- name: Disable disk cache on GitHub Actions runners
if: startsWith(runner.name , 'GitHub Actions')
@ -294,7 +221,7 @@ runs:
{ tools, repository, rev }:
let
repoFlake = builtins.getFlake ("github:" + repository + "/" + rev);
nixpkgs = repoFlake.inputs.nixpkgsUnstable;
nixpkgs = repoFlake.inputs.nixpkgs;
pkgs = import nixpkgs { system = builtins.currentSystem; };
toolPkgs = map (p: pkgs.${p}) tools;
in

View File

@ -26,6 +26,12 @@ runs:
"gcpSEVES")
attestationVariant="gcp-sev-es"
;;
"gcpSEVSNP")
attestationVariant="gcp-sev-snp"
;;
"qemuVTPM")
attestationVariant="qemu-vtpm"
;;
*)
echo "Unknown attestation variant: $(yq '.attestation | keys | .[0]' constellation-conf.yaml)"
exit 1
@ -41,7 +47,7 @@ runs:
}
random = {
source = "hashicorp/random"
version = "3.6.0"
version = "3.7.1"
}
}
}
@ -103,6 +109,16 @@ runs:
project_id = "$(yq '.infrastructure.gcp.projectID' constellation-state.yaml)"
service_account_key = sensitive("$(cat $(yq '.provider.gcp.serviceAccountKeyPath' constellation-conf.yaml) | base64 -w0)")
}
openstack = {
cloud = "stackit"
clouds_yaml_path = "~/.config/openstack/clouds.yaml"
floating_ip_pool_id = "970ace5c-458f-484a-a660-0903bcfd91ad"
deploy_yawol_load_balancer = true
yawol_image_id = "bcd6c13e-75d1-4c3f-bf0f-8f83580cc1be"
yawol_flavor_id = "3b11b27e-6c73-470d-b595-1d85b95a8cdf"
network_id = "$(yq '.infrastructure.networkID' constellation-state.yaml)"
subnet_id = "$(yq '.infrastructure.subnetID' constellation-state.yaml)"
}
network_config = {
ip_cidr_node = "$(yq '.infrastructure.ipCidrNode' constellation-state.yaml)"
ip_cidr_service = "$(yq '.serviceCIDR' constellation-conf.yaml)"

View File

@ -0,0 +1,64 @@
name: Update TFState
description: "Update the terraform state artifact. We use this to either delete an artifact if the e2e test was cleaned up successfully or to update the artifact with the latest terraform state."
inputs:
name:
description: "The name of the artifact that contains the tfstate."
required: true
runID:
description: "The ID of your current run (github.run_id)."
required: true
encryptionSecret:
description: "The encryption secret for the artifacts."
required: true
runs:
using: "composite"
steps:
- name: Check if uploaded tfstate can be deleted
if: always()
shell: bash
run: |
if [[ ! -d constellation-terraform ]] && [[ ! -d constellation-iam-terraform ]]; then
echo "DELETE_TF_STATE=true" >> "$GITHUB_ENV"
else
echo "DELETE_TF_STATE=false" >> "$GITHUB_ENV"
fi
- name: Delete tfstate artifact if necessary
if: always() && env.DELETE_TF_STATE == 'true'
uses: ./.github/actions/artifact_delete
with:
name: ${{ inputs.name }}
workflowID: ${{ inputs.runID }}
- name: Prepare left over terraform state folders
if: always() && env.DELETE_TF_STATE == 'false'
shell: bash
run: |
rm -rf to-zip/*
mkdir -p to-zip
to_upload=""
if [[ -d constellation-terraform ]]; then
cp -r constellation-terraform to-zip
rm -f to-zip/constellation-terraform/plan.zip
rm -rf to-zip/constellation-terraform/.terraform
to_upload+="to-zip/constellation-terraform"
fi
if [[ -d constellation-iam-terraform ]]; then
cp -r constellation-iam-terraform to-zip
rm -rf to-zip/constellation-iam-terraform/.terraform
to_upload+=" to-zip/constellation-iam-terraform"
fi
echo "TO_UPLOAD=$to_upload" >> "$GITHUB_ENV"
- name: Update tfstate
if: always() && env.TO_UPLOAD != ''
uses: ./.github/actions/artifact_upload
with:
name: ${{ inputs.name }}
path: >
${{ env.TO_UPLOAD }}
encryptionSecret: ${{ inputs.encryptionSecret }}
overwrite: true

View File

@ -15,7 +15,7 @@ runs:
zip -r terraform-module.zip terraform-module
- name: Upload artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: terraform-module
path: terraform-module.zip
@ -23,4 +23,4 @@ runs:
- name: Cleanup Terraform module dir
shell: bash
run: |
rm -r terraform-module terraform-module.zip
rm -rf terraform-module terraform-module.zip

View File

@ -1,21 +0,0 @@
FROM golang:1.22.0@sha256:7b297d9abee021bab9046e492506b3c2da8a3722cbf301653186545ecc1e00bb as builder
# Download project root dependencies
WORKDIR /workspace
COPY go.mod go.mod
COPY go.sum go.sum
# cache deps before building and copying source so that we don't need to re-download as much
# and so that source changes don't invalidate our downloaded layer
RUN go mod download
COPY . .
# Build
WORKDIR /workspace/internal/api/versionsapi/cli
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o versionsapi .
FROM scratch as release
COPY --from=builder /workspace/internal/api/versionsapi/cli/versionsapi .
CMD ["/notIntendedToBeExecuted"]

View File

@ -52,19 +52,12 @@ outputs:
runs:
using: composite
steps:
- name: Get versionsapi binary
shell: bash
# TODO: This should probably be `bazel run`.
run: |
containerID=$(docker create "ghcr.io/edgelesssys/constellation/versionsapi-ci-cli:latest")
docker cp ${containerID}:/versionsapi .
- name: Run versionsapi
id: run
shell: bash
run: |
out=$(
./versionsapi \
bazel run //internal/api/versionsapi/cli:cli -- \
${{ inputs.command }} \
${{ inputs.ref != '' && format('--ref="{0}"', inputs.ref) || '' }} \
${{ inputs.stream != '' && format('--stream="{0}"', inputs.stream) || '' }} \

36
.github/workflows/assign_reviewer.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: Assign Reviewer
on:
pull_request:
types:
- opened
- reopened
- edited
- synchronize
- review_request_removed
- labeled
permissions:
pull-requests: write
jobs:
assign_reviewer:
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'dependencies') && toJson(github.event.pull_request.requested_reviewers) == '[]' && github.event.pull_request.user.login == 'renovate[bot]'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Pick assignee
id: pick-assignee
uses: ./.github/actions/pick_assignee
- name: Assign reviewer
env:
GH_TOKEN: ${{ github.token }}
PR: ${{ github.event.pull_request.number }}
ASSIGNEE: ${{ steps.pick-assignee.outputs.assignee }}
run: |
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/edgelesssys/constellation/pulls/${PR}/requested_reviewers" \
-f "reviewers[]=${ASSIGNEE}"

View File

@ -8,26 +8,20 @@ on:
jobs:
run:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.head_ref }}
path: constellation
- name: Install necessary tools
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip
sudo python3 -m pip install --user --require-hashes -r constellation/.github/workflows/aws-snp-launchmeasurements-requirements.txt
- name: Install Nix
uses: cachix/install-nix-action@6004951b182f8860210c8d6f0d808ec5b1a33d28 # v25
uses: cachix/install-nix-action@d1ca217b388ee87b2507a9a93bf01368bde7cec2 # v31
- name: Download Firmware release
id: download-firmware
uses: robinraju/release-downloader@368754b9c6f47c345fcfbf42bcb577c2f0f5f395 # v1.9
uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12
with:
repository: aws/uefi
latest: true
@ -50,7 +44,7 @@ jobs:
echo "ovmfPath=${ovmfPath}" | tee -a "$GITHUB_OUTPUT"
popd || exit 1
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: virtee/sev-snp-measure-go.git
ref: e42b6f8991ed5a671d5d1e02a6b61f6373f9f8d8

View File

@ -1,106 +0,0 @@
#
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# pip-compile --generate-hashes --output-file=aws-snp-launchmeasurements-requirements.txt input.txt
#
cffi==1.16.0 \
--hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \
--hash=sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a \
--hash=sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417 \
--hash=sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab \
--hash=sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520 \
--hash=sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36 \
--hash=sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743 \
--hash=sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8 \
--hash=sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed \
--hash=sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684 \
--hash=sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56 \
--hash=sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324 \
--hash=sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d \
--hash=sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235 \
--hash=sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e \
--hash=sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088 \
--hash=sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000 \
--hash=sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7 \
--hash=sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e \
--hash=sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673 \
--hash=sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c \
--hash=sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe \
--hash=sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2 \
--hash=sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098 \
--hash=sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8 \
--hash=sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a \
--hash=sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0 \
--hash=sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b \
--hash=sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896 \
--hash=sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e \
--hash=sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9 \
--hash=sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2 \
--hash=sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b \
--hash=sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6 \
--hash=sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404 \
--hash=sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f \
--hash=sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 \
--hash=sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4 \
--hash=sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc \
--hash=sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936 \
--hash=sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba \
--hash=sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872 \
--hash=sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb \
--hash=sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614 \
--hash=sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1 \
--hash=sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d \
--hash=sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969 \
--hash=sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b \
--hash=sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4 \
--hash=sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627 \
--hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \
--hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357
# via cryptography
cryptography==42.0.4 \
--hash=sha256:01911714117642a3f1792c7f376db572aadadbafcd8d75bb527166009c9f1d1b \
--hash=sha256:0e89f7b84f421c56e7ff69f11c441ebda73b8a8e6488d322ef71746224c20fce \
--hash=sha256:12d341bd42cdb7d4937b0cabbdf2a94f949413ac4504904d0cdbdce4a22cbf88 \
--hash=sha256:15a1fb843c48b4a604663fa30af60818cd28f895572386e5f9b8a665874c26e7 \
--hash=sha256:1cdcdbd117681c88d717437ada72bdd5be9de117f96e3f4d50dab3f59fd9ab20 \
--hash=sha256:1df6fcbf60560d2113b5ed90f072dc0b108d64750d4cbd46a21ec882c7aefce9 \
--hash=sha256:3c6048f217533d89f2f8f4f0fe3044bf0b2090453b7b73d0b77db47b80af8dff \
--hash=sha256:3e970a2119507d0b104f0a8e281521ad28fc26f2820687b3436b8c9a5fcf20d1 \
--hash=sha256:44a64043f743485925d3bcac548d05df0f9bb445c5fcca6681889c7c3ab12764 \
--hash=sha256:4e36685cb634af55e0677d435d425043967ac2f3790ec652b2b88ad03b85c27b \
--hash=sha256:5f8907fcf57392cd917892ae83708761c6ff3c37a8e835d7246ff0ad251d9298 \
--hash=sha256:69b22ab6506a3fe483d67d1ed878e1602bdd5912a134e6202c1ec672233241c1 \
--hash=sha256:6bfadd884e7280df24d26f2186e4e07556a05d37393b0f220a840b083dc6a824 \
--hash=sha256:6d0fbe73728c44ca3a241eff9aefe6496ab2656d6e7a4ea2459865f2e8613257 \
--hash=sha256:6ffb03d419edcab93b4b19c22ee80c007fb2d708429cecebf1dd3258956a563a \
--hash=sha256:810bcf151caefc03e51a3d61e53335cd5c7316c0a105cc695f0959f2c638b129 \
--hash=sha256:831a4b37accef30cccd34fcb916a5d7b5be3cbbe27268a02832c3e450aea39cb \
--hash=sha256:887623fe0d70f48ab3f5e4dbf234986b1329a64c066d719432d0698522749929 \
--hash=sha256:a0298bdc6e98ca21382afe914c642620370ce0470a01e1bef6dd9b5354c36854 \
--hash=sha256:a1327f280c824ff7885bdeef8578f74690e9079267c1c8bd7dc5cc5aa065ae52 \
--hash=sha256:c1f25b252d2c87088abc8bbc4f1ecbf7c919e05508a7e8628e6875c40bc70923 \
--hash=sha256:c3a5cbc620e1e17009f30dd34cb0d85c987afd21c41a74352d1719be33380885 \
--hash=sha256:ce8613beaffc7c14f091497346ef117c1798c202b01153a8cc7b8e2ebaaf41c0 \
--hash=sha256:d2a27aca5597c8a71abbe10209184e1a8e91c1fd470b5070a2ea60cafec35bcd \
--hash=sha256:dad9c385ba8ee025bb0d856714f71d7840020fe176ae0229de618f14dae7a6e2 \
--hash=sha256:db4b65b02f59035037fde0998974d84244a64c3265bdef32a827ab9b63d61b18 \
--hash=sha256:e09469a2cec88fb7b078e16d4adec594414397e8879a4341c6ace96013463d5b \
--hash=sha256:e53dc41cda40b248ebc40b83b31516487f7db95ab8ceac1f042626bc43a2f992 \
--hash=sha256:f1e85a178384bf19e36779d91ff35c7617c885da487d689b05c1366f9933ad74 \
--hash=sha256:f47be41843200f7faec0683ad751e5ef11b9a56a220d57f300376cd8aba81660 \
--hash=sha256:fb0cef872d8193e487fc6bdb08559c3aa41b659a7d9be48b2e10747f47863925 \
--hash=sha256:ffc73996c4fca3d2b6c1c8c12bfd3ad00def8621da24f547626bf06441400449
# via sev-snp-measure
pycparser==2.21 \
--hash=sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9 \
--hash=sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206
# via cffi
sev-snp-measure==0.0.9 \
--hash=sha256:32ac67a0db6b639186116d8806a730aac4743584e6ca810c65e8fc57b875f87d \
--hash=sha256:a1796822e15430c2db7749d1da269819b8cec1330600bb5589ed0ed61400dc41
# via -r input.txt
types-cryptography==3.3.23.2 \
--hash=sha256:09cc53f273dd4d8c29fa7ad11fefd9b734126d467960162397bc5e3e604dea75 \
--hash=sha256:b965d548f148f8e87f353ccf2b7bd92719fdf6c845ff7cedf2abb393a0643e4f
# via sev-snp-measure

View File

@ -22,7 +22,7 @@ jobs:
runs-on: [arc-runner-set]
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -31,7 +31,6 @@ jobs:
with:
useCache: "rbe"
rbePlatform: "ubuntu-22.04"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build all
shell: bash

View File

@ -13,30 +13,30 @@ on:
jobs:
find-ccm-versions:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
versions: ${{ steps.find-versions.outputs.versions }}
latest: ${{ steps.find-latest.outputs.latest }}
steps:
- name: Checkout Constellation
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Checkout kubernetes/cloud-provider-gcp
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: "kubernetes/cloud-provider-gcp"
path: "cloud-provider-gcp"
fetch-depth: 0
- name: Setup Go environment
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version: "1.22.0"
go-version: "1.24.2"
cache: false
- name: Install Crane
run: |
go install github.com/google/go-containerregistry/cmd/crane@latest
go install github.com/google/go-containerregistry/cmd/crane@c195f151efe3369874c72662cd69ad43ee485128 # v0.20.2
- name: Find versions
id: find-versions
@ -54,7 +54,7 @@ jobs:
build-ccm-gcp:
# matrix cannot handle empty lists
if: needs.find-ccm-versions.outputs.versions != '[]'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
packages: write
@ -65,10 +65,10 @@ jobs:
version: ${{ fromJson(needs.find-ccm-versions.outputs.versions) }}
steps:
- name: Checkout Constellation
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Checkout kubernetes/cloud-provider-gcp
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: "kubernetes/cloud-provider-gcp"
path: "cloud-provider-gcp"
@ -76,7 +76,7 @@ jobs:
- name: Docker meta
id: meta
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
ghcr.io/edgelesssys/cloud-provider-gcp
@ -113,7 +113,7 @@ jobs:
- name: Build and push container image
id: build
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
context: ./cloud-provider-gcp
push: ${{ github.ref_name == 'main' }}

View File

@ -10,7 +10,7 @@ env:
jobs:
build-gcp-guest-agent:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
packages: write
@ -69,7 +69,7 @@ jobs:
- name: Checkout GoogleCloudPlatform/guest-agent
if: steps.needs-build.outputs.out == 'true'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: "GoogleCloudPlatform/guest-agent"
ref: refs/tags/${{ steps.latest-release.outputs.latest }}
@ -77,7 +77,7 @@ jobs:
- name: Checkout Constellation
if: steps.needs-build.outputs.out == 'true'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: "constellation"
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -85,7 +85,7 @@ jobs:
- name: Docker meta
id: meta
if: steps.needs-build.outputs.out == 'true'
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
uses: docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804 # v5.7.0
with:
images: |
${{ env.REGISTRY }}/edgelesssys/gcp-guest-agent
@ -114,7 +114,7 @@ jobs:
- name: Build and push container image
if: steps.needs-build.outputs.out == 'true'
id: build
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
uses: docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4 # v6.15.0
with:
context: ./guest-agent
file: ./constellation/3rdparty/gcp-guest-agent/Dockerfile

View File

@ -13,18 +13,17 @@ on:
jobs:
build-container:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "false"
nixTools: |
crane
gzip

View File

@ -13,14 +13,14 @@ on:
jobs:
build-logcollector-debugd-images:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
packages: write
steps:
- name: Check out repository
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}

View File

@ -4,15 +4,15 @@ on:
workflow_dispatch:
schedule:
- cron: "0 21 * * 2" # At 21:00 on Tuesday.
- cron: "10 21 * * 2" # At 21:10 on Tuesday.
- cron: "20 21 * * 2" # At 21:20 on Tuesday.
- cron: "40 21 * * 2" # At 21:40 on Tuesday.
- cron: "0 21 * * 4" # At 21:00 on Thursday.
- cron: "10 21 * * 4" # At 21:10 on Thursday.
- cron: "20 21 * * 4" # At 21:20 on Thursday.
- cron: "40 21 * * 4" # At 21:40 on Thursday.
jobs:
stream:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
stream: ${{ steps.stream.outputs.stream }}
steps:
@ -28,10 +28,10 @@ jobs:
"0 21 * * 4" | "0 21 * * 2")
echo "stream=debug" | tee -a "$GITHUB_OUTPUT"
;;
"10 21 * * 4" | "10 21 * * 2")
"20 21 * * 4" | "20 21 * * 2")
echo "stream=console" | tee -a "$GITHUB_OUTPUT"
;;
"20 21 * * 4" | "20 21 * * 2")
"40 21 * * 4" | "40 21 * * 2")
echo "stream=nightly" | tee -a "$GITHUB_OUTPUT"
;;
*)
@ -54,22 +54,20 @@ jobs:
update-code:
# On nightly stream only.
if: |
github.event_name == 'workflow_dispatch' ||
github.event.schedule == '20 21 * * 4' ||
github.event.schedule == '20 21 * * 2'
needs: build-image
runs-on: ubuntu-22.04
if: needs.stream.outputs.stream == 'nightly'
needs: ["build-image", "stream"]
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.head_ref }}
token: ${{ secrets.CI_COMMIT_PUSH_PR }}
- name: Setup Go environment
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version: "1.22.0"
go-version: "1.24.2"
cache: false
- name: Determine version
@ -99,7 +97,7 @@ jobs:
run: rm -f internal/attestation/measurements/measurement-generator/generate
- name: Create pull request
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
branch: "image/automated/update-measurements-${{ github.run_number }}"
base: main
@ -111,6 +109,7 @@ jobs:
It updates the hardcoded measurements and the image version (for QEMU/MiniConstellation).
commit-message: "image: update measurements and image version"
committer: edgelessci <edgelessci@users.noreply.github.com>
author: edgelessci <edgelessci@users.noreply.github.com>
labels: no changelog
# We need to push changes using a token, otherwise triggers like on:push and on:pull_request won't work.
token: ${{ !github.event.pull_request.head.repo.fork && secrets.CI_COMMIT_PUSH_PR || '' }}
@ -118,10 +117,10 @@ jobs:
notify-failure:
if: failure()
needs: [ "stream", "build-image", "update-code" ]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.head_ref }}

View File

@ -47,7 +47,7 @@ on:
jobs:
build-settings:
name: "Determine build settings"
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
ref: ${{ steps.ref.outputs.ref }}
stream: ${{ steps.stream.outputs.stream }}
@ -59,7 +59,7 @@ jobs:
cliApiBasePath: ${{ steps.image-version.outputs.cliApiBasePath }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -138,7 +138,7 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -147,7 +147,7 @@ jobs:
useCache: "false"
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GitHubConstellationImagePipeline
aws-region: eu-central-1
@ -167,6 +167,12 @@ jobs:
with:
clouds_yaml: ${{ secrets.STACKIT_IMAGE_UPLOAD_CLOUDS_YAML }}
- name: Allow unrestricted user namespaces
shell: bash
run: |
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_unconfined=0
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_userns=0
- name: Build and upload
id: build
shell: bash

View File

@ -1,32 +0,0 @@
name: Build and upload versionsapi CI image
on:
workflow_dispatch:
push:
branches:
- main
paths:
- "internal/api/versionsapi/**"
- ".github/workflows/build-versionsapi-ci-image.yml"
- ".github/actions/versionsapi/**"
- "go.mod"
jobs:
build-versionsapi-ci-cli:
runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
steps:
- name: Check out repository
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Build and upload container image
uses: ./.github/actions/build_micro_service
with:
name: versionsapi-ci-cli
dockerfile: .github/actions/versionsapi/Dockerfile
githubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@ -17,15 +17,15 @@ on:
jobs:
linkChecker:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Link Checker
uses: lycheeverse/lychee-action@c053181aa0c3d17606addfe97a9075a32723548a # v1.9.3
uses: lycheeverse/lychee-action@1d97d84f0bc547f7b25f4c2170d87d810dc2fb2c # v2.4.0
with:
args: "--config ./.lychee.toml './**/*.md' './**/*.html'"
fail: true

View File

@ -0,0 +1,25 @@
name: Check measurements reproducibility
on:
workflow_dispatch:
inputs:
version:
type: string
description: The version of the measurements that are downloaded from the CDN.
required: true
ref:
type: string
description: The git ref to check out. You probably want this to be the tag of the release you are testing.
required: true
jobs:
check-reproducibility:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Check reproducibility
uses: ./.github/actions/check_measurements_reproducibility
with:
version: ${{ github.event.inputs.version }}
ref: ${{ github.event.inputs.ref }}

View File

@ -17,7 +17,7 @@ on:
jobs:
codeql:
name: CodeQL
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
# Force CodeQL to run the extraction on the files compiled by our custom
# build command, as opposed to letting the autobuilder figure it out.
@ -34,17 +34,17 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup Go environment
if: matrix.language == 'go'
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version: "1.22.0"
go-version: "1.24.2"
cache: false
- name: Initialize CodeQL
uses: github/codeql-action/init@cf7e9f23492505046de9a37830c3711dd0f25bb3 # v2.16.2
uses: github/codeql-action/init@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
with:
languages: ${{ matrix.language }}
@ -63,6 +63,6 @@ jobs:
echo "::endgroup::"
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@cf7e9f23492505046de9a37830c3711dd0f25bb3 # v2.16.2
uses: github/codeql-action/analyze@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
with:
category: "/language:${{ matrix.language }}"

View File

@ -13,15 +13,20 @@ on:
jobs:
vale:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
# Work around https://github.com/errata-ai/vale-action/issues/128.
- run: |
venv="$HOME/.local/share/venv"
python3 -m venv "$venv"
echo "$venv/bin" >> "$GITHUB_PATH"
- name: Vale
uses: errata-ai/vale-action@3f7188c866bcb3259339a09f517d7c4a8838303c # tag=reviewdog
uses: errata-ai/vale-action@2690bc95f0ed3cb5220492575af09c51b04fbea9 # tag=reviewdog
with:
files: docs/docs
fail_on_error: true
version: 3.9.3

View File

@ -50,7 +50,7 @@ on:
jobs:
build-cli:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@ -72,7 +72,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -92,8 +92,8 @@ jobs:
cosignPassword: ${{ inputs.key == 'release' && secrets.COSIGN_PASSWORD || secrets.COSIGN_DEV_PASSWORD }}
- name: Upload CLI as artifact (unix)
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if : ${{ matrix.os != 'windows' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ matrix.os != 'windows' }}
with:
name: constellation-${{ matrix.os }}-${{ matrix.arch }}
path: |
@ -101,8 +101,8 @@ jobs:
build/constellation-${{ matrix.os }}-${{ matrix.arch }}.sig
- name: Upload CLI as artifact (windows)
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if : ${{ matrix.os == 'windows' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ matrix.os == 'windows' }}
with:
name: constellation-${{ matrix.os }}-${{ matrix.arch }}
path: |
@ -110,7 +110,7 @@ jobs:
build/constellation-${{ matrix.os }}-${{ matrix.arch }}.exe.sig
build-terraform-provider:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
@ -133,7 +133,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -149,27 +149,27 @@ jobs:
targetArch: ${{ matrix.arch }}
- name: Upload Terraform Provider Binary as artifact (unix)
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if : ${{ matrix.os != 'windows' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ matrix.os != 'windows' }}
with:
name: terraform-provider-constellation-${{ matrix.os }}-${{ matrix.arch }}
path: |
build/terraform-provider-constellation-${{ matrix.os }}-${{ matrix.arch }}
- name: Upload Terraform Provider Binary as artifact (windows)
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
if : ${{ matrix.os == 'windows' }}
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ matrix.os == 'windows' }}
with:
name: terraform-provider-constellation-${{ matrix.os }}-${{ matrix.arch }}
path: |
build/terraform-provider-constellation-${{ matrix.os }}-${{ matrix.arch }}.exe
upload-terraform-module:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -177,7 +177,7 @@ jobs:
uses: ./.github/actions/upload_terraform_module
push-containers:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
if: inputs.pushContainers
permissions:
actions: read
@ -187,7 +187,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -208,7 +208,7 @@ jobs:
run: bazel run //bazel/release:push
provenance-subjects:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs:
- build-cli
- signed-sbom
@ -219,7 +219,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -227,7 +227,7 @@ jobs:
uses: ./.github/actions/download_release_binaries
- name: Download CLI SBOM
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation.spdx.sbom
@ -252,16 +252,16 @@ jobs:
echo provenance-subjects="${HASHESB64}" >> "$GITHUB_OUTPUT"
signed-sbom:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
- name: Install Cosign
uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 # v3.4.0
uses: sigstore/cosign-installer@d7d6bc7722e3daa8354c50bcb52f4837da5e9b6a # v3.8.1
- name: Download Syft & Grype
uses: ./.github/actions/install_syft_grype
@ -296,13 +296,13 @@ jobs:
COSIGN_PASSWORD: ${{ inputs.key == 'release' && secrets.COSIGN_PASSWORD || secrets.COSIGN_DEV_PASSWORD }}
- name: Upload Constellation CLI SBOM
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: constellation.spdx.sbom
path: constellation.spdx.sbom
- name: Upload Constellation CLI SBOM's signature
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: constellation.spdx.sbom.sig
path: constellation.spdx.sbom.sig
@ -316,14 +316,14 @@ jobs:
- provenance-subjects
# This must not be pinned to digest. See:
# https://github.com/slsa-framework/slsa-github-generator#referencing-slsa-builders-and-generators
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.9.0
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
with:
base64-subjects: "${{ needs.provenance-subjects.outputs.provenance-subjects }}"
provenance-verify:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
SLSA_VERIFIER_VERSION: "2.0.1"
SLSA_VERIFIER_VERSION: "2.7.0"
needs:
- build-cli
- provenance
@ -332,7 +332,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -340,14 +340,12 @@ jobs:
uses: ./.github/actions/download_release_binaries
- name: Download CLI SBOM
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation.spdx.sbom
- name: Download provenance
# Need to use the same major version as slsa-github-generator to find uploaded artifacts
# https://github.com/slsa-framework/slsa-github-generator/issues/3068
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: ${{ needs.provenance.outputs.provenance-name }}
@ -397,7 +395,7 @@ jobs:
release:
permissions:
contents: write
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs:
- build-cli
- provenance
@ -407,7 +405,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -420,19 +418,17 @@ jobs:
uses: ./.github/actions/download_release_binaries
- name: Download CLI SBOM
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation.spdx.sbom
- name: Download Constellation CLI SBOM's signature
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation.spdx.sbom.sig
- name: Download Constellation provenance
# Need to use the same major version as slsa-github-generator to find uploaded artifacts
# https://github.com/slsa-framework/slsa-github-generator/issues/3068
uses: actions/download-artifact@9bc31d5ccc31df68ecc42ccf4149144866c47d8a # v3.0.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: ${{ needs.provenance.outputs.provenance-name }}
@ -476,7 +472,7 @@ jobs:
- name: Create release with artifacts
id: create-release
# GitHub endorsed release project. See: https://github.com/actions/create-release
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
with:
draft: true
generate_release_notes: true
@ -491,7 +487,7 @@ jobs:
terraform-module.zip
- name: Create Terraform provider release with artifcats
uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 # v0.1.15
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
with:
draft: true
generate_release_notes: false

View File

@ -10,11 +10,6 @@ on:
- "internal/api/**"
- ".github/workflows/e2e-attestationconfigapi.yml"
- "go.mod"
pull_request:
paths:
- "internal/api/**"
- ".github/workflows/e2e-attestationconfigapi.yml"
- "go.mod"
jobs:
e2e-api:
@ -22,8 +17,8 @@ jobs:
fail-fast: false
max-parallel: 1
matrix:
csp: ["azure", "aws"]
runs-on: ubuntu-22.04
attestationVariant: ["azure-sev-snp", "azure-tdx", "aws-sev-snp", "gcp-sev-snp"]
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -31,7 +26,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
# Don't trigger in forks, use head on pull requests, use default otherwise.
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || github.event.pull_request.head.sha || '' }}
@ -39,7 +34,6 @@ jobs:
- name: Run Attestationconfig API E2E
uses: ./.github/actions/e2e_attestationconfigapi
with:
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
cosignPrivateKey: ${{ secrets.COSIGN_DEV_PRIVATE_KEY }}
cosignPassword: ${{ secrets.COSIGN_DEV_PASSWORD }}
csp: ${{ matrix.csp }}
attestationVariant: ${{ matrix.attestationVariant }}

View File

@ -0,0 +1,26 @@
name: e2e weekly cleanup
on:
schedule:
- cron: "0 0 * * 0" # At 00:00 every Sunday UTC
workflow_dispatch:
jobs:
cleanup:
runs-on: ubuntu-latest
permissions:
actions: read
id-token: write
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Cleanup
uses: ./.github/actions/e2e_cleanup_timeframe
with:
ghToken: ${{ secrets.GITHUB_TOKEN }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
azure_credentials: ${{ secrets.AZURE_E2E_DESTROY_CREDENTIALS }}
openStackCloudsYaml: ${{ secrets.STACKIT_CI_CLOUDS_YAML }}
stackitUat: ${{ secrets.STACKIT_CI_UAT }}

View File

@ -20,7 +20,7 @@ on:
jobs:
e2e-mini:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
environment: e2e
permissions:
id-token: write
@ -29,12 +29,12 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.event.workflow_run.head_branch || github.head_ref }}
- name: Azure login OIDC
uses: azure/login@cb79c773a3cfa27f31f25eb3f677781210c9ce3d # v1.6.1
uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0
with:
client-id: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
@ -46,6 +46,6 @@ jobs:
azureClientID: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureTenantID: ${{ secrets.AZURE_TENANT_ID }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureIAMCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
githubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@ -12,7 +12,7 @@ jobs:
matrix:
refStream: ["ref/main/stream/debug/?", "ref/release/stream/stable/?"]
name: Find latest image
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -21,7 +21,7 @@ jobs:
image-release-stable: ${{ steps.relabel-output.outputs.image-release-stable }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -45,20 +45,21 @@ jobs:
fail-fast: false
max-parallel: 5
matrix:
kubernetesVersion: ["1.28"] # should be default
attestationVariant: ["gcp-sev-es", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
kubernetesVersion: ["1.30"] # This should correspond to the current default k8s minor.
attestationVariant: ["gcp-sev-es", "gcp-sev-snp", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
refStream: ["ref/main/stream/debug/?", "ref/release/stream/stable/?"]
test: ["sonobuoy quick"]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
contents: read
packages: write
actions: write
needs: [find-latest-image]
steps:
- name: Check out repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -89,7 +90,7 @@ jobs:
gcpIAMCreateServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
kubernetesVersion: ${{ matrix.kubernetesVersion }}
test: ${{ matrix.test }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
@ -121,6 +122,16 @@ jobs:
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ steps.e2e_test.outputs.namePrefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
- name: Notify about failure
if: |
failure() &&
@ -139,7 +150,7 @@ jobs:
e2e-mini:
name: Run miniconstellation E2E test
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
environment: e2e
permissions:
id-token: write
@ -148,12 +159,12 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Azure login OIDC
uses: azure/login@cb79c773a3cfa27f31f25eb3f677781210c9ce3d # v1.6.1
uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0
with:
client-id: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
@ -165,7 +176,7 @@ jobs:
azureClientID: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureTenantID: ${{ secrets.AZURE_TENANT_ID }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureIAMCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
githubToken: ${{ secrets.GITHUB_TOKEN }}

View File

@ -11,19 +11,20 @@ on:
description: "Which attestation variant to use."
type: choice
options:
- "gcp-sev-es"
- "aws-sev-snp"
- "azure-sev-snp"
- "azure-tdx"
- "aws-sev-snp"
- "gcp-sev-es"
- "gcp-sev-snp"
default: "azure-sev-snp"
required: true
runner:
description: "Architecture of the runner that executes the CLI"
type: choice
options:
- "ubuntu-22.04"
- "macos-12"
default: "ubuntu-22.04"
- "ubuntu-24.04"
- "macos-latest"
default: "ubuntu-24.04"
test:
description: "The test to run."
type: choice
@ -40,7 +41,6 @@ on:
required: true
kubernetesVersion:
description: "Kubernetes version to create the cluster from."
default: "1.28"
required: true
cliVersion:
description: "Version of a released CLI to download. Leave empty to build the CLI from the checked out ref."

View File

@ -11,19 +11,20 @@ on:
description: "Which attestation variant to use."
type: choice
options:
- "gcp-sev-es"
- "aws-sev-snp"
- "azure-sev-snp"
- "azure-tdx"
- "aws-sev-snp"
- "gcp-sev-es"
- "gcp-sev-snp"
default: "azure-sev-snp"
required: true
runner:
description: "Architecture of the runner that executes the CLI"
type: choice
options:
- "ubuntu-22.04"
- "macos-12"
default: "ubuntu-22.04"
- "ubuntu-24.04"
- "macos-latest"
default: "ubuntu-24.04"
test:
description: "The test to run."
type: choice
@ -40,7 +41,6 @@ on:
required: true
kubernetesVersion:
description: "Kubernetes version to create the cluster from."
default: "1.28"
required: true
cliVersion:
description: "Version of a released CLI to download. Leave empty to build the CLI from the checked out ref."

View File

@ -31,6 +31,7 @@ on:
- "azure-sev-snp"
- "azure-tdx"
- "gcp-sev-es"
- "gcp-sev-snp"
default: "azure-sev-snp"
required: true
workflow_call:
@ -62,7 +63,7 @@ on:
jobs:
provider-example-test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -70,7 +71,7 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.ref || github.head_ref }}
@ -83,14 +84,6 @@ jobs:
ref: main
stream: nightly
- name: Create resource prefix
id: create-prefix
shell: bash
run: |
run_id=${{ github.run_id }}
last_three="${run_id: -3}"
echo "prefix=e2e-${last_three}" | tee -a "$GITHUB_OUTPUT"
- name: Determine cloudprovider from attestation variant
id: determine
shell: bash
@ -120,10 +113,18 @@ jobs:
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
nixTools: terraform
- name: Create prefix
id: create-prefix
shell: bash
run: |
uuid=$(uuidgen | tr "[:upper:]" "[:lower:]")
uuid="${uuid%%-*}"
uuid="${uuid: -3}" # Final resource name must be no longer than 10 characters on AWS
echo "uuid=${uuid}" | tee -a "${GITHUB_OUTPUT}"
echo "prefix=e2e-${uuid}" | tee -a "${GITHUB_OUTPUT}"
- name: Build Constellation provider and CLI # CLI is needed for the upgrade assert and container push is needed for the microservice upgrade
working-directory: ${{ github.workspace }}
id: build
@ -153,7 +154,7 @@ jobs:
- name: Login to AWS (IAM + Cluster role)
if: steps.determine.outputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 # v2.2.0
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2ETerraform
aws-region: eu-central-1
@ -263,11 +264,21 @@ jobs:
run: |
region=$(echo ${{ inputs.regionZone || 'europe-west3-b' }} | rev | cut -c 3- | rev)
case "${{ inputs.attestationVariant }}" in
"gcp-sev-snp")
cc_tech="SEV_SNP"
;;
*)
cc_tech="SEV"
;;
esac
cat >> _override.tf <<EOF
locals {
project_id = "constellation-e2e"
region = "${region}"
zone = "${{ inputs.regionZone || 'europe-west3-b' }}"
cc_technology = "${cc_tech}"
}
EOF
cat _override.tf
@ -295,6 +306,19 @@ jobs:
cat >> _override.tf <<EOF
locals {
instance_type = "Standard_DC4es_v5"
subscription_id = "$(az account show --query id --output tsv)"
}
EOF
cat _override.tf
- name: Create Azure SEV-SNP Terraform overrides
if: inputs.attestationVariant == 'azure-sev-snp'
working-directory: ${{ github.workspace }}/cluster
shell: bash
run: |
cat >> _override.tf <<EOF
locals {
subscription_id = "$(az account show --query id --output tsv)"
}
EOF
cat _override.tf
@ -310,14 +334,15 @@ jobs:
working-directory: ${{ github.workspace }}/cluster
shell: bash
run: |
sudo sh -c 'echo "127.0.0.1 license.confidential.cloud" >> /etc/hosts'
terraform init
if [[ "${{ inputs.attestationVariant }}" == "azure-sev-snp" ]]; then
terraform apply -target module.azure_iam -auto-approve
terraform apply -target module.azure_infrastructure -auto-approve
timeout 1h terraform apply -target module.azure_iam -auto-approve
timeout 1h terraform apply -target module.azure_infrastructure -auto-approve
${{ github.workspace }}/build/constellation maa-patch "$(terraform output -raw maa_url)"
terraform apply -target constellation_cluster.azure_example -auto-approve
timeout 1h terraform apply -target constellation_cluster.azure_example -auto-approve
else
terraform apply -auto-approve
timeout 1h terraform apply -auto-approve
fi
- name: Cleanup Terraform Cluster on failure
@ -328,7 +353,7 @@ jobs:
shell: bash
run: |
terraform init
terraform destroy -auto-approve
terraform destroy -auto-approve -lock=false
- name: Add Provider to local Terraform registry # needed if release version was used before
if: inputs.providerVersion != ''
@ -382,7 +407,7 @@ jobs:
shell: bash
run: |
terraform init --upgrade
terraform apply -auto-approve
timeout 1h terraform apply -auto-approve
- name: Assert upgrade successful
working-directory: ${{ github.workspace }}/cluster
@ -390,7 +415,7 @@ jobs:
IMAGE: ${{ inputs.toImage && inputs.toImage || steps.find-latest-image.outputs.image }}
KUBERNETES: ${{ inputs.toKubernetes }}
MICROSERVICES: ${{ steps.build.outputs.build_version }}
WORKERNODES: 1
WORKERNODES: 1
CONTROLNODES: 1
run: |
terraform output -raw kubeconfig > constellation-admin.conf
@ -441,20 +466,20 @@ jobs:
yq e '.nodeGroups.control_plane_default.zone = "eu-central-1a"' -i constellation-conf.yaml
yq e '.nodeGroups.worker_default.zone = "eu-central-1a"' -i constellation-conf.yaml
fi
KUBECONFIG=${{ github.workspace }}/cluster/constellation-admin.conf bazel run //e2e/provider-upgrade:provider-upgrade_test -- --want-worker "$WORKERNODES" --want-control "$CONTROLNODES" --cli "${{ github.workspace }}/build/constellation" "$IMAGE_FLAG" "$KUBERNETES_FLAG" "$MICROSERVICES_FLAG"
KUBECONFIG=${{ github.workspace }}/cluster/constellation-admin.conf bazel run --test_timeout=14400 //e2e/provider-upgrade:provider-upgrade_test -- --want-worker "$WORKERNODES" --want-control "$CONTROLNODES" --cli "${{ github.workspace }}/build/constellation" "$IMAGE_FLAG" "$KUBERNETES_FLAG" "$MICROSERVICES_FLAG"
- name: Destroy Terraform Cluster
# outcome is part of the steps context (https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context)
# outcome is part of the steps context (https://docs.github.com/en/actions/learn-github-actions/contexts#steps-context)
if: always() && steps.apply_terraform.outcome != 'skipped'
working-directory: ${{ github.workspace }}/cluster
shell: bash
run: |
terraform init
terraform destroy -auto-approve
terraform destroy -auto-approve -lock=false
- name: Notify about failure
if: |
failure() &&
(failure() || cancelled()) &&
github.ref == 'refs/heads/main' &&
github.event_name == 'schedule'
continue-on-error: true

View File

@ -47,197 +47,256 @@ jobs:
# sonobuoy full test on all k8s versions
- test: "sonobuoy full"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.28"
runner: "ubuntu-22.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.28"
runner: "ubuntu-22.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.28"
runner: "ubuntu-22.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.28"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.27"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.27"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.27"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.27"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "sonobuoy full"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# verify test on latest k8s version
- test: "verify"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "verify"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "verify"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "verify"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "verify"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# recover test on latest k8s version
- test: "recover"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "recover"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "recover"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "recover"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "recover"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# lb test on latest k8s version
- test: "lb"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "lb"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "lb"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "lb"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "lb"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# autoscaling test on latest k8s version
- test: "autoscaling"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "autoscaling"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "autoscaling"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "autoscaling"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "autoscaling"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# perf-bench test on latest k8s version, not supported on AWS
# perf-bench test on latest k8s version
- test: "perf-bench"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "perf-bench"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "perf-bench"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "perf-bench"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
- test: "perf-bench"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# s3proxy test on latest k8s version
- test: "s3proxy"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "ubuntu-22.04"
kubernetes-version: "v1.30"
runner: "ubuntu-24.04"
clusterCreation: "cli"
# malicious join test on latest k8s version
- test: "malicious join"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runner: "ubuntu-24.04"
- test: "malicious join"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runner: "ubuntu-24.04"
- test: "malicious join"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runner: "ubuntu-24.04"
- test: "malicious join"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runner: "ubuntu-24.04"
- test: "malicious join"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runner: "ubuntu-24.04"
#
# Tests on macOS runner
@ -246,12 +305,12 @@ jobs:
# TODO(3u13r): Update verify test to work on MacOS runners
# - test: "verify"
# attestationVariant: "azure-sev-snp"
# kubernetes-version: "v1.29"
# runner: "macos-12"
# kubernetes-version: "v1.30"
# runner: "macos-latest"
- test: "recover"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
runner: "macos-12"
kubernetes-version: "v1.30"
runner: "macos-latest"
clusterCreation: "cli"
runs-on: ${{ matrix.runner }}
permissions:
@ -259,6 +318,7 @@ jobs:
checks: write
contents: read
packages: write
actions: write
steps:
- name: Install the basics tools (macOS)
if: runner.os == 'macOS'
@ -266,7 +326,7 @@ jobs:
run: brew install coreutils kubectl bash
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ inputs.ref || github.head_ref }}
@ -282,7 +342,7 @@ jobs:
- name: Set up gcloud CLI (macOS)
if: steps.split-attestationVariant.outputs.provider == 'gcp' && runner.os == 'macOS'
uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 # v2.1.0
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
- name: Run E2E test
id: e2e_test
@ -304,7 +364,7 @@ jobs:
gcpClusterCreateServiceAccount: "infrastructure-e2e@constellation-e2e.iam.gserviceaccount.com"
gcpIAMCreateServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
test: ${{ matrix.test }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
@ -334,13 +394,23 @@ jobs:
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ steps.e2e_test.outputs.namePrefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
e2e-upgrade:
strategy:
fail-fast: false
max-parallel: 1
matrix:
fromVersion: ["v2.15.1"]
attestationVariant: ["gcp-sev-es", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
fromVersion: ["v2.22.0"]
attestationVariant: ["gcp-sev-snp", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
name: Run upgrade tests
secrets: inherit
permissions:
@ -348,6 +418,7 @@ jobs:
contents: read
checks: write
packages: write
actions: write
uses: ./.github/workflows/e2e-upgrade.yml
with:
fromVersion: ${{ matrix.fromVersion }}

153
.github/workflows/e2e-test-stackit.yml vendored Normal file
View File

@ -0,0 +1,153 @@
name: e2e test STACKIT
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # Every day at midnight.
jobs:
find-latest-image:
name: Find latest image
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
outputs:
image-release-stable: ${{ steps.relabel-output.outputs.image-release-stable }}
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Select relevant image
id: select-image-action
uses: ./.github/actions/select_image
with:
osImage: "ref/release/stream/stable/?"
- name: Relabel output
id: relabel-output
shell: bash
run: |
ref=$(echo 'ref/release/stream/stable/?' | cut -d/ -f2)
stream=$(echo 'ref/release/stream/stable/?' | cut -d/ -f4)
echo "image-$ref-$stream=${{ steps.select-image-action.outputs.osImage }}" | tee -a "$GITHUB_OUTPUT"
e2e-stackit:
strategy:
fail-fast: false
max-parallel: 6
matrix:
kubernetesVersion: [ "1.29", "1.30", "1.31" ]
clusterCreation: [ "cli", "terraform" ]
test: [ "sonobuoy quick" ]
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
contents: read
packages: write
actions: write
needs: [find-latest-image]
steps:
- name: Check out repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
nixTools: terraform
- name: Run E2E test
id: e2e_test
uses: ./.github/actions/e2e_test
with:
workerNodesCount: "1"
controlNodesCount: "1"
cloudProvider: stackit
attestationVariant: qemu-vtpm
osImage: ${{ needs.find-latest-image.outputs.image-release-stable }}
isDebugImage: false
cliVersion: ${{ needs.find-latest-image.outputs.image-release-stable || '' }}
kubernetesVersion: ${{ matrix.kubernetesVersion }}
awsOpenSearchDomain: ${{ secrets.AWS_OPENSEARCH_DOMAIN }}
awsOpenSearchUsers: ${{ secrets.AWS_OPENSEARCH_USER }}
awsOpenSearchPwd: ${{ secrets.AWS_OPENSEARCH_PWD }}
gcpProject: constellation-e2e
gcpClusterCreateServiceAccount: "infrastructure-e2e@constellation-e2e.iam.gserviceaccount.com"
gcpIAMCreateServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
test: ${{ matrix.test }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
githubToken: ${{ secrets.GITHUB_TOKEN }}
cosignPassword: ${{ secrets.COSIGN_PASSWORD }}
cosignPrivateKey: ${{ secrets.COSIGN_PRIVATE_KEY }}
fetchMeasurements: false
clusterCreation: ${{ matrix.clusterCreation }}
s3AccessKey: ${{ secrets.AWS_ACCESS_KEY_ID_S3PROXY }}
s3SecretKey: ${{ secrets.AWS_SECRET_ACCESS_KEY_S3PROXY }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
openStackCloudsYaml: ${{ secrets.STACKIT_CI_CLOUDS_YAML }}
stackitUat: ${{ secrets.STACKIT_CI_UAT }}
stackitProjectID: ${{ secrets.STACKIT_CI_PROJECT_ID }}
- name: Always terminate cluster
if: always()
uses: ./.github/actions/constellation_destroy
with:
kubeconfig: ${{ steps.e2e_test.outputs.kubeconfig }}
clusterCreation: ${{ matrix.clusterCreation }}
cloudProvider: stackit
azureClusterDeleteCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
gcpClusterDeleteServiceAccount: "infrastructure-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Always delete IAM configuration
if: always()
uses: ./.github/actions/constellation_iam_destroy
with:
cloudProvider: stackit
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ steps.e2e_test.outputs.namePrefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
- name: Notify about failure
if: |
failure() &&
github.ref == 'refs/heads/main' &&
github.event_name == 'schedule'
continue-on-error: true
uses: ./.github/actions/notify_e2e_failure
with:
projectWriteToken: ${{ secrets.PROJECT_WRITE_TOKEN }}
refStream: "ref/release/stream/stable/?"
test: ${{ matrix.test }}
kubernetesVersion: ${{ matrix.kubernetesVersion }}
provider: stackit
attestationVariant: qemu-vtpm
clusterCreation: ${{ matrix.clusterCreation }}
- name: Notify STACKIT
if: |
failure() &&
github.ref == 'refs/heads/main' &&
github.event_name == 'schedule'
continue-on-error: true
uses: ./.github/actions/notify_stackit
with:
slackToken: ${{ secrets.SLACK_TOKEN }}

View File

@ -11,19 +11,20 @@ on:
description: "Which attestation variant to use."
type: choice
options:
- "gcp-sev-es"
- "aws-sev-snp"
- "azure-sev-snp"
- "azure-tdx"
- "aws-sev-snp"
- "gcp-sev-es"
- "gcp-sev-snp"
default: "azure-sev-snp"
required: true
runner:
description: "Architecture of the runner that executes the CLI"
type: choice
options:
- "ubuntu-22.04"
- "macos-12"
default: "ubuntu-22.04"
- "ubuntu-24.04"
- "macos-latest"
default: "ubuntu-24.04"
test:
description: "The test to run."
type: choice
@ -40,7 +41,6 @@ on:
required: true
kubernetesVersion:
description: "Kubernetes version to create the cluster from."
default: "1.28"
required: true
releaseVersion:
description: "Version of a released provider to download. Leave empty to build the provider from the checked out ref."

View File

@ -10,9 +10,9 @@ jobs:
strategy:
fail-fast: false
matrix:
refStream: ["ref/main/stream/nightly/?","ref/main/stream/debug/?", "ref/release/stream/stable/?"]
refStream: ["ref/main/stream/nightly/?", "ref/main/stream/debug/?", "ref/release/stream/stable/?"]
name: Find latest image
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -22,7 +22,7 @@ jobs:
image-main-nightly: ${{ steps.relabel-output.outputs.image-main-nightly }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -51,184 +51,261 @@ jobs:
# Tests on main-debug refStream
#
# Emergency SSH test on latest k8s version
- test: "emergency ssh"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "emergency ssh"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "emergency ssh"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "emergency ssh"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "emergency ssh"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# Sonobuoy full test on latest k8s version
- test: "sonobuoy full"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy full"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy full"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy full"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy full"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# Sonobuoy conformance test
- test: "sonobuoy conformance"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# Sonobuoy quick test on all but the latest k8s versions
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.27"
kubernetes-version: "v1.29"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.29"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.27"
kubernetes-version: "v1.29"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.27"
kubernetes-version: "v1.29"
clusterCreation: "cli"
- test: "sonobuoy quick"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.27"
kubernetes-version: "v1.29"
clusterCreation: "cli"
# verify test on latest k8s version
- test: "verify"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
azureSNPEnforcementPolicy: "equal" # This run checks for unknown ID Key disgests.
clusterCreation: "cli"
- test: "verify"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
attestationVariant: "aws-sev-snp"
refStream: "ref/main/stream/debug/?"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# recover test on latest k8s version
- test: "recover"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "recover"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "recover"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "recover"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "recover"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# lb test on latest k8s version
- test: "lb"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "lb"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "lb"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "lb"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "lb"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# autoscaling test on latest k8s version
- test: "autoscaling"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "autoscaling"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "autoscaling"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "autoscaling"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "autoscaling"
refStream: "ref/main/stream/debug/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# perf-bench test on latest k8s version, not supported on AWS
# perf-bench test on latest k8s version
- test: "perf-bench"
refStream: "ref/main/stream/debug/?"
refStream: "ref/main/stream/nightly/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "perf-bench"
refStream: "ref/main/stream/debug/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.29"
refStream: "ref/main/stream/nightly/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "perf-bench"
refStream: "ref/main/stream/nightly/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "perf-bench"
refStream: "ref/main/stream/nightly/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "perf-bench"
refStream: "ref/main/stream/nightly/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
# TODO: check what needs to be done for perf-bench on Azure TDX
#- test: "perf-bench"
# refStream: "ref/main/stream/debug/?"
# attestationVariant: "azure-tdx"
# kubernetes-version: "v1.29"
# clusterCreation: "cli"
# s3proxy test on latest k8s version
- test: "s3proxy"
refStream: "ref/main/stream/debug/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.29"
kubernetes-version: "v1.30"
clusterCreation: "cli"
#
@ -239,34 +316,40 @@ jobs:
- test: "verify"
refStream: "ref/release/stream/stable/?"
attestationVariant: "gcp-sev-es"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/release/stream/stable/?"
attestationVariant: "gcp-sev-snp"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/release/stream/stable/?"
attestationVariant: "azure-sev-snp"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/release/stream/stable/?"
attestationVariant: "azure-tdx"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
- test: "verify"
refStream: "ref/release/stream/stable/?"
attestationVariant: "aws-sev-snp"
kubernetes-version: "v1.28"
kubernetes-version: "v1.30"
clusterCreation: "cli"
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
contents: read
packages: write
actions: write
needs: [find-latest-image]
steps:
- name: Check out repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
@ -288,7 +371,7 @@ jobs:
controlNodesCount: "3"
cloudProvider: ${{ steps.split-attestationVariant.outputs.cloudProvider }}
attestationVariant: ${{ matrix.attestationVariant }}
osImage: ${{ matrix.refStream == 'ref/release/stream/stable/?' && needs.find-latest-image.outputs.image-release-stable || needs.find-latest-image.outputs.image-main-debug }}
osImage: ${{ matrix.refStream == 'ref/release/stream/stable/?' && needs.find-latest-image.outputs.image-release-stable || matrix.refStream == 'ref/main/stream/nightly/?' && needs.find-latest-image.outputs.image-main-nightly || needs.find-latest-image.outputs.image-main-debug }}
isDebugImage: ${{ matrix.refStream == 'ref/main/stream/debug/?' }}
cliVersion: ${{ matrix.refStream == 'ref/release/stream/stable/?' && needs.find-latest-image.outputs.image-release-stable || '' }}
kubernetesVersion: ${{ matrix.kubernetes-version }}
@ -300,7 +383,7 @@ jobs:
gcpClusterCreateServiceAccount: "infrastructure-e2e@constellation-e2e.iam.gserviceaccount.com"
gcpIAMCreateServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
test: ${{ matrix.test }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
@ -332,6 +415,16 @@ jobs:
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ steps.e2e_test.outputs.namePrefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
- name: Notify about failure
if: |
failure() &&
@ -353,8 +446,8 @@ jobs:
fail-fast: false
max-parallel: 1
matrix:
fromVersion: ["v2.15.1"]
attestationVariant: ["gcp-sev-es", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
fromVersion: ["v2.22.0"]
attestationVariant: ["gcp-sev-snp", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
name: Run upgrade tests
secrets: inherit
permissions:
@ -362,6 +455,7 @@ jobs:
checks: write
contents: read
packages: write
actions: write
uses: ./.github/workflows/e2e-upgrade.yml
with:
fromVersion: ${{ matrix.fromVersion }}
@ -371,7 +465,7 @@ jobs:
e2e-mini:
name: Run miniconstellation E2E test
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
environment: e2e
permissions:
id-token: write
@ -380,12 +474,12 @@ jobs:
steps:
- name: Checkout
id: checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Azure login OIDC
uses: azure/login@cb79c773a3cfa27f31f25eb3f677781210c9ce3d # v1.6.1
uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0
with:
client-id: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
@ -397,7 +491,7 @@ jobs:
azureClientID: ${{ secrets.AZURE_E2E_MINI_CLIENT_ID }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureTenantID: ${{ secrets.AZURE_TENANT_ID }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureIAMCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
githubToken: ${{ secrets.GITHUB_TOKEN }}
@ -420,6 +514,7 @@ jobs:
id-token: write
contents: read
packages: write
checks: write
secrets: inherit
uses: ./.github/workflows/e2e-windows.yml
with:
@ -430,7 +525,7 @@ jobs:
strategy:
fail-fast: false
matrix:
attestationVariant: ["gcp-sev-es", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
attestationVariant: ["gcp-sev-snp", "azure-sev-snp", "azure-tdx", "aws-sev-snp"]
permissions:
id-token: write
contents: read

View File

@ -12,24 +12,27 @@ on:
type: choice
options:
- "gcp-sev-es"
- "gcp-sev-snp"
- "azure-sev-snp"
- "azure-tdx"
- "aws-sev-snp"
- "stackit-qemu-vtpm"
default: "azure-sev-snp"
required: true
runner:
description: "Architecture of the runner that executes the CLI"
type: choice
options:
- "ubuntu-22.04"
- "macos-12"
default: "ubuntu-22.04"
- "ubuntu-24.04"
- "macos-latest"
default: "ubuntu-24.04"
test:
description: "The test to run."
description: "The test to run. The conformance test is only supported for clusterCreation=cli."
type: choice
options:
- "sonobuoy quick"
- "sonobuoy full"
- "sonobuoy conformance"
- "autoscaling"
- "lb"
- "perf-bench"
@ -37,11 +40,12 @@ on:
- "recover"
- "malicious join"
- "s3proxy"
- "emergency ssh"
- "nop"
required: true
kubernetesVersion:
description: "Kubernetes version to create the cluster from."
default: "1.28"
default: "1.30"
required: true
cliVersion:
description: "Version of a released CLI to download. Leave empty to build the CLI from the checked out ref."
@ -81,7 +85,7 @@ on:
type: string
required: true
test:
description: "The test to run."
description: "The test to run. The conformance test is only supported for clusterCreation=cli."
type: string
required: true
kubernetesVersion:
@ -127,7 +131,7 @@ on:
jobs:
generate-input-parameters:
name: Generate input parameters
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -135,6 +139,7 @@ jobs:
workerNodes: ${{ steps.split-nodeCount.outputs.workerNodes }}
controlPlaneNodes: ${{ steps.split-nodeCount.outputs.controlPlaneNodes }}
cloudProvider: ${{ steps.split-attestationVariant.outputs.cloudProvider }}
attestationVariant: ${{ steps.split-attestationVariant.outputs.attestationVariant }}
steps:
- name: Split nodeCount
id: split-nodeCount
@ -159,11 +164,17 @@ jobs:
attestationVariant="${{ inputs.attestationVariant }}"
cloudProvider="${attestationVariant%%-*}"
# special case for STACKIT, as there's no special attestation variant for it
if [[ "${cloudProvider}" == "stackit" ]]; then
attestationVariant="qemu-vtpm"
fi
echo "attestationVariant=${attestationVariant}" | tee -a "$GITHUB_OUTPUT"
echo "cloudProvider=${cloudProvider}" | tee -a "$GITHUB_OUTPUT"
find-latest-image:
name: Select image
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -173,13 +184,13 @@ jobs:
steps:
- name: Checkout head
if: inputs.git-ref == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.git-ref != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.git-ref }}
@ -199,6 +210,7 @@ jobs:
checks: write
contents: read
packages: write
actions: write
needs: [find-latest-image, generate-input-parameters]
if: always() && !cancelled()
steps:
@ -209,19 +221,19 @@ jobs:
- name: Checkout head
if: inputs.git-ref == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.git-ref != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ inputs.git-ref }}
- name: Set up gcloud CLI (macOS)
if: needs.generate-input-parameters.outputs.cloudProvider == 'gcp' && runner.os == 'macOS'
uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 # v2.1.0
uses: google-github-actions/setup-gcloud@77e7a554d41e2ee56fc945c52dfd3f33d12def9a # v2.1.4
- name: Run manual E2E test
id: e2e_test
@ -230,7 +242,7 @@ jobs:
workerNodesCount: ${{ needs.generate-input-parameters.outputs.workerNodes }}
controlNodesCount: ${{ needs.generate-input-parameters.outputs.controlPlaneNodes }}
cloudProvider: ${{ needs.generate-input-parameters.outputs.cloudProvider }}
attestationVariant: ${{ inputs.attestationVariant }}
attestationVariant: ${{ needs.generate-input-parameters.outputs.attestationVariant }}
machineType: ${{ inputs.machineType }}
regionZone: ${{ inputs.regionZone }}
gcpProject: constellation-e2e
@ -244,7 +256,7 @@ jobs:
osImage: ${{ needs.find-latest-image.outputs.image }}
cliVersion: ${{ inputs.cliVersion }}
isDebugImage: ${{ needs.find-latest-image.outputs.isDebugImage }}
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
@ -259,6 +271,9 @@ jobs:
marketplaceImageVersion: ${{ inputs.marketplaceImageVersion }}
force: ${{ inputs.force }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
openStackCloudsYaml: ${{ secrets.STACKIT_CI_CLOUDS_YAML }}
stackitUat: ${{ secrets.STACKIT_CI_UAT }}
stackitProjectID: ${{ secrets.STACKIT_CI_PROJECT_ID }}
- name: Always terminate cluster
if: always()
@ -277,3 +292,13 @@ jobs:
cloudProvider: ${{ needs.generate-input-parameters.outputs.cloudProvider }}
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ steps.e2e_test.outputs.namePrefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}

View File

@ -7,10 +7,11 @@ on:
description: "Which attestation variant to use."
type: choice
options:
- "gcp-sev-es"
- "aws-sev-snp"
- "azure-sev-snp"
- "azure-tdx"
- "aws-sev-snp"
- "gcp-sev-es"
- "gcp-sev-snp"
default: "azure-sev-snp"
required: true
nodeCount:
@ -21,6 +22,10 @@ on:
description: CLI version to create a new cluster with. This has to be a released version, e.g., 'v2.1.3'.
type: string
required: true
fromKubernetes:
description: Kubernetes version for the origin cluster, empty for origin target's default version.
type: string
required: false
gitRef:
description: Ref to build upgrading CLI on, empty for HEAD.
type: string
@ -31,11 +36,11 @@ on:
type: string
required: false
toKubernetes:
description: Kubernetes version to target for the upgrade, empty for target's default version.
description: Kubernetes version to target for the upgrade, empty for upgrade target's default version.
type: string
required: false
toMicroservices:
description: Microservice version to target for the upgrade, empty for target's default version.
description: Microservice version to target for the upgrade, empty for upgrade target's default version.
type: string
required: false
simulatedTargetVersion:
@ -59,6 +64,10 @@ on:
description: CLI version to create a new cluster with. This has to be a released version, e.g., 'v2.1.3'.
type: string
required: true
fromKubernetes:
description: Kubernetes version for the origin cluster, empty for origin target's default version.
type: string
required: false
gitRef:
description: Ref to build upgrading CLI on.
type: string
@ -89,7 +98,7 @@ on:
jobs:
generate-input-parameters:
name: Generate input parameters
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
@ -123,63 +132,9 @@ jobs:
echo "cloudProvider=${cloudProvider}" | tee -a "$GITHUB_OUTPUT"
build-target-cli:
name: Build upgrade target version CLI
runs-on: ubuntu-22.04
permissions:
id-token: write
checks: write
contents: read
packages: write
steps:
- name: Checkout
if: inputs.gitRef == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.gitRef != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0
ref: ${{ inputs.gitRef }}
- name: Setup Bazel & Nix
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Simulate patch upgrade
if: inputs.simulatedTargetVersion != ''
run: |
echo ${{ inputs.simulatedTargetVersion }} > version.txt
- name: Build CLI
uses: ./.github/actions/build_cli
with:
enterpriseCLI: true
outputPath: "build/constellation"
push: true
- name: Upload CLI binary
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: constellation-upgrade-${{ inputs.attestationVariant }}
path: build/constellation
create-cluster:
name: Create upgrade origin version cluster
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
@ -188,25 +143,23 @@ jobs:
needs: [generate-input-parameters]
outputs:
kubeconfig: ${{ steps.e2e_test.outputs.kubeconfig }}
e2e-name-prefix: ${{ steps.e2e_test.outputs.namePrefix }}
steps:
- name: Checkout
if: inputs.gitRef == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.gitRef != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ inputs.gitRef }}
- uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Create cluster with 'fromVersion' CLI.
id: e2e_test
@ -219,12 +172,13 @@ jobs:
osImage: ${{ inputs.fromVersion }}
isDebugImage: "false"
cliVersion: ${{ inputs.fromVersion }}
kubernetesVersion: ${{ inputs.fromKubernetes }}
regionZone: ${{ inputs.regionZone }}
gcpProject: constellation-e2e
gcpClusterCreateServiceAccount: "infrastructure-e2e@constellation-e2e.iam.gserviceaccount.com"
gcpIAMCreateServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
test: "upgrade"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
azureSubscriptionID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
azureClusterCreateCredentials: ${{ secrets.AZURE_E2E_CLUSTER_CREDENTIALS }}
azureIAMCreateCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
registry: ghcr.io
@ -266,7 +220,7 @@ jobs:
e2e-upgrade:
name: Run upgrade test
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
@ -274,31 +228,53 @@ jobs:
packages: write
needs:
- generate-input-parameters
- build-target-cli
- create-cluster
steps:
- name: Checkout
if: inputs.gitRef == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.gitRef != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ inputs.gitRef }}
- name: Setup Bazel & Nix
uses: ./.github/actions/setup_bazel_nix
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# applying the version manipulation here so that the upgrade test tool is also on the simulated target version
- name: Simulate patch upgrade
if: inputs.simulatedTargetVersion != ''
run: |
echo ${{ inputs.simulatedTargetVersion }} > version.txt
- name: Build CLI
uses: ./.github/actions/build_cli
with:
enterpriseCLI: true
outputPath: "build/constellation"
push: true
- name: Upload CLI binary # is needed for the cleanup step
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: constellation-upgrade-${{ inputs.attestationVariant }}
path: build/constellation
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationVersionsAPIRead
aws-region: eu-central-1
@ -320,7 +296,7 @@ jobs:
- name: Login to AWS (IAM role)
if: needs.generate-input-parameters.outputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2EIAM
aws-region: eu-central-1
@ -333,11 +309,6 @@ jobs:
with:
azure_credentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
- name: Download CLI
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
with:
name: constellation-upgrade-${{ inputs.attestationVariant }}
path: build
- name: Download Working Directory (Pre-test)
uses: ./.github/actions/artifact_download
@ -376,7 +347,7 @@ jobs:
- name: Login to AWS (Cluster role)
if: always() && needs.generate-input-parameters.outputs.cloudProvider == 'aws'
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionsE2ECluster
aws-region: eu-central-1
@ -395,21 +366,16 @@ jobs:
IMAGE: ${{ inputs.toImage && inputs.toImage || steps.find-image.outputs.output }}
KUBERNETES: ${{ inputs.toKubernetes }}
MICROSERVICES: ${{ inputs.toMicroservices }}
WORKERNODES: ${{ needs.generate-input-parameters.outputs.workerNodes }}
WORKERNODES: ${{ needs.generate-input-parameters.outputs.workerNodes }}
CONTROLNODES: ${{ needs.generate-input-parameters.outputs.controlPlaneNodes }}
run: |
echo "Image target: $IMAGE"
echo "K8s target: $KUBERNETES"
echo "Microservice target: $MICROSERVICES"
if [[ -n ${MICROSERVICES} ]]; then
MICROSERVICES_FLAG="--target-microservices=$MICROSERVICES"
fi
if [[ -n ${KUBERNETES} ]]; then
KUBERNETES_FLAG="--target-kubernetes=$KUBERNETES"
fi
bazel run //e2e/internal/upgrade:upgrade_test -- --want-worker "$WORKERNODES" --want-control "$CONTROLNODES" --target-image "$IMAGE" "$KUBERNETES_FLAG" "$MICROSERVICES_FLAG"
sudo sh -c 'echo "127.0.0.1 license.confidential.cloud" >> /etc/hosts'
CLI=$(realpath ./build/constellation)
bazel run --test_timeout=14400 //e2e/internal/upgrade:upgrade_test -- --want-worker "$WORKERNODES" --want-control "$CONTROLNODES" --target-image "$IMAGE" --target-kubernetes "$KUBERNETES" --target-microservices "$MICROSERVICES" --cli "$CLI"
- name: Remove Terraform plugin cache
if: always()
@ -433,31 +399,32 @@ jobs:
clean-up:
name: Clean up resources
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
contents: read
packages: write
actions: write
if: always()
needs: [generate-input-parameters, create-cluster, e2e-upgrade]
steps:
- name: Checkout
if: inputs.gitRef == 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Checkout ref
if: inputs.gitRef != 'head'
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
ref: ${{ inputs.gitRef }}
- name: Download CLI
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: constellation-upgrade-${{ inputs.attestationVariant }}
path: build
@ -503,6 +470,17 @@ jobs:
constellation-version.yaml
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
- name: Prepare terraform state artifact upload
if: always()
shell: bash
run: |
mkdir -p to-zip
cp -r constellation-terraform to-zip
rm -f to-zip/constellation-terraform/plan.zip
rm -rf to-zip/constellation-terraform/.terraform
cp -r constellation-iam-terraform to-zip
rm -rf to-zip/constellation-iam-terraform/.terraform
- name: Always terminate cluster
if: always()
uses: ./.github/actions/constellation_destroy
@ -521,6 +499,16 @@ jobs:
azureCredentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
gcpServiceAccount: "iam-e2e@constellation-e2e.iam.gserviceaccount.com"
- name: Update tfstate
if: always()
env:
GH_TOKEN: ${{ github.token }}
uses: ./.github/actions/update_tfstate
with:
name: terraform-state-${{ needs.create-cluster.outputs.e2e-name-prefix }}
runID: ${{ github.run_id }}
encryptionSecret: ${{ secrets.ARTIFACT_ENCRYPT_PASSWD }}
- name: Notify about failure
if: |
always() &&

View File

@ -13,18 +13,27 @@ on:
jobs:
build-cli:
name: Build Windows CLI
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
checks: write
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build CLI
uses: ./.github/actions/build_cli
@ -32,33 +41,35 @@ jobs:
targetOS: "windows"
targetArch: "amd64"
enterpriseCLI: true
outputPath: "build/constellation"
push: true
- name: Upload CLI artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
path: "bazel-bin/cli/cli_enterprise_windows_amd64"
path: build/constellation.exe
name: "constell-exe"
e2e-test:
name: E2E Test Windows
runs-on: windows-2022
runs-on: windows-2025
needs: build-cli
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Download CLI artifact
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
name: "constell-exe"
- name: Check CLI version
shell: pwsh
run: |
Move-Item -Path .\cli_enterprise_windows_amd64 -Destination .\constellation.exe
.\constellation.exe version
Add-Content -Path $env:windir\System32\drivers\etc\hosts -Value "`n127.0.0.1`tlicense.confidential.cloud" -Force
- name: Login to Azure (IAM service principal)
uses: ./.github/actions/login_azure
@ -66,10 +77,14 @@ jobs:
azure_credentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
- name: Create IAM configuration
id: iam-create
shell: pwsh
run: |
.\constellation.exe config generate azure
.\constellation.exe iam create azure --region=westus --resourceGroup=e2eWindoewsRG --servicePrincipal=e2eWindoewsSP --update-config --debug -y
$uid = Get-Random -Minimum 1000 -Maximum 9999
$rgName = "e2e-win-${{ github.run_id }}-${{ github.run_attempt }}-$uid"
"rgName=$($rgName)" | Out-File -FilePath $env:GITHUB_OUTPUT -Append
.\constellation.exe config generate azure -t "workflow=${{ github.run_id }}"
.\constellation.exe iam create azure --subscriptionID=${{ secrets.AZURE_SUBSCRIPTION_ID }} --region=westus --resourceGroup=$rgName-rg --servicePrincipal=$rgName-sp --update-config --debug -y
- name: Login to Azure (Cluster service principal)
uses: ./.github/actions/login_azure
@ -95,24 +110,31 @@ jobs:
Write-Host "Retry ${retryCount}: Checking node status..."
$nodesOutput = & kubectl get nodes --kubeconfig "$PWD\constellation-admin.conf"
$status = $?
$lines = $nodesOutput -split "`r?`n" | Select-Object -Skip 1
$nodesOutput
$allNodesReady = $true
if ($status) {
$lines = $nodesOutput -split "`r?`n" | Select-Object -Skip 1
foreach ($line in $lines) {
$columns = $line -split '\s+' | Where-Object { $_ -ne '' }
if ($lines.count -eq 4) {
$allNodesReady = $true
$nodeName = $columns[0]
$status = $columns[1]
foreach ($line in $lines) {
$columns = $line -split '\s+' | Where-Object { $_ -ne '' }
if ($status -ne "Ready") {
Write-Host "Node $nodeName is not ready!"
$allNodesReady = $false
$nodeName = $columns[0]
$status = $columns[1]
if ($status -ne "Ready") {
Write-Host "Node $nodeName is not ready!"
$allNodesReady = $false
}
}
}
}
if (-not $allNodesReady) {
if (-not $allNodesReady -and $retryCount -lt $maxRetries) {
Write-Host "Retrying in $retryIntervalSeconds seconds..."
Start-Sleep -Seconds $retryIntervalSeconds
}
@ -127,6 +149,7 @@ jobs:
}
- name: Terminate cluster
id: terminate-cluster
if: always()
shell: pwsh
run: |
@ -139,14 +162,23 @@ jobs:
azure_credentials: ${{ secrets.AZURE_E2E_IAM_CREDENTIALS }}
- name: Delete IAM configuration
id: delete-iam
if: always()
shell: pwsh
run: |
.\constellation.exe iam destroy --debug -y
- name: Clean up after failure
# run on a cleanup failure or if cancelled
if: (failure() && (steps.terminate-cluster.conclusion == 'failure' || steps.delete-iam.conclusion == 'failure')) || cancelled()
shell: pwsh
run: |
az group delete --name ${{ steps.iam-create.outputs.rgName }}-rg --yes
az group delete --name ${{ steps.iam-create.outputs.rgName }}-rg-identity --yes
notify-failure:
name: Notify about failure
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: e2e-test
if: |
failure() &&
@ -154,15 +186,12 @@ jobs:
inputs.scheduled
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Notify about failure
continue-on-error: true

View File

@ -15,7 +15,7 @@ on:
jobs:
complete-release-branch-transaction:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: write
@ -26,7 +26,7 @@ jobs:
WORKING_BRANCH: ${{ env.WORKING_BRANCH }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0 # fetch all history
@ -44,12 +44,12 @@ jobs:
git push origin "${WORKING_BRANCH}":"${RELEASE_BRANCH}"
update:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
latest: ${{ steps.input-passthrough.outputs.latest }}${{ steps.check-last-release.outputs.latest }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Override latest
if: github.event.inputs.latest == 'true'
@ -117,13 +117,13 @@ jobs:
add-image-version-to-versionsapi,
add-cli-version-to-versionsapi,
]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: write
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Remove temporary branch
run: git push origin --delete "${{needs.complete-release-branch-transaction.outputs.WORKING_BRANCH}}"
@ -131,20 +131,18 @@ jobs:
mirror-gcp-mpi:
name: "Mirror GCP Marketplace Image"
needs: [add-image-version-to-versionsapi]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
id-token: write
contents: read
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./.github/actions/setup_bazel_nix
with:
useCache: "false"
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GitHubConstellationImagePipeline
aws-region: eu-central-1
@ -162,7 +160,7 @@ jobs:
shell: bash
run: |
aws s3 cp s3://cdn-constellation-backend/constellation/v2/ref/-/stream/stable/${{ steps.fetch-version.outputs.output }}/image/info.json .
FULL_REF=$(yq e -r -oy '.list.[] | select(.attestationVariant == "gcp-sev-es") | .reference' info.json)
FULL_REF=$(yq e -r -oy '.list.[] | select(.attestationVariant == "gcp-sev-snp") | .reference' info.json)
IMAGE_NAME=$(echo "${FULL_REF}" | cut -d / -f 5)
echo "reference=$IMAGE_NAME" | tee -a "$GITHUB_OUTPUT"

View File

@ -10,7 +10,7 @@ on:
jobs:
find-version:
name: Delete version from main ref
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
outputs:
version: ${{ steps.find.outputs.version }}
permissions:
@ -18,12 +18,12 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ github.head_ref }}
- name: Login to AWS
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationVersionsAPIRead
aws-region: eu-central-1
@ -47,6 +47,8 @@ jobs:
;;
esac
- uses: ./.github/actions/setup_bazel_nix
- name: List versions
id: list
uses: ./.github/actions/versionsapi

79
.github/workflows/release-publish.yml vendored Normal file
View File

@ -0,0 +1,79 @@
name: 'Release: on-publish'
on:
release:
types:
- published
workflow_dispatch:
inputs:
tag:
description: 'Semantic version tag of the release (vX.Y.Z).'
required: true
jobs:
post-release-actions:
runs-on: ubuntu-24.04
permissions:
issues: write
env:
FULL_VERSION: ${{ github.event.release.tag_name }}${{ github.event.inputs.tag }}
GH_TOKEN: ${{ github.token }}
steps:
- name: Mark milestone as complete
run: |
milestones=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/edgelesssys/constellation/milestones)
current_milestone=$(echo "${milestones}" | jq -r ".[] | select(.title == \"${FULL_VERSION}\")")
echo "current milestone: ${current_milestone}"
if [[ -z "${current_milestone}" ]]; then
echo "milestone ${FULL_VERSION} does not exist, nothing to do..."
exit 0
fi
current_milestone_state=$(echo "${current_milestone}" | jq -r '.state')
echo "current milestone state: ${current_milestone_state}"
if [[ "${current_milestone_state}" != "open" ]]; then
echo "milestone ${FULL_VERSION} is already closed, nothing to do..."
exit 0
fi
milestone_number=$(echo "${current_milestone}" | jq -r '.number')
echo "milestone number: ${milestone_number}"
if [[ -z "${milestone_number}" ]]; then
echo "failed parsing milestone number"
exit 1
fi
gh api \
--method PATCH \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/edgelesssys/constellation/milestones/${milestone_number}" \
-f state=closed
- name: Create next milestone
run: |
WITHOUT_V=${FULL_VERSION#v}
PART_MAJOR=${WITHOUT_V%%.*}
PART_MINOR=${WITHOUT_V#*.}
PART_MINOR=${PART_MINOR%%.*}
NEXT_MINOR=v${PART_MAJOR}.$((PART_MINOR + 1)).0
gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/edgelesssys/constellation/milestones |
jq -r '.[].title' | \
grep -xqF "${NEXT_MINOR}" && exit 0
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/edgelesssys/constellation/milestones \
-f title="${NEXT_MINOR}" \
-f state='open' \
-f "due_on=$(date -d '2 months' +'%Y-%m-%dT00:00:00Z')"

View File

@ -19,7 +19,7 @@ concurrency:
jobs:
verify-inputs:
name: Verify inputs
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
FULL_VERSION: ${{ inputs.version }}
outputs:
@ -33,7 +33,7 @@ jobs:
RELEASE_BRANCH: ${{ steps.version-info.outputs.RELEASE_BRANCH }}
WORKING_BRANCH: ${{ steps.version-info.outputs.WORKING_BRANCH }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Working branch
run: echo "WORKING_BRANCH=$(git branch --show-current)" | tee -a "$GITHUB_ENV"
@ -72,10 +72,9 @@ jobs:
echo "WORKING_BRANCH=${WORKING_BRANCH}"
} | tee -a "$GITHUB_OUTPUT"
docs:
name: Create docs release (from main)
runs-on: ubuntu-22.04
if: inputs.kind == 'minor'
update-main-branch:
name: Update main branch with release changes
runs-on: ubuntu-24.04
needs: verify-inputs
permissions:
contents: write
@ -85,36 +84,61 @@ jobs:
MAJOR_MINOR: ${{ needs.verify-inputs.outputs.MAJOR_MINOR }}
BRANCH: docs/${{ needs.verify-inputs.outputs.MAJOR_MINOR }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: main
- name: Configure git
run: |
git config --global user.name "edgelessci"
git config --global user.email "edgelessci@users.noreply.github.com"
- name: Create docs release
if: inputs.kind == 'minor'
working-directory: docs
run: |
npm install
npm ci
npm run docusaurus docs:version "${MAJOR_MINOR}"
git add .
git commit -am "docs: release ${MAJOR_MINOR}"
# Clean up auxiliary files, so next steps run on a clean tree
git clean -fdx :/
- name: Update version.txt
if: inputs.kind == 'minor'
run: |
pre_release_version="v${{ needs.verify-inputs.outputs.PART_MAJOR }}.$((${{ needs.verify-inputs.outputs.PART_MINOR }} + 1)).0-pre"
echo "${pre_release_version}" > version.txt
git add version.txt
git commit -m "chore: update version.txt to ${pre_release_version}"
- name: Update CI for new version
run: |
sed -i 's/fromVersion: \["[^"]*"\]/fromVersion: ["${{ inputs.version }}"]/g' .github/workflows/e2e-test-release.yml
sed -i 's/fromVersion: \["[^"]*"\]/fromVersion: ["${{ inputs.version }}"]/g' .github/workflows/e2e-test-weekly.yml
- name: Create docs pull request
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
branch: ${{ env.BRANCH }}
base: main
title: "docs: add release ${{ env.VERSION }}"
title: "Post ${{ env.VERSION }} release updates to main"
body: |
:robot: *This is an automated PR.* :robot:
The PR is triggered as part of the automated release process of version ${{ env.VERSION }}.
It releases a new version of the documentation.
commit-message: "docs: add release ${{ env.VERSION }}"
commit-message: "chore: update CI for ${{ env.VERSION }}"
committer: edgelessci <edgelessci@users.noreply.github.com>
author: edgelessci <edgelessci@users.noreply.github.com>
labels: no changelog
assignees: ${{ github.actor }}
reviewers: ${{ github.actor }}
# We need to push changes using a token, otherwise triggers like on:push and on:pull_request won't work.
token: ${{ !github.event.pull_request.head.repo.fork && secrets.CI_COMMIT_PUSH_PR || '' }}
check-working-branch:
name: Check temporary working branch
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
needs: verify-inputs
permissions:
contents: write
@ -123,7 +147,7 @@ jobs:
WORKING_BRANCH: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
@ -152,7 +176,7 @@ jobs:
update-versions:
name: Update container image versions
needs: [verify-inputs, check-working-branch]
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: write
packages: read
@ -161,7 +185,7 @@ jobs:
WITHOUT_V: ${{ needs.verify-inputs.outputs.WITHOUT_V }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
@ -181,7 +205,7 @@ jobs:
yq eval -i ".version = \"$WITHOUT_V\"" s3proxy/deploy/s3proxy/Chart.yaml
yq eval -i ".image = \"ghcr.io/edgelesssys/constellation/s3proxy:$VERSION\"" s3proxy/deploy/s3proxy/values.yaml
git add s3proxy/deploy/s3proxy/Chart.yaml
git add s3proxy/deploy/s3proxy/Chart.yaml s3proxy/deploy/s3proxy/values.yaml
- name: Commit
run: |
@ -215,25 +239,36 @@ jobs:
stream: "stable"
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
check-measurements-reproducibility:
name: Check measurements reproducibility
needs: [verify-inputs, os-image]
runs-on: ubuntu-24.04
steps:
- name: Check reproducibility
uses: ./.github/actions/check_measurements_reproducibility
with:
version: ${{ inputs.version }}
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
update-hardcoded-measurements:
name: Update hardcoded measurements (in the CLI)
needs: [verify-inputs, os-image]
permissions:
contents: write
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
VERSION: ${{ inputs.version }}
WITHOUT_V: ${{ needs.verify-inputs.outputs.WITHOUT_V }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}
- name: Setup Go environment
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version: "1.22.0"
go-version: "1.24.2"
cache: true
- name: Build generateMeasurements tool
@ -250,8 +285,12 @@ jobs:
run: |
git config --global user.name "edgelessci"
git config --global user.email "edgelessci@users.noreply.github.com"
git commit -m "attestation: hardcode measurements for ${VERSION}"
git push
if git diff-index --quiet HEAD --; then
echo "No changes to commit"
else
git commit -m "attestation: hardcode measurements for ${VERSION}"
git push
fi
draft-release:
name: Draft release (CLI)
@ -278,6 +317,7 @@ jobs:
packages: write
id-token: write
contents: read
actions: write
secrets: inherit
with:
ref: ${{ needs.verify-inputs.outputs.WORKING_BRANCH }}

View File

@ -1,8 +1,9 @@
# Verify that Constellation builds are reproducible.
#
# The build-* jobs' matrix has two dimensions: a list of targets to build and
# a list of runners to build on. The produced binaries and OS images are
# expected to be bit-for-bit identical, regardless of the chosen build runner.
# The build-* jobs' matrix has three dimensions: a list of targets to build, a
# list of runners to build on and a method of installing dependencies. The
# produced binaries and OS images are expected to be bit-for-bit identical,
# without any dependencies on the runtime setup details.
#
# The compare-* jobs only have the target dimension. They obtain the built
# targets from all runners and check that there are no diffs between them.
@ -12,6 +13,9 @@ on:
workflow_dispatch:
schedule:
- cron: "45 06 * * 1" # Every Monday at 6:45am
pull_request:
paths:
- .github/workflows/reproducible-builds.yml
jobs:
build-binaries:
@ -24,22 +28,39 @@ jobs:
- "cli_enterprise_linux_amd64"
- "cli_enterprise_linux_arm64"
- "cli_enterprise_windows_amd64"
runner: ["ubuntu-22.04", "ubuntu-20.04"]
runner:
- "ubuntu-24.04"
- "ubuntu-22.04"
deps:
- conventional
- eccentric
env:
bazel_target: "//cli:${{ matrix.target }}"
binary: "${{ matrix.target }}-${{ matrix.runner }}"
binary: "${{ matrix.target }}-${{ matrix.runner }}-${{ matrix.deps }}"
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
- name: Setup dependencies
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "logs"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
if: matrix.deps == 'conventional'
- name: Setup dependencies (eccentric)
if: matrix.deps == 'eccentric'
run: |
bazelVersion=$(cat .bazelversion)
mkdir -p "$HOME/.local/bin"
curl -fsSL -o "$HOME/.local/bin/bazel" "https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-linux-x86_64"
chmod a+x "$HOME/.local/bin/bazel"
echo "$HOME/.local/bin" >> "$GITHUB_PATH"
curl -fsSL -o "$HOME/.local/bin/nix-installer" https://github.com/DeterminateSystems/nix-installer/releases/download/v3.2.1/nix-installer-x86_64-linux # renovate:github-release
nixVersion=$(cat .nixversion)
chmod a+x "$HOME/.local/bin/nix-installer"
"$HOME/.local/bin/nix-installer" install --no-confirm --nix-package-url "https://releases.nixos.org/nix/nix-$nixVersion/nix-$nixVersion-x86_64-linux.tar.xz"
- name: Build
shell: bash
@ -60,15 +81,15 @@ jobs:
run: shasum -a 256 "${binary}" | tee "${binary}.sha256"
- name: Upload binary artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: "binaries-${{ matrix.target }}-${{ matrix.runner }}"
name: "binaries-${{ matrix.target }}-${{ matrix.runner }}-${{ matrix.deps }}"
path: "${{ env.binary }}"
- name: Upload hash artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: "sha256sums-${{ matrix.target }}-${{ matrix.runner }}"
name: "sha256sums-${{ matrix.target }}-${{ matrix.runner }}-${{ matrix.deps }}"
path: "${{ env.binary }}.sha256"
build-osimages:
@ -80,22 +101,31 @@ jobs:
- "aws_aws-nitro-tpm_console"
- "qemu_qemu-vtpm_debug"
- "gcp_gcp-sev-snp_nightly"
runner: ["ubuntu-22.04", "ubuntu-20.04"]
runner: ["ubuntu-24.04", "ubuntu-22.04"]
env:
bazel_target: "//image/system:${{ matrix.target }}"
binary: "osimage-${{ matrix.target }}-${{ matrix.runner }}"
runs-on: ${{ matrix.runner }}
steps:
- name: Remove security hardening features
if: matrix.runner == 'ubuntu-24.04'
shell: bash
run: |
# Taken from https://github.com/systemd/mkosi/blob/fcacc94b9f72d9b6b1f03779b0c6e07209ceb54b/action.yaml#L42-L57.
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_unconfined=0
sudo sysctl --ignore --write kernel.apparmor_restrict_unprivileged_userns=0
# This command fails with a non-zero error code even though it unloads the apparmor profiles.
# https://gitlab.com/apparmor/apparmor/-/issues/403
sudo aa-teardown || true
sudo apt-get remove -y apparmor
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "logs"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Build
shell: bash
@ -116,13 +146,13 @@ jobs:
run: shasum -a 256 "${binary}" | tee "${binary}.sha256"
- name: Upload binary artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: "osimages-${{ matrix.target }}-${{ matrix.runner }}"
path: "${{ env.binary }}"
- name: Upload hash artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: "sha256sums-${{ matrix.target }}-${{ matrix.runner }}"
path: "${{ env.binary }}.sha256"
@ -138,14 +168,14 @@ jobs:
- "cli_enterprise_linux_amd64"
- "cli_enterprise_linux_arm64"
- "cli_enterprise_windows_amd64"
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Download binaries
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
pattern: "binaries-${{ matrix.target }}-*"
merge-multiple: true
@ -172,14 +202,14 @@ jobs:
- "aws_aws-nitro-tpm_console"
- "qemu_qemu-vtpm_debug"
- "gcp_gcp-sev-snp_nightly"
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Download os images
uses: actions/download-artifact@eaceaf801fd36c7dee90939fad912460b18a1ffe # v4.1.2
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4.2.1
with:
pattern: "osimages-${{ matrix.target }}-*"
merge-multiple: true

View File

@ -9,7 +9,7 @@ on:
jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
@ -18,25 +18,25 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Run analysis
uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1
uses: ossf/scorecard-action@f49aabe0b5af0936a0987cfb85d86b75731b0186 # v2.4.1
with:
results_file: results.sarif
results_format: sarif
publish_results: true
- name: Upload artifact
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: SARIF file
path: results.sarif
retention-days: 5
- name: Upload to code-scanning
uses: github/codeql-action/upload-sarif@cf7e9f23492505046de9a37830c3711dd0f25bb3 # v2.16.2
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
with:
sarif_file: results.sarif

View File

@ -18,14 +18,14 @@ jobs:
pull-requests: write
steps:
- name: Checkout constellation repo
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
fetch-depth: 0
path: constellation
- name: Checkout terraform-provider-constellation repo
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: edgelesssys/terraform-provider-constellation
ref: main
@ -40,7 +40,7 @@ jobs:
- name: Create pull request
id: create-pull-request
uses: peter-evans/create-pull-request@b1ddad2c994a25fbc81a28b3ec0e368bb2021c50 # v6.0.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
path: terraform-provider-constellation
branch: "feat/docs/update"

View File

@ -20,20 +20,17 @@ on:
jobs:
integration-test:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
env:
CTEST_OUTPUT_ON_FAILURE: True
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Integration Tests
env:

View File

@ -18,17 +18,17 @@ on:
jobs:
govulncheck:
name: check-codegen
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
- name: Setup Go environment
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
uses: actions/setup-go@0aaccfd150d50ccaeb58ebd88d36e91967a5f35b # v5.4.0
with:
go-version: "1.22.0"
go-version: "1.24.2"
cache: true
- name: Run code generation

View File

@ -17,13 +17,13 @@ on:
jobs:
tfsec:
name: tfsec
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}

View File

@ -17,7 +17,7 @@ jobs:
contents: read
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
# No token available for forks, so we can't push changes
@ -34,11 +34,10 @@ jobs:
with:
useCache: "rbe"
rbePlatform: "ubuntu-22.04"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Assume AWS role to upload Bazel dependencies to S3
if: startsWith(github.head_ref, 'renovate/')
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubConstellationMirrorWrite
aws-region: eu-central-1
@ -52,7 +51,9 @@ jobs:
- name: Run Bazel tidy
shell: bash
run: bazel run //:tidy
run: |
bazel run //:tidy
bazel mod deps --lockfile_mode=update
- name: Check if untidy
id: untidy
@ -97,10 +98,11 @@ jobs:
exit 0
fi
# Use quadruple backticks to escape triple backticks in diff'ed files.
cat << EOF >> "${GITHUB_STEP_SUMMARY}"
\`\`\`diff
\`\`\`\`diff
${diff}
\`\`\`
\`\`\`\`
EOF
if [[ "${{ steps.untidy.outputs.untidy }}" == "true" ]] &&

View File

@ -30,7 +30,7 @@ jobs:
pull-requests: write
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
ref: ${{ !github.event.pull_request.head.repo.fork && github.head_ref || '' }}
fetch-depth: 0
@ -40,7 +40,6 @@ jobs:
with:
useCache: "rbe"
rbePlatform: "ubuntu-22.04"
buildBuddyApiKey: ${{ secrets.BUILDBUDDY_ORG_API_KEY }}
- name: Install AWS cli
run: |
@ -50,7 +49,7 @@ jobs:
rm -rf awscliv2.zip aws
- name: Login to AWS (IAM role)
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
uses: aws-actions/configure-aws-credentials@ececac1a45f3b08a01d2dd070d28d111c5fe6722 # v4.1.0
with:
role-to-assume: arn:aws:iam::795746500882:role/GithubActionGocoverage
aws-region: eu-central-1
@ -70,7 +69,7 @@ jobs:
- name: Comment coverage
if: steps.coverage.outputs.uploadable == 'true' && github.event_name == 'pull_request'
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31 # v2.9.0
uses: marocchino/sticky-pull-request-comment@52423e01640425a022ef5fd42c6fb5f633a02728 # v2.9.1
with:
header: coverage
path: coverage_diff.md

Some files were not shown because too many files have changed in this diff Show More