OctoBlueprintVariablesOptions
Namespace: Meshmakers.Octo.Runtime.Contracts.Blueprints
Configuration for the default IBlueprintVariableProvider implementation.
Bound from the Blueprints section of the host's configuration (overridable via
OCTO_BLUEPRINTS__* environment variables) so the helm chart and per-environment
overlays can populate it without code changes.
public class OctoBlueprintVariablesOptions
Inheritance Object → OctoBlueprintVariablesOptions
Fields
SectionName
Default name of the configuration section bound to this options class.
public static string SectionName;
DefaultSystemTenantId
Default system-tenant identifier. Matches the long-standing OctoMesh convention
(OctoSystemConfiguration.SystemTenantId's default value) so blueprints
referencing ${octo.systemTenantId} work without explicit configuration.
public static string DefaultSystemTenantId;
DefaultEnvironment
Default deployment environment used when nothing is configured. Matches
ASPNETCORE_ENVIRONMENT=Development semantics — local developer workflows
should never accidentally see ${octo.environment} == "production".
public static string DefaultEnvironment;
Properties
OctoVersion
The current OctoMesh release exposed to blueprints as ${octo.version}.
Typically populated by the helm chart from .Chart.AppVersion and surfaced
to the container via OCTO_BLUEPRINTS__OCTOVERSION. When empty the variable
is still exported, but as an empty string — blueprints that depend on it should
declare a requires: on a non-empty value.
public string OctoVersion { get; set; }
Property Value
Environment
Deployment environment exposed to blueprints as ${octo.environment}.
Conventional values: dev, test, staging, production.
Defaults to OctoBlueprintVariablesOptions.DefaultEnvironment.
public string Environment { get; set; }
Property Value
SystemTenantId
Tenant identifier treated as the system tenant. Exposed to blueprints as
${octo.systemTenantId}; the ${octo.isSystemTenant} variable is
"true" when the current tenantId equals this value. Defaults to
OctoBlueprintVariablesOptions.DefaultSystemTenantId.
public string SystemTenantId { get; set; }
Property Value
Scheme
URL scheme used when blueprints compose service URLs from
OctoBlueprintVariablesOptions.Domain. Exposed as ${octo.scheme}. Defaults to
"https"; set to "http" in plain-HTTP environments
(compose-up smoke tests).
public string Scheme { get; set; }
Property Value
Remarks:
This pair of variables (OctoBlueprintVariablesOptions.Scheme + OctoBlueprintVariablesOptions.Domain) lets
blueprints compose per-service public URLs from a single per-cluster
domain instead of carrying one explicit URL setting per service. The
authoritative pattern is ${octo.scheme}://<slug>.${octo.domain}.
Hosts that need per-service overrides (e.g. dev environments where
services run on localhost with different ports) layer them on top
through the host-specific variable provider.
Domain
Public DNS suffix for service URLs in cluster deployments. Exposed
as ${octo.domain}. Empty by default — local dev environments
and hosts that do not use the per-cluster domain pattern leave it
unset and rely on per-service overrides. Trailing slashes are
stripped on the way out.
public string Domain { get; set; }
Property Value
Remarks:
Example values: "test-2.octo-mesh.com", "staging-1.octo-mesh.com".
Blueprints that depend on this variable being non-empty should
declare a requires: guard so they fail loudly when the host
forgets to set it instead of materialising an entity with a
half-composed URL.
Constructors
OctoBlueprintVariablesOptions()
public OctoBlueprintVariablesOptions()