add-k8s-service

Automate Kubernetes service deployment with Flux and GitOps templates.

Updated Jun 9, 2025
One-click install
npx skills add https://github.com/shelken/home-ops --skill add-k8s-service
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: add-k8s-service
Source: https://github.com/shelken/home-ops/tree/main/.claude/skills/add-k8s-service
Command: npx skills add https://github.com/shelken/home-ops --skill add-k8s-service

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill simplifies adding new standard Kubernetes services to an existing cluster using a GitOps workflow. It standardizes the deployment process so that teams can reliably deploy applications with consistent configurations.

Core Features & Use Cases

  • Flux/Kustomize driven: Create a Flux kustomization package for each new service under k8s/apps/common/<app-name>/ with a HelmRelease and necessary resources.
  • Template-driven deployment: Reuse a common app-template to ensure consistent routing, secrets handling, and resource limits.
  • Use Case: When a new app is requested, create the k8s/apps/common/<app-name>/ structure, commit, and push; Flux will apply changes automatically.

Quick Start

Create the following structure under k8s/apps/common/<app-name>:

  • ks.yaml (Flux Kustomization)
  • app/
    • kustomization.yaml
    • helmrelease.yaml
    • externalsecret.yaml (optional) Then commit and push to trigger Flux sync.

Frequently Asked Questions about add-k8s-service

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add a new Kubernetes service using Flux GitOps?

To add a Kubernetes service via Flux GitOps, you create a directory structure under k8s/apps/common/<app-name>/ containing a Flux Kustomization, Kustomization manifest, and HelmRelease. Committing and pushing these files triggers Flux to automatically sync and deploy the application.

What file structure is required for deploying standard Kubernetes apps with Kustomize?

Deploying standard Kubernetes apps requires a structure under k8s/apps/common/<app-name>/ including ks.yaml, an app/ directory containing kustomization.yaml, helmrelease.yaml, and an optional externalsecret.yaml for secrets management.

Do I need an existing FluxCD environment to onboard new applications with this GitOps workflow?

Yes, an existing FluxCD and Kubernetes environment is required. The deployment process relies on Flux automatically applying the template-based configurations you commit to the repository.

How does template-driven deployment standardize routing and resource limits for new Kubernetes services?

Template-driven deployment standardizes configurations by reusing a common app-template to generate the HelmRelease and Kustomization files. This ensures every new service receives consistent routing, resource limits, and secrets handling.

Can I include external secrets when onboarding applications via GitOps?

Yes, you can include external secrets by adding an optional externalsecret.yaml file within the app/ directory of your k8s/apps/common/<app-name>/ structure. This integrates secrets handling directly into the standard deployment template.