From 75eebd93faa6b3e23859e0ee971d0e106957a0e6 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 26 May 2023 14:03:02 +0530 Subject: [PATCH 01/24] Add deployment docs for kopia repository server controller --- docs/install.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/install.rst b/docs/install.rst index 2af355b6be..dea0ce3f0e 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -104,6 +104,20 @@ like below: --set bpValidatingWebhook.tls.secretName=tls-secret +Deploying Kopia Repository server controller +============================================ + +Kopia Repository server controller s not enabled by default. It can be deployed by setting the +`repositoryServerController.enabled` value as shown below + +.. substitution-code-block:: bash + + helm upgrade --install kanister kanister/kanister-operator --namespace kanister --create-namespace \ + --set repositoryServerController.enabled=true + +This will create another container in the kanister pod for kopia repository server controller. + + Building and Deploying from Source ================================== From 0f08325de1e09b615b20ef4379e6a88fbf9ee77b Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Tue, 30 May 2023 20:22:21 +0530 Subject: [PATCH 02/24] add custom resource for repository server --- docs/architecture.rst | 145 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) diff --git a/docs/architecture.rst b/docs/architecture.rst index f3adc42678..e780e443c7 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -363,6 +363,151 @@ As a reference, below is an example of a Profile and the corresponding secret. example_key_id: example_secret_access_key: +RepositoryServers +----------------- + +RepositoryServer CR is required by kanister controller to start +a kopia repository server. The CR has list of parameters to configure +kopia repository server. + +.. note:: + Secrets referenced in the CR should be created in the format referenced + in the :ref:`Repository Server Secrets` section + + +The definition of ``Repository Server`` is: + +.. code-block:: go + :linenos: + + // RepositoryServer manages the lifecycle of Kopia Repository Server within a Pod + type RepositoryServer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositoryServerSpec `json:"spec"` + Status RepositoryServerStatus `json:"status"` + } + + Repository Server ``Spec`` field is defined as follows: + +.. code-block:: go + :linenos: + + type RepositoryServerSpec struct { + Storage Storage `json:"storage"` + Repository Repository `json:"repository"` + Server Server `json:"server"` + } + +- ``Storage`` field in the ``RepositoryServerSpec`` contains the location + details where the kopia repository is created + +.. code-block:: go + :linenos: + + type Storage struct { + SecretRef corev1.SecretReference `json:"secretRef"` + CredentialSecretRef corev1.SecretReference `json:"credentialSecretRef"` + } + +^ ``SecretRef`` and ``CredentialSecretRef`` are the references to location + secrets + +- ``Repository`` field in CR ``spec`` has details to connect to kopia repository created + in the above location storage + +.. code-block:: go + :linenos: + + type Repository struct { + RootPath string `json:"rootPath"` + Username string `json:"username"` + Hostname string `json:"hostname"` + PasswordSecretRef corev1.SecretReference `json:"passwordSecretRef"` + } + +Kopia identifies users by ``username@hostname`` and uses the values +specified when establishing connection to the repository to identify +backups created in the session. + +^ ``RootPath`` is the path for the kopia repository. It is the subpath within +the path prefix specified in storage location +^ ``Username`` is an optional field used to override the default username while +connecting to kopia repository +^ ``Hostname`` is an optional field used to override the default hostname while +connecting to kopia repository +^ ``PasswordSecretRef`` is the reference to the secret containing password to +connect to kopia repository + + +- ``Server`` field in the CR spec has references to all the secrets + required to start the kopia repository server + +.. code-block:: go + :linenos: + + type Server struct { + UserAccess UserAccess `json:"userAccess"` + AdminSecretRef corev1.SecretReference `json:"adminSecretRef"` + TLSSecretRef corev1.SecretReference `json:"tlsSecretRef"` + } + +^ ``AdminSecretRef`` is a secret reference containing admin credentials + required to start the kopia repository server +^ ``TLSSecretRef`` is a TLS secret reference for kopia client and server communication +^ ``UserAccess`` contains username and password secret reference required + for creating kopia respository server users. + +.. code-block:: go + :linenos: + + type UserAccess struct { + UserAccessSecretRef corev1.SecretReference `json:"userAccessSecretRef"` + Username string `json:"username"` + } + + +- ``Status`` field in ``RepositoryServer`` CR is used by kanister controller + to propogate server's status to the client. It is defined as: + +.. code-block:: go + :linenos: + + type RepositoryServerStatus struct { + Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + ServerInfo ServerInfo `json:"serverInfo,omitempty"` + Progress RepositoryServerProgress `json:"progress"` + } +- ``Progress`` is populated by controller with 3 values + + ^ ``ServerReady`` represents the ready state of the repository server and + the pod which runs the proxy server + ^ ``ServerStopped`` represents that the controller got an error while + starting the repository server + ^ ``ServerPending`` represents that repository server is yet to be started completely + +- ``ServerInfo`` is populated by the kanister controller with +the server details that client requires to connect to the server. + +.. code-block:: go + :linenos: + + type ServerInfo struct { + PodName string `json:"podName,omitempty"` + ServiceName string `json:"serviceName,omitempty"` + } + +^ ``PodName`` is the name of pod created by controller for kopia repository server +^ ``ServiceName`` is the name of the kubernetes service created by the controller +which contains the connection details for repository server + + +RepositoryServerSecrets +========================= + +Kanister controller needs the following secrets to be created for starting the kopia +repository server successfully. The secrets are referenced in the ``RepositoryServer`` +CR as described in :ref:`RepositoryServer` Controller ========== From ecf87edb47b62ce168d9c6f27d6c4a16f6c153b3 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Wed, 31 May 2023 12:42:11 +0530 Subject: [PATCH 03/24] add sample repository server --- docs/architecture.rst | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/architecture.rst b/docs/architecture.rst index e780e443c7..65d852f560 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -502,6 +502,44 @@ the server details that client requires to connect to the server. which contains the connection details for repository server +As a reference, below is an example of a Repository Server + +.. code-block:: yaml + :linenos: + + apiVersion: cr.kanister.io/v1alpha1 + kind: RepositoryServer + metadata: + name: kopia-repo-server-monitoring + namespace: + spec: + storage: + secretRef: + name: + namespace: + credentialSecretRef: + name: + namespace: + repository: + rootPath: /repo/monitoring + passwordSecretRef: + name: + namespace: + username: + hostname: + server: + adminSecretRef: + name: + namespace: kanister + tlsSecretRef: + name: + namespace: kanister + userAccess: + userAccessSecretRef: + name: + namespace: kanister + username: + RepositoryServerSecrets ========================= From 83d4751eb6afd461933f954f8c0e5cdec54b03c7 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Wed, 31 May 2023 17:48:57 +0530 Subject: [PATCH 04/24] add secrets creation part --- docs/architecture.rst | 201 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 193 insertions(+), 8 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index 65d852f560..a7297292dc 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -511,42 +511,227 @@ As a reference, below is an example of a Repository Server kind: RepositoryServer metadata: name: kopia-repo-server-monitoring - namespace: + namespace: spec: storage: secretRef: name: - namespace: + namespace: credentialSecretRef: name: - namespace: + namespace: repository: rootPath: /repo/monitoring passwordSecretRef: name: - namespace: + namespace: username: hostname: server: adminSecretRef: name: - namespace: kanister + namespace: tlsSecretRef: name: - namespace: kanister + namespace: userAccess: userAccessSecretRef: name: - namespace: kanister + namespace: username: -RepositoryServerSecrets +Repository Server Secrets ========================= Kanister controller needs the following secrets to be created for starting the kopia repository server successfully. The secrets are referenced in the ``RepositoryServer`` CR as described in :ref:`RepositoryServer` +Location Storage Secret +----------------------- + +This secret stores the sensitive details of the location where the kopia +repository is created. This secret is referenced by ``spec.storage.secretRef`` +field in repository server CR + +The ``data.type`` field can have following values ``s3``, ``gcs`` , ``azure``, ``file-store`` + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: location + namespace: + type: secrets.kanister.io/storage-location + data: + # required: specify the type of the store + # supported values are s3, gcs, azure, and file-store + type: + # required + bucket: + # optional: specified in case of S3-compatible stores + endpoint: + # optional: used as a sub path in the bucket for all backups + path: + # required, if supported by the provider + region: + # required: if type is `file-store` + # optional, otherwise + claimName: + +Location Credentials Secret +------------------ + +Following is the secret to be used for Azure, AWS and GCS storage credentials. +This secret is referenced by ``spec.storage.credentialSecretRef`` in repository server +CR + +- ``AWS S3`` + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: s3-loc-creds + namespace: + type: secrets.kanister.io/aws + data: + # required: base64 encoded value for key with proper permissions for the bucket + access-key: + # required: base64 encoded value for the secret corresponding to the key above + secret-acccess-key: + # optional: base64 encoded value for AWS IAM role + role: + +- ``Azure`` + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: az-loc-creds + namespace: + type: secrets.kanister.io/azure + data: + # required: base64 encoded value for account with proper permissions for the bucket + azure_storage_account_id: + # required: base64 encoded value for the key corresponding to the account above + azure_storage_key: + # optional: base64 encoded value for the storage enevironment. + # Acceptable values are AzureCloud, AzureChinaCloud, AzureUSGovernment, AzureGermanCloud + azure_storage_environment: + + - ``GCS`` + + .. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: gcs-loc-creds + namespace: + type: secrets.kanister.io/gcp + data: + # required: base64 encoded value for project with proper permissions for the bucket + project-id: + # required: base64 encoded value for the SA with proper permissions for the bucket. + # This value is base64 encoding of the service account json file when + # creating a new service account + service-account.json: + + +Repository Password Secret +-------------------------- +This is the password secret used by controller to connect to kopia repository. It +is referenced by ``spec.repository.passwordSecretRef`` in repository server CR + +.. code-block:: yaml + :linenos: + apiVersion: v1 + kind: Secret + metadata: + name: repository-password + namespace: + type: secrets.kanister.io/kopia-repository/password + data: + repo-password: + +Repository Server Admin User Secret +----------------------------------- +This secret is used for storing admin credentials used by the controller +to start the kopia repository server. It is referenced by ``spec.server.accessSecretRef`` +in repository server CR + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: repository-server-admin + namespace: + type: secrets.kanister.io/kopia-repository/serveradmin + data: + username: + password: + + +TLS Secret +---------- + +This secret store TLS sensitive data used for kopia client server communication. +It is in standard ``kubernetes.io/tls`` format. It is referenced by ``spec.server.tlsSecretRef`` in +repository server CR + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: repository-server-tls + namespace: + type: kubernetes.io/tls + data: + tls.crt: | + + tls.key: | + + + +Repository Server User Access Password Secret +--------------------------------------------- +The Kopia repository client needs an access username and password for authentication to +connect to kopia repository server + +Kopia client needs user in the format ``@`` . The username is same +for all the clients which is specified in ``spec.server.UserAccess.username`` of +the ``RepositoryServer`` CR. The password and hostname is provided in the form of +a secret as shown below + +.. code-block:: yaml + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: repository-server-user-access + namespace: kanister + labels: + repo.kanister.io/target-namespace: monitoring + type: Opaque + data: + : + : + + Controller ========== From c6fc2dd25fa181a5ed11009b04913b4925771d69 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 1 Jun 2023 17:42:31 +0530 Subject: [PATCH 05/24] add tutorial --- docs/{ => Tutorial}/tutorial.rst | 2 - docs/Tutorial/tutorial_repositoryserver.rst | 228 ++++++++++++++++++++ docs/architecture.rst | 21 +- docs/install.rst | 2 +- 4 files changed, 245 insertions(+), 8 deletions(-) rename docs/{ => Tutorial}/tutorial.rst (99%) create mode 100644 docs/Tutorial/tutorial_repositoryserver.rst diff --git a/docs/tutorial.rst b/docs/Tutorial/tutorial.rst similarity index 99% rename from docs/tutorial.rst rename to docs/Tutorial/tutorial.rst index 5aa92b91ce..c607376546 100644 --- a/docs/tutorial.rst +++ b/docs/Tutorial/tutorial.rst @@ -1,5 +1,3 @@ -.. _tutorial: - Tutorial ******** diff --git a/docs/Tutorial/tutorial_repositoryserver.rst b/docs/Tutorial/tutorial_repositoryserver.rst new file mode 100644 index 0000000000..f3539b3ec3 --- /dev/null +++ b/docs/Tutorial/tutorial_repositoryserver.rst @@ -0,0 +1,228 @@ +.. _tutorial: + +Blueprint using kopia repository server as Data Mover +===================================================== + +This tutorial will demonstrate the use of Kopia to copy/restore backups +to a kopia repository. We will be using kanister functions +that use Kopia repository Server as datamover in the blueprint. For more documentation +on kanister functions and blueprints see :ref:`architecture` , +:ref:`kanister functions` respectively + +Prerequisites +============= + +* Kubernetes ``1.16`` or higher. For cluster version lower than ``1.16``, + we recommend installing Kanister version ``0.62.0`` or lower. + +* `kubectl `_ installed + and setup + +* `helm `_ installed and initialized using the command `helm init` + +* docker + +* Kopia repository server controller should be deployed along with Kanister controller +See :ref:`Deploying Kopia Repository server controller` + +* Access to s3 bucket and credentials + +Example Application +=================== + +This tutorial begins by deploying a sample application. The application is +contrived, but useful for demonstrating Kanister's features. The application +appends the current time to a log file every second. The application's container +includes the aws command-line client which we'll use later in the tutorial. The +application is installed in the ``default`` namespace. + +.. code-block:: yaml + + $ cat <> /var/log/time.log; sleep 1; done; truncate /var/log/time.log --size 0; done"] + EOF + +Starting Kopia Repository Server +================================ + +Since we will be using kopia data mover to copy/restore the backups to the location storage, +we need to start the Kopia repository Server. To know more about kopia repository server, +see :ref:`Kopia Repository Server Controller` + +The repository server controller requires Repository Server custom resource to be created to +start the server. To understand more about this custom resource, see :ref:`architecture`. + + +Creating a Kopia Repository +--------------------------- + +The kopia repository needs to be created before we start the repository server. + +You can create it as shown below + +.. code-block:: bash + $ kopia --log-level=error --config-file=/tmp/kopia-repository.config + --log-dir=/tmp/kopia-cache repository create --no-check-for-updates + --cache-directory=/tmp/cache.dir --content-cache-size-mb=0 --metadata-cache-size-mb=500 + --override-hostname=timelog.app --override-username=kanisterAdmin s3 + --bucket=test-bucket + --prefix=/test/repo-controller + --region=us-east-1 + --access-key= + --secret-access-key= + +You can check `kopia documentation +`_ to understand more about kopia repository. + + +Creating Secrets +---------------- + +Please see :ref:`architecture` to know the secrets that needs to be created for repository server + +- ``Creating TLS secret`` +.. code-block:: bash + $ kubectl create secret tls repository-server-tls-cert --cert=/path/to/certificate.pem --key=/path/to/key.pem -n kanister + +- ``Creating Repository Server User Access Secret`` + +.. code-block:: bash + $ kubectl create secret generic repository-server-user-access --type='secrets.kanister.io/kopia-repository/serveruser' -n kanister + +- ``Creating Repository Server Admin Secret`` +.. code-block:: bash + $ kubectl create secret generic repository-server-admin --type='secrets.kanister.io/kopia-repository/serveradmin' -n kanister --from-literal=username=admin@testpod1 --from-literal=password=test1234 + +- ``Creating Repository Password Secret`` +.. code-block:: bash + $ kubectl create secret generic repository-pass --type='secrets.kanister.io/kopia-repository/password' -n kanister --from-literal=repo-password=test1234 + +- ``Creating Storage Location Secret`` + The secret should have same values for ``bucket``, ``endpoint``, ``region`` fields that + we have used while creating kopia repository + +.. code-block:: yaml + + $ cat < + # optional: specified in case of S3-compatible stores + endpoint: + # required, if supported by the provider + region: + EOF + +- ``Creating Storage Location Credentials Secret`` +.. code-block:: yaml + + $ cat < + # required: base64 encoded value for the secret corresponding to the key above + secret-acccess-key: + EOF + + + +Creating Repository Server custom resource +------------------------------------------ + +Once the secrets are created, we need to create a repository Server CR having references +to above created secrets. More details of the repository server CR +can be found at :ref:`architecture` + +We have to make sure that we use the same values for field ``spec.repository.RootPath``, +``spec.repository.username`` , ``spec.repository.hostname`` in the CR that we used while +creating the repository in section :ref:`Creating a Kopia Repository` + +.. code-block:: yaml + :linenos: + + apiVersion: cr.kanister.io/v1alpha1 + kind: RepositoryServer + metadata: + name: kopia-repo-server + namespace: kanister + spec: + storage: + secretRef: + name: s3-location + namespace: kanister + credentialSecretRef: + name: s3-loc-creds + namespace: kanister + repository: + rootPath: /test/repo-controller + passwordSecretRef: + name: repository-pass + namespace: kanister + username: kansiterAdmin + hostname: timelog.app + server: + adminSecretRef: + name: repository-server-admin + namespace: kanister + tlsSecretRef: + name: repository-server-tls-cert + namespace: kanister + userAccess: + userAccessSecretRef: + name: repository-server-user-access + namespace: kanister + username: kanisterUser + + +Invoking Kanister Actions +========================= + +Kanister CustomResources are created in the same namespace as +the Kanister controller. + +The first Kanister CustomResource we're going to deploy is a Blueprint. +Blueprints are a set of instructions that tell the controller how to perform +actions on an application. An action consists of one or more phases. Each phase +invokes a :doc:`Kanister Function `. All Kanister functions accept a +list of strings. The ``args`` field in a Blueprint's phase is rendered and passed +into the specified Function. + +For more on CustomResources in Kanister, see :ref:`architecture`. + + +The Blueprint we'll create has a single action called ``backup``. The action +``backup`` has a single phase named ``backupToS3``. ``backupToS3`` invokes the +Kanister function ``KubeExec``, which is similar to invoking ``kubectl exec ...``. +At this stage, we'll use ``KubeExec`` to echo our time log's name and +:doc:`Kanister's parameter templating ` to specify the container +with our log. \ No newline at end of file diff --git a/docs/architecture.rst b/docs/architecture.rst index a7297292dc..1ee717239b 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -6,6 +6,17 @@ Architecture .. contents:: Architecture :local: + +Kopia Repository Server Controller +================================== + + +Kopia Repository Server +----------------------- + +Kopia Repository +---------------- + The design of Kanister follows the operator pattern. This means Kanister defines its own resources and interacts with those resources through a controller. `This blog post @@ -19,6 +30,7 @@ together: .. image:: ./_static/kanister_workflow.png + Kanister Workflow ================= @@ -46,7 +58,8 @@ objects can be managed entirely through kubectl. Kanister uses Kubernetes' code generation tools to create go client libraries for its CRs. The schemas of the Kanister CRDs can be found in `types.go -`_ +`_ and +`repositoryserver_types.go `_ Blueprints ---------- @@ -510,7 +523,7 @@ As a reference, below is an example of a Repository Server apiVersion: cr.kanister.io/v1alpha1 kind: RepositoryServer metadata: - name: kopia-repo-server-monitoring + name: kopia-repo-server namespace: spec: storage: @@ -724,9 +737,7 @@ a secret as shown below metadata: name: repository-server-user-access namespace: kanister - labels: - repo.kanister.io/target-namespace: monitoring - type: Opaque + type: secrets.kanister.io/kopia-repository/serveruser data: : : diff --git a/docs/install.rst b/docs/install.rst index dea0ce3f0e..08c1026b32 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -107,7 +107,7 @@ like below: Deploying Kopia Repository server controller ============================================ -Kopia Repository server controller s not enabled by default. It can be deployed by setting the +Kopia Repository server controller is not enabled by default. It can be deployed by setting the `repositoryServerController.enabled` value as shown below .. substitution-code-block:: bash From fa158e4aacb58e3ecbd708b6b86f5c288fd9a656 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Mon, 5 Jun 2023 12:35:48 +0530 Subject: [PATCH 06/24] add repository server controller details --- docs/Tutorial/tutorial_repositoryserver.rst | 191 ++++++++++++++++++-- docs/architecture.rst | 30 ++- 2 files changed, 202 insertions(+), 19 deletions(-) diff --git a/docs/Tutorial/tutorial_repositoryserver.rst b/docs/Tutorial/tutorial_repositoryserver.rst index 1c74062c2f..4ffe3dc6a7 100644 --- a/docs/Tutorial/tutorial_repositoryserver.rst +++ b/docs/Tutorial/tutorial_repositoryserver.rst @@ -39,12 +39,28 @@ application is installed in the ``default`` namespace. .. code-block:: yaml $ cat <> /var/log/time.log; sleep 1; done; truncate /var/log/time.log --size 0; done"] + volumeMounts: + - name: data + mountPath: /var/log + volumes: + - name: data + persistentVolumeClaim: + claimName: time-log-pvc EOF Starting Kopia Repository Server @@ -210,21 +233,77 @@ command used to create repository as specified in section :ref:`Creating a Kopia userAccessSecretRef: name: repository-server-user-access namespace: kanister - username: kanisterUser + username: kanisteruser EOF -Once the Repository Server is created, you will see a repository server pod and a service created -in kanister namespace. +Once the Repository Server is created, you will see a repository server pod and a service exposing the +the kopia repository server created in kanister namespace. + +.. code-block:: bash -######## -(TODO: List pods and services) + $ kubectl get pods,svc -n kanister + NAME READY STATUS RESTARTS AGE + pod/kanister-kanister-operator-5b7dfbf97b-5j5p5 2/2 Running 0 33m + pod/repo-server-pod-4tjcw 1/1 Running 0 2m13s + + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + service/kanister-kanister-operator ClusterIP 10.96.197.93 443/TCP 33m + service/repo-server-service-rq2pq ClusterIP 10.96.127.153 51515/TCP 2m13s To see if the server started successfully, you can check the status of the server using following command -######### -(TODO: Please describe repository server resource) +.. code-block:: bash + + $ kubectl get repositoryservers.cr.kanister.io kopia-repo-server -n kanister -oyaml + apiVersion: cr.kanister.io/v1alpha1 + kind: RepositoryServer + metadata: + annotations: + kubectl.kubernetes.io/last-applied-configuration: | + {"apiVersion":"cr.kanister.io/v1alpha1","kind":"RepositoryServer","metadata":{"annotations":{},"name":"kopia-repo-server","namespace":"kanister"},"spec":{"repository":{"hostname":"timelog.app","passwordSecretRef":{"name":"repository-pass","namespace":"kanister"},"rootPath":"/test/repo-controller","username":"kansiterAdmin"},"server":{"adminSecretRef":{"name":"repository-server-admin","namespace":"kanister"},"tlsSecretRef":{"name":"repository-server-tls-cert","namespace":"kanister"},"userAccess":{"userAccessSecretRef":{"name":"repository-server-user-access","namespace":"kanister"},"username":"kanisteruser"}},"storage":{"credentialSecretRef":{"name":"s3-loc-creds","namespace":"kanister"},"secretRef":{"name":"s3-location","namespace":"kanister"}}}} + creationTimestamp: "2023-06-05T05:45:49Z" + generation: 1 + name: kopia-repo-server + namespace: kanister + resourceVersion: "41529" + uid: b4458c4f-b2d5-4dcd-99de-a0a4d32ed216 + spec: + repository: + hostname: timelog.app + passwordSecretRef: + name: repository-pass + namespace: kanister + rootPath: /test/repo-controller + username: kansiterAdmin + server: + adminSecretRef: + name: repository-server-admin + namespace: kanister + tlsSecretRef: + name: repository-server-tls-cert + namespace: kanister + userAccess: + userAccessSecretRef: + name: repository-server-user-access + namespace: kanister + username: kanisteruser + storage: + credentialSecretRef: + name: s3-loc-creds + namespace: kanister + secretRef: + name: s3-location + namespace: kanister + status: + progress: ServerReady + serverInfo: + podName: repo-server-pod-4tjcw + serviceName: repo-server-service-rq2pq + +``pod/repo-server-pod-4tjcw`` and ``service/repo-server-service-rq2pq`` populated in +``status.serverInfo`` field should be used by the client to connect to the server Invoking Kanister Actions ========================= @@ -247,10 +326,14 @@ Kanister function ``BackupDataUsingKopiaServer`` that uses kopia repository serv data to s3 storage. The action ``restore`` uses two kanister functions ``ScaleWorkload`` and ``RestoreDataUsingKopiaServer``. ``ScaleWorkload`` function scales down the timelog application before restoring the data. ``RestoreDataUsingKopiaServer`` restores data using kopia repository server -form s3 storage +form s3 storage. For more information of kanister function refer :doc:`Kanister's parameter templating `. +We are using output artifacts here to store the path of our data in s3 and snapshot ID that +that will be used as ``backupIdentifier`` while performing restore. To know more about +artifacts you can refer :ref:`tutorial`. + Blueprint --------- @@ -279,7 +362,6 @@ Blueprint pod: "{{ index .Deployment.Pods 0 }}" container: test-container includePath: /var/log - restore: inputArtifactNames: - timeLog @@ -297,7 +379,7 @@ Blueprint args: namespace: "{{ .Deployment.Namespace }}" pod: "{{ index .Deployment.Pods 0 }}" - image: ghcr.io/kanisterio/kanister-tools:0.89.0 + image: ghcr.io/kanisterio/kanister-tools:0.92.0 backupIdentifier: "{{ .ArtifactsIn.backupIdentifier.KeyValue.id }}" restorePath: /var/log - func: ScaleWorkload @@ -307,10 +389,8 @@ Blueprint name: "{{ .Deployment.Name }}" kind: Deployment replicas: 1 - EOF - Once we create a Blueprint, we can see its events by using the following command: .. code-block:: yaml @@ -328,13 +408,90 @@ multiple actions, each acting on a different Kubernetes object. The ActionSet we're about to create in this tutorial specifies the ``time-logger`` Deployment we created earlier and selects the ``backup`` action inside our Blueprint. + +Add some data in the time logger app +.. code-block:: bash + kubectl exec -it time-logger-6d89687cbb-bmdj8 -n default -it sh + sh-5.1# cd /var/log/ + sh-5.1# ls + time.log + sh-5.1# echo "hello world" >> test.log + sh-5.1# cat test.log + hello world + ActionSet ---------------- +--------- .. code-block:: bash # Create action set using the blueprint created in above step - $ kanctl create actionset --action backup --namespace kanister --blueprint time-log-bp --deployment time-logger/time-logger --repository-server=kopia-repo-server + $ kanctl create actionset --action backup --namespace kanister --blueprint time-log-bp --deployment default/time-logger --repository-server kanister/kopia-repo-server + actionset actionset backup-rlcnp created ``--repository-server`` flag is used to provide the reference to the repository server CR that we created -in step :ref:`Creating Repository Server custom resource`. The CR is made available to the kanister -functions using template parameters. +in step :ref:`Creating Repository Server custom resource`. Since the details related to kopia repository server and +the secrets are present in the CR, the blueprint will be able to read these details using +template parameters and will perform backup using kopia repository server + + +.. code-block:: bash + + Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Started Action 14s Kanister Controller Executing action backup + Normal Started Phase 14s Kanister Controller Executing phase backupToS3 + Normal Ended Phase 9s Kanister Controller Completed phase backupToS3 + Normal Update Complete 9s Kanister Controller Updated ActionSet 'backup-rlcnp' Status->complete + + +Lets delete the date from ``timelogger`` app. + +.. code-block:: bash + kubectl exec -it time-logger-6d89687cbb-bmdj8 -n default -it sh + sh-5.1# cd /var/log/ + sh-5.1# ls -lrt + total 12 + -rw-r--r-- 1 root root 12 Jun 5 06:22 test.log + -rw-r--r-- 1 root root 7308 Jun 5 06:26 time.log + sh-5.1# rm -rf test.log + sh-5.1# ls -lrt + total 8 + -rw-r--r-- 1 root root 7482 Jun 5 06:26 time.log + + +Lets perform restore now, by using ``restore`` action from the ``time-log-bp`` blueprint + +.. code-block:: bash + kanctl --namespace kanister create actionset --action restore --from "backup-rlcnp" --repository-server kanister/kopia-repo-server + actionset restore-backup-rlcnp-g5h65 create + +We can see if the restore is successful by describing the actionset + +.. code-block:: bash + $kubectl describe actionsets.cr.kanister.io restore-backup-rlcnp-g5h65 -n kanister + + Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Started Action 20s Kanister Controller Executing action restore + Normal Started Phase 20s Kanister Controller Executing phase shutdownPod + Normal Ended Phase 8s Kanister Controller Completed phase shutdownPod + Normal Started Phase 8s Kanister Controller Executing phase restoreFromS3 + Normal Ended Phase 4s Kanister Controller Completed phase restoreFromS3 + Normal Started Phase 4s Kanister Controller Executing phase bringupPod + Normal Ended Phase 3s Kanister Controller Completed phase bringupPod + Normal Update Complete 2s Kanister Controller Updated ActionSet 'restore-backup-rlcnp-g5h65' Status->complete + +Lets check if the data was restored successfully. We should see the ``time.log`` file that was removed +before performing restore + +.. code-block:: bash + kubectl exec -it time-logger-6d89687cbb-pv5x6 -n default -it sh + sh-5.1# ls -lrt /var/log + total 16 + -rw-r--r-- 1 root root 12 Jun 5 06:22 test.log + -rw-r--r-- 1 root root 9715 Jun 5 06:32 time.log + sh-5.1# cat /var/log/test.log + hello world + + diff --git a/docs/architecture.rst b/docs/architecture.rst index 1d6e4b3759..a371e68e3e 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -7,16 +7,42 @@ Architecture :local: -Kopia Repository Server Controller -================================== +Kopia Repository Server Workflow +======================= +Introducting Kopia +------------------ + +Kopia is a powerful, cross-platform tool for managing encrypted backups in the cloud. +It provides fast and secure backups, using compression, data deduplication, and client-side end-to-end encryption. +It supports a variety of backup storage targets, including object stores, which allows users to choose the storage provider that better addresses their needs. +In Kopia, these storage locations are called repositories. It is a lock-free system that allows concurrent multi-client operations including garbage collection. +To explore other features of Kopia, see its `documentation`_ Kopia Repository Server ----------------------- +A Kopia Repository Server allows Kopia clients proxy access to the backend storage location through it. +Kopia Repository. At any time, a repository server can only connect to a single repository. Due to this a separate instance of the server will be used for each repository. + +In Kanister, the server will comprise a Kubernetes Pod, Service. The pod runs the kopia repository +server process that will be used by kopia clients to perform backup and restore. Kopia clients would +only need a username/password and service name to connect to server without the need to know +the backend storage location. This provides enhanced security since only authorized users will be allowed +to access the kopia repository server. These authorized users need to be added to the server +before starting the server + Kopia Repository ---------------- +The backup storage location is called a "Repository" in Kopia. +Only a single repository can exist at a particular path in the backend storage location. Users opting to use separate repositories are recommended to use unique path prefixes for each repository. +For example, a repository for a namespace called monitoring on S3 storage bucket called test-bucket could be created at the location ``s3://test-bucket//repo/`` +Accessing the repository requires the storage location and credential information similar to a Kanister Profile CR and a unique password used by Kopia during encryption, along with a unique +path prefix mentioned above. + +To know more about the design of kopia repository server controller refer its `design documentation + The design of Kanister follows the operator pattern. This means Kanister defines its own resources and interacts with those resources through a controller. `This blog post From 27889ed45f6f1ac6f708314a3b86272060421dec Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Mon, 5 Jun 2023 12:49:30 +0530 Subject: [PATCH 07/24] add tutorials under a folder --- docs/kanister_tutorial.rst | 9 +++++++++ docs/{Tutorial => tutorials}/tutorial.rst | 0 .../tutorial_with_repositoryserver.rst} | 9 +++++---- 3 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 docs/kanister_tutorial.rst rename docs/{Tutorial => tutorials}/tutorial.rst (100%) rename docs/{Tutorial/tutorial_repositoryserver.rst => tutorials/tutorial_with_repositoryserver.rst} (99%) diff --git a/docs/kanister_tutorial.rst b/docs/kanister_tutorial.rst new file mode 100644 index 0000000000..8b050a3ed6 --- /dev/null +++ b/docs/kanister_tutorial.rst @@ -0,0 +1,9 @@ +.. _tutorials: + +Tutorials +********* +.. toctree:: + :maxdepth: 1 + + tasks/tutorial.rst + tasks/tutorial_with_repositoryserver.rst \ No newline at end of file diff --git a/docs/Tutorial/tutorial.rst b/docs/tutorials/tutorial.rst similarity index 100% rename from docs/Tutorial/tutorial.rst rename to docs/tutorials/tutorial.rst diff --git a/docs/Tutorial/tutorial_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst similarity index 99% rename from docs/Tutorial/tutorial_repositoryserver.rst rename to docs/tutorials/tutorial_with_repositoryserver.rst index 4ffe3dc6a7..db783348d7 100644 --- a/docs/Tutorial/tutorial_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -1,7 +1,5 @@ -.. _tutorial: - -Blueprint using kopia repository server as Data Mover -===================================================== +Using Kopia Repository Server as Data Mover in Blueprint +******************************************************** This tutorial will demonstrate the use of Kopia to copy/restore backups to a kopia repository. We will be using kanister functions @@ -9,6 +7,9 @@ that use Kopia repository Server as datamover in the blueprint. For more documen on kanister functions and blueprints see :ref:`architecture` , :ref:`kanister functions` respectively +.. contents:: Tutorial Overview + :local: + Prerequisites ============= From b46d3346a9753382a56680e7b4d2830045138c55 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Mon, 5 Jun 2023 21:15:39 +0530 Subject: [PATCH 08/24] fix lint errors --- docs/architecture.rst | 199 ++++++++++-------- docs/index.rst | 2 +- docs/install.rst | 9 +- docs/kanister_tutorial.rst | 4 +- docs/overview.rst | 2 +- .../tutorial_with_repositoryserver.rst | 152 +++++++------ 6 files changed, 211 insertions(+), 157 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index a371e68e3e..f687d1f9ec 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -8,40 +8,52 @@ Architecture Kopia Repository Server Workflow -======================= +================================ -Introducting Kopia +Introducing Kopia ------------------ -Kopia is a powerful, cross-platform tool for managing encrypted backups in the cloud. -It provides fast and secure backups, using compression, data deduplication, and client-side end-to-end encryption. -It supports a variety of backup storage targets, including object stores, which allows users to choose the storage provider that better addresses their needs. -In Kopia, these storage locations are called repositories. It is a lock-free system that allows concurrent multi-client operations including garbage collection. -To explore other features of Kopia, see its `documentation`_ +Kopia is a powerful, cross-platform tool for managing encrypted backups +in the cloud. It provides fast and secure backups, using compression, +data `de-duplication`, and client-side end-to-end encryption. It supports +a variety of backup storage targets, including object stores, which allows +users to choose the storage provider that better addresses their needs. +In Kopia, these storage locations are called repositories. It is a +lock-free system that allows concurrent multi-client operations +including garbage collection. To explore other features of Kopia, +see its `documentation `_ Kopia Repository Server ----------------------- -A Kopia Repository Server allows Kopia clients proxy access to the backend storage location through it. -Kopia Repository. At any time, a repository server can only connect to a single repository. Due to this a separate instance of the server will be used for each repository. +A Kopia Repository Server allows Kopia clients proxy access to the backend storage +location through it. At any time, a repository server can only connect to a single +repository. Due to this a separate instance of the server will be used for each +repository. -In Kanister, the server will comprise a Kubernetes Pod, Service. The pod runs the kopia repository -server process that will be used by kopia clients to perform backup and restore. Kopia clients would -only need a username/password and service name to connect to server without the need to know -the backend storage location. This provides enhanced security since only authorized users will be allowed -to access the kopia repository server. These authorized users need to be added to the server -before starting the server +In Kanister, the server will comprise a Kubernetes Pod, Service. The pod runs the +kopia repository server process that will be used by kopia clients to perform +backup and restore. Kopia clients would only need a username/password and +service name to connect to server without the need to know the backend storage +location. This provides enhanced security since only authorized users will be +allowed to access the kopia repository server. These authorized users need to be +added to the server before starting the server. Kopia Repository ---------------- -The backup storage location is called a "Repository" in Kopia. -Only a single repository can exist at a particular path in the backend storage location. Users opting to use separate repositories are recommended to use unique path prefixes for each repository. -For example, a repository for a namespace called monitoring on S3 storage bucket called test-bucket could be created at the location ``s3://test-bucket//repo/`` -Accessing the repository requires the storage location and credential information similar to a Kanister Profile CR and a unique password used by Kopia during encryption, along with a unique -path prefix mentioned above. +The backup storage location is called a "Repository" in Kopia. Only a single +repository can exist at a particular path in the backend storage location. +Users opting to use separate repositories are recommended to use unique path +prefixes for each repository. For example, a repository for a namespace called +monitoring on S3 storage bucket called test-bucket could be created at the +location ``s3://test-bucket//repo/``. Accessing +the repository requires the storage location and credential information similar +to a Kanister Profile CR and a unique password used by Kopia during encryption, +along with a unique path prefix mentioned above. -To know more about the design of kopia repository server controller refer its `design documentation +To know more about the design of kopia repository server controller refer +its `design documentation ` _ The design of Kanister follows the operator pattern. This means Kanister defines its own resources and interacts with those resources @@ -402,6 +414,8 @@ As a reference, below is an example of a Profile and the corresponding secret. example_key_id: example_secret_access_key: +.. _repository_servers: + RepositoryServers ----------------- @@ -411,7 +425,7 @@ kopia repository server. .. note:: Secrets referenced in the CR should be created in the format referenced - in the :ref:`Repository Server Secrets` section + in the :ref:`Repository Server Secrets` section The definition of ``Repository Server`` is: @@ -421,10 +435,10 @@ The definition of ``Repository Server`` is: // RepositoryServer manages the lifecycle of Kopia Repository Server within a Pod type RepositoryServer struct { - metav1.TypeMeta `json:",inline"` - metav1.ObjectMeta `json:"metadata,omitempty"` - Spec RepositoryServerSpec `json:"spec"` - Status RepositoryServerStatus `json:"status"` + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec RepositoryServerSpec `json:"spec"` + Status RepositoryServerStatus `json:"status"` } Repository Server ``Spec`` field is defined as follows: @@ -433,9 +447,9 @@ The definition of ``Repository Server`` is: :linenos: type RepositoryServerSpec struct { - Storage Storage `json:"storage"` - Repository Repository `json:"repository"` - Server Server `json:"server"` + Storage Storage `json:"storage"` + Repository Repository `json:"repository"` + Server Server `json:"server"` } - ``Storage`` field in the ``RepositoryServerSpec`` contains the location @@ -445,34 +459,33 @@ The definition of ``Repository Server`` is: :linenos: type Storage struct { - SecretRef corev1.SecretReference `json:"secretRef"` - CredentialSecretRef corev1.SecretReference `json:"credentialSecretRef"` + SecretRef corev1.SecretReference `json:"secretRef"` + CredentialSecretRef corev1.SecretReference `json:"credentialSecretRef"` } ^ ``SecretRef`` and ``CredentialSecretRef`` are the references to location secrets - -- ``Repository`` field in CR ``spec`` has details to connect to kopia repository created + +- ``Repository`` field in CR ``spec`` has details to connect to kopia repository created in the above location storage .. code-block:: go :linenos: type Repository struct { - RootPath string `json:"rootPath"` - Username string `json:"username"` - Hostname string `json:"hostname"` - PasswordSecretRef corev1.SecretReference `json:"passwordSecretRef"` + RootPath string `json:"rootPath"` + Username string `json:"username"` + Hostname string `json:"hostname"` + PasswordSecretRef corev1.SecretReference `json:"passwordSecretRef"` CacheSizeSettings CacheSizeSettings `json:"cacheSizeSettings,omitempty"` } - -^ ``RootPath`` is the path for the kopia repository. It is the subpath within +^ ``RootPath`` is the path for the kopia repository. It is the sub-path within the path prefix specified in storage location ^ ``Username`` is an optional field used to override the default username while connecting to kopia repository -^ ``Hostname`` is an optional field used to override the default hostname while +^ ``Hostname`` is an optional field used to override the default host name while connecting to kopia repository Kopia identifies users by ``username@hostname`` and uses the values @@ -490,10 +503,10 @@ To know more about the kopia caches, refer to the `kopia caching documentation < .. code-block:: go :linenos: - + type CacheSizeSettings struct { - Metadata string `json:"metadata"` - Content string `json:"content"` + Metadata string `json:"metadata"` + Content string `json:"content"` } - ``Server`` field in the CR spec has references to all the secrets @@ -503,58 +516,64 @@ To know more about the kopia caches, refer to the `kopia caching documentation < :linenos: type Server struct { - UserAccess UserAccess `json:"userAccess"` - AdminSecretRef corev1.SecretReference `json:"adminSecretRef"` - TLSSecretRef corev1.SecretReference `json:"tlsSecretRef"` + UserAccess UserAccess `json:"userAccess"` + AdminSecretRef corev1.SecretReference `json:"adminSecretRef"` + TLSSecretRef corev1.SecretReference `json:"tlsSecretRef"` } ^ ``AdminSecretRef`` is a secret reference containing admin credentials required to start the kopia repository server + ^ ``TLSSecretRef`` is a TLS secret reference for kopia client and server communication + ^ ``UserAccess`` contains username and password secret reference required - for creating kopia respository server users. - + for creating kopia repository server users. + .. code-block:: go :linenos: type UserAccess struct { - UserAccessSecretRef corev1.SecretReference `json:"userAccessSecretRef"` - Username string `json:"username"` + UserAccessSecretRef corev1.SecretReference `json:"userAccessSecretRef"` + Username string `json:"username"` } - ``Status`` field in ``RepositoryServer`` CR is used by kanister controller - to propogate server's status to the client. It is defined as: + to propagate server's status to the client. It is defined as: .. code-block:: go :linenos: type RepositoryServerStatus struct { - Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` - ServerInfo ServerInfo `json:"serverInfo,omitempty"` - Progress RepositoryServerProgress `json:"progress"` + Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + ServerInfo ServerInfo `json:"serverInfo,omitempty"` + Progress RepositoryServerProgress `json:"progress"` } + - ``Progress`` is populated by controller with 3 values ^ ``ServerReady`` represents the ready state of the repository server and the pod which runs the proxy server - ^ ``ServerStopped`` represents that the controller got an error while + + ^ ``ServerStopped`` represents that the controller got an error while starting the repository server - ^ ``ServerPending`` represents that repository server is yet to be started completely + + ^ ``ServerPending`` represents that repository server is yet to be started completely - ``ServerInfo`` is populated by the kanister controller with -the server details that client requires to connect to the server. + the server details that client requires to connect to the server .. code-block:: go :linenos: type ServerInfo struct { - PodName string `json:"podName,omitempty"` - ServiceName string `json:"serviceName,omitempty"` + PodName string `json:"podName,omitempty"` + ServiceName string `json:"serviceName,omitempty"` } ^ ``PodName`` is the name of pod created by controller for kopia repository server -^ ``ServiceName`` is the name of the kubernetes service created by the controller + +^ ``ServiceName`` is the name of the Kubernetes service created by the controller which contains the connection details for repository server @@ -596,12 +615,14 @@ As a reference, below is an example of a Repository Server namespace: username: +.. _repository_Server_secrets: + Repository Server Secrets ========================= Kanister controller needs the following secrets to be created for starting the kopia repository server successfully. The secrets are referenced in the ``RepositoryServer`` -CR as described in :ref:`RepositoryServer` +CR as described in :ref:`RepositoryServer` Location Storage Secret ----------------------- @@ -610,7 +631,8 @@ This secret stores the sensitive details of the location where the kopia repository is created. This secret is referenced by ``spec.storage.secretRef`` field in repository server CR -The ``data.type`` field can have following values ``s3``, ``gcs`` , ``azure``, ``file-store`` +The ``data.type`` field can have following values ``s3``, ``gcs``, +``azure``, ``file-store`` .. code-block:: yaml :linenos: @@ -638,11 +660,11 @@ The ``data.type`` field can have following values ``s3``, ``gcs`` , ``azure``, ` claimName: Location Credentials Secret ------------------- +--------------------------- Following is the secret to be used for Azure, AWS and GCS storage credentials. This secret is referenced by ``spec.storage.credentialSecretRef`` in repository server -CR +CR - ``AWS S3`` @@ -671,11 +693,11 @@ CR apiVersion: v1 kind: Secret metadata: - name: az-loc-creds + name: s3-loc-creds namespace: - type: secrets.kanister.io/azure + type: secrets.kanister.io/aws data: - # required: base64 encoded value for account with proper permissions for the bucket + # required: base64 encoded value for account with proper permissions for the bucket azure_storage_account_id: # required: base64 encoded value for the key corresponding to the account above azure_storage_key: @@ -683,24 +705,24 @@ CR # Acceptable values are AzureCloud, AzureChinaCloud, AzureUSGovernment, AzureGermanCloud azure_storage_environment: - - ``GCS`` +- ``GCS`` .. code-block:: yaml - :linenos: - - apiVersion: v1 - kind: Secret - metadata: - name: gcs-loc-creds - namespace: - type: secrets.kanister.io/gcp - data: - # required: base64 encoded value for project with proper permissions for the bucket - project-id: - # required: base64 encoded value for the SA with proper permissions for the bucket. - # This value is base64 encoding of the service account json file when - # creating a new service account - service-account.json: + :linenos: + + apiVersion: v1 + kind: Secret + metadata: + name: gcs-loc-creds + namespace: + type: secrets.kanister.io/gcp + data: + # required: base64 encoded value for project with proper permissions for the bucket + project-id: + # required: base64 encoded value for the SA with proper permissions for the bucket. + # This value is base64 encoding of the service account json file when + # creating a new service account + service-account.json: Repository Password Secret @@ -710,6 +732,7 @@ is referenced by ``spec.repository.passwordSecretRef`` in repository server CR .. code-block:: yaml :linenos: + apiVersion: v1 kind: Secret metadata: @@ -743,8 +766,8 @@ TLS Secret ---------- This secret store TLS sensitive data used for kopia client server communication. -It is in standard ``kubernetes.io/tls`` format. It is referenced by ``spec.server.tlsSecretRef`` in -repository server CR +It is in standard ``kubernetes.io/tls`` format. It is referenced by +``spec.server.tlsSecretRef`` in repository server CR .. code-block:: yaml :linenos: @@ -764,12 +787,12 @@ repository server CR Repository Server User Access Password Secret --------------------------------------------- -The Kopia repository client needs an access username and password for authentication to +The Kopia repository client needs an access username and password for authentication to connect to kopia repository server Kopia client needs user in the format ``@`` . The username is same -for all the clients which is specified in ``spec.server.UserAccess.username`` of -the ``RepositoryServer`` CR. The password and hostname is provided in the form of +for all the clients which is specified in ``spec.server.UserAccess.username`` of +the ``RepositoryServer`` CR. The password and host name is provided in the form of a secret as shown below .. code-block:: yaml diff --git a/docs/index.rst b/docs/index.rst index 40274e9a39..4f62c5f9e6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,7 +21,7 @@ and easy to install, operate and scale. overview install - tutorial + kanister_tutorial architecture tasks tooling diff --git a/docs/install.rst b/docs/install.rst index 08c1026b32..97b839dcdb 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -103,19 +103,22 @@ like below: --set bpValidatingWebhook.tls.caBundle=$(cat /path/to/ca.pem | base64 -w 0) \ --set bpValidatingWebhook.tls.secretName=tls-secret +.. _deploying_repo_server_controller: Deploying Kopia Repository server controller ============================================ -Kopia Repository server controller is not enabled by default. It can be deployed by setting the -`repositoryServerController.enabled` value as shown below +Kopia Repository server controller is not enabled by default. It can be +deployed by setting the `repositoryServerController.enabled` value as +shown below .. substitution-code-block:: bash helm upgrade --install kanister kanister/kanister-operator --namespace kanister --create-namespace \ --set repositoryServerController.enabled=true -This will create another container in the kanister pod for kopia repository server controller. +This will create another container in the kanister pod for kopia +repository server controller. Building and Deploying from Source diff --git a/docs/kanister_tutorial.rst b/docs/kanister_tutorial.rst index 8b050a3ed6..ab64d23802 100644 --- a/docs/kanister_tutorial.rst +++ b/docs/kanister_tutorial.rst @@ -5,5 +5,5 @@ Tutorials .. toctree:: :maxdepth: 1 - tasks/tutorial.rst - tasks/tutorial_with_repositoryserver.rst \ No newline at end of file + tutorials/tutorial.rst + tutorials/tutorial_with_repositoryserver.rst diff --git a/docs/overview.rst b/docs/overview.rst index 3114077f0a..44d7564d4b 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -35,7 +35,7 @@ Getting Started Follow the instructions in the :ref:`install` section to get Kanister up and running on your Kubernetes cluster. Then see Kanister in action by going through -the walkthrough under :ref:`tutorial`. +the walkthrough under :ref:`tutorials`. The :ref:`architecture` section provides architectural insights into how things work. We recommend that you take a look at it. diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index db783348d7..10196a7ef5 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -1,9 +1,9 @@ Using Kopia Repository Server as Data Mover in Blueprint ******************************************************** -This tutorial will demonstrate the use of Kopia to copy/restore backups -to a kopia repository. We will be using kanister functions -that use Kopia repository Server as datamover in the blueprint. For more documentation +This tutorial will demonstrate the use of Kopia to copy/restore backups +to a kopia repository. We will be using kanister functions +that use Kopia repository Server as data mover in the blueprint. For more documentation on kanister functions and blueprints see :ref:`architecture` , :ref:`kanister functions` respectively @@ -24,7 +24,8 @@ Prerequisites * docker * Kopia repository server controller should be deployed along with Kanister controller -See :ref:`Deploying Kopia Repository server controller` + Refer + :ref:`Deploying Kopia Repository server controller ` * Access to s3 bucket and credentials @@ -78,19 +79,21 @@ application is installed in the ``default`` namespace. volumes: - name: data persistentVolumeClaim: - claimName: time-log-pvc + claimName: time-log-pvc EOF Starting Kopia Repository Server ================================ -Since we will be using kopia data mover to copy/restore the backups to the location storage, -we need to start the Kopia repository Server. To know more about kopia repository server, -see :ref:`Kopia Repository Server Controller` +Since we will be using kopia data mover to copy/restore the backups to the location +storage, we need to start the Kopia repository Server. To know more about kopia +repository server, refer :ref:`architecture ` -The repository server controller requires Repository Server custom resource to be created to -start the server. To understand more about this custom resource, see :ref:`architecture`. +The repository server controller requires Repository Server custom resource to +be created to start the server. To understand more about this custom resource, +see :ref:`architecture`. +.. _creating_kopia_repository: Creating a Kopia Repository --------------------------- @@ -100,14 +103,15 @@ The kopia repository needs to be created before we start the repository server. You can create it as shown below .. code-block:: bash - $ kopia --log-level=error --config-file=/tmp/kopia-repository.config - --log-dir=/tmp/kopia-cache repository create --no-check-for-updates - --cache-directory=/tmp/cache.dir --content-cache-size-mb=0 --metadata-cache-size-mb=500 - --override-hostname=timelog.app --override-username=kanisterAdmin s3 - --bucket=test-bucket + + $ kopia --log-level=error --config-file=/tmp/kopia-repository.config + --log-dir=/tmp/kopia-cache repository create --no-check-for-updates + --cache-directory=/tmp/cache.dir --content-cache-size-mb=0 --metadata-cache-size-mb=500 + --override-hostname=timelog.app --override-username=kanisterAdmin s3 + --bucket=test-bucket --prefix=/test/repo-controller - --region=us-east-1 - --access-key= + --region=us-east-1 + --access-key= --secret-access-key= To know more about how to create repository refer `kopia documentation @@ -117,26 +121,35 @@ To know more about how to create repository refer `kopia documentation Creating Secrets ---------------- -Please see :ref:`architecture` to know the secrets that needs to be created for repository server +Please see :ref:`architecture` to know the secrets that needs to be created for +repository server - ``Creating TLS secret`` + .. code-block:: bash + $ kubectl create secret tls repository-server-tls-cert --cert=/path/to/certificate.pem --key=/path/to/key.pem -n kanister - + - ``Creating Repository Server User Access Secret`` .. code-block:: bash + $ kubectl create secret generic repository-server-user-access --type='secrets.kanister.io/kopia-repository/serveruser' -n kanister - ``Creating Repository Server Admin Secret`` + .. code-block:: bash + $ kubectl create secret generic repository-server-admin --type='secrets.kanister.io/kopia-repository/serveradmin' -n kanister --from-literal=username=admin@testpod1 --from-literal=password=test1234 - ``Creating Repository Password Secret`` + .. code-block:: bash + $ kubectl create secret generic repository-pass --type='secrets.kanister.io/kopia-repository/password' -n kanister --from-literal=repo-password=test1234 - ``Creating Storage Location Secret`` + The secret should have same values for ``bucket``, ``endpoint``, ``region`` fields that we have used while creating kopia repository @@ -160,10 +173,11 @@ Please see :ref:`architecture` to know the secrets that needs to be created for # optional: specified in case of S3-compatible stores endpoint: # required, if supported by the provider - region: + region: EOF - ``Creating Storage Location Credentials Secret`` + .. code-block:: yaml $ cat < EOF +.. _creating_repo_server_CR: + Creating Repository Server custom resource ------------------------------------------ Once the secrets are created, we need to create a repository Server CR having references -to above created secrets. More details of the repository server CR +to above created secrets. More details of the repository server CR can be found at :ref:`architecture` -We have to make sure that we use the same values for field, +We have to make sure that we use the same values for field, ``spec.repository.username`` , ``spec.repository.hostname`` in the CR that we used while -creating the repository in section :ref:`Creating a Kopia Repository` +creating the repository in section :ref:`Creating a Kopia Repository ` -``--prefix`` field's value is a combination of prefix specified in `spec.data.path` field of -location secret and sub-path provided in ``spec.repository.RootPath`` field of Reposiotry -server CR +``--prefix`` field's value is a combination of prefix specified in `spec.data.path` +field of location secret and sub-path provided in ``spec.repository.RootPath`` +field of Repository server CR. + +``spec.data.path`` field of location storage secret ``s3-location`` appended +with ``spec.repository.RootPath`` in the repository Server CR combined together +should match the``--prefix`` field of the command used to create repository as +specified in section :ref:`Creating a Kopia Repository ` -``spec.data.path`` field of location storage secret ``s3-location`` appended with ``spec.repository.RootPath`` -in the repository Server CR combined together should match the``--prefix`` field of the -command used to create repository as specified in section :ref:`Creating a Kopia Repository` - .. code-block:: yaml @@ -238,16 +255,16 @@ command used to create repository as specified in section :ref:`Creating a Kopia EOF -Once the Repository Server is created, you will see a repository server pod and a service exposing the -the kopia repository server created in kanister namespace. +Once the Repository Server is created, you will see a repository server pod and +a service exposing the kopia repository server created in ``kanister`` namespace. .. code-block:: bash - $ kubectl get pods,svc -n kanister + $ kubectl get pods,svc -n kanister NAME READY STATUS RESTARTS AGE pod/kanister-kanister-operator-5b7dfbf97b-5j5p5 2/2 Running 0 33m pod/repo-server-pod-4tjcw 1/1 Running 0 2m13s - + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kanister-kanister-operator ClusterIP 10.96.197.93 443/TCP 33m service/repo-server-service-rq2pq ClusterIP 10.96.127.153 51515/TCP 2m13s @@ -256,7 +273,7 @@ To see if the server started successfully, you can check the status of the server using following command .. code-block:: bash - + $ kubectl get repositoryservers.cr.kanister.io kopia-repo-server -n kanister -oyaml apiVersion: cr.kanister.io/v1alpha1 kind: RepositoryServer @@ -321,19 +338,22 @@ into the specified Function. For more on CustomResources in Kanister, see :ref:`architecture`. - The Blueprint we'll create has a two actions called ``backup`` -and ``restore``. The action ``backup`` has a single phase named ``backupToS3``. ``backupToS3`` invokes the -Kanister function ``BackupDataUsingKopiaServer`` that uses kopia repository server to copy backup -data to s3 storage. The action ``restore`` uses two kanister functions ``ScaleWorkload`` and -``RestoreDataUsingKopiaServer``. ``ScaleWorkload`` function scales down the timelog application -before restoring the data. ``RestoreDataUsingKopiaServer`` restores data using kopia repository server -form s3 storage. +The Blueprint we'll create has a two actions called ``backup`` +and ``restore``. The action ``backup`` has a single phase named ``backupToS3``. -For more information of kanister function refer :doc:`Kanister's parameter templating `. +``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` +that uses kopia repository server to copy backup data to s3 storage. The action +``restore`` uses two kanister functions ``ScaleWorkload`` and ``RestoreDataUsingKopiaServer``. +``ScaleWorkload`` function scales down the ``timelog`` application before restoring the data. +``RestoreDataUsingKopiaServer`` restores data using kopia repository server form +s3 storage. -We are using output artifacts here to store the path of our data in s3 and snapshot ID that -that will be used as ``backupIdentifier`` while performing restore. To know more about -artifacts you can refer :ref:`tutorial`. +For more information of kanister function refer +:doc:`Kanister's parameter templating `. + +We are using output artifacts here to store the path of our data in s3 and +snapshot ID that that will be used as ``backupIdentifier`` while performing restore. +To know more about artifacts you can refer :ref:`tutorials`. Blueprint --------- @@ -407,31 +427,35 @@ each time you want to execute any Kanister actions. The ActionSet contains all the runtime information the controller needs during execution. It may contain multiple actions, each acting on a different Kubernetes object. The ActionSet we're about to create in this tutorial specifies the ``time-logger`` Deployment we -created earlier and selects the ``backup`` action inside our Blueprint. +created earlier and selects the ``backup`` action inside our Blueprint. + +Add some data in the time logger app. -Add some data in the time logger app .. code-block:: bash + kubectl exec -it time-logger-6d89687cbb-bmdj8 -n default -it sh sh-5.1# cd /var/log/ sh-5.1# ls time.log - sh-5.1# echo "hello world" >> test.log - sh-5.1# cat test.log + sh-5.1# echo "hello world" >> test.log + sh-5.1# cat test.log hello world ActionSet --------- .. code-block:: bash + # Create action set using the blueprint created in above step $ kanctl create actionset --action backup --namespace kanister --blueprint time-log-bp --deployment default/time-logger --repository-server kanister/kopia-repo-server actionset actionset backup-rlcnp created -``--repository-server`` flag is used to provide the reference to the repository server CR that we created -in step :ref:`Creating Repository Server custom resource`. Since the details related to kopia repository server and -the secrets are present in the CR, the blueprint will be able to read these details using -template parameters and will perform backup using kopia repository server +``--repository-server`` flag is used to provide the reference to the repository server +CR that we created in step :ref:`Creating Repository Server custom resource `. Since +the details related to kopia repository server and the secrets are present in the CR, +the blueprint will be able to read these details using template parameters and will +perform backup using kopia repository server. .. code-block:: bash @@ -448,13 +472,14 @@ template parameters and will perform backup using kopia repository server Lets delete the date from ``timelogger`` app. .. code-block:: bash - kubectl exec -it time-logger-6d89687cbb-bmdj8 -n default -it sh + + $ kubectl exec -it time-logger-6d89687cbb-bmdj8 -n default -it sh sh-5.1# cd /var/log/ sh-5.1# ls -lrt total 12 -rw-r--r-- 1 root root 12 Jun 5 06:22 test.log -rw-r--r-- 1 root root 7308 Jun 5 06:26 time.log - sh-5.1# rm -rf test.log + sh-5.1# rm -rf test.log sh-5.1# ls -lrt total 8 -rw-r--r-- 1 root root 7482 Jun 5 06:26 time.log @@ -463,14 +488,16 @@ Lets delete the date from ``timelogger`` app. Lets perform restore now, by using ``restore`` action from the ``time-log-bp`` blueprint .. code-block:: bash - kanctl --namespace kanister create actionset --action restore --from "backup-rlcnp" --repository-server kanister/kopia-repo-server + + $ kanctl --namespace kanister create actionset --action restore --from "backup-rlcnp" --repository-server kanister/kopia-repo-server actionset restore-backup-rlcnp-g5h65 create We can see if the restore is successful by describing the actionset .. code-block:: bash - $kubectl describe actionsets.cr.kanister.io restore-backup-rlcnp-g5h65 -n kanister - + + $ kubectl describe actionsets.cr.kanister.io restore-backup-rlcnp-g5h65 -n kanister + Events: Type Reason Age From Message ---- ------ ---- ---- ------- @@ -483,11 +510,12 @@ We can see if the restore is successful by describing the actionset Normal Ended Phase 3s Kanister Controller Completed phase bringupPod Normal Update Complete 2s Kanister Controller Updated ActionSet 'restore-backup-rlcnp-g5h65' Status->complete -Lets check if the data was restored successfully. We should see the ``time.log`` file that was removed -before performing restore +Lets check if the data was restored successfully. We should see the ``time.log`` +file that was removed before performing restore .. code-block:: bash - kubectl exec -it time-logger-6d89687cbb-pv5x6 -n default -it sh + + $ kubectl exec -it time-logger-6d89687cbb-pv5x6 -n default -it sh sh-5.1# ls -lrt /var/log total 16 -rw-r--r-- 1 root root 12 Jun 5 06:22 test.log From 3f775e6f7b0ebd62195363a71c8df3177e03b6f5 Mon Sep 17 00:00:00 2001 From: Rajat Gupta Date: Mon, 5 Jun 2023 13:49:38 +0530 Subject: [PATCH 09/24] Add RepositoryServer in templates.rst Signed-off-by: Rajat Gupta --- docs/templates.rst | 47 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/docs/templates.rst b/docs/templates.rst index 68352868ca..e948d8331f 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -22,6 +22,7 @@ The TemplateParam struct is defined as: Secrets map[string]v1.Secret Time string Profile *Profile + RepositoryServer *RepositoryServer Options map[string]string Object map[string]interface{} Phases map[string]*Phase @@ -546,6 +547,52 @@ The currently supported Profile template is based on the following definitions Secret ObjectReference } +RepositoryServers +----------------- + +RepositoryServers are a Kanister CustomResource that contains information about storage, +repository and server details which are required for running a kopia repository server +instance. Which could be further used for data operation artifacts. + +Unlike Secrets and ConfigMaps, only a single repository server can optionally be +referenced by an ActionSet. As a result, it is not necessary to +name the RepositoryServer in the Blueprint. + +The following examples should be helpful. + +.. code-block:: yaml + + # Access the RepositoryServer name + "{{ .RepositoryServer.Name }}" + + # Access the RepositoryServer service name + "{{ .RepositoryServer.ServerInfo.ServiceName }}" + +The currently supported RepositoryServer template is based on the following definitions + +.. code-block:: go + :linenos: + + // RepositoryServer contains fields from Repository server CR that will be used to resolve go templates for repository server in blueprint + type RepositoryServer struct { + Name string + Namespace string + ServerInfo crv1alpha1.ServerInfo + Username string + Credentials RepositoryServerCredentials + Address string + } + + type RepositoryServerCredentials struct { + ServerTLS v1.Secret + ServerUserAccess v1.Secret + } + + type ServerInfo struct { + PodName string `json:"podName,omitempty"` + ServiceName string `json:"serviceName,omitempty"` + } + Options ------- From d519fbf2480f1d27a59b38d3b4bb5e8a9e2d97bd Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 8 Jun 2023 12:57:14 +0530 Subject: [PATCH 10/24] address review comments --- docs/tutorials/tutorial_with_repositoryserver.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 10196a7ef5..b9a4e01244 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -3,9 +3,9 @@ Using Kopia Repository Server as Data Mover in Blueprint This tutorial will demonstrate the use of Kopia to copy/restore backups to a kopia repository. We will be using kanister functions -that use Kopia repository Server as data mover in the blueprint. For more documentation -on kanister functions and blueprints see :ref:`architecture` , -:ref:`kanister functions` respectively +that use Kopia repository Server as data mover in the blueprint. For additional documentation +on kanister functions and blueprints refer to the :ref:`architecture` and +:ref:`kanister functions` sections respectively .. contents:: Tutorial Overview :local: From 29b08a9c75a9298eba6cb16885e50e453e0681c9 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 8 Jun 2023 13:49:33 +0530 Subject: [PATCH 11/24] make lint happy --- docs/tutorials/tutorial_with_repositoryserver.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index b9a4e01244..cdac9d836e 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -3,9 +3,10 @@ Using Kopia Repository Server as Data Mover in Blueprint This tutorial will demonstrate the use of Kopia to copy/restore backups to a kopia repository. We will be using kanister functions -that use Kopia repository Server as data mover in the blueprint. For additional documentation -on kanister functions and blueprints refer to the :ref:`architecture` and -:ref:`kanister functions` sections respectively +that use Kopia repository Server as data mover in the blueprint. +For additional documentation on kanister functions and blueprints +refer to the :ref:`architecture` and :ref:`kanister functions` +sections respectively .. contents:: Tutorial Overview :local: From 34f566b8dc401f6c18d9c3e46a70bfd912cdf554 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 8 Jun 2023 17:38:18 +0530 Subject: [PATCH 12/24] missing kubectl command --- docs/tutorials/tutorial_with_repositoryserver.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index cdac9d836e..7ae8dea64a 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -461,6 +461,8 @@ perform backup using kopia repository server. .. code-block:: bash + $ kubectl describe actionsets.cr.kanister.io backup-rlcnp -n kanister + Events: Type Reason Age From Message ---- ------ ---- ---- ------- From 60769f106332c23eacf0e31512ec41f4bc3fcf8e Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Tue, 13 Jun 2023 10:50:20 +0530 Subject: [PATCH 13/24] address Uday's review comments --- docs/install.rst | 11 ++-- docs/templates.rst | 14 ++--- .../tutorial_with_repositoryserver.rst | 62 ++++++++++--------- 3 files changed, 44 insertions(+), 43 deletions(-) diff --git a/docs/install.rst b/docs/install.rst index 97b839dcdb..5a224776e1 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -105,20 +105,19 @@ like below: .. _deploying_repo_server_controller: -Deploying Kopia Repository server controller +Deploying Kopia Repository Server Controller ============================================ -Kopia Repository server controller is not enabled by default. It can be -deployed by setting the `repositoryServerController.enabled` value as -shown below +To enable the Kopia Repository server controller, set the repositoryServerController value as +shown below during the deployment .. substitution-code-block:: bash helm upgrade --install kanister kanister/kanister-operator --namespace kanister --create-namespace \ --set repositoryServerController.enabled=true -This will create another container in the kanister pod for kopia -repository server controller. +Executing this command will add an additional container to the Kanister pod for the +Kopia repository server controller. Building and Deploying from Source diff --git a/docs/templates.rst b/docs/templates.rst index e948d8331f..900a60f46e 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -550,13 +550,13 @@ The currently supported Profile template is based on the following definitions RepositoryServers ----------------- -RepositoryServers are a Kanister CustomResource that contains information about storage, -repository and server details which are required for running a kopia repository server -instance. Which could be further used for data operation artifacts. +RepositoryServers are a Kanister CustomResource that contain information about storage, +repository, and server details which are required for running a Kopia repository server +instance, which can be further used for data operation artifacts. -Unlike Secrets and ConfigMaps, only a single repository server can optionally be -referenced by an ActionSet. As a result, it is not necessary to -name the RepositoryServer in the Blueprint. +In contrast to Secrets and ConfigMaps, an ActionSet can optionally reference only a +single repository server, eliminating the need to name the RepositoryServer in the +Blueprint. The following examples should be helpful. @@ -568,7 +568,7 @@ The following examples should be helpful. # Access the RepositoryServer service name "{{ .RepositoryServer.ServerInfo.ServiceName }}" -The currently supported RepositoryServer template is based on the following definitions +The currently supported RepositoryServer template is based on the following definitions: .. code-block:: go :linenos: diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 7ae8dea64a..70ae08927c 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -86,12 +86,12 @@ application is installed in the ``default`` namespace. Starting Kopia Repository Server ================================ -Since we will be using kopia data mover to copy/restore the backups to the location -storage, we need to start the Kopia repository Server. To know more about kopia -repository server, refer :ref:`architecture ` +To copy or restore backups to the location storage using the Kopia data mover, +it is necessary to start the Kopia repository server. To learn more about kopia +repository server, refer to :ref:`architecture `. -The repository server controller requires Repository Server custom resource to -be created to start the server. To understand more about this custom resource, +The repository server controller requires the creation of a Repository Server +custom resource to start the server. To understand more about this custom resource, see :ref:`architecture`. .. _creating_kopia_repository: @@ -99,9 +99,9 @@ see :ref:`architecture`. Creating a Kopia Repository --------------------------- -The kopia repository needs to be created before we start the repository server. +The Kopia repository needs to be created before starting repository server. -You can create it as shown below +You can create it as shown below: .. code-block:: bash @@ -115,15 +115,15 @@ You can create it as shown below --access-key= --secret-access-key= -To know more about how to create repository refer `kopia documentation -`_ to understand more about kopia repository. +To learn more about how to create repository and gain further insight into the Kopia +repository refer to `kopia documentation `_ Creating Secrets ---------------- -Please see :ref:`architecture` to know the secrets that needs to be created for -repository server +To learn about the secrets that need to be created for the repository server, +Please refer to :ref:`architecture` section - ``Creating TLS secret`` @@ -151,8 +151,8 @@ repository server - ``Creating Storage Location Secret`` - The secret should have same values for ``bucket``, ``endpoint``, ``region`` fields that - we have used while creating kopia repository + The secret should contain identical values for the ``bucket``, ``endpoint``, ``region`` + fields that were used during the creation of the Kopia repository. .. code-block:: yaml @@ -197,25 +197,26 @@ repository server .. _creating_repo_server_CR: -Creating Repository Server custom resource +Creating Repository Server Custom Resource ------------------------------------------ -Once the secrets are created, we need to create a repository Server CR having references -to above created secrets. More details of the repository server CR -can be found at :ref:`architecture` +After creating the secrets, it is necessary to generate a repository server CR that +references the previously created secrets. For more detailed information about the +repository server CR, refer to the :ref:`architecture` section. -We have to make sure that we use the same values for field, -``spec.repository.username`` , ``spec.repository.hostname`` in the CR that we used while -creating the repository in section :ref:`Creating a Kopia Repository ` +It is important to ensure consistency by using the same values for the fields +``spec.repository.username`` , ``spec.repository.hostname`` in the CR(Custom Resource) as those +used during the repository creation process described in section +:ref:`Creating a Kopia Repository `. -``--prefix`` field's value is a combination of prefix specified in `spec.data.path` -field of location secret and sub-path provided in ``spec.repository.RootPath`` +The ``--prefix`` field's value is a combination of prefix specified in `spec.data.path` +field of the location secret and the sub-path provided in the ``spec.repository.RootPath`` field of Repository server CR. -``spec.data.path`` field of location storage secret ``s3-location`` appended -with ``spec.repository.RootPath`` in the repository Server CR combined together -should match the``--prefix`` field of the command used to create repository as -specified in section :ref:`Creating a Kopia Repository ` +The ``spec.data.path`` field of the location storage secret ``s3-location`` appended +with the ``spec.repository.RootPath`` in the repository Server CR should be combined +together to match the ``--prefix`` field of the command used to create repository,as +specified in section :ref:`Creating a Kopia Repository `. .. code-block:: yaml @@ -256,8 +257,9 @@ specified in section :ref:`Creating a Kopia Repository 443/TCP 33m service/repo-server-service-rq2pq ClusterIP 10.96.127.153 51515/TCP 2m13s -To see if the server started successfully, you can check the status of -the server using following command +To verify the successful start of the server, you can use the following command to +check the server's status. .. code-block:: bash From 20c88d642b61fcf857e93b3a5bb96c32f8c78ee6 Mon Sep 17 00:00:00 2001 From: Rajat Gupta Date: Mon, 12 Jun 2023 16:37:09 +0530 Subject: [PATCH 14/24] Update templates.rst Signed-off-by: Rajat Gupta --- docs/templates.rst | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/templates.rst b/docs/templates.rst index 900a60f46e..69bdefcfe7 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -575,12 +575,14 @@ The currently supported RepositoryServer template is based on the following defi // RepositoryServer contains fields from Repository server CR that will be used to resolve go templates for repository server in blueprint type RepositoryServer struct { - Name string - Namespace string - ServerInfo crv1alpha1.ServerInfo - Username string - Credentials RepositoryServerCredentials - Address string + Name string + Namespace string + ServerInfo crv1alpha1.ServerInfo + Username string + Credentials RepositoryServerCredentials + Address string + ContentCacheMB int + MetadataCacheMB int } type RepositoryServerCredentials struct { From 9a4f03c065fd0a830dc784064811d6714b465209 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Tue, 13 Jun 2023 11:23:44 +0530 Subject: [PATCH 15/24] make lint happy --- docs/install.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/install.rst b/docs/install.rst index 5a224776e1..9b060a0997 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -108,8 +108,8 @@ like below: Deploying Kopia Repository Server Controller ============================================ -To enable the Kopia Repository server controller, set the repositoryServerController value as -shown below during the deployment +To enable the Kopia Repository server controller, set the `repositoryServerController` +value as shown below during the deployment .. substitution-code-block:: bash From 1b58ca2d35c2d90e562f909817aa5cc1f316bb79 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 23 Jun 2023 12:51:43 +0530 Subject: [PATCH 16/24] address review comments by Uday --- .../tutorial_with_repositoryserver.rst | 63 ++++++++++--------- 1 file changed, 35 insertions(+), 28 deletions(-) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 70ae08927c..c396fc14de 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -332,17 +332,18 @@ Invoking Kanister Actions Kanister CustomResources are created in the same namespace as the Kanister controller. -The first Kanister CustomResource we're going to deploy is a Blueprint. -Blueprints are a set of instructions that tell the controller how to perform +The initial Kanister CustomResource to be deployed is referred to as Blueprint. +Blueprints are a set of instructions that direct the controller on executing actions on an application. An action consists of one or more phases. Each phase -invokes a :doc:`Kanister Function `. All Kanister functions accept a -list of strings. The ``args`` field in a Blueprint's phase is rendered and passed -into the specified Function. +invokes a :doc:`Kanister Function `. Every Kanister function accepts a +string list as input. The ``args`` field in a Blueprint's phase is rendered and passed +into the specified function. -For more on CustomResources in Kanister, see :ref:`architecture`. +To learn more about Kanister's CustomResources, see :ref:`architecture`. -The Blueprint we'll create has a two actions called ``backup`` -and ``restore``. The action ``backup`` has a single phase named ``backupToS3``. +The Blueprint to be created includes two actions called ``backup`` +and ``restore``. The ``backup`` action comprises a single phase named as +``backupToS3``. ``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` that uses kopia repository server to copy backup data to s3 storage. The action @@ -351,12 +352,14 @@ that uses kopia repository server to copy backup data to s3 storage. The action ``RestoreDataUsingKopiaServer`` restores data using kopia repository server form s3 storage. -For more information of kanister function refer +To learn more about the Kanister function, refer to the documentation on :doc:`Kanister's parameter templating `. -We are using output artifacts here to store the path of our data in s3 and -snapshot ID that that will be used as ``backupIdentifier`` while performing restore. -To know more about artifacts you can refer :ref:`tutorials`. +Output artifacts are used in this scenario to store the data path in s3 and +the corresponding snapshot ID that which will serve as the ``backupIdentifier`` +during restoration process. + +To know more about artifacts, refer to the :ref:`tutorials` section. Blueprint --------- @@ -415,7 +418,8 @@ Blueprint replicas: 1 EOF -Once we create a Blueprint, we can see its events by using the following command: +After creating a blueprint, the events associated with it can be viewed by using +the following command: .. code-block:: yaml @@ -425,12 +429,13 @@ Once we create a Blueprint, we can see its events by using the following command ---- ------ ---- ---- ------- Normal Added 4m Kanister Controller Added blueprint time-log-bp -The next CustomResource we'll deploy is an ActionSet. An ActionSet is created -each time you want to execute any Kanister actions. The ActionSet contains all -the runtime information the controller needs during execution. It may contain -multiple actions, each acting on a different Kubernetes object. The ActionSet -we're about to create in this tutorial specifies the ``time-logger`` Deployment we -created earlier and selects the ``backup`` action inside our Blueprint. +The next CustomResource to be deployed is an ActionSet. An ActionSet is created +whenever there is a need to execute Kanister actions. It contains all +the runtime information that is essential for the controller during execution. +It can include multiple actions, each acting on a different Kubernetes object. +In this tutorial, the forthcoming ActionSet specifies the ``time-logger`` +deployment that was previously created and selects the ``backup`` action +within our Blueprint. Add some data in the time logger app. @@ -454,11 +459,11 @@ ActionSet $ kanctl create actionset --action backup --namespace kanister --blueprint time-log-bp --deployment default/time-logger --repository-server kanister/kopia-repo-server actionset actionset backup-rlcnp created -``--repository-server`` flag is used to provide the reference to the repository server -CR that we created in step :ref:`Creating Repository Server custom resource `. Since -the details related to kopia repository server and the secrets are present in the CR, -the blueprint will be able to read these details using template parameters and will -perform backup using kopia repository server. +The ``--repository-server`` flag is used to provide the reference to the repository server +CR created in step :ref:`Creating Repository Server custom resource `. +As the CR contains the details related to the Kopia repository server and the associated secrets, +the blueprint can access these details using template parameters. This enables the blueprint to +execute backup operation using the Kopia repository server. .. code-block:: bash @@ -490,14 +495,15 @@ Lets delete the date from ``timelogger`` app. -rw-r--r-- 1 root root 7482 Jun 5 06:26 time.log -Lets perform restore now, by using ``restore`` action from the ``time-log-bp`` blueprint +Now, let's proceed with the restore process by using the ``restore`` action from the +``time-log-bp`` blueprint: .. code-block:: bash $ kanctl --namespace kanister create actionset --action restore --from "backup-rlcnp" --repository-server kanister/kopia-repo-server actionset restore-backup-rlcnp-g5h65 create -We can see if the restore is successful by describing the actionset +The success of the restore operation can be assessed by describing the actionset. .. code-block:: bash @@ -515,8 +521,9 @@ We can see if the restore is successful by describing the actionset Normal Ended Phase 3s Kanister Controller Completed phase bringupPod Normal Update Complete 2s Kanister Controller Updated ActionSet 'restore-backup-rlcnp-g5h65' Status->complete -Lets check if the data was restored successfully. We should see the ``time.log`` -file that was removed before performing restore +It is necessary to verify if the data has been successfully restored. The presence of +the ``time.log`` file, which was removed prior to the restore process, should confirm +the successful restoration. .. code-block:: bash From 93002818dfc91a58255e3b875037d38e4907dc3b Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 23 Jun 2023 12:54:30 +0530 Subject: [PATCH 17/24] fix grammatical mistake --- docs/tutorials/tutorial_with_repositoryserver.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index c396fc14de..e08dc5a6ab 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -342,7 +342,7 @@ into the specified function. To learn more about Kanister's CustomResources, see :ref:`architecture`. The Blueprint to be created includes two actions called ``backup`` -and ``restore``. The ``backup`` action comprises a single phase named as +and ``restore``. The ``backup`` action comprises of a single phase named as ``backupToS3``. ``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` From 9ac8e2090a792a17822f3ae47bd834d823b0e0ea Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 3 Aug 2023 11:42:07 +0530 Subject: [PATCH 18/24] Use `kopia` for CLI usage and use `Kopia` for project/tool --- docs/architecture.rst | 48 +++++++++---------- .../tutorial_with_repositoryserver.rst | 10 ++-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index f687d1f9ec..0564e02e32 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -32,11 +32,11 @@ repository. Due to this a separate instance of the server will be used for each repository. In Kanister, the server will comprise a Kubernetes Pod, Service. The pod runs the -kopia repository server process that will be used by kopia clients to perform +Kopia repository server process that will be used by Kopia clients to perform backup and restore. Kopia clients would only need a username/password and service name to connect to server without the need to know the backend storage location. This provides enhanced security since only authorized users will be -allowed to access the kopia repository server. These authorized users need to be +allowed to access the Kopia repository server. These authorized users need to be added to the server before starting the server. Kopia Repository @@ -52,7 +52,7 @@ the repository requires the storage location and credential information similar to a Kanister Profile CR and a unique password used by Kopia during encryption, along with a unique path prefix mentioned above. -To know more about the design of kopia repository server controller refer +To know more about the design of Kopia repository server controller refer its `design documentation ` _ The design of Kanister follows the operator pattern. This means @@ -420,8 +420,8 @@ RepositoryServers ----------------- RepositoryServer CR is required by kanister controller to start -a kopia repository server. The CR has list of parameters to configure -kopia repository server. +a Kopia repository server. The CR has list of parameters to configure +Kopia repository server. .. note:: Secrets referenced in the CR should be created in the format referenced @@ -453,7 +453,7 @@ The definition of ``Repository Server`` is: } - ``Storage`` field in the ``RepositoryServerSpec`` contains the location - details where the kopia repository is created + details where the Kopia repository is created .. code-block:: go :linenos: @@ -466,7 +466,7 @@ The definition of ``Repository Server`` is: ^ ``SecretRef`` and ``CredentialSecretRef`` are the references to location secrets -- ``Repository`` field in CR ``spec`` has details to connect to kopia repository created +- ``Repository`` field in CR ``spec`` has details to connect to Kopia repository created in the above location storage .. code-block:: go @@ -481,12 +481,12 @@ The definition of ``Repository Server`` is: } -^ ``RootPath`` is the path for the kopia repository. It is the sub-path within +^ ``RootPath`` is the path for the Kopia repository. It is the sub-path within the path prefix specified in storage location ^ ``Username`` is an optional field used to override the default username while -connecting to kopia repository +connecting to Kopia repository ^ ``Hostname`` is an optional field used to override the default host name while -connecting to kopia repository +connecting to Kopia repository Kopia identifies users by ``username@hostname`` and uses the values specified when establishing connection to the repository to identify @@ -494,12 +494,12 @@ backups created in the session. ^ ``PasswordSecretRef`` is the reference to the secret containing password to -connect to kopia repository +connect to Kopia repository ^ ``CacheSizeSettings`` is an optional field used to specify size of the different -caches for the kopia repository. If not specified, default cache settings are used +caches for the Kopia repository. If not specified, default cache settings are used by repository server controller -To know more about the kopia caches, refer to the `kopia caching documentation `_` +To know more about the Kopia caches, refer to the `Kopia caching documentation `_` .. code-block:: go :linenos: @@ -510,7 +510,7 @@ To know more about the kopia caches, refer to the `kopia caching documentation < } - ``Server`` field in the CR spec has references to all the secrets - required to start the kopia repository server + required to start the Kopia repository server .. code-block:: go :linenos: @@ -522,12 +522,12 @@ To know more about the kopia caches, refer to the `kopia caching documentation < } ^ ``AdminSecretRef`` is a secret reference containing admin credentials - required to start the kopia repository server + required to start the Kopia repository server -^ ``TLSSecretRef`` is a TLS secret reference for kopia client and server communication +^ ``TLSSecretRef`` is a TLS secret reference for Kopia client and server communication ^ ``UserAccess`` contains username and password secret reference required - for creating kopia repository server users. + for creating Kopia repository server users. .. code-block:: go :linenos: @@ -571,7 +571,7 @@ To know more about the kopia caches, refer to the `kopia caching documentation < ServiceName string `json:"serviceName,omitempty"` } -^ ``PodName`` is the name of pod created by controller for kopia repository server +^ ``PodName`` is the name of pod created by controller for Kopia repository server ^ ``ServiceName`` is the name of the Kubernetes service created by the controller which contains the connection details for repository server @@ -620,14 +620,14 @@ As a reference, below is an example of a Repository Server Repository Server Secrets ========================= -Kanister controller needs the following secrets to be created for starting the kopia +Kanister controller needs the following secrets to be created for starting the Kopia repository server successfully. The secrets are referenced in the ``RepositoryServer`` CR as described in :ref:`RepositoryServer` Location Storage Secret ----------------------- -This secret stores the sensitive details of the location where the kopia +This secret stores the sensitive details of the location where the Kopia repository is created. This secret is referenced by ``spec.storage.secretRef`` field in repository server CR @@ -727,7 +727,7 @@ CR Repository Password Secret -------------------------- -This is the password secret used by controller to connect to kopia repository. It +This is the password secret used by controller to connect to Kopia repository. It is referenced by ``spec.repository.passwordSecretRef`` in repository server CR .. code-block:: yaml @@ -745,7 +745,7 @@ is referenced by ``spec.repository.passwordSecretRef`` in repository server CR Repository Server Admin User Secret ----------------------------------- This secret is used for storing admin credentials used by the controller -to start the kopia repository server. It is referenced by ``spec.server.accessSecretRef`` +to start the Kopia repository server. It is referenced by ``spec.server.accessSecretRef`` in repository server CR .. code-block:: yaml @@ -765,7 +765,7 @@ in repository server CR TLS Secret ---------- -This secret store TLS sensitive data used for kopia client server communication. +This secret store TLS sensitive data used for Kopia client server communication. It is in standard ``kubernetes.io/tls`` format. It is referenced by ``spec.server.tlsSecretRef`` in repository server CR @@ -788,7 +788,7 @@ It is in standard ``kubernetes.io/tls`` format. It is referenced by Repository Server User Access Password Secret --------------------------------------------- The Kopia repository client needs an access username and password for authentication to -connect to kopia repository server +connect to Kopia repository server Kopia client needs user in the format ``@`` . The username is same for all the clients which is specified in ``spec.server.UserAccess.username`` of diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index e08dc5a6ab..08994a2c30 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -2,7 +2,7 @@ Using Kopia Repository Server as Data Mover in Blueprint ******************************************************** This tutorial will demonstrate the use of Kopia to copy/restore backups -to a kopia repository. We will be using kanister functions +to a Kopia repository. We will be using kanister functions that use Kopia repository Server as data mover in the blueprint. For additional documentation on kanister functions and blueprints refer to the :ref:`architecture` and :ref:`kanister functions` @@ -87,7 +87,7 @@ Starting Kopia Repository Server ================================ To copy or restore backups to the location storage using the Kopia data mover, -it is necessary to start the Kopia repository server. To learn more about kopia +it is necessary to start the Kopia repository server. To learn more about Kopia repository server, refer to :ref:`architecture `. The repository server controller requires the creation of a Repository Server @@ -116,7 +116,7 @@ You can create it as shown below: --secret-access-key= To learn more about how to create repository and gain further insight into the Kopia -repository refer to `kopia documentation `_ +repository refer to `Kopia documentation `_ Creating Secrets @@ -346,10 +346,10 @@ and ``restore``. The ``backup`` action comprises of a single phase named as ``backupToS3``. ``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` -that uses kopia repository server to copy backup data to s3 storage. The action +that uses Kopia repository server to copy backup data to s3 storage. The action ``restore`` uses two kanister functions ``ScaleWorkload`` and ``RestoreDataUsingKopiaServer``. ``ScaleWorkload`` function scales down the ``timelog`` application before restoring the data. -``RestoreDataUsingKopiaServer`` restores data using kopia repository server form +``RestoreDataUsingKopiaServer`` restores data using Kopia repository server form s3 storage. To learn more about the Kanister function, refer to the documentation on From 3059a13a42dd6c1201884b695c7a39123169f3b5 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 25 Aug 2023 12:25:16 +0530 Subject: [PATCH 19/24] fix grammatical mistakes --- docs/architecture.rst | 100 +++++++++++++++++++++--------------------- docs/templates.rst | 6 +-- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index 0564e02e32..0ecedca6c7 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -19,23 +19,23 @@ data `de-duplication`, and client-side end-to-end encryption. It supports a variety of backup storage targets, including object stores, which allows users to choose the storage provider that better addresses their needs. In Kopia, these storage locations are called repositories. It is a -lock-free system that allows concurrent multi-client operations +lock-free system that allows concurrent multi-client operations, including garbage collection. To explore other features of Kopia, see its `documentation `_ Kopia Repository Server ----------------------- -A Kopia Repository Server allows Kopia clients proxy access to the backend storage +A Kopia Repository Server allows Kopia clients to proxy access to the backend storage location through it. At any time, a repository server can only connect to a single -repository. Due to this a separate instance of the server will be used for each -repository. +repository. Due to this limitation, a separate instance of the server will be used +for each repository. -In Kanister, the server will comprise a Kubernetes Pod, Service. The pod runs the -Kopia repository server process that will be used by Kopia clients to perform -backup and restore. Kopia clients would only need a username/password and +In Kanister, the server will comprise of a Kubernetes pod and service. The pod runs +the Kopia repository server process that will be used by Kopia clients to perform +backup and restore operations. Kopia clients would only need a username/password and service name to connect to server without the need to know the backend storage -location. This provides enhanced security since only authorized users will be +location. This approach provides enhanced security since only authorized users will be allowed to access the Kopia repository server. These authorized users need to be added to the server before starting the server. @@ -46,13 +46,13 @@ The backup storage location is called a "Repository" in Kopia. Only a single repository can exist at a particular path in the backend storage location. Users opting to use separate repositories are recommended to use unique path prefixes for each repository. For example, a repository for a namespace called -monitoring on S3 storage bucket called test-bucket could be created at the +monitoring on an S3 storage bucket called test-bucket could be created at the location ``s3://test-bucket//repo/``. Accessing the repository requires the storage location and credential information similar to a Kanister Profile CR and a unique password used by Kopia during encryption, -along with a unique path prefix mentioned above. +along with the unique path prefix mentioned above. -To know more about the design of Kopia repository server controller refer +To know more about the design of the Kopia repository server controller refer to its `design documentation ` _ The design of Kanister follows the operator pattern. This means @@ -419,9 +419,9 @@ As a reference, below is an example of a Profile and the corresponding secret. RepositoryServers ----------------- -RepositoryServer CR is required by kanister controller to start -a Kopia repository server. The CR has list of parameters to configure -Kopia repository server. +RepositoryServer CR is required by the repository server controller to start +a Kopia repository server. The CR has a list of parameters to configure +the Kopia repository server. .. note:: Secrets referenced in the CR should be created in the format referenced @@ -452,7 +452,7 @@ The definition of ``Repository Server`` is: Server Server `json:"server"` } -- ``Storage`` field in the ``RepositoryServerSpec`` contains the location +- The ``Storage`` field in the ``RepositoryServerSpec`` contains the location details where the Kopia repository is created .. code-block:: go @@ -482,20 +482,20 @@ The definition of ``Repository Server`` is: ^ ``RootPath`` is the path for the Kopia repository. It is the sub-path within -the path prefix specified in storage location +the path prefix specified in the storage location ^ ``Username`` is an optional field used to override the default username while -connecting to Kopia repository +connecting to the Kopia repository ^ ``Hostname`` is an optional field used to override the default host name while -connecting to Kopia repository +connecting to the Kopia repository Kopia identifies users by ``username@hostname`` and uses the values -specified when establishing connection to the repository to identify +specified when establishing a connection to the repository to identify backups created in the session. -^ ``PasswordSecretRef`` is the reference to the secret containing password to -connect to Kopia repository -^ ``CacheSizeSettings`` is an optional field used to specify size of the different +^ ``PasswordSecretRef`` is the reference to the secret containing the password to +connect to the Kopia repository +^ ``CacheSizeSettings`` is an optional field used to specify the size of the different caches for the Kopia repository. If not specified, default cache settings are used by repository server controller @@ -538,30 +538,30 @@ To know more about the Kopia caches, refer to the `Kopia caching documentation < } -- ``Status`` field in ``RepositoryServer`` CR is used by kanister controller +- ``Status`` field in ``RepositoryServer`` CR is used by repository server controller to propagate server's status to the client. It is defined as: .. code-block:: go :linenos: type RepositoryServerStatus struct { - Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` + Conditions []metav1.Condition `json:"conditions,omitempty"` ServerInfo ServerInfo `json:"serverInfo,omitempty"` Progress RepositoryServerProgress `json:"progress"` } - ``Progress`` is populated by controller with 3 values - ^ ``ServerReady`` represents the ready state of the repository server and - the pod which runs the proxy server + ^ ``Ready`` represents the ready state of the repository server and + the pod, which runs the proxy server - ^ ``ServerStopped`` represents that the controller got an error while + ^ ``Failed`` represents that the controller got an error while starting the repository server - ^ ``ServerPending`` represents that repository server is yet to be started completely + ^ ``Pending`` represents that the repository server is yet to be completely started -- ``ServerInfo`` is populated by the kanister controller with - the server details that client requires to connect to the server +- ``ServerInfo`` is populated by the repository server controller with + the server details that the client requires to connect to the server .. code-block:: go :linenos: @@ -571,10 +571,10 @@ To know more about the Kopia caches, refer to the `Kopia caching documentation < ServiceName string `json:"serviceName,omitempty"` } -^ ``PodName`` is the name of pod created by controller for Kopia repository server +^ ``PodName`` is the name of the pod created by controller for Kopia repository server ^ ``ServiceName`` is the name of the Kubernetes service created by the controller -which contains the connection details for repository server +which contains the connection details for the repository server As a reference, below is an example of a Repository Server @@ -620,16 +620,16 @@ As a reference, below is an example of a Repository Server Repository Server Secrets ========================= -Kanister controller needs the following secrets to be created for starting the Kopia +The repository server controller needs the following secrets to be created for starting the Kopia repository server successfully. The secrets are referenced in the ``RepositoryServer`` -CR as described in :ref:`RepositoryServer` +CR, as described in :ref:`RepositoryServer`. Location Storage Secret ----------------------- This secret stores the sensitive details of the location where the Kopia repository is created. This secret is referenced by ``spec.storage.secretRef`` -field in repository server CR +field in the repository server CR. The ``data.type`` field can have following values ``s3``, ``gcs``, ``azure``, ``file-store`` @@ -662,9 +662,9 @@ The ``data.type`` field can have following values ``s3``, ``gcs``, Location Credentials Secret --------------------------- -Following is the secret to be used for Azure, AWS and GCS storage credentials. -This secret is referenced by ``spec.storage.credentialSecretRef`` in repository server -CR +The following secret should be used for Azure, AWS and GCS storage credentials. +This secret is referenced by the ``spec.storage.credentialSecretRef`` in the repository server +CR: - ``AWS S3`` @@ -728,7 +728,7 @@ CR Repository Password Secret -------------------------- This is the password secret used by controller to connect to Kopia repository. It -is referenced by ``spec.repository.passwordSecretRef`` in repository server CR +is referenced by the ``spec.repository.passwordSecretRef`` in the repository server CR. .. code-block:: yaml :linenos: @@ -744,9 +744,9 @@ is referenced by ``spec.repository.passwordSecretRef`` in repository server CR Repository Server Admin User Secret ----------------------------------- -This secret is used for storing admin credentials used by the controller -to start the Kopia repository server. It is referenced by ``spec.server.accessSecretRef`` -in repository server CR +This secret is used for storing admin credentials that are used by the controller +to start the Kopia repository server. It is referenced by the ``spec.server.accessSecretRef`` +in the repository server CR. .. code-block:: yaml :linenos: @@ -765,9 +765,9 @@ in repository server CR TLS Secret ---------- -This secret store TLS sensitive data used for Kopia client server communication. -It is in standard ``kubernetes.io/tls`` format. It is referenced by -``spec.server.tlsSecretRef`` in repository server CR +This secret stores TLS sensitive data used for Kopia client server communication. +It follows the standard ``kubernetes.io/tls``. It is referenced by the +``spec.server.tlsSecretRef`` in the repository server CR. .. code-block:: yaml :linenos: @@ -788,12 +788,12 @@ It is in standard ``kubernetes.io/tls`` format. It is referenced by Repository Server User Access Password Secret --------------------------------------------- The Kopia repository client needs an access username and password for authentication to -connect to Kopia repository server +connect to Kopia repository server. -Kopia client needs user in the format ``@`` . The username is same -for all the clients which is specified in ``spec.server.UserAccess.username`` of -the ``RepositoryServer`` CR. The password and host name is provided in the form of -a secret as shown below +The Kopia client needs a user in the format of ``@``. The username is +the same for all the clients, which is specified in ``spec.server.UserAccess.username`` of +the ``RepositoryServer`` CR. The password and host name are provided in the form of +a secret, as shown below .. code-block:: yaml :linenos: diff --git a/docs/templates.rst b/docs/templates.rst index 69bdefcfe7..b1b68be43e 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -490,7 +490,7 @@ Unlike Secrets and ConfigMaps, only a single profile can optionally be referenced by an ActionSet. As a result, there it is not necessary to name the Profiles in the Blueprint. -The following examples should be helpful. +The following examples should be helpful: .. code-block:: yaml @@ -551,8 +551,8 @@ RepositoryServers ----------------- RepositoryServers are a Kanister CustomResource that contain information about storage, -repository, and server details which are required for running a Kopia repository server -instance, which can be further used for data operation artifacts. +repository, and server details. These details are required to run a Kopia repository server +instance, which can then be further used for data operation artifacts. In contrast to Secrets and ConfigMaps, an ActionSet can optionally reference only a single repository server, eliminating the need to name the RepositoryServer in the From 7fe005dbce417392cdb4bd20876204340c914988 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 25 Aug 2023 12:39:45 +0530 Subject: [PATCH 20/24] fix errors --- docs/architecture.rst | 16 ++++++------ docs/templates.rst | 4 +-- .../tutorial_with_repositoryserver.rst | 25 ++++++++++--------- 3 files changed, 23 insertions(+), 22 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index 0ecedca6c7..a6b7ba74ae 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -620,9 +620,9 @@ As a reference, below is an example of a Repository Server Repository Server Secrets ========================= -The repository server controller needs the following secrets to be created for starting the Kopia -repository server successfully. The secrets are referenced in the ``RepositoryServer`` -CR, as described in :ref:`RepositoryServer`. +The repository server controller needs the following secrets to be created for starting +the Kopia repository server successfully. The secrets are referenced in the +``RepositoryServer`` CR, as described in :ref:`RepositoryServer`. Location Storage Secret ----------------------- @@ -663,8 +663,8 @@ Location Credentials Secret --------------------------- The following secret should be used for Azure, AWS and GCS storage credentials. -This secret is referenced by the ``spec.storage.credentialSecretRef`` in the repository server -CR: +This secret is referenced by the ``spec.storage.credentialSecretRef`` in the +repository server CR: - ``AWS S3`` @@ -745,8 +745,8 @@ is referenced by the ``spec.repository.passwordSecretRef`` in the repository ser Repository Server Admin User Secret ----------------------------------- This secret is used for storing admin credentials that are used by the controller -to start the Kopia repository server. It is referenced by the ``spec.server.accessSecretRef`` -in the repository server CR. +to start the Kopia repository server. It is referenced by the +``spec.server.accessSecretRef`` in the repository server CR. .. code-block:: yaml :linenos: @@ -790,7 +790,7 @@ Repository Server User Access Password Secret The Kopia repository client needs an access username and password for authentication to connect to Kopia repository server. -The Kopia client needs a user in the format of ``@``. The username is +The Kopia client needs a user in the format of ``@``. The username is the same for all the clients, which is specified in ``spec.server.UserAccess.username`` of the ``RepositoryServer`` CR. The password and host name are provided in the form of a secret, as shown below diff --git a/docs/templates.rst b/docs/templates.rst index b1b68be43e..852eb5be58 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -551,8 +551,8 @@ RepositoryServers ----------------- RepositoryServers are a Kanister CustomResource that contain information about storage, -repository, and server details. These details are required to run a Kopia repository server -instance, which can then be further used for data operation artifacts. +repository, and server details. These details are required to run a Kopia repository +server instance, which can then be further used for data operation artifacts. In contrast to Secrets and ConfigMaps, an ActionSet can optionally reference only a single repository server, eliminating the need to name the RepositoryServer in the diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 08994a2c30..d9a195f2a4 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -1,10 +1,10 @@ Using Kopia Repository Server as Data Mover in Blueprint ******************************************************** -This tutorial will demonstrate the use of Kopia to copy/restore backups +This tutorial will demonstrate the use of Kopia to copy or restore backups to a Kopia repository. We will be using kanister functions that use Kopia repository Server as data mover in the blueprint. -For additional documentation on kanister functions and blueprints +For additional documentation on kanister functions and blueprints, refer to the :ref:`architecture` and :ref:`kanister functions` sections respectively @@ -24,7 +24,8 @@ Prerequisites * docker -* Kopia repository server controller should be deployed along with Kanister controller +* The Kopia repository server controller should be deployed along with Kanister + controller. Refer :ref:`Deploying Kopia Repository server controller ` @@ -33,11 +34,11 @@ Prerequisites Example Application =================== -This tutorial begins by deploying a sample application. The application is -contrived, but useful for demonstrating Kanister's features. The application -appends the current time to a log file every second. The application's container -includes the aws command-line client which we'll use later in the tutorial. The -application is installed in the ``default`` namespace. +This tutorial begins by deploying a sample application. While this application is +intentionally simplified, it serves the purpose of demonstrating Kanister's features. +The application appends the current time to a log file every second. The application's +container includes the aws command-line client which we will use in later sections of +this tutorial. This application is installed in the ``default`` namespace. .. code-block:: yaml @@ -356,8 +357,8 @@ To learn more about the Kanister function, refer to the documentation on :doc:`Kanister's parameter templating `. Output artifacts are used in this scenario to store the data path in s3 and -the corresponding snapshot ID that which will serve as the ``backupIdentifier`` -during restoration process. +the corresponding snapshot ID, which which will serve as the ``backupIdentifier`` +during the restoration process. To know more about artifacts, refer to the :ref:`tutorials` section. @@ -461,9 +462,9 @@ ActionSet The ``--repository-server`` flag is used to provide the reference to the repository server CR created in step :ref:`Creating Repository Server custom resource `. -As the CR contains the details related to the Kopia repository server and the associated secrets, +As the CR contains details related to the Kopia repository server and the associated secrets, the blueprint can access these details using template parameters. This enables the blueprint to -execute backup operation using the Kopia repository server. +execute backup operations using the Kopia repository server. .. code-block:: bash From 198179240e7764762b7fcb8ad507d620c9b30386 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 25 Aug 2023 12:46:01 +0530 Subject: [PATCH 21/24] fix missing article in the sentence --- docs/tutorials/tutorial_with_repositoryserver.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index d9a195f2a4..1a7b4ad39a 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -24,7 +24,7 @@ Prerequisites * docker -* The Kopia repository server controller should be deployed along with Kanister +* The Kopia repository server controller should be deployed along with the Kanister controller. Refer :ref:`Deploying Kopia Repository server controller ` From 0454234e0aceed0b7811ef65ed7906dfef1ffbd4 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Tue, 26 Sep 2023 12:19:06 +0530 Subject: [PATCH 22/24] add repository server workflow diagram --- docs/_static/repositoryserverworkflow.png | Bin 0 -> 488852 bytes docs/architecture.rst | 107 +++++++++++++----- .../tutorial_with_repositoryserver.rst | 10 +- 3 files changed, 82 insertions(+), 35 deletions(-) create mode 100644 docs/_static/repositoryserverworkflow.png diff --git a/docs/_static/repositoryserverworkflow.png b/docs/_static/repositoryserverworkflow.png new file mode 100644 index 0000000000000000000000000000000000000000..a8481b425bf3710093486cb4db684f14730990ad GIT binary patch literal 488852 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≥pvP2FDTE8(_|-{|Bl-kCHx^ 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

