Overview
A SchemaRegistryBackup is used for backing up schemas from a SchemaRegistry, and offloading them to a Storage. It is configured by creating a SchemaRegistryBackup resource in Kubernetes.
The Kannika Armory Operator creates a Pod that runs the backup process, based on the configuration in the SchemaRegistryBackup resource.
Usage
SchemaRegistryBackups can be managed using the kubectl command line tool,
and are available by the name schemaregistrybackup or schemaregistrybackups.
$ kubectl get schemaregistrybackupsNAME STATUSconfluent-registry-backup 🚀 RunningBackup Status
A SchemaRegistryBackup can have the following statuses:
- Initializing The backup process is being created
- Running The backup process is running
- Error The backup process has encountered an error
Configuring a SchemaRegistryBackup
The following is an example of a SchemaRegistryBackup.
apiVersion: kannika.io/v1alphakind: SchemaRegistryBackupmetadata: name: confluent-registry-backupspec: enabled: true registry: confluent-registry registryCredentialsFrom: credentialsRef: name: confluent-registry-creds storage: local-storage # An optional explicit interval between backups in seconds backupIntervalSecs: 15In this example:
-
A SchemaRegistryBackup named
confluent-registry-backupis created, as indicated by the.metadata.namefield. This name will inherited by the Pod running the backup process. -
The backup is enabled by setting the
spec.enabledtotrue. Unless this flag is set, the backup container will not be started. -
The SchemaRegistryBackup will connect to the
confluent-registrySchemaRegistry to fetch schemas, as indicated by the.spec.registryfield, and use the Credentials referenced byconfluent-registry-credsfor authentication. -
The SchemaRegistryBackup will write data to the
local-storageStorage defined in thespec.storagefield. -
The interval between API fetches and synchronization with the remote storage is set to 15 seconds by the
spec.backupIntervalSecsfield. If not specified, backups will occur every 3600 seconds.