Skip to content

Commit d10aa7a

Browse files
committed
Update documentation for TLS with backup agents
1 parent f1b7839 commit d10aa7a

File tree

4 files changed

+27
-1
lines changed

4 files changed

+27
-1
lines changed

api/v1beta2/foundationdbbackup_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ type FoundationDBBackupSpec struct {
103103
EncryptionKeyPath string `json:"encryptionKeyPath,omitempty"`
104104

105105
// MainContainer defines customization for the foundationdb container.
106+
// Note: The enableTls setting is ignored for backup agents - use TLS environment variables instead.
106107
MainContainer ContainerOverrides `json:"mainContainer,omitempty"`
107108

108109
// SidecarContainer defines customization for the

docs/backup_spec.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ FoundationDBBackupSpec describes the desired state of the backup for a cluster.
9797
| allowTagOverride | This setting defines if a user provided image can have it's own tag rather than getting the provided version appended. You have to ensure that the specified version in the Spec is compatible with the given version in your custom image. **Deprecated: use ImageConfigs instead.** | *bool | false |
9898
| blobStoreConfiguration | This is the configuration of the target blobstore for this backup. | *[BlobStoreConfiguration](#blobstoreconfiguration) | false |
9999
| encryptionKeyPath | The path to the encryption key used to encrypt the backup. | string | false |
100-
| mainContainer | MainContainer defines customization for the foundationdb container. | ContainerOverrides | false |
100+
| mainContainer | MainContainer defines customization for the foundationdb container. Note: The enableTls setting is ignored for backup agents - use TLS environment variables instead. | ContainerOverrides | false |
101101
| sidecarContainer | SidecarContainer defines customization for the foundationdb-kubernetes-sidecar container. | ContainerOverrides | false |
102102
| imageType | ImageType defines the image type that should be used for the FoundationDBCluster deployment. When the type is set to \"unified\" the deployment will use the new fdb-kubernetes-monitor. Otherwise the main container and the sidecar container will use different images. Default: split | *ImageType | false |
103103
| backupType | BackupType defines the backup type that should be used for the backup. When the BackupType is set to BackupTypePartitionedLog, it's expected that the FoundationDBCluster creates and manages the additional backup worker processes. A migration to a different backup type is not yet supported in the operator. Default: \"backup_agent\". | *[BackupType](#backuptype) | false |

docs/manual/backup.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,25 @@ By default, the operator assumes you want to use secure connections to your obje
9393

9494
If you are configuring your cluster to use TLS for connections within the cluster, the backup agents will use the same certificate, key, and CA file for the connections to the cluster, so you must make sure the configuration is valid for this purpose as well.
9595

96+
## TLS Configuration for Backup Agents
97+
98+
**Important**: Backup agents act as normal FDB clients and don't use the setting `enableTls` flag in `mainContainer`.
99+
The [Example Backup](#example-backup) shows how to configure the required environment variables.
100+
101+
### For Backup Agents connecting to TLS clusters:
102+
103+
- **Required**: Set TLS environment variables (`FDB_TLS_CERTIFICATE_FILE`, `FDB_TLS_KEY_FILE`, `FDB_TLS_CA_FILE`) in the backup agent pod template
104+
- **Not needed**: The `enableTls` flag in `mainContainer` or `sidecarContainer` configurations - this only applies to FDB server processes
105+
106+
### Key Differences:
107+
108+
| Component | TLS Environment Variables | `enableTls` Flag |
109+
|-----------|--------------------------|------------------|
110+
| FDB Server Processes | ✓ Required | ✓ Required |
111+
| Backup Agents | ✓ Required | ✗ Ignored |
112+
113+
The backup agent will automatically use TLS when connecting to a TLS-enabled cluster if the TLS environment variables are present, regardless of the `enableTls` setting in the backup spec.
114+
96115
## Configuring Your Account
97116

98117
Before you start a backup, you will need to configure an account in your object store. Depending on the implementation details of your object store, you may also need to configure a bucket in advance, but the FDB backup process will attempt to automatically create one. You can specify the bucket name in the `bucket` field of the backup spec. In the example above, we have an account called `account` at the object store `https://object-store.example`, and it has a bucket called `fdb-backups`.

docs/manual/tls.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@ Connections to FDB will use the peer verification logic provided by the FDB clie
103103

104104
Connections to the sidecar will use the peer verification logic provided by go's tls library. This means that the sidecar's certificate must be valid for the pod's IP. You can disable verification for the connections to the sidecar by setting the environment variable `DISABLE_SIDECAR_TLS_CHECK=1` on the operator, but this will also disable the validation of the certificate chain, so it is not recommended to use this in real environments.
105105

106+
## TLS for Backup Agents
107+
108+
When configuring backup agents to connect to TLS-enabled clusters, note that backup agents act as FDB clients and only require the TLS environment variables (`FDB_TLS_CERTIFICATE_FILE`, `FDB_TLS_KEY_FILE`, `FDB_TLS_CA_FILE`). The `enableTls` flag used for FDB server processes does not apply to backup agents.
109+
110+
See the [backup documentation](backup.md#tls-configuration-for-backup-agents) for detailed configuration examples.
111+
106112
## TLS Migration
107113

108114
The operator supports to migrate a non-TLS cluster to TLS and visa versa.

0 commit comments

Comments
 (0)