-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%0A0Q(Sr!Fd7Q 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

D|aH&2+qAa)MY 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

Y{h(nB8X^pqy3H!D`8B_Amd`{*n)KK^d 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 z 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 C`_ describes the +pattern in detail. + +In particular, Kanister is composed of three main components: the +Controller and two Custom Resources - ActionSets and Blueprints. The +diagram below illustrates their relationship and how they fit +together: + + .. image:: ./_static/kanister_workflow.png + + +As seen in the above diagram and described in detail below, all +Kanister operations are declarative and require an ActionSet to be +created by the user. Once the ActionSet is detected by the Kanister +controller, it examines the environment for Blueprint referenced in +the ActionSet (along with other required configuration). If all +requirements are satisfied, it will then use the discovered Blueprint +to complete the action (e.g., backup) specified in the +ActionSet. Finally, the original ActionSet will be updated by the +controller with status and other metadata generated by the action +execution. Kopia Repository Server Workflow ================================ @@ -52,37 +79,19 @@ the repository requires the storage location and credential information similar to a Kanister Profile CR and a unique password used by Kopia during encryption, along with the unique path prefix mentioned above. -To know more about the design of the Kopia repository server controller refer to -its `design documentation ` _ - -The design of Kanister follows the operator pattern. This means -Kanister defines its own resources and interacts with those resources -through a controller. `This blog post -`_ describes the -pattern in detail. - -In particular, Kanister is composed of three main components: the -Controller and two Custom Resources - ActionSets and Blueprints. The -diagram below illustrates their relationship and how they fit -together: - - .. image:: ./_static/kanister_workflow.png +Repository Server Workflow +-------------------------- +The design of Repository Server consists of a controller and a custom resource +RepositoryServer. The diagram below illustrates the relationship between the repository +server controller and RepositoryServer custom resource. It shows the integration of +kanister controller with repository server controller and how we can leverage this +integration to use Kopia as a data mover tool. -Kanister Workflow -================= - -As seen in the above diagram and described in detail below, all -Kanister operations are declarative and require an ActionSet to be -created by the user. Once the ActionSet is detected by the Kanister -controller, it examines the environment for Blueprint referenced in -the ActionSet (along with other required configuration). If all -requirements are satisfied, it will then use the discovered Blueprint -to complete the action (e.g., backup) specified in the -ActionSet. Finally, the original ActionSet will be updated by the -controller with status and other metadata generated by the action -execution. + .. image:: ./_static/repositoryserverworkflow.png +To know more about the design of the Kopia repository server controller refer to +its `design documentation `_ Custom Resources ================ @@ -809,8 +818,8 @@ a secret, as shown below : -Controller -========== +Kanister Controller +=================== The Kanister controller is a Kubernetes Deployment and is installed easily using ``kubectl``. See :ref:`install` for more information on deploying the controller. @@ -852,3 +861,41 @@ seen by using the following command: Normal Started Phase 23s Kanister Controller Executing phase backupToS3 Normal Update Complete 19s Kanister Controller Updated ActionSet 's3backup-j4z6f' Status->complete Normal Ended Phase 19s Kanister Controller Completed phase backupToS3 + + +Kopia Repository Server Controller +================================== + +The Kopia Repository Server controller is installed as a part of Kanister operator +deployment. See :ref:`deploying_repo_server_controller` for more information on +deploying the controller. + +Execution Walkthrough +--------------------- + +Repository server controller watches for create/update/delete actions on +RepositoryServer custom resource in the same namespace it is deployed. Once the +RepositoryServer CR is created, the ``status.Progress`` field is set to ``Pending``. + +The controller starts a kopia repository server in a Kubernetes pod using the +configuration provided in the RepositoryServer CR. To access the repository server +inside the pod, it also creates a Kubernetes service. The repository server can be +used in kanister controller as a data mover tool to backup and restore applications +to a Kopia repository. + +.. code-block:: bash + + $ kubectl get pods,svc -n kanister + NAME READY STATUS RESTARTS AGE + pod/kanister-kanister-operator-5b7dfbf97b-5j5p5 2/2 Running 0 33m + pod/repo-server-pod-4tjcw 1/1 Running 0 2m13s + + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + service/kanister-kanister-operator ClusterIP 10.96.197.93 443/TCP 33m + service/repo-server-service-rq2pq ClusterIP 10.96.127.153 51515/TCP 2m13s + +Once the kopia repository server is started successfully,the ``status.Progress`` field of +RepositoryServer CR is set to ``Ready``. + +Refer to :ref:`tutorials` section to understand more about the integration of kanister +and kopia repository server. diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 1a7b4ad39a..6cab056837 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -6,7 +6,7 @@ to a Kopia repository. We will be using kanister functions that use Kopia repository Server as data mover in the blueprint. For additional documentation on kanister functions and blueprints, refer to the :ref:`architecture` and :ref:`kanister functions` -sections respectively +sections respectively. .. contents:: Tutorial Overview :local: @@ -117,14 +117,14 @@ You can create it as shown below: --secret-access-key= To learn more about how to create repository and gain further insight into the Kopia -repository refer to `Kopia documentation `_ +repository refer to `Kopia documentation `_. Creating Secrets ---------------- To learn about the secrets that need to be created for the repository server, -Please refer to :ref:`architecture` section +Please refer to :ref:`architecture` section. - ``Creating TLS secret`` @@ -319,13 +319,13 @@ check the server's status. name: s3-location namespace: kanister status: - progress: ServerReady + progress: Ready serverInfo: podName: repo-server-pod-4tjcw serviceName: repo-server-service-rq2pq ``pod/repo-server-pod-4tjcw`` and ``service/repo-server-service-rq2pq`` populated in -``status.serverInfo`` field should be used by the client to connect to the server +``status.serverInfo`` field should be used by the client to connect to the server. Invoking Kanister Actions ========================= From aec8f4509ff9ab25c121b0edd71c090f7f32cc3c Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Fri, 13 Oct 2023 12:23:51 +0530 Subject: [PATCH 23/24] address review comments --- docs/architecture.rst | 199 +++++++++--------- docs/templates.rst | 2 +- .../tutorial_with_repositoryserver.rst | 94 +++++---- 3 files changed, 144 insertions(+), 151 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index 9428d9b423..9dc510ea9f 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -41,12 +41,12 @@ Introducing Kopia ------------------ Kopia is a powerful, cross-platform tool for managing encrypted backups -in the cloud. It provides fast and secure backups, using compression, +in the cloud. It provides fast and secure backups using compression, data `de-duplication`, and client-side end-to-end encryption. It supports a variety of backup storage targets, including object stores, which allows -users to choose the storage provider that better addresses their needs. -In Kopia, these storage locations are called repositories. It is a -lock-free system that allows concurrent multi-client operations, +users to choose the storage provider that best addresses/meets their +requirements. In Kopia, these storage locations are called repositories. +It is a lock-free system that allows concurrent multi-client operations, including garbage collection. To explore other features of Kopia, see its `documentation `_ @@ -54,17 +54,17 @@ Kopia Repository Server ----------------------- A Kopia Repository Server allows Kopia clients to proxy access to the backend storage -location through it. At any time, a repository server can only connect to a single +location through it. At any given time, a repository server can only connect to a single repository. Due to this limitation, a separate instance of the server will be used for each repository. -In Kanister, the server will comprise of a Kubernetes pod and service. The pod runs +In Kanister, the server comprises of Kubernetes pod and service. The pod runs the Kopia repository server process that will be used by Kopia clients to perform -backup and restore operations. Kopia clients would only need a username/password and -service name to connect to server without the need to know the backend storage -location. This approach provides enhanced security since only authorized users will be -allowed to access the Kopia repository server. These authorized users need to be -added to the server before starting the server. +backup and restore operations. Kopia clients only need a username/password and +service name to connect to the server, without needing/requiring to know the backend +storage location. This approach enhances security since only authorized users can +access the Kopia repository server. These authorized users must be added to the +server before starting the server. Kopia Repository ---------------- @@ -74,24 +74,24 @@ repository can exist at a particular path in the backend storage location. Users opting to use separate repositories are recommended to use unique path prefixes for each repository. For example, a repository for a namespace called monitoring on an S3 storage bucket called test-bucket could be created at the -location ``s3://test-bucket//repo/``. Accessing -the repository requires the storage location and credential information similar -to a Kanister Profile CR and a unique password used by Kopia during encryption, -along with the unique path prefix mentioned above. +following location ``s3://test-bucket//repo/``. +Accessing the repository requires the storage location and credential information, +similar to a Kanister Profile CR, and a unique password used by Kopia for +encryption, along with the unique path prefix mentioned above. Repository Server Workflow -------------------------- The design of Repository Server consists of a controller and a custom resource RepositoryServer. The diagram below illustrates the relationship between the repository -server controller and RepositoryServer custom resource. It shows the integration of -kanister controller with repository server controller and how we can leverage this -integration to use Kopia as a data mover tool. +server controller and the RepositoryServer custom resource. It shows the integration of +the Kanister controller with the repository server controller and how this integration +can be leveraged to use Kopia as a data mover tool. .. image:: ./_static/repositoryserverworkflow.png -To know more about the design of the Kopia repository server controller refer to -its `design documentation `_ +To know more about the design of the Kopia repository server controller, refer to +its `design documentation `_. Custom Resources ================ @@ -434,7 +434,7 @@ the Kopia repository server. .. note:: Secrets referenced in the CR should be created in the format referenced - in the :ref:`Repository Server Secrets` section + in the :ref:`Repository Server Secrets` section. The definition of ``Repository Server`` is: @@ -450,7 +450,8 @@ The definition of ``Repository Server`` is: Status RepositoryServerStatus `json:"status"` } - Repository Server ``Spec`` field is defined as follows: + +Repository Server ``Spec`` field is defined as follows: .. code-block:: go :linenos: @@ -461,22 +462,19 @@ The definition of ``Repository Server`` is: Server Server `json:"server"` } -- The ``Storage`` field in the ``RepositoryServerSpec`` contains the location - details where the Kopia repository is created - -.. code-block:: go - :linenos: - type Storage struct { SecretRef corev1.SecretReference `json:"secretRef"` CredentialSecretRef corev1.SecretReference `json:"credentialSecretRef"` } -^ ``SecretRef`` and ``CredentialSecretRef`` are the references to location - secrets +- The ``Storage`` field in the ``RepositoryServerSpec`` contains the location + details where the Kopia repository is created. + + - ``SecretRef`` and ``CredentialSecretRef`` are the references to location + secrets. -- ``Repository`` field in CR ``spec`` has details to connect to Kopia repository created - in the above location storage +- The ``Repository`` field in the CR ``spec`` contains details for connecting to + the Kopia repository created in the location storage mentioned above. .. code-block:: go :linenos: @@ -489,37 +487,33 @@ The definition of ``Repository Server`` is: CacheSizeSettings CacheSizeSettings `json:"cacheSizeSettings,omitempty"` } + type CacheSizeSettings struct { + Metadata string `json:"metadata"` + Content string `json:"content"` + } -^ ``RootPath`` is the path for the Kopia repository. It is the sub-path within -the path prefix specified in the storage location -^ ``Username`` is an optional field used to override the default username while -connecting to the Kopia repository -^ ``Hostname`` is an optional field used to override the default host name while -connecting to the Kopia repository - -Kopia identifies users by ``username@hostname`` and uses the values -specified when establishing a connection to the repository to identify -backups created in the session. +- ``RootPath`` is the path for the Kopia repository. It is the sub-path within + the path prefix specified in the storage location. +- ``Username`` is an optional field used to override the default username while + connecting to the Kopia repository. +- ``Hostname`` is an optional field used to override the default hostname while + connecting to the Kopia repository. -^ ``PasswordSecretRef`` is the reference to the secret containing the password to -connect to the Kopia repository -^ ``CacheSizeSettings`` is an optional field used to specify the size of the different -caches for the Kopia repository. If not specified, default cache settings are used -by repository server controller +Kopia identifies users by ``username@hostname`` and uses the values specified when +establishing a connection to the repository to identify backups created in the session. -To know more about the Kopia caches, refer to the `Kopia caching documentation `_` +- ``PasswordSecretRef`` is the reference to the secret containing the password to + connect to the Kopia repository. -.. code-block:: go - :linenos: +- ``CacheSizeSettings`` is an optional field used to specify the size of the different + caches for the Kopia repository. If not specified, default cache settings are used + by repository server controller. - type CacheSizeSettings struct { - Metadata string `json:"metadata"` - Content string `json:"content"` - } +To know more about the Kopia caches, refer to the `Kopia caching documentation `_. - ``Server`` field in the CR spec has references to all the secrets - required to start the Kopia repository server + required to start the Kopia repository server. .. code-block:: go :linenos: @@ -530,25 +524,21 @@ To know more about the Kopia caches, refer to the `Kopia caching documentation < TLSSecretRef corev1.SecretReference `json:"tlsSecretRef"` } -^ ``AdminSecretRef`` is a secret reference containing admin credentials - required to start the Kopia repository server - -^ ``TLSSecretRef`` is a TLS secret reference for Kopia client and server communication - -^ ``UserAccess`` contains username and password secret reference required - for creating Kopia repository server users. - -.. code-block:: go - :linenos: - type UserAccess struct { UserAccessSecretRef corev1.SecretReference `json:"userAccessSecretRef"` Username string `json:"username"` } +- ``AdminSecretRef`` is a secret reference containing admin credentials + required to start the Kopia repository server. -- ``Status`` field in ``RepositoryServer`` CR is used by repository server controller - to propagate server's status to the client. It is defined as: +- ``TLSSecretRef`` is a TLS secret reference for Kopia client and server communication. + +- The ``UserAccess`` field contains a username and password secret reference required + for creating Kopia repository server users. + +- The ``Status`` field in the ``RepositoryServer`` CR is used by repository server + controller to propagate the server's status to the client. It is defined as: .. code-block:: go :linenos: @@ -559,34 +549,32 @@ To know more about the Kopia caches, refer to the `Kopia caching documentation < Progress RepositoryServerProgress `json:"progress"` } -- ``Progress`` is populated by controller with 3 values - - ^ ``Ready`` represents the ready state of the repository server and - the pod, which runs the proxy server + type ServerInfo struct { + PodName string `json:"podName,omitempty"` + ServiceName string `json:"serviceName,omitempty"` + } - ^ ``Failed`` represents that the controller got an error while - starting the repository server +- ``Progress`` is populated by the controller with three values: - ^ ``Pending`` represents that the repository server is yet to be completely started + - ``Ready`` represents the ready state of the repository server and + the pod, which runs the proxy server. -- ``ServerInfo`` is populated by the repository server controller with - the server details that the client requires to connect to the server + - ``Failed`` represents that the controller got an error while + starting the repository server. -.. code-block:: go - :linenos: + - ``Pending`` represents that the repository server has not yet completely started. - type ServerInfo struct { - PodName string `json:"podName,omitempty"` - ServiceName string `json:"serviceName,omitempty"` - } +- ``ServerInfo`` is populated by the repository server controller with + the server details that the client requires to connect to the server. -^ ``PodName`` is the name of the pod created by controller for Kopia repository server + - ``PodName`` is the name of the pod created by the controller for the + Kopia repository server. -^ ``ServiceName`` is the name of the Kubernetes service created by the controller -which contains the connection details for the repository server + - ``ServiceName`` is the name of the Kubernetes service created by the controller, + which contains the connection details for the repository server. -As a reference, below is an example of a Repository Server +As a reference, below is an example of a Repository Server: .. code-block:: yaml :linenos: @@ -630,18 +618,18 @@ Repository Server Secrets ========================= The repository server controller needs the following secrets to be created for starting -the Kopia repository server successfully. The secrets are referenced in the -``RepositoryServer`` CR, as described in :ref:`RepositoryServer`. +the Kopia repository server successfully. These secrets are referenced in the +``RepositoryServer`` CR, as described in the :ref:`RepositoryServer`. Location Storage Secret ----------------------- This secret stores the sensitive details of the location where the Kopia -repository is created. This secret is referenced by ``spec.storage.secretRef`` +repository is created. It is referenced by the ``spec.storage.secretRef`` field in the repository server CR. The ``data.type`` field can have following values ``s3``, ``gcs``, -``azure``, ``file-store`` +``azure``, and ``file-store``. .. code-block:: yaml :linenos: @@ -671,7 +659,7 @@ The ``data.type`` field can have following values ``s3``, ``gcs``, Location Credentials Secret --------------------------- -The following secret should be used for Azure, AWS and GCS storage credentials. +The following secret should be used for Azure, AWS, and GCS storage credentials. This secret is referenced by the ``spec.storage.credentialSecretRef`` in the repository server CR: @@ -736,8 +724,8 @@ repository server CR: Repository Password Secret -------------------------- -This is the password secret used by controller to connect to Kopia repository. It -is referenced by the ``spec.repository.passwordSecretRef`` in the repository server CR. +This is the secret password used by the controller to connect to the Kopia repository. +It is referenced by the ``spec.repository.passwordSecretRef`` in the repository server CR. .. code-block:: yaml :linenos: @@ -775,7 +763,7 @@ TLS Secret ---------- This secret stores TLS sensitive data used for Kopia client server communication. -It follows the standard ``kubernetes.io/tls``. It is referenced by the +It follows the ``kubernetes.io/tls`` standard. It is referenced by the ``spec.server.tlsSecretRef`` in the repository server CR. .. code-block:: yaml @@ -797,12 +785,12 @@ It follows the standard ``kubernetes.io/tls``. It is referenced by the Repository Server User Access Password Secret --------------------------------------------- The Kopia repository client needs an access username and password for authentication to -connect to Kopia repository server. +connect to the Kopia repository server. The Kopia client needs a user in the format of ``@``. The username is -the same for all the clients, which is specified in ``spec.server.UserAccess.username`` of +the same for all clients, which is specified in ``spec.server.UserAccess.username`` of the ``RepositoryServer`` CR. The password and host name are provided in the form of -a secret, as shown below +a secret, as shown below: .. code-block:: yaml :linenos: @@ -873,15 +861,16 @@ deploying the controller. Execution Walkthrough --------------------- -Repository server controller watches for create/update/delete actions on -RepositoryServer custom resource in the same namespace it is deployed. Once the -RepositoryServer CR is created, the ``status.Progress`` field is set to ``Pending``. +The Repository server controller monitors and responds to create, update, or delete +events for the RepositoryServer custom resource within the same namespace where +it is deployed. When the RepositoryServer CR is created, it sets the ``status.Progress`` +field to ``Pending``. -The controller starts a kopia repository server in a Kubernetes pod using the +The controller starts a Kopia repository server within a Kubernetes pod, using the configuration provided in the RepositoryServer CR. To access the repository server -inside the pod, it also creates a Kubernetes service. The repository server can be -used in kanister controller as a data mover tool to backup and restore applications -to a Kopia repository. +within the pod, it also creates a Kubernetes service. This repository server can be +used within the kanister controller as a data mover tool to backup and restore +applications to a Kopia repository. .. code-block:: bash diff --git a/docs/templates.rst b/docs/templates.rst index 852eb5be58..6c034a6004 100644 --- a/docs/templates.rst +++ b/docs/templates.rst @@ -550,7 +550,7 @@ The currently supported Profile template is based on the following definitions RepositoryServers ----------------- -RepositoryServers are a Kanister CustomResource that contain information about storage, +RepositoryServers are Kanister CustomResource that store information about storage, repository, and server details. These details are required to run a Kopia repository server instance, which can then be further used for data operation artifacts. diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index 6cab056837..d5dcb03d76 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -1,12 +1,12 @@ Using Kopia Repository Server as Data Mover in Blueprint ******************************************************** -This tutorial will demonstrate the use of Kopia to copy or restore backups -to a Kopia repository. We will be using kanister functions -that use Kopia repository Server as data mover in the blueprint. +This tutorial will demonstrate how to use Kopia to copy or restore +backups in a Kopia repository. We will be using kanister functions +that use the Kopia repository Server as the data mover in the blueprint. For additional documentation on kanister functions and blueprints, refer to the :ref:`architecture` and :ref:`kanister functions` -sections respectively. +sections, respectively. .. contents:: Tutorial Overview :local: @@ -14,8 +14,9 @@ sections respectively. Prerequisites ============= -* Kubernetes ``1.16`` or higher. For cluster version lower than ``1.16``, - we recommend installing Kanister version ``0.62.0`` or lower. +* For Kubernetes ``1.16`` or higher, you can install Kanister version 0.62.0 + or higher. For cluster version lower than ``1.16``, we recommend installing + Kanister version ``0.62.0`` or lower. * `kubectl `_ installed and setup @@ -25,10 +26,9 @@ Prerequisites * docker * The Kopia repository server controller should be deployed along with the Kanister - controller. - Refer + controller. Refer to the :ref:`Deploying Kopia Repository server controller ` - + section to know more. * Access to s3 bucket and credentials Example Application @@ -36,8 +36,8 @@ Example Application This tutorial begins by deploying a sample application. While this application is intentionally simplified, it serves the purpose of demonstrating Kanister's features. -The application appends the current time to a log file every second. The application's -container includes the aws command-line client which we will use in later sections of +It appends the current time to a log file every second. The application's container +includes the AWS command-line client, which will be described in later sections of this tutorial. This application is installed in the ``default`` namespace. .. code-block:: yaml @@ -88,8 +88,8 @@ Starting Kopia Repository Server ================================ To copy or restore backups to the location storage using the Kopia data mover, -it is necessary to start the Kopia repository server. To learn more about Kopia -repository server, refer to :ref:`architecture `. +it is necessary to start the Kopia repository server. To learn more about the +Kopia repository server, refer to :ref:`architecture ` section. The repository server controller requires the creation of a Repository Server custom resource to start the server. To understand more about this custom resource, @@ -100,7 +100,7 @@ see :ref:`architecture`. Creating a Kopia Repository --------------------------- -The Kopia repository needs to be created before starting repository server. +The Kopia repository must be created before starting the repository server. You can create it as shown below: @@ -117,14 +117,14 @@ You can create it as shown below: --secret-access-key= To learn more about how to create repository and gain further insight into the Kopia -repository refer to `Kopia documentation `_. +repository, refer to the `Kopia documentation `_. Creating Secrets ---------------- To learn about the secrets that need to be created for the repository server, -Please refer to :ref:`architecture` section. +please refer to the :ref:`architecture` section. - ``Creating TLS secret`` @@ -152,8 +152,9 @@ Please refer to :ref:`architecture` section. - ``Creating Storage Location Secret`` - The secret should contain identical values for the ``bucket``, ``endpoint``, ``region`` - fields that were used during the creation of the Kopia repository. + The secret should contain values identical to the ones used for the ``bucket``, + ``endpoint``, ``region`` fields that were used during the creation of the Kopia + repository. .. code-block:: yaml @@ -206,18 +207,18 @@ references the previously created secrets. For more detailed information about t repository server CR, refer to the :ref:`architecture` section. It is important to ensure consistency by using the same values for the fields -``spec.repository.username`` , ``spec.repository.hostname`` in the CR(Custom Resource) as those -used during the repository creation process described in section +``spec.repository.username`` and ``spec.repository.hostname`` in the CR(Custom Resource) +as those used during the repository creation process described in the section :ref:`Creating a Kopia Repository `. -The ``--prefix`` field's value is a combination of prefix specified in `spec.data.path` -field of the location secret and the sub-path provided in the ``spec.repository.RootPath`` -field of Repository server CR. +The ``--prefix`` field's value is a combination of the prefix specified in +the `spec.data.path` field of the location secret and the sub-path provided in +the ``spec.repository.RootPath`` field of the Repository server CR. The ``spec.data.path`` field of the location storage secret ``s3-location`` appended -with the ``spec.repository.RootPath`` in the repository Server CR should be combined -together to match the ``--prefix`` field of the command used to create repository,as -specified in section :ref:`Creating a Kopia Repository `. +with the ``spec.repository.RootPath`` in the Repository Server CR should be combined +together to match the ``--prefix`` field of the command used to create the repository, as +specified in the section :ref:`Creating a Kopia Repository `. .. code-block:: yaml @@ -259,7 +260,7 @@ specified in section :ref:`Creating a Kopia Repository 51515/TCP 2m13s To verify the successful start of the server, you can use the following command to -check the server's status. +check the server's status: .. code-block:: bash @@ -334,29 +335,32 @@ Kanister CustomResources are created in the same namespace as the Kanister controller. The initial Kanister CustomResource to be deployed is referred to as Blueprint. -Blueprints are a set of instructions that direct the controller on executing -actions on an application. An action consists of one or more phases. Each phase +Blueprints are a set of instructions that direct the controller in executing +actions on an application. An action consists of one or more phases, and each phase invokes a :doc:`Kanister Function `. Every Kanister function accepts a string list as input. The ``args`` field in a Blueprint's phase is rendered and passed into the specified function. To learn more about Kanister's CustomResources, see :ref:`architecture`. -The Blueprint to be created includes two actions called ``backup`` -and ``restore``. The ``backup`` action comprises of a single phase named as -``backupToS3``. +The Blueprint to be created includes two actions, named ``backup`` +and ``restore``. + +The ``backup`` action comprises of a single phase named as +``backupToS3``. ``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` +that uses the Kopia repository server to copy backup data to S3 storage. -``backupToS3`` invokes the Kanister function ``BackupDataUsingKopiaServer`` -that uses Kopia repository server to copy backup data to s3 storage. The action -``restore`` uses two kanister functions ``ScaleWorkload`` and ``RestoreDataUsingKopiaServer``. -``ScaleWorkload`` function scales down the ``timelog`` application before restoring the data. -``RestoreDataUsingKopiaServer`` restores data using Kopia repository server form -s3 storage. +The ``restore`` action uses two Kanister functions, ``ScaleWorkload`` and +``RestoreDataUsingKopiaServer``. +The ``ScaleWorkload`` function scales down the ``timelog`` application before +restoring the data. +The ``RestoreDataUsingKopiaServer`` function restores data using the the Kopia +repository server from S3 storage. To learn more about the Kanister function, refer to the documentation on :doc:`Kanister's parameter templating `. -Output artifacts are used in this scenario to store the data path in s3 and +Output artifacts are used in this scenario to store the data path in S3 and the corresponding snapshot ID, which which will serve as the ``backupIdentifier`` during the restoration process. @@ -460,9 +464,9 @@ ActionSet $ kanctl create actionset --action backup --namespace kanister --blueprint time-log-bp --deployment default/time-logger --repository-server kanister/kopia-repo-server actionset actionset backup-rlcnp created -The ``--repository-server`` flag is used to provide the reference to the repository server +The ``--repository-server`` flag is used to provide a reference to the repository server CR created in step :ref:`Creating Repository Server custom resource `. -As the CR contains details related to the Kopia repository server and the associated secrets, +Since the CR contains details related to the Kopia repository server and the associated secrets, the blueprint can access these details using template parameters. This enables the blueprint to execute backup operations using the Kopia repository server. @@ -480,7 +484,7 @@ execute backup operations using the Kopia repository server. Normal Update Complete 9s Kanister Controller Updated ActionSet 'backup-rlcnp' Status->complete -Lets delete the date from ``timelogger`` app. +Let`s delete the date from the ``timelogger`` app. .. code-block:: bash @@ -504,7 +508,7 @@ Now, let's proceed with the restore process by using the ``restore`` action from $ kanctl --namespace kanister create actionset --action restore --from "backup-rlcnp" --repository-server kanister/kopia-repo-server actionset restore-backup-rlcnp-g5h65 create -The success of the restore operation can be assessed by describing the actionset. +The success of the restore operation can be assessed based on the following actionset: .. code-block:: bash @@ -522,7 +526,7 @@ The success of the restore operation can be assessed by describing the actionset Normal Ended Phase 3s Kanister Controller Completed phase bringupPod Normal Update Complete 2s Kanister Controller Updated ActionSet 'restore-backup-rlcnp-g5h65' Status->complete -It is necessary to verify if the data has been successfully restored. The presence of +It is necessary to verify that the data has been restored successfully. The presence of the ``time.log`` file, which was removed prior to the restore process, should confirm the successful restoration. From 732bd55098fce8173b4d5b9f6eba97aefcf28105 Mon Sep 17 00:00:00 2001 From: Amruta Kale Date: Thu, 19 Oct 2023 18:03:12 +0530 Subject: [PATCH 24/24] add missing articles Signed-off-by: Amruta Kale --- docs/architecture.rst | 2 +- docs/install.rst | 2 +- docs/tutorials/tutorial_with_repositoryserver.rst | 14 +++++++------- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/architecture.rst b/docs/architecture.rst index 9dc510ea9f..b698a70bf5 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -61,7 +61,7 @@ for each repository. In Kanister, the server comprises of Kubernetes pod and service. The pod runs the Kopia repository server process that will be used by Kopia clients to perform backup and restore operations. Kopia clients only need a username/password and -service name to connect to the server, without needing/requiring to know the backend +service name to connect to the server, without requiring to know the backend storage location. This approach enhances security since only authorized users can access the Kopia repository server. These authorized users must be added to the server before starting the server. diff --git a/docs/install.rst b/docs/install.rst index 9b060a0997..7de10bafb1 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -109,7 +109,7 @@ Deploying Kopia Repository Server Controller ============================================ To enable the Kopia Repository server controller, set the `repositoryServerController` -value as shown below during the deployment +value as shown below during the deployment: .. substitution-code-block:: bash diff --git a/docs/tutorials/tutorial_with_repositoryserver.rst b/docs/tutorials/tutorial_with_repositoryserver.rst index d5dcb03d76..9fef1a335b 100644 --- a/docs/tutorials/tutorial_with_repositoryserver.rst +++ b/docs/tutorials/tutorial_with_repositoryserver.rst @@ -2,9 +2,9 @@ Using Kopia Repository Server as Data Mover in Blueprint ******************************************************** This tutorial will demonstrate how to use Kopia to copy or restore -backups in a Kopia repository. We will be using kanister functions +backups in a Kopia repository. We will be using Kanister functions that use the Kopia repository Server as the data mover in the blueprint. -For additional documentation on kanister functions and blueprints, +For additional documentation on Kanister functions and blueprints, refer to the :ref:`architecture` and :ref:`kanister functions` sections, respectively. @@ -89,7 +89,7 @@ Starting Kopia Repository Server To copy or restore backups to the location storage using the Kopia data mover, it is necessary to start the Kopia repository server. To learn more about the -Kopia repository server, refer to :ref:`architecture ` section. +Kopia repository server, refer to the :ref:`architecture ` section. The repository server controller requires the creation of a Repository Server custom resource to start the server. To understand more about this custom resource, @@ -116,7 +116,7 @@ You can create it as shown below: --access-key= --secret-access-key= -To learn more about how to create repository and gain further insight into the Kopia +To learn more about how to create a repository and gain further insight into the Kopia repository, refer to the `Kopia documentation `_. @@ -207,7 +207,7 @@ references the previously created secrets. For more detailed information about t repository server CR, refer to the :ref:`architecture` section. It is important to ensure consistency by using the same values for the fields -``spec.repository.username`` and ``spec.repository.hostname`` in the CR(Custom Resource) +``spec.repository.username`` and ``spec.repository.hostname`` in the CR (Custom Resource) as those used during the repository creation process described in the section :ref:`Creating a Kopia Repository `. @@ -326,7 +326,7 @@ check the server's status: serviceName: repo-server-service-rq2pq ``pod/repo-server-pod-4tjcw`` and ``service/repo-server-service-rq2pq`` populated in -``status.serverInfo`` field should be used by the client to connect to the server. +the ``status.serverInfo`` field should be used by the client to connect to the server. Invoking Kanister Actions ========================= @@ -354,7 +354,7 @@ The ``restore`` action uses two Kanister functions, ``ScaleWorkload`` and ``RestoreDataUsingKopiaServer``. The ``ScaleWorkload`` function scales down the ``timelog`` application before restoring the data. -The ``RestoreDataUsingKopiaServer`` function restores data using the the Kopia +The ``RestoreDataUsingKopiaServer`` function restores data using the Kopia repository server from S3 storage. To learn more about the Kanister function, refer to the documentation on