Skip to content

Server

The SkillsCtl server is the registry backend. It stores skills, enforces ownership, and serves the ConnectRPC API that the CLI talks to.

GuideWhen to use
Local and DockerDevelopment, evaluation, single-machine deployments
Kubernetes (Helm)Production Kubernetes clusters
Nebari integrationClusters running the nebari-operator
Configuration referenceAll environment variables and OIDC setup

The server is a single Go binary. It uses SQLite for persistence (WAL mode, pure Go driver - no native dependencies). Skills and their content are stored in the database. The server exposes:

  • GET /healthz - health check, no auth required
  • GET /auth/config - returns OIDC settings so the CLI can self-configure, no auth required
  • GET /limits - returns configured upload limits (max tarball size, file count, per-file size), no auth required
  • GET /status - returns the build version and what the startup seed did, no auth required
  • POST /skillsctl.v1.RegistryService/* - ConnectRPC handlers for skill operations

When started without OIDC environment variables, the server runs in dev mode: auth is disabled and a default identity is injected for ownership tracking. This is safe for local development but should not be used in production.