| Crates.io | greentic-config-types |
| lib.rs | greentic-config-types |
| version | 0.4.15 |
| created_at | 2025-12-14 13:22:07.08333+00 |
| updated_at | 2026-01-06 09:16:54.360805+00 |
| description | Schema-only types for Greentic host configuration (no IO) |
| homepage | |
| repository | https://github.com/greentic/greentic-config |
| max_upload_size | |
| id | 1984446 |
| size | 50,524 |
Schema-only types for Greentic host configuration. This crate defines the canonical configuration structures reused by runners, deployers, CLIs, and services.
greentic-types for shared identifiers (e.g., EnvId, DeploymentCtx, ConnectionKind).services, reconnect/backoff knobs in events.deployer.base_domain) live here so deploy tooling stays out of code defaults.*_ms) with u64 values.ConfigVersion is a string schema version (default "1").services.*.transport (HTTP/NATS/noop) is outbound connectivity to other Greentic services.services.*.service is inbound binding for the host itself (bind address/port/public URL/metrics).network.* is cross-cutting client/network behavior (proxy/TLS/timeouts) and should not be duplicated per-service.Admin endpoints are disabled by default and must be explicitly enabled via runtime.admin_endpoints.
[services.runner]
kind = "http"
url = "https://runner.greentic.local"
[services.runner.service]
bind_addr = "0.0.0.0"
port = 8080
public_base_url = "https://runner.greentic.local"
[services.runner.service.metrics]
enabled = true
bind_addr = "127.0.0.1"
port = 9090
path = "/metrics"
[services.store]
kind = "http"
url = "https://store.greentic.local"
[services.store.service]
bind_addr = "0.0.0.0"
port = 7070
[services.store.service.metrics]
enabled = true
port = 9191
[services.deployer]
kind = "nats"
url = "nats://nats.greentic.local:4222"
subject_prefix = "greentic"
[services.events]
url = "https://events.greentic.local"
# headers are non-secret metadata only and MUST NOT include secrets
# (e.g. Authorization, Cookie, Set-Cookie).
headers = { "x-routing-key" = "tenant-1" }
[events.reconnect]
enabled = true
max_retries = 25
[events.backoff]
initial_ms = 250
max_ms = 30000
multiplier = 2.0
jitter = true
[runtime.admin_endpoints]
# disabled by default
secrets_explain_enabled = true
[deployer]
# Default domain used when generating deployment URLs / routing domains.
base_domain = "deploy.greentic.ai"
[deployer.provider]
# Optional strategy hints; non-secret.
provider_kind = "aws"
region = "us-west-2"