ulams stack
Generated from front/cli (ulams schema)
ulams stack down
Section titled “ulams stack down”Stop this stack, keeping persistent data unless –purge is requested.
Kind: write (idempotent). Stability: stable. MCP tool: stack_down (not exposed). Scopes: none.
| Flag | Type | Required | Description |
|---|---|---|---|
--directory |
string | ||
--purge |
boolean | Explicitly delete owned persistent data; requires –yes. |
# Keep dataulams stack down# Delete own dataulams stack down --purge --yesInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "directory": { "type": "string" }, "purge": { "default": false, "description": "Explicitly delete owned persistent data; requires --yes.", "type": "boolean" } }}ulams stack render
Section titled “ulams stack render”Generate inspectable deployment files and private credentials without starting services.
Kind: write (idempotent). Stability: stable. MCP tool: stack_render (not exposed). Scopes: none.
| Flag | Type | Required | Description |
|---|---|---|---|
--directory |
string | Install directory; default ./ulams-stack. Reuse it to resume. | |
--target |
string | ||
--mode |
string | ||
--name |
string | Compose project / Kubernetes namespace; default ulams. | |
--domain |
string | ||
--tenant |
string | Initial academy slug; default academy. | |
--admin-email |
string | ||
--http-port |
integer | Gateway HTTP port; defaults to 8480 locally and 80 in production. | |
--https-port |
integer | ||
--tls |
string | Production TLS issuer; internal is for private networks/tests. | |
--image-registry |
string | Application image prefix; default ghcr.io/ulams-dev. | |
--image-tag |
string | Matching application image release; latest resolves and pins a complete SHA release. | |
--context |
string | kubectl context; never changes the current context. | |
--storage-class |
string | ||
--gateway |
string | ||
--node-port |
integer | ||
--ready-timeout |
integer |
# Inspect Kubernetesulams stack render --target kubernetes --directory ./my-stackInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "directory": { "description": "Install directory; default ./ulams-stack. Reuse it to resume.", "type": "string", "minLength": 1 }, "target": { "type": "string", "enum": [ "docker", "kubernetes" ] }, "mode": { "type": "string", "enum": [ "development", "production" ] }, "name": { "description": "Compose project / Kubernetes namespace; default ulams.", "type": "string", "pattern": "^[a-z][a-z0-9-]{1,39}$" }, "domain": { "type": "string", "pattern": "^(?=.{1,180}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$" }, "tenant": { "description": "Initial academy slug; default academy.", "type": "string", "pattern": "^[a-z][a-z0-9]{1,29}$" }, "admin_email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "http_port": { "description": "Gateway HTTP port; defaults to 8480 locally and 80 in production.", "type": "integer", "minimum": 1, "maximum": 65535 }, "https_port": { "type": "integer", "minimum": 1, "maximum": 65535 }, "tls": { "description": "Production TLS issuer; internal is for private networks/tests.", "type": "string", "enum": [ "acme", "internal" ] }, "image_registry": { "description": "Application image prefix; default ghcr.io/ulams-dev.", "type": "string", "pattern": "^[a-z0-9][a-z0-9./:_-]*$" }, "image_tag": { "description": "Matching application image release; latest resolves and pins a complete SHA release.", "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$" }, "context": { "description": "kubectl context; never changes the current context.", "type": "string", "minLength": 1 }, "storage_class": { "type": "string", "pattern": "^[a-z0-9][a-z0-9.-]*$" }, "gateway": { "type": "string", "enum": [ "LoadBalancer", "NodePort", "ClusterIP" ] }, "node_port": { "type": "integer", "minimum": 30000, "maximum": 32767 }, "ready_timeout": { "default": 900, "type": "integer", "minimum": 30, "maximum": 3600 } }}ulams stack status
Section titled “ulams stack status”Show resources and URLs of this CLI-owned stack.
Kind: read (idempotent). Stability: stable. MCP tool: stack_status (not exposed). Scopes: none.
| Flag | Type | Required | Description |
|---|---|---|---|
--directory |
string |
# Statusulams stack status --jsonInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "directory": { "type": "string" } }}ulams stack up
Section titled “ulams stack up”Launch or resume a complete development/production stack with Docker or Kubernetes.
Kind: write (idempotent). Stability: stable. MCP tool: stack_up (not exposed). Scopes: none.
| Flag | Type | Required | Description |
|---|---|---|---|
--directory |
string | Install directory; default ./ulams-stack. Reuse it to resume. | |
--target |
string | ||
--mode |
string | ||
--name |
string | Compose project / Kubernetes namespace; default ulams. | |
--domain |
string | ||
--tenant |
string | Initial academy slug; default academy. | |
--admin-email |
string | ||
--http-port |
integer | Gateway HTTP port; defaults to 8480 locally and 80 in production. | |
--https-port |
integer | ||
--tls |
string | Production TLS issuer; internal is for private networks/tests. | |
--image-registry |
string | Application image prefix; default ghcr.io/ulams-dev. | |
--image-tag |
string | Matching application image release; latest resolves and pins a complete SHA release. | |
--context |
string | kubectl context; never changes the current context. | |
--storage-class |
string | ||
--gateway |
string | ||
--node-port |
integer | ||
--ready-timeout |
integer |
# Local Phase 2 trialulams stack up# Serverulams stack up --mode production --domain learn.example.org# Kubernetesulams stack up --target kubernetes --mode production --domain learn.example.orgInput JSON Schema
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "directory": { "description": "Install directory; default ./ulams-stack. Reuse it to resume.", "type": "string", "minLength": 1 }, "target": { "type": "string", "enum": [ "docker", "kubernetes" ] }, "mode": { "type": "string", "enum": [ "development", "production" ] }, "name": { "description": "Compose project / Kubernetes namespace; default ulams.", "type": "string", "pattern": "^[a-z][a-z0-9-]{1,39}$" }, "domain": { "type": "string", "pattern": "^(?=.{1,180}$)[a-z0-9]+(?:[.-][a-z0-9]+)*$" }, "tenant": { "description": "Initial academy slug; default academy.", "type": "string", "pattern": "^[a-z][a-z0-9]{1,29}$" }, "admin_email": { "type": "string", "format": "email", "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$" }, "http_port": { "description": "Gateway HTTP port; defaults to 8480 locally and 80 in production.", "type": "integer", "minimum": 1, "maximum": 65535 }, "https_port": { "type": "integer", "minimum": 1, "maximum": 65535 }, "tls": { "description": "Production TLS issuer; internal is for private networks/tests.", "type": "string", "enum": [ "acme", "internal" ] }, "image_registry": { "description": "Application image prefix; default ghcr.io/ulams-dev.", "type": "string", "pattern": "^[a-z0-9][a-z0-9./:_-]*$" }, "image_tag": { "description": "Matching application image release; latest resolves and pins a complete SHA release.", "type": "string", "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,127}$" }, "context": { "description": "kubectl context; never changes the current context.", "type": "string", "minLength": 1 }, "storage_class": { "type": "string", "pattern": "^[a-z0-9][a-z0-9.-]*$" }, "gateway": { "type": "string", "enum": [ "LoadBalancer", "NodePort", "ClusterIP" ] }, "node_port": { "type": "integer", "minimum": 30000, "maximum": 32767 }, "ready_timeout": { "default": 900, "type": "integer", "minimum": 30, "maximum": 3600 } }}