catalog

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package catalog resolves a module NAME to the coordinates `tiny` needs to install it, using the public, unauthenticated Tiny Systems catalog at api.tinysystems.io. No account, no key.

The key insight: every module installs from the SAME helm chart (tinysystems-operator). What varies per module is the container image (repo + tag) and whether it needs Kubernetes RBAC. So "resolve a module" means "look up its image + access flag" — the chart itself is constant.

Index

Constants

View Source
const DefaultBaseURL = "https://api.tinysystems.io"

DefaultBaseURL is the public catalog. Overridable for on-prem mirrors.

Variables

This section is empty.

Functions

This section is empty.

Types

type Module

type Module struct {
	// Name is what the user typed (e.g. "http-module" or "http-module-v0").
	Name string
	// FullName is workspace-qualified (e.g. "tinysystems/http-module-v0").
	// This is what the operator runs as `--name`, so node IDs the agent
	// builds line up with the module that reconciles them.
	FullName string
	// Repo + Tag are the container image coordinates fed to the operator chart.
	Repo string
	Tag  string
	// RequiresKubernetesAccess turns on the chart's baseline RBAC (pods,
	// services, deployments, ingresses) for modules that manage cluster
	// resources — http-module's port exposure, kubernetes-module's ops.
	RequiresKubernetesAccess bool
	// RequiresIngress / RequiresStorage tell us whether this module needs the
	// cluster's ingress class / storage class wired at install time.
	RequiresIngress bool
	RequiresStorage bool
}

Module is the resolved, install-ready view of a catalog module.

func Resolve

func Resolve(ctx context.Context, name string) (*Module, error)

Resolve looks up a module by name against the public catalog. Public module names carry a version suffix ("-v0"); as a convenience we accept the bare name and retry with the suffix so `tiny install http-module` works as well as `tiny install http-module-v0`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL