glab(1)

πŸ’… glab(1) β€” cluster agent bootstrap, bestie edition πŸ’…

okay so you opened the glab(1) manual, specifically the page for glab-cluster-agent-bootstrap, and I'm gonna walk you through it like we're on FaceTime. no cap, every flag is staying. 🫢


🌸 NAME 🌸

glab-cluster-agent-bootstrap β€” Bootstrap a GitLab Agent for Kubernetes in a project. literally that's the whole mission, and it ate. ✨


✨ SYNOPSIS ✨

glab cluster agent bootstrap  [flags]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so this command bootstraps a GitLab Agent for Kubernetes (agentk) in a project. main character energy fr.

The first argument must be the name of the agent. no vibes-based guessing, bestie.

It requires the kubectl and flux commands to be accessible via $PATH. like, both of them need to be findable, periodt.

This command consists of multiple idempotent steps:

  1. Register the agent with the project.
  2. Configure the agent.
  3. Configure an environment with dashboard for the agent.
  4. Configure an environment with dashboard for FluxCD (if --create-flux-environment).
  5. Create a token for the agent.
    • If the agent has reached the maximum amount of tokens, the one that has not been used the longest is revoked and a new one is created.
    • If the agent has not reached the maximum amount of tokens, a new one is created.
  6. Push the Kubernetes Secret that contains the token to the cluster.
  7. Create Flux HelmRepository and HelmRelease resources.
  8. Commit and Push the created Flux Helm resources to the manifest path.
  9. Trigger Flux reconciliation of GitLab Agent HelmRelease (unless --no-reconcile).

πŸ’– OPTIONS πŸ’–

  • --commit-author-email="noreply@glab.gitlab.com" β€” The Git commit author email to use. Conflicts with '--use-api-commit-author'.
  • --commit-author-name="glab" β€” The Git commit author name to use. Conflicts with '--use-api-commit-author'.
  • --create-environment[=true] β€” Create an environment for the GitLab Agent.
  • --create-flux-environment[=true] β€” Create an environment for FluxCD. Affects only the environment creation, not the use of Flux itself. Flux is always required for the bootstrap process.
  • --environment-flux-resource-path="helm.toolkit.fluxcd.io/v2beta1/namespaces//helmreleases/" β€” Flux resource path of the environment for the GitLab Agent.
  • --environment-name="/" β€” Name of the environment for the GitLab Agent.
  • --environment-namespace="" β€” Kubernetes namespace of the environment for the GitLab Agent.
  • --flux-environment-flux-resource-path="kustomize.toolkit.fluxcd.io/v1/namespaces/flux-system/kustomizations/flux-system" β€” Flux resource path of the environment for FluxCD.
  • --flux-environment-name="/" β€” Name of the environment for FluxCD.
  • --flux-environment-namespace="" β€” Kubernetes namespace of the environment for FluxCD.
  • --flux-source-name="flux-system" β€” Flux source name.
  • --flux-source-namespace="flux-system" β€” Flux source namespace.
  • --flux-source-type="git" β€” Source type of the flux-system, like Git, OCI, or Helm.
  • --gitlab-agent-token-secret-name="gitlab-agent-token" β€” Name of the Secret where the token for the GitLab Agent is stored. The helm-release-target-namespace is implied for the namespace of the Secret.
  • --helm-release-filepath="gitlab-agent-helm-release.yaml" β€” File path within the GitLab Agent project to commit the Flux HelmRelease to.
  • --helm-release-name="gitlab-agent" β€” Name of the Flux HelmRelease manifest.
  • --helm-release-namespace="flux-system" β€” Namespace of the Flux HelmRelease manifest.
  • --helm-release-target-namespace="gitlab-agent" β€” Namespace of the GitLab Agent deployment.
  • --helm-release-values=[] β€” Local path to values.yaml files. Multiple files can be comma-separated or specified by repeating the flag.
  • --helm-release-values-from=[] β€” Kubernetes object reference that contains the values.yaml data key in the format '/', where 'kind' must be one of: (Secret, ConfigMap). Multiple references can be comma-separated or specified by repeating the flag.
  • --helm-repository-address="https://charts.gitlab.io" β€” Address of the HelmRepository.
  • --helm-repository-filepath="gitlab-helm-repository.yaml" β€” File path within the GitLab Agent project to commit the Flux HelmRepository to.
  • --helm-repository-name="gitlab" β€” Name of the Flux HelmRepository manifest.
  • --helm-repository-namespace="flux-system" β€” Namespace of the Flux HelmRepository manifest.
  • -b, --manifest-branch="" β€” Branch to commit the Flux Manifests to. Defaults to the project default branch.
  • -p, --manifest-path="" β€” Location of directory in Git repository for storing the GitLab Agent for Kubernetes Helm resources.
  • --no-reconcile[=false] β€” Do not trigger Flux reconciliation for GitLab Agent for Kubernetes Flux resource.
  • --use-api-commit-author[=false] β€” When creating Git commits use the user from the authenticated API request. Conflicts with '--commit-author-name' and '--commit-author-email'.

πŸ‘‘ OPTIONS INHERITED FROM PARENT COMMANDS πŸ‘‘

  • -h, --help[=false] β€” Show help for this command.
  • -R, --repo="" β€” Select another repository. You can use either OWNER/REPO or GROUP/NAMESPACE/REPO. The full URL or Git URL is also accepted.

🌈 EXAMPLE 🌈

bestie, these are the exact little scenarios the manpage serves up. copy responsibly, slay intentionally. πŸ’…

# Bootstrap "my-agent" to the root of the Git project in CWD, and trigger reconciliation
glab cluster agent bootstrap my-agent

# Bootstrap "my-agent" to "manifests/" of the Git project in CWD, and trigger reconciliation
# Especially useful when "flux bootstrap gitlab --path manifests/" is used.
# Make sure that the "--path" from the "flux bootstrap gitlab" command matches
# the "--manifest-path" of the "glab cluster agent bootstrap" command.
glab cluster agent bootstrap my-agent --manifest-path manifests/

# Bootstrap "my-agent" to "manifests/" of the Git project in CWD, and do not manually trigger a reconilication
glab cluster agent bootstrap my-agent --manifest-path manifests/ --no-reconcile

# Bootstrap "my-agent" without configuring an environment
glab cluster agent bootstrap my-agent --create-environment=false

# Bootstrap "my-agent" and configure an environment with custom name and Kubernetes namespace
glab cluster agent bootstrap my-agent --environment-name production --environment-namespace default

# Bootstrap "my-agent" without configuring a FluxCD environment
glab cluster agent bootstrap my-agent --create-flux-environment=false

# Bootstrap "my-agent" and configure a FluxCD environment with custom name and Kubernetes namespace
glab cluster agent bootstrap my-agent --flux-environment-name production-flux --flux-environment-namespace flux-system

# Bootstrap "my-agent" and pass additional GitLab Helm Chart values from a local file
glab cluster agent bootstrap my-agent --helm-release-values values.yaml

# Bootstrap "my-agent" and pass additional GitLab Helm Chart values from a Kubernetes ConfigMap
glab cluster agent bootstrap my-agent --helm-release-values-from ConfigMap/agent-config

# Bootstrap "my-agent" and commit with custom user
glab cluster agent bootstrap my-agent --commit-author-name="Tanuki" --commit-author-email="tanuki@example.com"

# Bootstrap "my-agent" with authenticated API user
glab cluster agent bootstrap my-agent --use-api-commit-author

πŸŽ€ SEE ALSO πŸŽ€

glab-cluster-agent(1)


mwah πŸ’‹ that's the whole page! it was auto generated by spf13/cobra, dated Nov 2026, and it's the glab(1) manual. bye bestie, go bootstrap something iconic! ✨🫢
πŸ“¦ where this page comes from