Skip to content

Conversation

@minmzzhang
Copy link
Collaborator

Reorganize Vault secrets into segmented paths for least-privilege access:

Secret Path Structure:

  • apps// - Application-specific secrets (e.g., apps/qtodo/)
  • hub/infra// - Infrastructure secrets (e.g., hub/infra/keycloak/)
  • global/ - Shared secrets (unchanged)
  • hub/ - Hub-level secrets (unchanged)

Policy Naming Convention:

  • K8s auth policies: -k8s-secret (for ClusterSecretStore/ExternalSecrets)
  • JWT auth policies: -jwt-secret (for SPIFFE workload identity)

Changes:

  • Update vaultPrefixes in values-secret.yaml.template for new paths
  • Update ExternalSecret references in chart values.yaml files
  • Add JWT policies to values-hub.yaml for SPIFFE workload authentication
  • Pass JWT policies to vault-config-jwt ansible task via vault-utils.sh

This enables application-level secret isolation where each app only has access to its own secrets, following zero-trust principles.

Depends on: rhvp/rhvp.cluster_utils PR for auto-creating K8s auth policies

Reorganize Vault secrets into segmented paths for least-privilege access:

Secret Path Structure:
- apps/<app-name>/ - Application-specific secrets (e.g., apps/qtodo/)
- hub/infra/<component>/ - Infrastructure secrets (e.g., hub/infra/keycloak/)
- global/ - Shared secrets (unchanged)
- hub/ - Hub-level secrets (unchanged)

Policy Naming Convention:
- K8s auth policies: <path>-k8s-secret (for ClusterSecretStore/ExternalSecrets)
- JWT auth policies: <path>-jwt-secret (for SPIFFE workload identity)

Changes:
- Update vaultPrefixes in values-secret.yaml.template for new paths
- Update ExternalSecret references in chart values.yaml files
- Add JWT policies to values-hub.yaml for SPIFFE workload authentication
- Pass JWT policies to vault-config-jwt ansible task via vault-utils.sh

This enables application-level secret isolation where each app only has
access to its own secrets, following zero-trust principles.

Depends on: rhvp/rhvp.cluster_utils PR for auto-creating K8s auth policies

Signed-off-by: Min Zhang <minzhang@redhat.com>
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.

1 participant