# Install Dynamic Backup Target

Starting T4O-6.x, a new feature has been introduced to add new backup target without the need of redeploying complete t4o. Please follow mentioned steps to add a backup target

## 1. Update backup target specific yaml file

### 1.1] Navigate to the backup targets chart

```
cd triliovault-cfg-scripts/openstack-helm/trilio-backup-targets/values_overrides
```

### 1.2] Update the `<backup-target-type>.yaml` file (`nfs.yaml, other_s3.yaml or amazon_s3.yaml`).

Example for NFS backup target:

```
trilio_backup_target:
  backup_target_name: 'NFS_BackupTarget'
  backup_target_type: 'nfs'
  is_default: true
  nfs_server: '10.10.0.1'
  nfs_shares: /home/openstack-helm
  nfs_options: "nolock,soft,timeo=600,intr,lookupcache=none,nfsvers=3,retrans=10"
  storage_size: 20Gi
  storage_class_name: nfs

images:
  trilio_backup_targets: docker.io/trilio/trilio-wlm-helm:<image-tag>
```

Example For backup target type s3:

```
trilio_backup_target:
  backup_target_name: 'S3_BackupTarget'
  backup_target_type: 's3'
  is_default: true

  # S3 Configuration
  s3_type: 'amazon_s3'           # if not Amazon S3, use 'other_s3'
  s3_access_key: 'ACCESSKEY1'
  s3_secret_key: 'SECRETKEY1'
  s3_region_name: 'REGION1'
  s3_bucket: 'BUCKET1'
  s3_endpoint_url: ''             # required only for 'other_s3'
  s3_signature_version: 'default'
  s3_auth_version: 'DEFAULT'
  s3_ssl_enabled: true
  s3_ssl_verify: true
  s3_ssl_ca_cert: ''              # add CA cert for 'other_s3'

images:
  trilio_backup_targets: docker.io/trilio/trilio-wlm-helm:<image-tag>
```

{% hint style="info" %}
a. If using Amazon S3, s3\_endpoint\_url and s3\_ssl\_ca\_cert can be left empty.

b. If using Other S3 (like MinIO, CEPH S3, etc.), s3\_endpoint\_url and s3\_ssl\_ca\_cert (*if required*) must be set.
{% endhint %}

## 2. Install/Upgrade Backup Target

### 2.1] Helm Install/Upgrade Command

Please ensure that `values_overrides/<backup-target-type>.yaml` file is updated with correct NFS/S3 backup target configuration.

```
cd ../../
helm upgrade --install <release-name> ./trilio-backup-targets \
  -n trilio-openstack \
  -f ./trilio-backup-targets/values_overrides/nfs.yaml \
  --wait \
  --timeout 5m
```

{% hint style="info" %}
a. Replace `release-name` with a name for respective backup target (e.g., nfs-bt, s3-bt).

b. Replace `values_overrides/nfs.yaml` with the actual path to respective values overrides file.
{% endhint %}

## 3. Verification

### 3.1] Verify Backup Target Pods

Check if the backup target pods are running

```
kubectl get pods -n trilio-openstack -l component=nfs-mount
```

### 3.2] Check Mounts (for NFS targets)

Exec into the nfs-mount pod and check if the mount is successful.

```
kubectl exec -n trilio-openstack -it <nfs-mount-pod-name> -- mount | grep trilio

Mount path like the one below should be visible
/var/lib/trilio/triliovault-mounts/<base64-nfs-path>
```

### 3.3] Verify Persistent Volumes (PV/PVCs)

Check if volumes are properly created:

```
kubectl get pv | grep trilio-openstack
kubectl get pvc -n trilio-openstack | grep trilio
```

Required installation/updates are done.

If everything looks good, the NFS/S3 backup target is successfully installed and ready to use.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.trilio.io/openstack/deployment/installing-on-openstack-helm/installt4o-dynamic-bt.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
