Skip to content

Create a Module

The easiest way to contribute to the TinySystems ecosystem is to create your own module. A module is a Go program that packages one or more components into a Kubernetes operator.

Quick Start

  1. Use the example-module template repository
  2. Add your workspace Developer Key as a GitHub secret (TINY_DEV_SECRET) — works as an org-level secret too, so all your module repos share it
  3. Write your components
  4. Push a semver tag — GitHub Actions builds and publishes automatically
  5. Your module appears in your workspace, ready to install

For the full walkthrough, see Create Your Own Module.

How It Works

When you push a tag, the CI pipeline runs go run cmd/main.go tools build, which:

  • Introspects all registered components and generates JSON schemas for their ports
  • Publishes module metadata to the TinySystems platform
  • Builds a container image and pushes it to the platform's registry

Your module then shows up in your workspace's module list and can be installed into any connected cluster.

Organization Setup

If you maintain multiple modules, add TINY_DEV_SECRET as a GitHub organization secret once. Every module repo in your org will pick it up — no per-repo setup needed.

Build flow-based applications on Kubernetes