sighupio / fury-distribution

Kubernetes Fury Distribution (Core Modules) - A battle-tested open-source Kubernetes distribution
https://kubernetesfury.com/
BSD 3-Clause "New" or "Revised" License
162 stars 13 forks source link

Velero external endpoint not considered #220

Closed FedericoAntoniazzi closed 5 months ago

FedericoAntoniazzi commented 5 months ago

When enabling the DR module with an external endpoint configured, furyctl also installs a MinIO instance inside the kube-system namespace and still uses the default endpoints and credentials.

Snippet

furyctl.yaml:

...
      dr:
        type: on-premises
        velero:
          externalEndpoint:
            accessKeyId: REDACTED
            bucketName: velero
            endpoint: other.minio.instance:9000
            insecure: true
            secretAccessKey: REDACTED
...
nutellinoit commented 5 months ago

Which version are you using?

FedericoAntoniazzi commented 5 months ago

furyctl v0.28.0 and distribution v1.28.0

Al-Pragliola commented 5 months ago

you should set .velero.backend to "externalEndpoint" because the default value is "minio": (https://github.com/sighupio/fury-distribution/blob/main/defaults/onpremises-kfd-v1alpha2.yaml#L222)

      dr:
        type: on-premises
        velero:
          backend: externalEndpoint
          externalEndpoint:
            accessKeyId: REDACTED
            bucketName: velero
            endpoint: other.minio.instance:9000
            insecure: true
            secretAccessKey: REDACTED

to improve the UX maybe we should add a validation to that field

FedericoAntoniazzi commented 5 months ago

Thank you @Al-Pragliola, I missed that field. What to do in case of installing velero in a EKS cluster? Should we set type: on-premises even if we only need the external endpoint?

Al-Pragliola commented 5 months ago

The schema for an EKSCluster is different, here's an example:

      dr:
        type: eks
        velero:
          eks:
            bucketName: example-velero
            region: eu-west-1
nutellinoit commented 5 months ago

On EKS, velero do it's backup to an s3 bucket that furyctl manages, there is no externalEndpoint feature on that provider