Initial commit
This commit is contained in:
49
assets/flux/flux-bootstrap-github.sh
Normal file
49
assets/flux/flux-bootstrap-github.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# Flux 2.7+ Bootstrap Script for GitHub
|
||||
|
||||
set -e
|
||||
|
||||
# Configuration
|
||||
GITHUB_USER="${GITHUB_USER:-your-org}"
|
||||
GITHUB_REPO="${GITHUB_REPO:-fleet-infra}"
|
||||
GITHUB_TOKEN="${GITHUB_TOKEN:-}"
|
||||
CLUSTER_NAME="${CLUSTER_NAME:-production}"
|
||||
CLUSTER_PATH="clusters/${CLUSTER_NAME}"
|
||||
|
||||
# Check prerequisites
|
||||
command -v flux >/dev/null 2>&1 || { echo "flux CLI required"; exit 1; }
|
||||
command -v kubectl >/dev/null 2>&1 || { echo "kubectl required"; exit 1; }
|
||||
|
||||
# Check GitHub token
|
||||
if [ -z "$GITHUB_TOKEN" ]; then
|
||||
echo "Error: GITHUB_TOKEN environment variable not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Bootstrap Flux
|
||||
echo "🚀 Bootstrapping Flux for cluster: $CLUSTER_NAME"
|
||||
|
||||
flux bootstrap github \
|
||||
--owner="$GITHUB_USER" \
|
||||
--repository="$GITHUB_REPO" \
|
||||
--branch=main \
|
||||
--path="$CLUSTER_PATH" \
|
||||
--personal \
|
||||
--token-auth
|
||||
|
||||
# Enable source-watcher (Flux 2.7+)
|
||||
echo "✨ Enabling source-watcher component..."
|
||||
flux install --components-extra=source-watcher
|
||||
|
||||
# Verify installation
|
||||
echo "✅ Verifying Flux installation..."
|
||||
flux check
|
||||
|
||||
echo "
|
||||
✅ Flux bootstrapped successfully!
|
||||
|
||||
Next steps:
|
||||
1. Add your applications to ${CLUSTER_PATH}/apps/
|
||||
2. Commit and push to trigger Flux reconciliation
|
||||
3. Monitor with: flux get all
|
||||
"
|
||||
38
assets/flux/oci-helmrelease.yaml
Normal file
38
assets/flux/oci-helmrelease.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
# Flux OCI Repository + HelmRelease (Flux 2.6+)
|
||||
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
||||
kind: OCIRepository
|
||||
metadata:
|
||||
name: podinfo-oci
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 5m
|
||||
url: oci://ghcr.io/stefanprodan/charts/podinfo
|
||||
ref:
|
||||
semver: ">=6.0.0"
|
||||
verify:
|
||||
provider: cosign
|
||||
secretRef:
|
||||
name: cosign-public-key
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: podinfo
|
||||
namespace: default
|
||||
spec:
|
||||
interval: 10m
|
||||
chart:
|
||||
spec:
|
||||
chart: podinfo
|
||||
sourceRef:
|
||||
kind: OCIRepository
|
||||
name: podinfo-oci
|
||||
namespace: flux-system
|
||||
values:
|
||||
replicaCount: 2
|
||||
resources:
|
||||
limits:
|
||||
memory: 256Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 64Mi
|
||||
Reference in New Issue
Block a user