Skip to main content

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 ObjectOctoBlueprintVariablesOptions

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

String

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

String

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

String

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

String

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

String

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()