Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cake.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Cake Agents Helm chart can wire Slack credentials into the application as environment variables. Provide a bot token and signing secret so the deployment can authenticate requests from Slack and call the Slack API.

When to use this

Use the Slack secret configuration when you want the Cake Agents deployment to communicate with a Slack workspace (for example, to send notifications or respond to events). If you do not use Slack, leave the keys unset and no Slack environment variables are injected into the pod. For creating and installing the Slack app itself (manifest, Events API URL), see Slack app setup.

How it works

When values are configured, the chart injects the following environment variables into the application container from a Kubernetes Secret:
  • SLACK_BOT_TOKEN: The Slack bot user OAuth token.
  • SLACK_SIGNING_SECRET: The Slack app signing secret used to verify request signatures.
Both environment variables are mounted with optional: true, so the pod still starts if a referenced key is missing from the Secret.

Configuration

The Slack configuration lives under the slack.secret key in values.yaml:
slack:
  secret:
    # Create the Secret in the release namespace.
    # Set to false to reference an existing Secret.
    create: true
    # Secret name in the release namespace.
    name: slack
    # Annotations applied to the Secret when create=true.
    annotations: {}
    # Map of logical keys -> Secret data keys.
    keys:
      # Secret data key used for SLACK_BOT_TOKEN.
      botToken: botToken
      # Secret data key used for SLACK_SIGNING_SECRET.
      signingSecret: signingSecret

Fields

FieldDescriptionDefault
slack.secret.createWhen true, the chart renders a Secret resource in the release namespace. Set to false to reference a Secret you manage outside the chart.true
slack.secret.nameName of the Kubernetes Secret to create or reference.slack
slack.secret.annotationsAnnotations applied to the Secret when create=true. Useful for integrations such as External Secrets Operator.{}
slack.secret.keys.botTokenData key inside the Secret that holds the bot token. Used to populate SLACK_BOT_TOKEN. Set to an empty value to skip injecting this variable.botToken
slack.secret.keys.signingSecretData key inside the Secret that holds the signing secret. Used to populate SLACK_SIGNING_SECRET. Set to an empty value to skip injecting this variable.signingSecret

Examples

Use an existing Secret

If you already manage a Slack Secret (for example, synced by External Secrets Operator), disable creation and point the chart at its name and data keys:
slack:
  secret:
    create: false
    name: my-slack-secret
    keys:
      botToken: SLACK_BOT_TOKEN
      signingSecret: SLACK_SIGNING_SECRET

Let the chart create the Secret

Enable creation, then populate the Secret yourself with kubectl:
slack:
  secret:
    create: true
    name: slack
    keys:
      botToken: botToken
      signingSecret: signingSecret
kubectl create secret generic slack \
  --from-literal=botToken=xoxb-... \
  --from-literal=signingSecret=... \
  --namespace <release-namespace> \
  --dry-run=client -o yaml | kubectl apply -f -

Disable a single variable

To inject only the bot token, clear the signing secret key:
slack:
  secret:
    keys:
      botToken: botToken
      signingSecret: ""