Skip to content

Conversation

@eidmantas
Copy link

Hello, I noticed that when you move all secrets to an external (non-helm generated) source - the secrets still remain and cause confusion for peers.

I thought about adding a helper function and if everything is moved, then we do not create a secret at all.

When all secret fields are sourced from external secrets (e.g., via
ExternalSecrets operator), the chart was still creating empty Secret
objects with only metadata. This caused conflicts and confusion.

Added helper functions to determine if secrets should be created:
- harbor.core.createSecret
- harbor.jobservice.createSecret

The secrets are now only created when at least one data field would be
populated. If all fields use existingSecret references, the Secret
object is skipped entirely.
@eidmantas
Copy link
Author

eidmantas commented Dec 16, 2025

Also now I am thinking, we probably need to deal with annotations as well? Or is cksum of 0 fine? At least local templating worked fine.

@MinerYang
Copy link
Collaborator

Hi @eidmantas ,

I would take the values.core.secret as an example, that we are now avoiding random generate the secret value if:

  • the value.core.existingSecret do exist within the same namespace
  • Or the values.core.secret do has value.

Could you elaborate more in your scenario what is move all secrets to an external source to understanding your case?

@eidmantas
Copy link
Author

Hey @MinerYang , for example storing secrets in an external engine for all, and then using ExternalSecrets in k8s, or some other mechanism to create k8s secrets and use those instead of the helm generated ones.

@MinerYang MinerYang self-assigned this Dec 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants