CtrlK
BlogDocsLog inGet started
Tessl Logo

dirien/pulumi-skills

Pulumi infrastructure-as-code and Flux CD GitOps skills for Claude Code with ESC, OIDC, and cloud provider best practices.

97

Quality

97%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Risky

Do not use without reviewing

Overview
Quality
Evals
Security
Files

sources.mdflux-cli/references/

Source Commands

Sources tell Flux where to pull manifests and charts from.


flux create source git

Create or update a GitRepository source.

flux create source git <name> --url=<repo-url> [flags]

Flags

FlagDefaultDescription
--urlGit repository URL (required)
--branchGit branch to track
--tagSpecific Git tag
--tag-semverSemver range for tags (e.g. >=1.0.0)
--commitSpecific commit SHA
--ref-nameGit reference name
-u, --usernameBasic auth username
-p, --passwordBasic auth password
--private-key-fileSSH private key file
--ssh-key-algorithmecdsaSSH key algorithm: rsa, ecdsa, ed25519
--ssh-ecdsa-curvep384ECDSA curve: p256, p384, p521
--ssh-rsa-bits2048RSA key size
--secret-refExisting secret with SSH or auth credentials
--providergenericGit provider: generic, azure, github
--ca-fileTLS CA file for self-signed certs
--proxy-secret-refExisting secret with proxy credentials
--recurse-submodulesfalseInitialize and include Git submodules
--ignore-pathsPaths to ignore (comma-separated)
--sparse-checkout-pathsPaths for sparse checkout (comma-separated)
-s, --silentfalseSkip deploy key confirmation
--interval1mSync interval
--exportOutput YAML instead of applying

Examples

# Public repo
flux create source git my-app \
  --url=https://github.com/org/app \
  --branch=main

# Private repo with basic auth
flux create source git my-app \
  --url=https://github.com/org/app \
  --branch=main \
  --username=bot \
  --password=ghp_xxxx

# Private repo with SSH
flux create source git my-app \
  --url=ssh://git@github.com/org/app \
  --branch=main \
  --private-key-file=~/.ssh/id_ed25519

# Track semver tags
flux create source git my-app \
  --url=https://github.com/org/app \
  --tag-semver=">=1.0.0 <2.0.0"

# Export as YAML
flux create source git my-app \
  --url=https://github.com/org/app \
  --branch=main \
  --export > source.yaml

flux create source helm

Create or update a HelmRepository source.

flux create source helm <name> --url=<chart-repo-url> [flags]

Flags

FlagDescription
--urlHelm repository URL (required)
-u, --usernameBasic auth username
-p, --passwordBasic auth password
--cert-fileTLS client certificate file
--key-fileTLS client key file
--ca-fileTLS CA certificate file
--secret-refExisting secret with credentials
--oci-providerOCI auth provider for OCI Helm repos
--pass-credentialsPass credentials to all domains
--intervalSync interval (default 1m)
--exportOutput YAML instead of applying

Examples

# Public chart repo
flux create source helm bitnami \
  --url=https://charts.bitnami.com/bitnami \
  --interval=1h

# With basic auth
flux create source helm private-charts \
  --url=https://charts.example.com \
  --username=admin \
  --password=secret

# OCI-based Helm repo
flux create source helm oci-charts \
  --url=oci://ghcr.io/org/charts \
  --username=bot \
  --password=token

flux create source oci

Create or update an OCIRepository source.

flux create source oci <name> --url=<oci-url> [flags]

Key Flags

FlagDescription
--urlOCI repository URL (required)
--tagOCI tag to track
--tag-semverSemver range for tags
--digestSpecific artifact digest
--secret-refExisting secret with registry credentials
--providerOCI auth provider: generic, aws, azure, gcp
--insecureAllow HTTP registry
--intervalSync interval
--exportOutput YAML instead of applying

Examples

# Track an OCI artifact
flux create source oci my-manifests \
  --url=oci://ghcr.io/org/manifests \
  --tag=latest

# Track with semver
flux create source oci my-manifests \
  --url=oci://ghcr.io/org/manifests \
  --tag-semver=">=1.0.0"

flux create source bucket

Create or update a Bucket source (S3-compatible, GCS, Azure Blob).

flux create source bucket <name> --bucket-name=<name> --endpoint=<url> [flags]

Key Flags

FlagDescription
--bucket-nameBucket name (required)
--endpointBucket endpoint URL (required)
--providerProvider: generic, aws, azure, gcp
--regionBucket region
--secret-refExisting secret with access credentials
--access-keyAccess key ID
--secret-keySecret access key
--insecureAllow HTTP
--intervalSync interval
--exportOutput YAML instead of applying

Examples

# S3 bucket
flux create source bucket my-bucket \
  --bucket-name=my-manifests \
  --endpoint=s3.amazonaws.com \
  --provider=aws \
  --region=us-east-1

# MinIO
flux create source bucket minio \
  --bucket-name=flux \
  --endpoint=minio.example.com \
  --access-key=admin \
  --secret-key=password \
  --insecure

Querying Sources

# List all sources
flux get sources all [-A]

# List by type
flux get sources git [-A] [-w] [--no-header]
flux get sources helm [-A]
flux get sources oci [-A]
flux get sources bucket [-A]
flux get sources chart [-A]

# Filter by label
flux get sources git -l team=backend

# Filter by status
flux get sources git --status-selector ready=false

Managing Sources

# Force reconciliation
flux reconcile source git <name>
flux reconcile source helm <name>
flux reconcile source oci <name>
flux reconcile source bucket <name>
flux reconcile source chart <name>

# Suspend/resume
flux suspend source git <name>
flux resume source git <name>

# Export
flux export source git <name>
flux export source git --all > all-git-sources.yaml

# Delete
flux delete source git <name>

flux-cli

references

artifacts-and-images.md

bootstrap.md

helmreleases.md

kustomizations.md

sources.md

SKILL.md

AGENTS.md

CLAUDE.md

README.md

tile.json