
Installs database backup components in Kubernetes, creates the following resources:
CronJob
ConfigMap
(generated from flexible number of environment variables)ServiceAccount
(optional)PersistentVolumeClaim
(optional)Make sure to create a secret for sensitive variables (like passwords and keys). Copy the default values.yaml
somewhere, edit the new file accordingly, and proceed with installation. You can always use --set
directive for helm upgrade
or helm install
commands to avoid storing values files in a repository.
Make the charts discoverable by adding the repository to your list:
shellhelm repo add corewide https://solutions.corewide.com/helm/
Chart values (see the table below) can be passed one by one using --set
argument or via
a configuration file. You can create one based on the defaults using the following command:
shellhelm show values corewide/db-backup > values.yaml
Install the chart after editing your values.yaml
:
shellhelm repo update
helm install corewide/db-backup --version 1.1.2 -f values.yaml
Define Helm provider configuration in your project code, then:
hclresource "helm_release" "db_backup" {
name = "db-backup"
repository = "oci://oci.corewide.com/helm"
chart = "db-backup"
version = "1.1.2"
# define your values as set blocks:
set {
...
}
}
Database Backup | $500 |
Installs database backup components in Kubernetes, creates the following resources:
CronJob
ConfigMap
(generated from flexible number of environment variables)ServiceAccount
(optional)PersistentVolumeClaim
(optional)Make sure to create a secret for sensitive variables (like passwords and keys). Copy the default values.yaml
somewhere, edit the new file accordingly, and proceed with installation. You can always use --set
directive for helm upgrade
or helm install
commands to avoid storing values files in a repository.
All notable changes to this project are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
ServiceAccount
default name in Helm chartpersistence.accessMode
valuepersistence.storageClass
valueInitial version:
Parameter | Type | Description | Default |
---|---|---|---|
dbType |
string |
A database type to backup (supported: postgres , postgres-legacy , mysql , mongodb ) |
postgres |
dbVersion |
string |
A database version to backup | |
appVersion |
string |
Docker image version to override the default appVersion from the chart |
|
image |
map |
A block that describes Docker image pod configuration | |
image.repository |
string |
Address of Docker image repository | oci.corewide.com/docker/db-backup |
image.pullPolicy |
string |
Conditions for pulling new container images | Always |
imagePullSecrets |
list |
Reference to secret with access credentials of Docker image Container Registry | [] |
podAnnotations |
map |
Annotations to attach to pods deployed by the chart | {} |
podSecurityContext |
map |
Security context parameters to pass to pods deployed by the chart | {} |
podLabels |
map |
Provide custom labels to created pod | {} |
securityContext |
map |
Security context parameters to pass to containers in pods deployed by the chart | {} |
resources |
map |
Container resource parameters to pass to application pods | {} |
nodeSelector |
map |
Node selector to attach to pods deployed by the chart | {} |
tolerations |
list(map) |
List of toleration policies to attach to pods deployed by the chart | [] |
affinity |
map |
Set of node affinity parameters for pods deployed by the chart | {} |
successfulJobsHistoryLimit |
int |
How many completed jobs will be kept | 7 |
failedJobsHistoryLimit |
int |
How many failed jobs will be kept | 3 |
env |
map |
Environment variables to pass to the containers of application pods | {} |
secretNamesForEnvFrom |
list(string) |
List of secrets to populate container environment with | [] |
schedule |
string |
A schedule to run backup | "0 0 * * *" |
serviceAccount |
map |
A block that describes ServiceAccount configuration |
|
serviceAccount.enable |
string |
Specifies whether a service account should be used | true |
serviceAccount.create |
string |
Specifies whether a service account should be created | false |
serviceAccount.annotations |
map |
Annotations to add to the service account | {} |
serviceAccount.name |
string |
The name of the service account to use. If not set and serviceAccount.create is true , a name is generated using the fullname template |
|
persistence |
map |
A block that describes PersistenceVolumeClaim configuration |
|
persistence.enable |
string |
Specifies whether PersistenceVolumeClaim should be created |
false |
persistence.storageClassName |
string |
Specifies a storageClass name for persistent volume that will be created. If empty, the default one will be used |
|
persistence.volumeSize |
int |
A persistent volume storage size, Gi | 20 |
persistence.accessMode |
string |
Access mode of the attached volume | ReadWriteOnce |