Skip to content

Commit 82a8f51

Browse files
author
bcm820
authored
[feat] Update etcd-backup flavor to use LinodeObjectStorageKey (#448)
1 parent e48dc1b commit 82a8f51

9 files changed

+34
-11
lines changed

Diff for: config/rbac/role.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ rules:
1010
- events
1111
verbs:
1212
- create
13+
- delete
1314
- get
1415
- list
1516
- patch

Diff for: controller/linodeobjectstoragebucket_controller.go

+1
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ func (r *LinodeObjectStorageBucketReconciler) reconcileApply(ctx context.Context
143143
bScope.Logger.Info("Reconciling apply")
144144

145145
bScope.Bucket.Status.Ready = false
146+
bScope.Bucket.Status.FailureMessage = nil
146147

147148
bucket, err := services.EnsureObjectStorageBucket(ctx, bScope)
148149
if err != nil {

Diff for: controller/linodeobjectstoragebucket_controller_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ var _ = Describe("lifecycle", Ordered, Label("bucket", "lifecycle"), func() {
104104
By("status")
105105
Expect(k8sClient.Get(ctx, objectKey, &obj)).To(Succeed())
106106
Expect(obj.Status.Ready).To(BeTrue())
107+
Expect(obj.Status.FailureMessage).To(BeNil())
107108
Expect(obj.Status.Conditions).To(HaveLen(1))
108109
Expect(obj.Status.Conditions[0].Type).To(Equal(clusterv1.ReadyCondition))
109110
Expect(*obj.Status.Hostname).To(Equal("hostname"))

Diff for: controller/linodeobjectstoragekey_controller.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ type LinodeObjectStorageKeyReconciler struct {
6666
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=linodeobjectstoragekeys/status,verbs=get;update;patch
6767
// +kubebuilder:rbac:groups=infrastructure.cluster.x-k8s.io,resources=linodeobjectstoragekeys/finalizers,verbs=update
6868

69-
// +kubebuilder:rbac:groups="",resources=events,verbs=get;list;watch;create;update;patch
69+
// +kubebuilder:rbac:groups="",resources=events,verbs=get;list;watch;create;update;patch;delete
7070
// +kubebuilder:rbac:groups="",resources=secrets;,verbs=get;list;watch;create;update;patch;delete
7171

7272
// Reconcile is part of the main kubernetes reconciliation loop which aims to
@@ -148,6 +148,7 @@ func (r *LinodeObjectStorageKeyReconciler) reconcileApply(ctx context.Context, k
148148
keyScope.Logger.Info("Reconciling apply")
149149

150150
keyScope.Key.Status.Ready = false
151+
keyScope.Key.Status.FailureMessage = nil
151152

152153
var keyForSecret *linodego.ObjectStorageKey
153154

Diff for: controller/linodeobjectstoragekey_controller_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ var _ = Describe("lifecycle", Ordered, Label("key", "lifecycle"), func() {
119119
By("status")
120120
Expect(k8sClient.Get(ctx, objectKey, &key)).To(Succeed())
121121
Expect(key.Status.Ready).To(BeTrue())
122+
Expect(key.Status.FailureMessage).To(BeNil())
122123
Expect(key.Status.Conditions).To(HaveLen(1))
123124
Expect(key.Status.Conditions[0].Type).To(Equal(clusterv1.ReadyCondition))
124125
Expect(key.Status.CreationTime).NotTo(BeNil())

Diff for: docs/src/topics/etcd.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This is currently under development and will be available for use once the upstr
3434
For eg:
3535
```sh
3636
export CLUSTER_NAME=test
37-
export OBJ_BUCKET_REGION=us-ord-1
37+
export OBJ_BUCKET_REGION=us-ord
3838
export ETCDBR_IMAGE=docker.io/username/your-custom-image:version
3939
export SSE_KEY=cdQdZ3PrKgm5vmqxeqwQCuAWJ7pPVyHg
4040
clusterctl generate cluster $CLUSTER_NAME \

Diff for: envrc.example

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export LINODE_CONTROL_PLANE_MACHINE_TYPE="" # g6-standard-2
1919
export LINODE_MACHINE_TYPE="" # g6-standard-2
2020

2121
# To set up etcd backup and restore
22-
export OBJ_BUCKET_REGION="" # us-ord-1
22+
export OBJ_BUCKET_REGION="" # us-ord
2323
export ETCDBR_IMAGE="" # docker.io/amoldeodhar/etcdbrctl:a7fc188f71977deabce6e4b2284e145d78000c30
2424
export SSE_KEY="" # cdQdZ3PrKgm5vmqxeqwQCuAWJ7pPVyHg
2525

Diff for: templates/addons/etcd-backup-restore/etcd-backup-restore.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -46,27 +46,27 @@ data:
4646
- name: "AWS_REGION"
4747
valueFrom:
4848
secretKeyRef:
49-
name: etcd-backup
49+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
5050
key: "bucket_region"
5151
- name: "BUCKET_NAME"
5252
valueFrom:
5353
secretKeyRef:
54-
name: etcd-backup
54+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
5555
key: "bucket_name"
5656
- name: "AWS_ENDPOINT"
5757
valueFrom:
5858
secretKeyRef:
59-
name: etcd-backup
59+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
6060
key: "bucket_endpoint"
6161
- name: "AWS_ACCESS_KEY_ID"
6262
valueFrom:
6363
secretKeyRef:
64-
name: etcd-backup
64+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
6565
key: "access_key_rw"
6666
- name: "AWS_SECRET_ACCESS_KEY"
6767
valueFrom:
6868
secretKeyRef:
69-
name: etcd-backup
69+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
7070
key: "secret_key_rw"
7171
- name: "AWS_SSE_CUSTOMER_KEY"
7272
valueFrom:
@@ -116,7 +116,7 @@ data:
116116
- name: STORAGE_CONTAINER
117117
valueFrom:
118118
secretKeyRef:
119-
name: etcd-backup
119+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
120120
key: "bucket_name"
121121
volumeMounts:
122122
- mountPath: ${CERTPATH}

Diff for: templates/addons/etcd-backup-restore/linode-obj.yaml

+20-2
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,34 @@ metadata:
1313
spec:
1414
region: ${OBJ_BUCKET_REGION:=${LINODE_REGION}}
1515
---
16+
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha2
17+
kind: LinodeObjectStorageKey
18+
metadata:
19+
labels:
20+
app.kubernetes.io/name: linodeobjectstoragekey
21+
app.kubernetes.io/instance: ${CLUSTER_NAME}-etcd-backup
22+
app.kubernetes.io/part-of: cluster-api-provider-linode
23+
app.kubernetes.io/managed-by: kustomize
24+
app.kubernetes.io/created-by: cluster-api-provider-linode
25+
cluster.x-k8s.io/cluster-name: ${CLUSTER_NAME}
26+
name: ${CLUSTER_NAME}-etcd-backup
27+
spec:
28+
secretType: addons.cluster.x-k8s.io/resource-set
29+
bucketAccess:
30+
- bucketName: ${CLUSTER_NAME}-etcd-backup
31+
permissions: read_write
32+
region: ${OBJ_BUCKET_REGION:=${LINODE_REGION}}
33+
---
1634
apiVersion: addons.cluster.x-k8s.io/v1beta1
1735
kind: ClusterResourceSet
1836
metadata:
19-
name: ${CLUSTER_NAME}-etcd-backup-bucket-details
37+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
2038
spec:
2139
clusterSelector:
2240
matchLabels:
2341
etcd-backup: "true"
2442
cluster: ${CLUSTER_NAME}
2543
resources:
2644
- kind: Secret
27-
name: ${CLUSTER_NAME}-etcd-backup-bucket-details
45+
name: ${CLUSTER_NAME}-etcd-backup-obj-key
2846
strategy: ApplyOnce

0 commit comments

Comments
 (0)