Skip to main content
Version: 0.5.0
OSSEnterprise

Managing Secrets

Some ResourceGraphDefinitions require secrets for deployment -- database credentials, API keys, TLS certificates, and other sensitive values. Knodex provides a secrets management interface that lets you create and manage these references within your projects.

Secret References in RGDs

RGD authors define secret requirements in the RGD specification. Each secret reference has a type that determines how it is provided:

TypeDescriptionWho Provides It
user-providedThe deployer must create this secret before deploymentYou (the deployer)
fixedA secret with a predetermined name, managed by the platform teamPlatform team
dynamicGenerated automatically during the deployment processSystem

Checking Requirements Before Deploying

Before starting a deployment, review the RGD's Secrets tab to understand what secrets are needed:

  1. Open the RGD in the catalog.
  2. Click the Secrets tab.
  3. Note any secrets marked as user-provided -- these must exist before you deploy.
  4. Each secret entry shows its name, description, and the keys it must contain.

The Secrets Page

Navigate to Secrets in the sidebar to manage secrets for your projects.

Viewing Secrets

The secrets list shows all secrets in your current project with their names, types, and creation dates. Click a secret to view its metadata (secret values are never displayed in the UI).

Creating Secrets

  1. Click Create Secret.
  2. Enter the secret name (must be DNS-compatible).
  3. Select the project and namespace.
  4. Add the required key-value pairs as specified by the RGD.
  5. Click Save.

Deleting Secrets

Select a secret and click Delete. Confirm the deletion. Deleting a secret that is referenced by a running instance may cause that instance to become degraded.

Permissions

ActionRequired Role
View secrets listViewer or higher
View secret metadataViewer or higher
Create secretsDeveloper or higher
Delete secretsDeveloper or higher

Workflow

The recommended workflow for deploying an RGD that requires secrets:

  1. Check requirements -- Review the Secrets tab on the RGD detail page.
  2. Create secrets -- Navigate to the Secrets page and create any user-provided secrets.
  3. Deploy instance -- Return to the RGD and start the deployment. The form validates that required secrets exist.

Best Practices

  • Use descriptive names. Follow a naming pattern like {app}-{environment}-{purpose} (e.g., myapp-staging-db-creds).
  • Organize by project. Keep secrets scoped to the project that uses them. Avoid creating secrets in shared namespaces unless intentionally shared.
  • Rotate regularly. Update secret values periodically, especially for production credentials.
  • Read RGD author descriptions. RGD authors should document what each secret key expects. Check the secret description in the RGD specification:
secrets:
- name: db-credentials
type: user-provided
description: "Database connection credentials"
keys:
- name: username
description: "Database username with read-write access"
- name: password
description: "Database password (minimum 16 characters)"
- name: host
description: "Database hostname or IP address"