feat: Add VolSync support and move CNPG backup credentials on SCALE (#21443)

**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [ ] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):` or `chore(chart-name):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._
This commit is contained in:
Kjeld Schouten
2024-04-29 12:28:39 +02:00
committed by GitHub
parent b1bc7f1132
commit 02e10381ac
2287 changed files with 6424 additions and 4124 deletions
+2
View File
@@ -28,3 +28,5 @@ OWNERS
/docs
# icon
icon.png
icon.webp
icon-small.webp
@@ -0,0 +1,118 @@
- variable: credentialsList
group: General
label: "Credentials (Experimental)"
schema:
type: list
default: []
items:
- variable: credentialsEntry
label: "Enter Credentials"
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: "Name"
schema:
type: string
required: true
default: ""
- variable: type
label: Type
description: "Type of Credential"
schema:
type: string
default: "s3"
enum:
- value: s3
description: s3 Storage
- value: azure
description: Azure Backup Storage (Extremely Experimental)
## - value: google
## description: Azure Backup Storage
- variable: url
label: "url"
schema:
show_if: [["type", "=", "s3"]]
type: string
default: ""
- variable: region
label: "region"
schema:
show_if: [["type", "=", "s3"]]
type: string
default: ""
- variable: bucket
label: "bucket"
schema:
show_if: [["type", "=", "s3"]]
type: string
default: ""
- variable: accessKey
label: "accessKey"
schema:
show_if: [["type", "=", "s3"]]
type: string
default: ""
- variable: secretKey
label: "secretKey"
schema:
show_if: [["type", "=", "s3"]]
type: string
default: ""
- variable: connectionString
label: "connectionString"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: ""
- variable: storageAccount
label: "storageAccount"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: ""
- variable: storageKey
label: "storageKey"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: ""
- variable: storageSasToken
label: "storageSasToken"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: ""
- variable: containerName
label: "containerName"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: ""
- variable: serviceName
label: "serviceName"
schema:
show_if: [["type", "=", "azure"]]
type: string
default: "blob"
- variable: inheritFromAzureAD
label: "inheritFromAzureAD"
schema:
show_if: [["type", "=", "azure"]]
type: boolean
default: false
## TODO: Finish Google
- variable: gkeEnvironment
label: "gkeEnvironment"
schema:
show_if: [["type", "=", "google"]]
type: string
default: ""
- variable: applicationCredentials
label: "applicationCredentials"
schema:
show_if: [["type", "=", "google"]]
type: string
default: ""
@@ -178,6 +178,67 @@
show_if: [["type", "=", "pvc"]]
type: string
default: ""
- variable: volsync
label: 'VolSync (Experimental)'
description: Backup, Restore and Synchronise PVC storage
schema:
show_if: [["type", "=", "pvc"]]
type: list
default: []
items:
- variable: VolSyncEntry
label: VolSync Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: "Name of backup configuration"
schema:
type: string
default: ""
required: true
- variable: type
label: Type VolSync/Backup
description: Sets the VolSync Type
schema:
type: string
default: "restic"
enum:
- value: restic
description: Restic
- variable: credentials
label: Credentials
description: "Name of credentials in the credentials section"
schema:
type: string
default: ""
required: true
- variable: dest
label: VolSync Destination (Restore)
description: VolSYnc Destination is the location where data is the reciever and configures recovery of backups
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: true
- variable: src
label: VolSync Source (Backup)
description: VolSYnc Source is the location where data is the sender and creates backups to storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: true
- variable: static
label: 'Static Fixed PVC Bindings (Experimental)'
description: Link a PVC to a specific storage location
@@ -201,6 +201,67 @@
show_if: [["type", "=", "pvc"]]
type: string
default: ""
- variable: volsync
label: 'VolSync (Experimental)'
description: Backup, Restore and Synchronise PVC storage
schema:
show_if: [["type", "=", "pvc"]]
type: list
default: []
items:
- variable: VolSyncEntry
label: VolSync Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: name
label: Name
description: "Name of backup configuration"
schema:
type: string
default: ""
required: true
- variable: type
label: Type VolSync/Backup
description: Sets the VolSync Type
schema:
type: string
default: "restic"
enum:
- value: restic
description: Restic
- variable: credentials
label: Credentials
description: "Name of credentials in the credentials section"
schema:
type: string
default: ""
required: true
- variable: dest
label: VolSync Destination (Restore)
description: VolSYnc Destination is the location where data is the reciever and configures recovery of backups
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: true
- variable: src
label: VolSync Source (Backup)
description: VolSYnc Source is the location where data is the sender and creates backups to storage
schema:
additional_attrs: true
type: dict
attrs:
- variable: enabled
label: Enable
schema:
type: boolean
default: true
- variable: static
label: 'Static Fixed PVC Bindings (Experimental)'
description: Link a PVC to a specific storage location
+20 -245
View File
@@ -143,12 +143,6 @@
schema:
type: string
default: ""
- variable: endpointURL
label: "endpointURL"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: destinationPath
label: "destinationPath"
schema:
@@ -161,126 +155,19 @@
type: string
show_if: [["enabled", "=", true]]
default: "30d"
- variable: provider
label: "provider"
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: credentials
label: "Credentials"
description: "Name of the credentials in the credentials section"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "s3"
enum:
- value: s3
description: S3
- value: azure
description: Azure
- value: google
description: Google
- variable: s3
label: "s3"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "s3"]]
attrs:
- variable: region
label: "region"
schema:
type: string
default: ""
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: accessKey
label: "accessKey"
schema:
type: string
default: ""
- variable: secretKey
label: "secretKey"
schema:
type: string
default: ""
- variable: azure
label: "azure (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "azure"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: connectionString
label: "connectionString"
schema:
type: string
default: ""
- variable: storageAccount
label: "storageAccount"
schema:
type: string
default: ""
- variable: storageKey
label: "storageKey"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: storageSasToken
label: "storageSasToken"
schema:
type: string
default: ""
- variable: containerName
label: "containerName"
schema:
type: string
default: ""
- variable: serviceName
label: "serviceName"
schema:
type: string
default: "blob"
- variable: inheritFromAzureAD
label: "inheritFromAzureAD"
schema:
type: boolean
default: false
- variable: google
label: "google (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "google"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: gkeEnvironment
label: "gkeEnvironment"
schema:
type: string
default: ""
- variable: applicationCredentials
label: "applicationCredentials"
schema:
type: string
default: ""
default: ""
required: true
- variable: recovery
label: "Recovery Settings (Experimental)"
schema:
@@ -302,12 +189,6 @@
schema:
type: string
default: ""
- variable: endpointURL
label: "endpointURL"
schema:
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: method
label: "method"
schema:
@@ -320,122 +201,16 @@
type: string
show_if: [["enabled", "=", true]]
default: ""
- variable: provider
label: "provider"
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: credentials
label: "Credentials"
description: "Name of the credentials in the credentials section"
schema:
type: string
show_if: [["enabled", "=", true]]
default: "s3"
enum:
- value: s3
description: S3
- value: azure
description: Azure
- value: google
description: Google
- variable: s3
label: "s3"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "s3"]]
attrs:
- variable: region
label: "region"
schema:
type: string
default: ""
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: accessKey
label: "accessKey"
schema:
type: string
default: ""
- variable: secretKey
label: "secretKey"
schema:
type: string
default: ""
- variable: azure
label: "azure (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "azure"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: connectionString
label: "connectionString"
schema:
type: string
default: ""
- variable: storageAccount
label: "storageAccount"
schema:
type: string
default: ""
- variable: storageKey
label: "storageKey"
schema:
type: string
default: ""
- variable: storageSasToken
label: "storageSasToken"
schema:
type: string
default: ""
- variable: containerName
label: "containerName"
schema:
type: string
default: ""
- variable: serviceName
label: "serviceName"
schema:
type: string
default: "blob"
- variable: inheritFromAzureAD
label: "inheritFromAzureAD"
schema:
type: boolean
default: false
- variable: google
label: "google (EXTREMELY EXPERIMENTAL)"
schema:
additional_attrs: true
type: dict
show_if: [["provider", "=", "google"]]
attrs:
- variable: path
label: "path"
schema:
type: string
default: "/"
- variable: bucket
label: "bucket"
schema:
type: string
default: ""
- variable: gkeEnvironment
label: "gkeEnvironment"
schema:
type: string
default: ""
- variable: applicationCredentials
label: "applicationCredentials"
schema:
type: string
default: ""
default: ""
required: true