diff --git a/README.md b/README.md index 7d8fb1c82..12aba0cd5 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@
------ -*PLEASE NOTE*: This project is considered ALPHA quality and should NOT be used for production, as it is currently in active development. Use at your own risk. APIs, configuration file formats, and functionality are all subject to change frequently. That said, please try it out in your development and test environments and let us know if it works. Contributions welcome! Thanks! +*PLEASE NOTE*: This project is considered ALPHA quality and should NOT be used for production, as it is currently in active development. Use at your own risk. APIs, configuration file formats, and functionality are all subject to change frequently. That said, please try it out in your development and test environments and let us know how it works for you. Contributions welcome! Thanks! ------ diff --git a/controller/linodeobjectstoragebucket_controller_test.go b/controller/linodeobjectstoragebucket_controller_test.go index 05ddbdd59..4c6e90285 100644 --- a/controller/linodeobjectstoragebucket_controller_test.go +++ b/controller/linodeobjectstoragebucket_controller_test.go @@ -72,7 +72,7 @@ func mockLinodeClientBuilder(m *mock.MockLinodeObjectStorageClient) scope.Linode } } -var _ = Describe("lifecycle", Label("lifecycle"), func() { +var _ = Describe("lifecycle", Ordered, Label("bucket", "lifecycle"), func() { var mockCtrl *gomock.Controller var reconciler *LinodeObjectStorageBucketReconciler var testLogs *bytes.Buffer @@ -341,7 +341,7 @@ var _ = Describe("lifecycle", Label("lifecycle"), func() { }) }) -var _ = Describe("pre-reconcile", Label("pre-reconcile"), func() { +var _ = Describe("pre-reconcile", Label("bucket", "pre-reconcile"), func() { var obj infrav1.LinodeObjectStorageBucket var mockCtrl *gomock.Controller var reconciler *LinodeObjectStorageBucketReconciler @@ -413,7 +413,7 @@ var _ = Describe("pre-reconcile", Label("pre-reconcile"), func() { }) }) -var _ = Describe("apply", Label("apply"), func() { +var _ = Describe("apply", Label("bucket", "apply"), func() { var obj infrav1.LinodeObjectStorageBucket var mockCtrl *gomock.Controller var testLogs *bytes.Buffer @@ -456,7 +456,7 @@ var _ = Describe("apply", Label("apply"), func() { } }) - It("fails when a finalizer cannot be added", Label("current"), func(ctx SpecContext) { + It("fails when a finalizer cannot be added", func(ctx SpecContext) { mockK8sClient := mock.NewMockk8sClient(mockCtrl) prev := mockK8sClient.EXPECT(). Scheme(). diff --git a/docs/src/SUMMARY.md b/docs/src/SUMMARY.md index fbf5abe64..2b61f8304 100644 --- a/docs/src/SUMMARY.md +++ b/docs/src/SUMMARY.md @@ -11,6 +11,7 @@ - [k3s](./topics/flavors/k3s.md) - [rke2](./topics/flavors/rke2.md) - [Etcd](./topics/etcd.md) + - [Backups](./topics/backups.md) - [Multi-Tenancy](./topics/multi-tenancy.md) - [Development](./developers/development.md) - [Releasing](./developers/releasing.md) diff --git a/docs/src/topics/backups.md b/docs/src/topics/backups.md new file mode 100644 index 000000000..b8ff8df33 --- /dev/null +++ b/docs/src/topics/backups.md @@ -0,0 +1,116 @@ +# Backups + +CAPL supports performing etcd backups by provisioning an Object Storage bucket and access keys. This feature is not enabled by default and can be configured as an addon. + +```admonish warning +Enabling this addon requires enabling Object Storage in the account where the resources will be provisioned. Please refer to the [Pricing](https://www.linode.com/docs/products/storage/object-storage/#pricing) information in Linode's [Object Storage documentation](https://www.linode.com/docs/products/storage/object-storage/). +``` + +## Enabling Backups + +TODO + +## Object Storage + +Additionally, CAPL can be used to provision Object Storage buckets and access keys for general purposes by configuring a `LinodeObjectStorageBucket` resource. + +```admonish warning +Using this feature requires enabling Object Storage in the account where the resources will be provisioned. Please refer to the [Pricing](https://www.linode.com/docs/products/storage/object-storage/#pricing) information in Linode's [Object Storage documentation](https://www.linode.com/docs/products/storage/object-storage/). +``` + +### Bucket Creation + +The following is the minimal required configuration needed to provision an Object Storage bucket and set of access keys. + +```yaml +apiVersion: infrastructure.cluster.x-k8s.io/v1alpha1 +kind: LinodeObjectStorageBucket +metadata: + name: