Advanced Search
Search Results
208 total results found
VPN and Cluster Access
What You Will Learn How to connect to Junovy's Kubernetes cluster via WireGuard VPN Setting up your kubeconfig for secure access Verifying your connection and switching between clusters Troubleshooting when your VPN connection drops VPN: Your Gateway to the...
External Secrets Operator
What You Will Learn What the External Secrets Operator does ExternalSecret CRD and SecretStore configuration Writing an ExternalSecret YAML manifest How the operator syncs Vault secrets into Kubernetes Verifying that secrets were created correctly The Exter...
HashiCorp Vault
What You Will Learn How to access HashiCorp Vault at Junovy Authentication with VAULT_TOKEN Secret organization: tenant and app structure Basic Vault commands: vault kv put and vault kv get When to use PKI engines for TLS certificates Vault at penguin.spynl...
SOPS Encryption
What You Will Learn What SOPS is and how it works How Age keys encrypt secrets The encrypt_sops() and decrypt_sops() helper functions Why Junovy is moving away from SOPS to Vault Understanding SOPS: Secrets OPerationS SOPS is a tool for encrypting secrets s...
Why Secrets Matter
What You Will Learn What counts as a secret and why it matters Real examples of what happens when secrets leak The golden rule: never commit secrets to Git How Junovy's tools help prevent accidental exposure What Counts as a Secret? A secret is any credenti...
Checking Cluster Health
What You Will Learn How to check node status with kubectl get nodes How to spot unhealthy pods across the cluster How to verify Flux reconciliation status What each pod status means A quick health check routine Checking Node Status: kubectl get nodes Every ...
Common Problems and Fixes
What You Will Learn A symptom-to-fix table for common Kubernetes issues Step-by-step debugging approach for each problem How to read error messages for clues When to escalate to senior engineers Common Problems and Diagnosis Symptom Likely Cause First Ch...
Prometheus and Grafana
What You Will Learn Prometheus collects metrics from your cluster Grafana visualizes metrics in dashboards AlertManager manages alerts from Prometheus Loki aggregates logs for searching Key dashboards to bookmark for daily use Prometheus at prometheus.spynl...
Reading Logs
What You Will Learn How to stream pod logs with kubectl logs The --follow flag for real-time monitoring Using --previous to debug crashed containers Handling multi-container pods with the -c flag Common log patterns and searching with grep Streaming Logs: k...
Create the Tenant
What You Will Learn How to create a new tenant directory in the Flux repo What the namespace manifest looks like and why it comes first How the file numbering convention keeps everything organized What the kustomization.yaml file does and why it is required ...
Deploy and Verify
What You Will Learn How to commit and push your manifests to trigger a deployment How to use the Flux CLI to speed up reconciliation How to verify that every piece is running correctly How to troubleshoot common deployment issues Step 1: Commit and Push You...
Export and Containerize
What You Will Learn What files a Godot HTML5 export produces and why each one matters How to write a Dockerfile that correctly serves a Godot web export How to build a multi-architecture image and push it to ECR Step 1: Export from Godot You already know ho...
Project Overview
What You Will Learn What this project is and what the end result looks like The four steps you will follow to get your Godot game running on the cluster What you need before you start The Mission You are going to take a Godot game, export it as an HTML5 web...
Write the Kustomize Patches
What You Will Learn How to write a Deployment that runs your game container How to write a Service that gives the Deployment a stable internal address How to write an Ingress that exposes the Service to the internet with TLS How these three resources connect ...
Create the Tenant from Scratch
What You Will Learn How to create the tenant directory and namespace YAML How to write secrets into HashiCorp Vault using the CLI How to create ExternalSecret resources that pull secrets from Vault into Kubernetes How each field in an ExternalSecret maps to a...
Deploy Apps for the Faeries
What You Will Learn How to write a HelmRelease that tells Flux to install a Helm chart How Helm values map to running containers and their environment variables How to create Ingress resources with automatic TLS via Traefik How to update the kustomization.yam...
Plan the Tenant
What You Will Learn Why you should always plan a tenant before building it The complete resource inventory for the Radical Faeries What secrets each app needs and where they live in Vault The directory structure and file numbering plan Always Plan Before Yo...
Project Overview
What You Will Learn Who the Radical Faeries are and what they need from Junovy What you will build: two live apps with databases, secrets, and TLS How this project differs from Chapter 9 (more apps, more moving parts) The four phases of client onboarding Th...
Verify and Handoff
What You Will Learn How to commit, push, and trigger Flux reconciliation How to verify every resource is running correctly How to troubleshoot common deployment issues What to include in a client handoff Step 1: Register the Tenant in the Root Kustomization...
Adding a New Client
What You Will Learn The complete checklist for onboarding a new client from requirements to handoff How to create namespaces, set up secrets in Vault, and configure ExternalSecrets Common pitfalls to avoid when adding a new client The New Client Recipe Addi...