Commit Graph

220 Commits

Author SHA1 Message Date
katexochen
ba6e41ed5c Upgrade go module to v2 2022-09-22 09:10:19 +02:00
katexochen
e301f575df Let operator manage autoscaling of node groups 2022-09-20 13:41:23 +02:00
Malte Poll
5f98e699e4 node operator: nodeimage controller: ensure heirs are promoted to updated once in same reconcile loop as node deletion
Prevents conditions where Reconcile is not called after deleting a node, leading to an out of date status on the nodeimage.
2022-09-13 15:58:38 +02:00
Malte Poll
8b4918cc53 envtest: use eventually 2022-09-13 15:58:38 +02:00
katexochen
114a51b29c Ignore unchecked error 2022-09-13 15:58:38 +02:00
katexochen
0126d8a0c2 Fix error naming 2022-09-13 15:58:38 +02:00
katexochen
fb7ceb5586 Fix comment dot 2022-09-13 15:58:38 +02:00
Thomas Tendyck
bd63aa3c6b add license headers
sed -i '1i/*\nCopyright (c) Edgeless Systems GmbH\n\nSPDX-License-Identifier: AGPL-3.0-only\n*/\n' `grep -rL --include='*.go' 'DO NOT EDIT'`
gofumpt -w .
2022-09-05 09:17:25 +02:00
Fabian Kammel
2f871578b2
first implementation of SBOM generation (#50)
* first implementation of SBOM generation
* updated dependencies as per grype report
* hack: go mod tidy
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
2022-09-02 16:49:59 +02:00
Fabian Kammel
778952e07c
AB#2287 support community image IDs (#9)
* support community image IDs
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
2022-08-30 15:15:51 +02:00
Malte Poll
07c6c4e190 node operator: retry updating pendingNode deadline on conflict
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-30 10:04:42 +02:00
Thomas Tendyck
6b8a2a0063 remove image pull secret 2022-08-28 15:57:08 +02:00
katexochen
35a5d34497 Remove legacy build tags 2022-08-24 14:56:30 +02:00
Malte Poll
f050a301d0 [node-operator] autoscalingstrategy-controller: improve test robustness (#372) 2022-08-17 18:38:54 +02:00
Fabian Kammel
059a3eacc0 Use consistent k8s version (#373)
Signed-off-by: Fabian Kammel <fk@edgeless.systems>
2022-08-17 15:25:05 +02:00
Malte Poll
23dfc5549b [node-operator] nodeimage-controller: improve test robustness
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-16 08:47:34 +02:00
Malte Poll
264e4beac3 Double timeouts for envtests (#355) 2022-08-09 14:48:41 +02:00
Malte Poll
d72c18d066 [node-operator] rename constellation-node-operator to node-operator 2022-08-09 10:29:04 +02:00
Malte Poll
1df2a20a36 CI: build and upload node operator 2022-08-09 10:29:04 +02:00
Malte Poll
fb4bc1545f [node operator] case insensitive equality checks for image and scaling group references 2022-08-09 10:29:04 +02:00
Malte Poll
80ebfab164 [node operator] GCP: use canonical references 2022-08-09 10:29:04 +02:00
Malte Poll
51cf638361 [node operator] self-initialize resources
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
1cee319174 [node operator] constellation node operator: hardcode image pull secret
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
86c88a949e [node operator] bundle template
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
0f6de0aa26 [node operator] Update README and samples
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
e267102c92 [node operator] Use environment variable to specify CSP
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
50ed6777c8 [node operator] Read azure config from k8s secret
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
3495ec1c07 [node operator] instantiate Azure client in main.go
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
c74360bf62 [node operator] Add Azure client
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
a50cc2b64d [node operator] Testable poller for Azure client
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
cbbf77248f [node operator] adopt go 1.18
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
717570d00a [node operator] Add GCP client
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
0618a000a7 [node operator] nodeimage controller: remove control-plane nodes from etcd cluster before deleting k8s node object
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
242020e304 [node operator] etcd client implementation
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
bef2bcc4a9 [node operator] helpers: find node vpc IP and check if node is control-plane node
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
de9fa37f63 [node operator] helper: find control plane IPs using kubernetes API
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
bce83c493b [node operator] Prepare for packaging as dockerfile and deployment withing k8s
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
2860fe4eec [node operator] RBAC: add missing permissions
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
b0d93b96dc [node operator] PendingNode: check if node was deleted every 30 seconds after regular deadline expires
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
0b0a3454fa [node operator] main.go: switch over CSP flag to generate cloud provider API client to inject into controllers.
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
904d3cba0a [node operator] Beautify autogenerated log messages
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
4be164dec4 [node operator] NodeImage env test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
be27de3b71 [node operator] Add nodemaintenance CRD
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
1cc8c36052 [node operator] NodeImage controller unit test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
12ce267bac [node operator] NodeImage controller impl
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
7b6205e900 [node operator] node image util functions
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
3932581f2a [node operator] patching util functions
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
614447495d [node operator] PendingNode controller env test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
19568d400b [node operator] PendingNode controller unit test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
627b9e7ae8 [node operator] PendingNode controller impl
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
df4e8b2c1e [node operator] node state util function
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
d62ae3add3 [node operator] ScalingGroupController env test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
8bc1db609f [node operator] ScalingGroup controller impl
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
bdb4260912 [node operator] AutoscalingStrategy env test
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
69d47730c8 [node operator] AutoscalingStrategy controller impl
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
59a9f49fbe [node operator] PendingNode CRD definition
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
b36160e8a4 [node operator] ScalingGroup CRD definition
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
bfb9eaed3a [node operator] AutoscalingStrategy CRD definition
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
9e1cb8ec47 [node operator] controller client doubles
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
daf236975f [node operator] envtest: start and stop manager
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
72cb9c7cf8 [node operator] gofmt
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
61c27177db [node operator] PendingNode manifest gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
9c3f7fec39 [node operator] PendingNode API gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
4409c69cf6 [node operator] ScalingGroup manifest gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
b315ec6dc1 [node operator] ScalingGroup API gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
ac5ddc27f2 [node operator] AutoscalingStrategy API gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
f100febfa2 [node operator] NodeImage manifest gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
546e53f3df [node operator] NodeImage API gen
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
9feb0fb801 [node operator] update Makefile for kubebuilder 3.5.0
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00
Malte Poll
8ec23bf538 [node operator] Initial commit
Signed-off-by: Malte Poll <mp@edgeless.systems>
2022-08-09 10:29:04 +02:00