Installing Modules

Modules provide the components you use in your flows. A module is a container image running as a Kubernetes operator; installing one makes its components appear in the palette.

The default catalog ships with tiny — install by bare name:

tiny install llm-module

Installing from someone else's index? Register it once, then install the same way:

tiny repo add <alias> <index-url>
tiny install <module-name>

From an MCP session the same happens through tools: list_available_modules to browse, get_module_readme to inspect, install_module to install — prompt-built agents do this on demand when they need a missing capability.

From the hosted platform

Module Catalog

Browsing Modules

Access the module catalog from:

  1. Workspace Dashboard > Modules
  2. Or during flow editing > Node Palette > Get More Modules
+-------------------------------------------------------------------+
| Module Catalog                                      [Search...]   |
+-------------------------------------------------------------------+
| Official Modules                                                  |
| +-- common-module    General purpose components       [Install]   |
| +-- http-module      HTTP server and client          [Installed]  |
| +-- database-module  Database connectors              [Install]   |
|                                                                   |
| Community Modules                                                 |
| +-- slack-module     Slack integration                [Install]   |
| +-- aws-module       AWS service connectors           [Install]   |
+-------------------------------------------------------------------+

Module Information

Click a module to see details:

  • Description: What the module does
  • Components: List of included components
  • Version: Available versions
  • Requirements: Resource requirements
  • Documentation: Usage guide

Installing a Module

From Catalog

  1. Find the module in the catalog
  2. Click Install
  3. Configure options:
+-------------------------------------------------------------------+
| Install: common-module                                            |
+-------------------------------------------------------------------+
| Version: [v1.5.0 v]                                               |
|                                                                   |
| Target Cluster: [production-gke v]                                |
|                                                                   |
| Configuration                                                     |
| +-- Replicas: [2]                                                 |
| +-- CPU Request: [100m]                                           |
| +-- Memory Request: [128Mi]                                       |
| +-- Enable Metrics: [x]                                           |
|                                                                   |
|                                       [Cancel] [Install]          |
+-------------------------------------------------------------------+
  1. Click Install
  2. Wait for deployment to complete

Installation Status

Monitor installation progress:

Installing common-module v1.5.0 to production-gke

[▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░] 80%

✅ Created namespace resources
✅ Applied RBAC permissions
✅ Deployed module pods
⏳ Waiting for pods to be ready...

[View Logs] [Cancel]

Via Helm (no magic)

A module is an image plus one shared operator chart — nothing requires the CLI:

helm repo add tinysystems https://tiny-systems.github.io/module/
helm repo update

helm install tinysystems-common-module-v1 tinysystems/tinysystems-operator \
  --namespace tinysystems \
  --set controllerManager.manager.image.repository=ghcr.io/tiny-systems/common-module \
  --set controllerManager.manager.image.tag=<version>

Each module's page on tinysystems.io/modules carries its exact chart values.

Version Management

Available Versions

Modules support multiple versions:

VersionStatusNotes
v1.5.0LatestCurrent stable
v1.4.2StablePrevious stable
v1.4.1StableBug fixes
v1.3.0DeprecatedSecurity update available

Updating Modules

  1. Go to Modules > Installed module
  2. Click Update
  3. Select target version
  4. Review changes
  5. Click Update
+-------------------------------------------------------------------+
| Update common-module                                              |
+-------------------------------------------------------------------+
| Current Version: v1.4.2                                           |
| Target Version: [v1.5.0 v]                                        |
|                                                                   |
| Changes in v1.5.0:                                                |
| - Added new Router conditions                                     |
| - Improved Modify performance                                     |
| - Fixed memory leak in Split component                            |
|                                                                   |
| WARNING: Breaking Changes: None                                   |
|                                                                   |
|                                       [Cancel] [Update]           |
+-------------------------------------------------------------------+

Rollback

If an update causes issues:

  1. Go to module settings
  2. Click Rollback
  3. Select previous version
  4. Confirm rollback

Multi-Cluster Installation

Install to Multiple Clusters

Deploy the same module across clusters:

  1. Select module
  2. Click Install to Clusters
  3. Select target clusters
  4. Configure per-cluster settings (optional)
  5. Click Install All

Consistent Versions

Ensure version consistency:

# Module versions across clusters
Cluster           Module          Version
-----------------------------------------
production-gke    common-module   v1.5.0
staging-eks       common-module   v1.5.0
dev-local         common-module   v1.5.0

Uninstalling Modules

Before Uninstalling

Check for dependencies:

  1. Review flows using this module
  2. Identify affected TinyNodes
  3. Plan migration or removal

Uninstall Process

  1. Go to Modules > Installed module
  2. Click Uninstall
  3. Review impact:
+-------------------------------------------------------------------+
| Uninstall common-module                                           |
+-------------------------------------------------------------------+
| WARNING: This will affect the following:                          |
|                                                                   |
| Flows (3):                                                        |
| - Order Processing - 5 nodes using this module                    |
| - Data Sync - 2 nodes using this module                           |
| - Notifications - 1 node using this module                        |
|                                                                   |
| These nodes will stop working after uninstall.                    |
|                                                                   |
|                              [Cancel] [Uninstall Anyway]          |
+-------------------------------------------------------------------+
  1. Confirm uninstallation

Cleanup

After uninstalling:

  • TinyNodes using the module become orphaned
  • Remove or reconfigure affected flows
  • Update any dependencies

Private Modules

Installing Custom Modules

For private/custom modules:

  1. Go to Modules > Add Custom
  2. Enter module details:
+-------------------------------------------------------------------+
| Add Custom Module                                                 |
+-------------------------------------------------------------------+
| Name: my-custom-module                                            |
|                                                                   |
| Image: ghcr.io/myorg/my-module:v1.0.0                             |
|                                                                   |
| Registry Credentials (optional):                                  |
| +-- Registry: ghcr.io                                             |
| +-- Username: myuser                                              |
| +-- Password: ********                                            |
|                                                                   |
|                                         [Cancel] [Add]            |
+-------------------------------------------------------------------+

Registry Authentication

For private registries:

# Create pull secret in cluster
kubectl create secret docker-registry my-registry-cred \
  --docker-server=ghcr.io \
  --docker-username=myuser \
  --docker-password=mytoken \
  -n tinysystems

Then reference in module configuration.

Troubleshooting Installation

Installation Stuck

If installation hangs:

  1. Check cluster connectivity
  2. Verify RBAC permissions
  3. Check resource availability
  4. Review pod events
kubectl get events -n tinysystems --sort-by='.lastTimestamp'
kubectl get pods -n tinysystems

Image Pull Errors

If pods can't pull images:

  1. Verify image exists
  2. Check registry credentials
  3. Confirm network access
kubectl describe pod <pod-name> -n tinysystems | grep -A 5 "Events"

Version Conflicts

If version requirements conflict:

  1. Check component dependencies
  2. Update to compatible versions
  3. Review release notes

Next Steps