Documentation
¶
Overview ¶
Package svc provides service layer components for KSail.
This package contains the business logic layer that coordinates between the CLI commands and the underlying clients/infrastructure.
Subpackages:
- chat: AI chat integration with GitHub Copilot SDK
- detector: Installed component and cluster distribution detection
- diff: Configuration diff engine for cluster updates
- image: Container image export/import for Kind and K3d nodes
- installer: Component installers for CNI, CSI, GitOps engines, and cert-manager
- mcp: Model Context Protocol server for AI assistants
- provider: Infrastructure providers (Docker, Hetzner)
- provisioner: Cluster and registry provisioning for Vanilla, K3s, and Talos
- registryresolver: OCI registry detection, resolution, and artifact push
- state: Cluster state tracking for update operations
Directories
¶
| Path | Synopsis |
|---|---|
|
Package chat provides services for the AI chat assistant feature.
|
Package chat provides services for the AI chat assistant feature. |
|
Package detector detects installed Kubernetes components by querying the cluster via Helm release history and Kubernetes API.
|
Package detector detects installed Kubernetes components by querying the cluster via Helm release history and Kubernetes API. |
|
cluster
Package cluster detects Kubernetes cluster distribution, provider, and other attributes by analyzing kubeconfig contexts and server endpoints.
|
Package cluster detects Kubernetes cluster distribution, provider, and other attributes by analyzing kubeconfig contexts and server endpoints. |
|
gitops
Package gitops provides utilities for detecting existing Kubernetes resources in the source directory, such as GitOps Custom Resources managed by KSail.
|
Package gitops provides utilities for detecting existing Kubernetes resources in the source directory, such as GitOps Custom Resources managed by KSail. |
|
Package diff provides a DiffEngine that computes configuration differences between old and new ClusterSpec values and classifies their update impact into in-place, reboot-required, and recreate-required categories.
|
Package diff provides a DiffEngine that computes configuration differences between old and new ClusterSpec values and classifies their update impact into in-place, reboot-required, and recreate-required categories. |
|
Package image provides services for exporting and importing container images to and from Kubernetes cluster containerd runtimes.
|
Package image provides services for exporting and importing container images to and from Kubernetes cluster containerd runtimes. |
|
parser
Package parser provides utilities for parsing container image references from Dockerfiles.
|
Package parser provides utilities for parsing container image references from Dockerfiles. |
|
Package installer provides functionality for installing and uninstalling components.
|
Package installer provides functionality for installing and uninstalling components. |
|
argocd
Package argocdinstaller installs Argo CD via Helm.
|
Package argocdinstaller installs Argo CD via Helm. |
|
certmanager
Package certmanagerinstaller installs cert-manager via Helm.
|
Package certmanagerinstaller installs cert-manager via Helm. |
|
cloudproviderkind
Package cloudproviderkindinstaller provides a Helm-based installer for Cloud Provider KIND.
|
Package cloudproviderkindinstaller provides a Helm-based installer for Cloud Provider KIND. |
|
cni
Package cni provides unified CNI installer implementations and shared utilities for managing CNI providers on Kubernetes clusters.
|
Package cni provides unified CNI installer implementations and shared utilities for managing CNI providers on Kubernetes clusters. |
|
cni/calico
Package calicoinstaller provides an installer for installing Calico CNI on a Kubernetes cluster.
|
Package calicoinstaller provides an installer for installing Calico CNI on a Kubernetes cluster. |
|
cni/cilium
Package ciliuminstaller provides an installer for installing Cilium CNI on a Kubernetes cluster.
|
Package ciliuminstaller provides an installer for installing Cilium CNI on a Kubernetes cluster. |
|
flux
Package fluxinstaller provides an installer for installing Flux on a Kubernetes cluster.
|
Package fluxinstaller provides an installer for installing Flux on a Kubernetes cluster. |
|
gatekeeper
Package gatekeeperinstaller installs Gatekeeper via Helm.
|
Package gatekeeperinstaller installs Gatekeeper via Helm. |
|
hetznercsi
Package hetznercsiinstaller installs the Hetzner Cloud CSI driver via Helm.
|
Package hetznercsiinstaller installs the Hetzner Cloud CSI driver via Helm. |
|
internal/helmutil
Package helmutil provides shared helpers for Helm-based installer packages.
|
Package helmutil provides shared helpers for Helm-based installer packages. |
|
kubeletcsrapprover
Package kubeletcsrapproverinstaller provides an installer for kubelet-csr-approver on a Kubernetes cluster.
|
Package kubeletcsrapproverinstaller provides an installer for kubelet-csr-approver on a Kubernetes cluster. |
|
kyverno
Package kyvernoinstaller installs Kyverno via Helm.
|
Package kyvernoinstaller installs Kyverno via Helm. |
|
localpathstorage
Package localpathstorageinstaller provides installation of Rancher Local Path Provisioner for Kind clusters.
|
Package localpathstorageinstaller provides installation of Rancher Local Path Provisioner for Kind clusters. |
|
metallb
Package metallbinstaller installs MetalLB via Helm.
|
Package metallbinstaller installs MetalLB via Helm. |
|
metricsserver
Package metricsserverinstaller provides an installer for installing metrics-server on a Kubernetes cluster.
|
Package metricsserverinstaller provides an installer for installing metrics-server on a Kubernetes cluster. |
|
Package mcp provides an MCP server for exposing KSail commands as tools.
|
Package mcp provides an MCP server for exposing KSail commands as tools. |
|
Package provider defines infrastructure providers for running Kubernetes cluster nodes.
|
Package provider defines infrastructure providers for running Kubernetes cluster nodes. |
|
docker
Package docker provides a Docker-based infrastructure provider.
|
Package docker provides a Docker-based infrastructure provider. |
|
hetzner
Package hetzner implements provider.Provider for Hetzner Cloud servers.
|
Package hetzner implements provider.Provider for Hetzner Cloud servers. |
|
Package provisioner provides cluster and registry provisioning services.
|
Package provisioner provides cluster and registry provisioning services. |
|
cluster
Package clusterprovisioner provides cluster provisioning for KSail distributions.
|
Package clusterprovisioner provides cluster provisioning for KSail distributions. |
|
cluster/clustererr
Package clustererr provides common error types for cluster provisioners.
|
Package clustererr provides common error types for cluster provisioners. |
|
cluster/clusterupdate
Package clusterupdate provides shared types for cluster update operations.
|
Package clusterupdate provides shared types for cluster update operations. |
|
cluster/k3d
Package k3dprovisioner contains the K3d cluster provisioner and its client provider interfaces.
|
Package k3dprovisioner contains the K3d cluster provisioner and its client provider interfaces. |
|
cluster/kernelmod
Package kernelmod provides utilities for loading and checking Linux kernel modules required by cluster provisioners.
|
Package kernelmod provides utilities for loading and checking Linux kernel modules required by cluster provisioners. |
|
cluster/kind
Package kindprovisioner provides implementations of the ClusterProvisioner interface for provisioning Kind clusters.
|
Package kindprovisioner provides implementations of the ClusterProvisioner interface for provisioning Kind clusters. |
|
cluster/talos
Package talosprovisioner provides implementations of the ClusterProvisioner interface for provisioning Talos-in-Docker clusters.
|
Package talosprovisioner provides implementations of the ClusterProvisioner interface for provisioning Talos-in-Docker clusters. |
|
cluster/vcluster
Package vclusterprovisioner implements the cluster provisioner interface for vCluster's Docker driver (Vind).
|
Package vclusterprovisioner implements the cluster provisioner interface for vCluster's Docker driver (Vind). |
|
registry
Package registry centralizes all registry lifecycle helpers that KSail-Go needs for local development clusters.
|
Package registry centralizes all registry lifecycle helpers that KSail-Go needs for local development clusters. |
|
Package registryresolver provides OCI registry detection, resolution, and artifact push utilities.
|
Package registryresolver provides OCI registry detection, resolution, and artifact push utilities. |
|
Package state provides cluster state persistence for distributions that cannot introspect their running configuration (Kind, K3d).
|
Package state provides cluster state persistence for distributions that cannot introspect their running configuration (Kind, K3d). |
Click to show internal directories.
Click to hide internal directories.