Tools
tinysystems/http-module
v0.5.24Components
3 available- http_auth_parse
Extracts Basic Auth credentials from HTTP headers. In port receives: context + headers array. Out port always emits: {context, found, user, password}. If Authorization header with 'Basic' scheme found, decodes base64 and sets found=true with user/password. Otherwise found=false.
- http_request
Outbound HTTP request maker. Request port receives: context, method, timeout, URL, headers, contentType, body. Blocks until HTTP response received. On success (status < 400): emits context + response on Response port. On failure or status >= 400: returns error, or if enableErrorPort=true in settings, emits on Error port instead.
- http_server
HTTP request handler. The server does NOT run until a message arrives on the Start port — wire a signal (or cron) into Start to launch it (a cron would re-launch on every tick, so prefer signal for a long-running server). On start it exposes a public URL; read that URL from the _control port's ListenAddr (or enable the status port) — never guess the address. Each incoming HTTP request emits on Request port. Wire Request to processing logic, then wire result to Response port with statusCode (required), contentType (required), headers, body. To stop the server, enable the Stop port in settings and send it any message (context cancellation alone will NOT stop it — the runtime is distributed and durable).
Release notes
Tiny Systems HTTP Module
HTTP server and client components for building web-facing automations.
Components
| Component | Description |
|---|---|
| HTTP Server | Embedded HTTP server with configurable routes and TLS support |
| HTTP Client | Make outbound HTTP requests with full header and body control |
| Basic Auth Parser | Parse and validate HTTP Basic Authentication headers |
| OpenAPI Request | Make HTTP calls driven by an OpenAPI/Swagger specification |
Installation
helm repo add tinysystems https://tiny-systems.github.io/module/
helm install http-module tinysystems/tinysystems-operator \
--set controllerManager.manager.image.repository=ghcr.io/tiny-systems/http-module
Run locally
go run cmd/main.go run --name=http-module --namespace=tinysystems --version=1.0.0
Part of Tiny Systems
This module is part of the Tiny Systems platform -- a visual flow-based automation engine running on Kubernetes.
License
This module's source code is MIT-licensed. It depends on the Tiny Systems Module SDK (BSL 1.1). See LICENSE for details.
Required permissions
This module requires elevated Kubernetes RBAC permissions.
| API Group | Resources | Verbs |
|---|---|---|
core | pods | get |
core | services | getlistupdate |
networking.k8s.io | ingresses | getlistupdate |