kubermatic / dashboard

Dashboard For The Kubermatic Kubernetes Platform
https://www.kubermatic.com
Other
42 stars 62 forks source link

User Cluster Backup Configuration for Minio Backend via KKP UI #6732

Closed toschneck closed 3 months ago

toschneck commented 3 months ago

Description of the feature you would like to add / User story

As a KKP project admin I would like to configure as backup target an minio endpoint in order to use my existing seed minio or self-hosted minio

Solution details

Currently the UI doesn't have an option to set all parameters of the AWS Backupstorage Class of Velero.

Backup Storage Locations in Project 'Area Pre-Sales 🚀' 2024-07-04 23-08-53

E.g. for minio it's required to set the value s3ForcePathStyle: "true"

To be generic, it would be good to have an additional yaml block field to add additional parameters to the config for the Backup Storage Location (for AWS) Object

Alternative approaches

Currently a config via the CRDS is possible, but not documented (see https://github.com/kubermatic/docs/issues/1707)

apiVersion: kubermatic.k8c.io/v1
kind: ClusterBackupStorageLocation
metadata:
  labels:
    csbl-display-name: seed-minio
    project-id: nczgr7n44g
  name: seed-minio-nczgr7n44g
  namespace: kubermatic
spec:
  backupSyncPeriod: 1m0s
  config:
    region: minio
    ####  NOTE: URL must be accisble from the user cluster network scope
    s3Url: https://minio.demo.kubermatic.io 
    # Whether to use path-style addressing instead of virtual hosted bucket addressing. Set to "true"
    # if using a local storage service like MinIO.
    #
    # Optional (defaults to "false").
    s3ForcePathStyle: "true"
    # If specified, use this instead of "s3Url" when generating download URLs (e.g., for logs). This
    # field is primarily for local storage services like MinIO.
    #
  credential:
    key: cloud-credentials
    name: credential-seed-minio-nczgr7n44g-h6qkj
  objectStorage:
    bucket: user-cluster-backup
  provider: aws

Use cases

Flexible Backup Storage Location Config for on-premise Storage

Additional information

toschneck commented 3 months ago

/assign @csengerszabo

csengerszabo commented 3 months ago

/label sig/api /label sig/ui

csengerszabo commented 3 months ago

/assign @ahmadhamzh

csengerszabo commented 3 months ago

/transfer-issue dashboard