From 3611836cc46ae110d1299b2b7b5edbaec335309d Mon Sep 17 00:00:00 2001 From: Madhav Bhargava Date: Wed, 13 Nov 2024 10:47:10 +0530 Subject: [PATCH] fixed doc links (#919) --- docs/deployment/configure-etcd-druid.md | 2 +- .../getting-started-locally/getting-started-locally.md | 10 +++++----- docs/development/controllers.md | 2 +- docs/usage/managing-etcd-clusters.md | 8 ++++---- docs/usage/recovering-etcd-clusters.md | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/deployment/configure-etcd-druid.md b/docs/deployment/configure-etcd-druid.md index 8bece8357..3d9d6beed 100644 --- a/docs/deployment/configure-etcd-druid.md +++ b/docs/deployment/configure-etcd-druid.md @@ -88,5 +88,5 @@ Following set of flags configures the reconcilers running within etcd-druid. To | Flag | Description | Default | | ------------------- | ------------------------------------------------------------ | ------- | -| feature-gates | A set of key=value pairs that describe feature gates for alpha/experimental features. Please check [feature-gates](https://github.com/gardener/etcd-druid/blob/55efca1c8f6c852b0a4e97f08488ffec2eed0e68/docs/deployment/feature-gates.md) for more information. | "" | +| feature-gates | A set of key=value pairs that describe feature gates for alpha/experimental features. Please check [feature-gates](feature-gates.md) for more information. | "" | | disable-lease-cache | Disable cache for lease.coordination.k8s.io resources. | false | diff --git a/docs/deployment/getting-started-locally/getting-started-locally.md b/docs/deployment/getting-started-locally/getting-started-locally.md index fb5f0f0ce..367189261 100644 --- a/docs/deployment/getting-started-locally/getting-started-locally.md +++ b/docs/deployment/getting-started-locally/getting-started-locally.md @@ -39,12 +39,12 @@ export KUBECONFIG=$PWD/hack/kind/kubeconfig Prior to deploying `etcd-druid`, it can be configured via CLI-args and environment variables. -* To configure CLI args you can modify [`charts/druid/values.yaml`](https://github.com/gardener/etcd-druid/blob/3383e0219a6c21c6ef1d5610db964cc3524807c8/charts/druid/values.yaml). For e.g. if you wish to `auto-reconcile` any change done to `Etcd` CR then you should set `enableEtcdSpecAutoReconcile` to true. By default this will be switched off. +* To configure CLI args you can modify [`charts/druid/values.yaml`](https://github.com/gardener/etcd-druid/blob/master/charts/druid/values.yaml). For e.g. if you wish to `auto-reconcile` any change done to `Etcd` CR then you should set `enableEtcdSpecAutoReconcile` to true. By default this will be switched off. * `DRUID_E2E_TEST=true` : sets specific configuration for etcd-druid for optimal e2e test runs, like a lower sync period for the etcd controller. ### Deploying etcd-druid -Any variant of `make deploy-*` command uses [helm](https://helm.sh/) and [skaffold](https://skaffold.dev/) to build and deploy `etcd-druid` to the target Kubernetes cluster. In addition to deploying `etcd-druid` it will also install the [Etcd CRD](https://github.com/gardener/etcd-druid/blob/3383e0219a6c21c6ef1d5610db964cc3524807c8/config/crd/bases/crd-druid.gardener.cloud_etcds.yaml) and [EtcdCopyBackupTask CRD](https://github.com/gardener/etcd-druid/blob/3383e0219a6c21c6ef1d5610db964cc3524807c8/config/crd/bases/crd-druid.gardener.cloud_etcdcopybackupstasks.yaml). +Any variant of `make deploy-*` command uses [helm](https://helm.sh/) and [skaffold](https://skaffold.dev/) to build and deploy `etcd-druid` to the target Kubernetes cluster. In addition to deploying `etcd-druid` it will also install the [Etcd CRD](https://github.com/gardener/etcd-druid/blob/master/config/crd/bases/crd-druid.gardener.cloud_etcds.yaml) and [EtcdCopyBackupTask CRD](https://github.com/gardener/etcd-druid/blob/master/config/crd/bases/crd-druid.gardener.cloud_etcdcopybackupstasks.yaml). #### Regular mode @@ -84,7 +84,7 @@ This means that when a goroutine is paused on a breakpoint, then all the other g !!! info This section is ***Optional*** and is only meant to describe steps to deploy a local object store which can be used for testing and development. If you either do not wish to enable backups or you wish to use remote (infra-provider-specific) object store then this section can be skipped. -An `Etcd` cluster provisioned via etcd-druid provides a capability to take regular delta and full snapshots which are stored in an object store. You can enable this functionality by ensuring that you fill in [spec.backup.store](https://github.com/gardener/etcd-druid/blob/3383e0219a6c21c6ef1d5610db964cc3524807c8/config/samples/druid_v1alpha1_etcd.yaml#L49-L54) section of the `Etcd` CR. +An `Etcd` cluster provisioned via etcd-druid provides a capability to take regular delta and full snapshots which are stored in an object store. You can enable this functionality by ensuring that you fill in [spec.backup.store](https://github.com/gardener/etcd-druid/blob/master/config/samples/druid_v1alpha1_etcd.yaml#L49-L54) section of the `Etcd` CR. | Backup Store Variant | Setup Guide | | ----------------------------- | ---------------------------------------------------------- | @@ -109,7 +109,7 @@ kubectl apply -f ## 04-Preparing Etcd CR -Choose an appropriate variant of `Etcd` CR from [samples directory](../../../config/samples/). +Choose an appropriate variant of `Etcd` CR from [samples directory](https://github.com/gardener/etcd-druid/tree/master/config/samples). If you wish to enable functionality to backup delta & full snapshots then uncomment `spec.backup.store` section. @@ -151,7 +151,7 @@ We adhere to a naming convention for all resources that are provisioned for an ` ### Verify Etcd Pods' Functionality -`etcd-wrapper` uses a [distroless](https://github.com/GoogleContainerTools/distroless) image, which lacks a shell. To interact with etcd, use an [Ephemeral container](https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/) as a debug container. Refer to this [documentation](https://github.com/gardener/etcd-wrapper/blob/9040608291c17799ab33012efce628645c3eeedd/docs/deployment/ops.md#operations--debugging) for building and using an ephemeral container which gets attached to the `etcd-wrapper` pod. +`etcd-wrapper` uses a [distroless](https://github.com/GoogleContainerTools/distroless) image, which lacks a shell. To interact with etcd, use an [Ephemeral container](https://kubernetes.io/docs/concepts/workloads/pods/ephemeral-containers/) as a debug container. Refer to this [documentation](https://github.com/gardener/etcd-wrapper/blob/master/docs/deployment/ops.md#operations--debugging) for building and using an ephemeral container which gets attached to the `etcd-wrapper` pod. ```bash # Put a key-value pair into the etcd diff --git a/docs/development/controllers.md b/docs/development/controllers.md index 7425a9475..d70662ea0 100644 --- a/docs/development/controllers.md +++ b/docs/development/controllers.md @@ -38,7 +38,7 @@ Once the manager is `Start()`ed, all the controllers that are *registered* with Each controller is built using a controller builder, configured with details such as the type of object being reconciled, owned objects whose owner object is reconciled, event filters (predicates), etc. `Predicates` are filters which allow controllers to filter which type of events the controller should respond to and which ones to ignore. -The logic relevant to the controller manager like the creation of the controller manager and registering each of the controllers with the manager, is contained in [`internal/manager/manager.go`](../../internal/manager/manager.go). +The logic relevant to the controller manager like the creation of the controller manager and registering each of the controllers with the manager, is contained in [`internal/manager/manager.go`](https://github.com/gardener/etcd-druid/blob/master/internal/manager/manager.go). ## Etcd Controller diff --git a/docs/usage/managing-etcd-clusters.md b/docs/usage/managing-etcd-clusters.md index f6161d192..91a355b08 100644 --- a/docs/usage/managing-etcd-clusters.md +++ b/docs/usage/managing-etcd-clusters.md @@ -2,7 +2,7 @@ ## Create an Etcd Cluster -Creating an `Etcd` cluster can be done either by explicitly creating a manifest file or it can also be done programmatically. You can refer to and/or modify any [sample](../../config/samples/) `Etcd` manifest to create an etcd cluster. In order to programmatically create an `Etcd` cluster you can refer to the `Golang` [API](../../api/v1alpha1/) to create an `Etcd` custom resource and using a [k8s client](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/client#Client) you can apply an instance of a `Etcd` custom resource targetting any namespace in a k8s cluster. +Creating an `Etcd` cluster can be done either by explicitly creating a manifest file or it can also be done programmatically. You can refer to and/or modify any [sample](https://github.com/gardener/etcd-druid/tree/master/config/samples) `Etcd` manifest to create an etcd cluster. In order to programmatically create an `Etcd` cluster you can refer to the `Golang` [API](https://github.com/gardener/etcd-druid/tree/master/api) to create an `Etcd` custom resource and using a [k8s client](https://pkg.go.dev/sigs.k8s.io/controller-runtime/pkg/client#Client) you can apply an instance of a `Etcd` custom resource targetting any namespace in a k8s cluster. Prior to `v0.23.0` version of etcd-druid, after creating an `Etcd` custom resource, you will have to annotate the resource with `gardener.cloud/operation=reconcile` in order to trigger a reconciliation for the newly created `Etcd` resource. Post `v0.23.0` version of etcd-druid, there is no longer any need to explicitly trigger reconciliations for creating new `Etcd` clusters. @@ -69,10 +69,10 @@ This option is sometimes recommeded as you would like avoid auto-reconciliation ## Overwrite Container OCI Images -To find out image versions of `etcd-backup-restore` and `etcd-wrapper` used by a specific version of `etcd-druid` one way is look for the image versions in [images.yaml](https://github.com/gardener/etcd-druid/blob/1007780853d5282e615db401db58e823de3c1944/internal/images/images.yaml). There are times that you might wish to override these images that come bundled with `etcd-druid`. There are two ways in which you can do that: +To find out image versions of `etcd-backup-restore` and `etcd-wrapper` used by a specific version of `etcd-druid` one way is look for the image versions in [images.yaml](https://github.com/gardener/etcd-druid/blob/master/internal/images/images.yaml). There are times that you might wish to override these images that come bundled with `etcd-druid`. There are two ways in which you can do that: **Option #1** -We leverage [Overwrite ImageVector](https://github.com/gardener/gardener/blob/75c8f652fd31319608ac73257d587c3d31a9cc8f/docs/deployment/image_vector.md#overwriting-image-vector) facility provided by [gardener](https://github.com/gardener/gardener/). This capability can be used without bringing in gardener as well. To illustrate this in context of `etcd-druid` you will create a `ConfigMap` with the following content: +We leverage [Overwrite ImageVector](https://github.com/gardener/gardener/blob/master/docs/deployment/image_vector.md#overwriting-image-vector) facility provided by [gardener](https://github.com/gardener/gardener/). This capability can be used without bringing in gardener as well. To illustrate this in context of `etcd-druid` you will create a `ConfigMap` with the following content: ```yaml apiVersion: v1 @@ -96,7 +96,7 @@ data: tag: "v" ``` -You can use [images.yaml](https://github.com/gardener/etcd-druid/blob/1007780853d5282e615db401db58e823de3c1944/internal/images/images.yaml) as a reference to create the overwrite images YAML `ConfigMap`. +You can use [images.yaml](https://github.com/gardener/etcd-druid/blob/master/internal/images/images.yaml) as a reference to create the overwrite images YAML `ConfigMap`. Edit the `etcd-druid` `Deployment` with: diff --git a/docs/usage/recovering-etcd-clusters.md b/docs/usage/recovering-etcd-clusters.md index b923de8a8..27ffd285d 100644 --- a/docs/usage/recovering-etcd-clusters.md +++ b/docs/usage/recovering-etcd-clusters.md @@ -18,7 +18,7 @@ In case the quorum is lost due to hardware failures or disk corruption etc, auto At present, recovery from a permanent quorum loss is achieved by manually executing the steps listed in this section. -> **Note:** In the near future etcd-druid will offer capability to automate the recovery from a permanent quorum loss via [Out-Of-Band Operator Tasks](https://github.com/gardener/etcd-druid/blob/90995898b231a49a8f211e85160600e9e6019fe0/docs/proposals/05-etcd-operator-tasks.md#recovery-from-permanent-quorum-loss). An operator only needs to ascertain that there is a permanent quorum loss and the etcd-cluster is beyond auto-recovery. Once that is established then an operator can invoke a task whose status an operator can check. +> **Note:** In the near future etcd-druid will offer capability to automate the recovery from a permanent quorum loss via [Out-Of-Band Operator Tasks](../proposals/05-etcd-operator-tasks.md). An operator only needs to ascertain that there is a permanent quorum loss and the etcd-cluster is beyond auto-recovery. Once that is established then an operator can invoke a task whose status an operator can check. !!! warning Please note that manually restoring etcd can result in data loss. This guide is the last resort to bring an Etcd cluster up and running again.