From 117a0bc7e2a14546926770a8ada6841094f8b0e9 Mon Sep 17 00:00:00 2001 From: Jose Henrique Date: Fri, 28 Aug 2026 15:02:26 -0300 Subject: [PATCH] setup bootstrap --- SETUP.md | 17 ++++- bootstrap/namespaces.yaml | 148 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 163 insertions(+), 2 deletions(-) create mode 100644 bootstrap/namespaces.yaml diff --git a/SETUP.md b/SETUP.md index 73c2322..7821714 100644 --- a/SETUP.md +++ b/SETUP.md @@ -1,6 +1,19 @@ # Initial setup ```sh -kubectl create ns argocd +# Create namespace +kubectl apply -f bootstrap/namespaces.yaml + +# Install ArgoCD kubectl apply -k bootstrap/argocd-install + +# Apply root app kubectl apply -f bootstrap/root-app.yaml -``` \ No newline at end of file +``` + +## Access ArgoCD +1. Get admin password +```sh +kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d; echo +``` + +2. Access ArgoCD and login with `admin` / password from above. \ No newline at end of file diff --git a/bootstrap/namespaces.yaml b/bootstrap/namespaces.yaml new file mode 100644 index 0000000..0ee92f7 --- /dev/null +++ b/bootstrap/namespaces.yaml @@ -0,0 +1,148 @@ +--- +# ============================================================================== +# Core / System Namespaces +# ============================================================================== +apiVersion: v1 +kind: Namespace +metadata: + name: default +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kube-node-lease +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kube-public +--- +apiVersion: v1 +kind: Namespace +metadata: + name: kube-system +--- +# ============================================================================== +# Infrastructure, Ingress & GitOps +# ============================================================================== +apiVersion: v1 +kind: Namespace +metadata: + name: argocd +--- +apiVersion: v1 +kind: Namespace +metadata: + name: cert-manager +--- +apiVersion: v1 +kind: Namespace +metadata: + name: dns +--- +apiVersion: v1 +kind: Namespace +metadata: + name: docker-ingress +--- +apiVersion: v1 +kind: Namespace +metadata: + name: external-secrets + labels: + name: external-secrets +--- +apiVersion: v1 +kind: Namespace +metadata: + name: infra +--- +apiVersion: v1 +kind: Namespace +metadata: + name: ingress-nginx + labels: + app.kubernetes.io/instance: ingress-nginx + app.kubernetes.io/name: ingress-nginx +--- +apiVersion: v1 +kind: Namespace +metadata: + name: metallb-system +--- +apiVersion: v1 +kind: Namespace +metadata: + name: nfs-provisioner + labels: + name: nfs-provisioner +--- +# ============================================================================== +# Observability & Monitoring +# ============================================================================== +apiVersion: v1 +kind: Namespace +metadata: + name: alloy +--- +apiVersion: v1 +kind: Namespace +metadata: + name: monitoring +--- +# ============================================================================== +# Storage & Data +# ============================================================================== +apiVersion: v1 +kind: Namespace +metadata: + name: garage + labels: + name: garage +--- +# ============================================================================== +# Environments & Workloads +# ============================================================================== +apiVersion: v1 +kind: Namespace +metadata: + name: chacal +--- +apiVersion: v1 +kind: Namespace +metadata: + name: cloud +--- +apiVersion: v1 +kind: Namespace +metadata: + name: cronjobs +--- +apiVersion: v1 +kind: Namespace +metadata: + name: dev +--- +apiVersion: v1 +kind: Namespace +metadata: + name: lab +--- +apiVersion: v1 +kind: Namespace +metadata: + name: media +--- +apiVersion: v1 +kind: Namespace +metadata: + name: mindforge +--- +apiVersion: v1 +kind: Namespace +metadata: + name: vpn-session-pods + labels: + pod-security.kubernetes.io/audit: privileged + pod-security.kubernetes.io/enforce: privileged + pod-security.kubernetes.io/warn: privileged