By the end of this guide, you will have a production-ready Maverics Orchestrator deployment with environment-specific configuration, health monitoring, and automated restarts.This guide focuses on production deployment — not installation. If you have not yet installed the Orchestrator, start with the installation reference for system requirements and platform options. This guide picks up where installation leaves off, covering the production-specific concerns that matter when real users depend on your deployment.
Console terminology: In the Maverics Console, Orchestrator instances and
configuration delivery are managed through Deployments. When working directly
with YAML, configuration is managed as files delivered via the -config flag or
MAVERICS_CONFIG environment variable.
The Orchestrator installed — See the installation reference for system requirements and installation methods.
A working configuration file — You should have a YAML configuration that works in development. See the configuration reference for config file structure.
A target environment — Docker, Kubernetes, a Linux/macOS host, or a Windows server where the Orchestrator will run.
Production configuration differs from development in a few important ways. In development, you might hardcode secrets and use default ports. In production, you want secrets managed externally, environment-specific values injected at runtime, and explicit resource boundaries.The Orchestrator supports environment variable substitution in YAML configuration — so you can keep a single config file and vary behavior per environment. For secrets like IdP client credentials and TLS certificates, use an external secret provider instead of putting values directly in your config file.Key production configuration concerns:
Secrets — Use a secret provider (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) instead of plaintext values
External config sources — Pull configuration from a config source for centralized management across multiple Orchestrator instances
Logging — Set log level to info or warn for production (not debug). See the Monitor guide for full observability setup
Console UI
Configuration
Console UI documentation is coming soon. This section will walk you
through configuring this component using the Maverics Console’s visual
interface, including step-by-step screenshots and field descriptions.
Production configuration settings in Maverics Console
A minimal production maverics.yaml uses environment variable substitution for environment-specific values and secret references for sensitive data:
Use {{ env.VAR }} for values that change between environments (addresses, URLs, non-sensitive IDs). Use <namespace.key> for secrets that should be retrieved from a secret provider at runtime.See Configuration Reference for complete config file structure.
Keep your production configuration in version control — but use environment variable references for anything sensitive. This way your config file is auditable without exposing secrets.
2
Configure secret provider
Secret providers are configured via the MAVERICS_SECRET_PROVIDER environment variable or the -secretProvider CLI flag — not in YAML. Only one secret provider may be active at a time.
Console UI
Configuration
Console UI documentation is coming soon. This section will walk you
through configuring this component using the Maverics Console’s visual
interface, including step-by-step screenshots and field descriptions.
Secret provider selection in Maverics Console
Secret providers are configured via environment variable or CLI flag, not in YAML configuration. The examples below show shell commands for setting up each provider type.
The Orchestrator is small and lightweight — it deploys almost anywhere. Choose the deployment model that matches your infrastructure.Docker deployment is the simplest path to production. Mount your configuration file and any TLS certificates, expose the Orchestrator’s listening port, and set environment variables for secrets.Kubernetes deployment is ideal for teams already running workloads on Kubernetes. The Orchestrator runs as a Deployment with a Service, and you configure it through ConfigMaps (for YAML configuration) and Secrets (for credentials). Kubernetes also gives you built-in health check integration, rolling updates, and automatic restarts. Strata provides an official Helm chart for streamlined Kubernetes installation.Windows deployment is supported via the MSI installer, which registers the Orchestrator as a Windows service with automatic startup. The installer provides a guided setup for configuration source, TLS certificates, and environment variables.
Console UI
Configuration
Console UI documentation is coming soon. This section will walk you
through configuring this component using the Maverics Console’s visual
interface, including step-by-step screenshots and field descriptions.
Deployment target selection in Maverics Console
CLI invocation — The Orchestrator accepts the following flags:
Whichever deployment model you choose, the Orchestrator behaves the same way. The only differences are how you deliver the configuration file and how you manage the process lifecycle (restarts, scaling, health checks).
4
Configure health checks and readiness probes
The Orchestrator exposes a health endpoint that reports its operational status — whether it has started successfully and is ready to handle traffic. In production, you should configure your infrastructure to poll this endpoint and take action when the Orchestrator is unhealthy.The status endpoint returns a JSON response indicating the Orchestrator’s operational state. Your load balancer, container orchestrator, or process manager can use this endpoint to:
Route traffic only to healthy instances — Remove unhealthy instances from the load balancer pool
Restart failed instances — Kubernetes liveness probes and Docker restart policies use health checks to detect and recover from failures automatically
Block traffic during startup — Readiness probes prevent traffic from reaching an instance before it has finished initializing
# Check the status endpointcurl -s https://localhost:9443/status | jq .
{ "status": "up"}
Console UI
Configuration
Console UI documentation is coming soon. This section will walk you
through configuring this component using the Maverics Console’s visual
interface, including step-by-step screenshots and field descriptions.
Health check configuration in Maverics Console
Configure the health endpoint path and heartbeat monitoring:
docker run -d \ --health-cmd="curl -kf https://localhost:9443/status || exit 1" \ --health-interval=15s \ --health-timeout=5s \ --health-retries=3 \ # ... rest of docker run command
5
Verify the deployment
With the Orchestrator deployed and health checks configured, verify that everything is working end-to-end. Start by confirming the health endpoint returns a healthy status, then test the full authentication flow.
# Verify statuscurl -s https://your-orchestrator-host:9443/status | jq .# Check that the Orchestrator is serving trafficcurl -I https://your-orchestrator-host:9443/
Walk through the full user flow to confirm end-to-end functionality:
Visit a protected URL — You should be redirected to your identity provider
Authenticate — Log in with valid credentials
Verify redirect — After authentication, you should land on your protected application
Check logs — Confirm the Orchestrator logged the authentication event
Success! Your Orchestrator is deployed in production with environment-specific
configuration, health monitoring, and automated restarts. The health endpoint
reports a healthy status, and the full authentication flow works end-to-end.
Check the Orchestrator’s startup logs for the specific error. The most common
causes are:
Invalid YAML — Indentation errors, missing colons, or unclosed quotes.
Run your config through a YAML validator.
Missing required fields — The Orchestrator validates its configuration on
startup and logs which fields are missing.
Port conflict — Another process is already using the configured listening
port. Check with lsof -i :8080 or change the port in your configuration.
Permission denied — The Orchestrator process does not have permission to
read the config file, TLS certificates, or bind to the configured port.
Configuration not loading from external source
If you are using an external config source,
verify that:
The config source credentials are correct and the Orchestrator can reach the
external service over the network
The config source path or key matches what the Orchestrator expects
Environment variables referenced in the configuration are set in the
Orchestrator’s runtime environment (not just your local shell)
Enable debug logging temporarily to see the exact config source requests and
responses.
Health check returns unhealthy or times out
An unhealthy status usually means one or more connectors failed to initialize.
Check the Orchestrator’s logs for startup errors.If the health endpoint times out entirely, the Orchestrator may not be listening
on the expected port. Verify the port configuration and check that no firewall
rules are blocking access to the health endpoint.
Full reference for configuration file structure, environment variables, and runtime settings
Scale for Production
Scale your deployment horizontally with sticky sessions and Redis caching
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Maverics Documentation","colors":{"primary":"#1DA1DC","light":"#2FCAFF","dark":"#0086C0"},"logo":{"light":"https://mintcdn.com/strataidentity/GnMIwAgmQ7Rnxm8R/logo/light.svg?fit=max\u0026auto=format\u0026n=GnMIwAgmQ7Rnxm8R\u0026q=85\u0026s=f75039b8474c2403c381ef74fdbee428","dark":"https://mintcdn.com/strataidentity/GnMIwAgmQ7Rnxm8R/logo/dark.svg?fit=max\u0026auto=format\u0026n=GnMIwAgmQ7Rnxm8R\u0026q=85\u0026s=c18e3db0543ce5426f86c06a48cfceba","href":"https://www.strata.io"},"favicon":"https://mintcdn.com/strataidentity/bx_Hbkhp9SuRuU18/favicon.svg?fit=max\u0026auto=format\u0026n=bx_Hbkhp9SuRuU18\u0026q=85\u0026s=7a515a8aae3869956b801d7d0a8a555c","appearance":{"default":"dark","strict":false},"navbar":{"links":[{"href":"https://strataidentity.my.site.com/support/s/","label":"Support"}],"primary":{"type":"button","label":"Console Login","href":"https://maverics.strata.io"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/strata-identity","github":"https://github.com/strata-io","x":"https://x.com/strataidentity","youtube":"https://www.youtube.com/@strataidentity"},"links":[{"header":"Resources","items":[{"label":"Legacy Docs","href":"https://legacy-docs.strata.io"}]},{"header":"Help","items":[{"label":"Status","href":"https://status.strata.io/"},{"label":"Support Center","href":"https://strataidentity.my.site.com/support/s"}]},{"header":"Terms and Policy","items":[{"label":"Privacy Policy","href":"https://www.strata.io/privacy-policy"},{"label":"Trust Center","href":"https://security-trust.strata.io/"},{"label":"Cookie Declaration","href":"https://www.strata.io/legal/cookiebot-declaration"}]}]},"integrations":{"cookies":{"key":"cookieconsent_analytics_allowed","value":"true"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"Looks like this page has moved or doesn't exist yet. Try searching the docs or head back to the [homepage](/introduction/overview). If you're looking for older content, it might still be on the [legacy documentation site](https://legacy-docs.strata.io)."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"strataidentity","hasAudioNarration":false,"actualSubdomain":"strataidentity","customDomains":["docs.strata.io"],"gitSource":{"type":"github","owner":"strata-io","repo":"docs.strata.io","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3d6c44d8c75cc1299ac11","collectionId":"7746a22e-510d-4f26-92ad-5de380a5565d","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3d6c44d8c75cc1299ac11"},"feedback":{"thumbs":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae3d6c44d8c75cc1299ac11","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Reference","count":102},{"language":"default","tag":"Orchestration","count":90},{"language":"default","tag":"Guides","count":31},{"language":"default","tag":"Identity Fabric","count":31},{"language":"default","tag":"Configuration","count":18},{"language":"default","tag":"Console Administration","count":12},{"language":"default","tag":"Authentication","count":9},{"language":"default","tag":"Changelog","count":8},{"language":"default","tag":"Config Sources","count":8},{"language":"default","tag":"Secret Providers","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"footer{margin-top:2rem!important}"}],"page":{"pagePath":"guides/operations/deploy","slug":"/guides/operations/deploy","pageMetadata":{"title":"Deploy to Production","icon":"rocket","description":null,"href":"/guides/operations/deploy"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CardGroup,Check,CodeBlock,Frame,Heading,Info,Note,OptimizedImage,Step,Steps,Tab,Table,Tabs,Tip}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Check)_missingMdxReference(`Check`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`By the end of this guide, you will have a production-ready Maverics Orchestrator deployment with environment-specific configuration, health monitoring, and automated restarts.`}),`\n`,_jsxs(_components.p,{children:[`This guide focuses on production deployment — not installation. If you have not yet installed the Orchestrator, start with the `,_jsx(_components.a,{href:`/reference/orchestrator/installation`,children:`installation reference`}),` for system requirements and platform options. This guide picks up where installation leaves off, covering the production-specific concerns that matter when real users depend on your deployment.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Console terminology:`}),` In the Maverics Console, Orchestrator instances and\nconfiguration delivery are managed through `,_jsx(_components.strong,{children:`Deployments`}),`. When working directly\nwith YAML, configuration is managed as files delivered via the `,_jsx(_components.code,{children:`-config`}),` flag or\n`,_jsx(_components.code,{children:`MAVERICS_CONFIG`}),` environment variable.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`The Orchestrator installed`}),` — See the `,_jsx(_components.a,{href:`/reference/orchestrator/installation`,children:`installation reference`}),` for system requirements and installation methods.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A working configuration file`}),` — You should have a YAML configuration that works in development. See the `,_jsx(_components.a,{href:`/reference/orchestrator/configuration`,children:`configuration reference`}),` for config file structure.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`A target environment`}),` — Docker, Kubernetes, a Linux/macOS host, or a Windows server where the Orchestrator will run.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`deploy-to-production`,children:`Deploy to Production`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Prepare production configuration`,children:[_jsx(_components.p,{children:`Production configuration differs from development in a few important ways. In development, you might hardcode secrets and use default ports. In production, you want secrets managed externally, environment-specific values injected at runtime, and explicit resource boundaries.`}),_jsxs(_components.p,{children:[`The Orchestrator supports environment variable substitution in YAML configuration — so you can keep a single config file and vary behavior per environment. For secrets like IdP client credentials and TLS certificates, use an external `,_jsx(_components.a,{href:`/reference/orchestrator/configuration/secret-providers`,children:`secret provider`}),` instead of putting values directly in your config file.`]}),_jsx(_components.p,{children:`Key production configuration concerns:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Secrets`}),` — Use a `,_jsx(_components.a,{href:`/reference/orchestrator/configuration/secret-providers`,children:`secret provider`}),` (HashiCorp Vault, AWS Secrets Manager, Azure Key Vault) instead of plaintext values`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`External config sources`}),` — Pull configuration from a `,_jsx(_components.a,{href:`/reference/orchestrator/configuration/config-sources`,children:`config source`}),` for centralized management across multiple Orchestrator instances`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`TLS`}),` — Enable TLS termination at the Orchestrator or ensure your load balancer handles it. See the `,_jsx(_components.a,{href:`/reference/orchestrator/tls-security`,children:`Transport Layer Security (TLS) Reference`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Logging`}),` — Set log level to `,_jsx(_components.code,{children:`info`}),` or `,_jsx(_components.code,{children:`warn`}),` for production (not `,_jsx(_components.code,{children:`debug`}),`). See the `,_jsx(_components.a,{href:`/guides/operations/monitor`,children:`Monitor guide`}),` for full observability setup`]}),`\n`]}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Console UI`,id:`console-ui`,children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Console UI documentation is coming soon.`}),` This section will walk you\nthrough configuring this component using the Maverics Console’s visual\ninterface, including step-by-step screenshots and field descriptions.`]})}),_jsx(Frame,{caption:`Production configuration settings in Maverics Console`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=ea8d2ec72a69d5a8c7955d78abba6a30`,alt:`Production configuration panel in Maverics Console showing environment variables and secret provider settings`,\"data-og-width\":`800`,width:`800`,\"data-og-height\":`400`,height:`400`,\"data-path\":`images/placeholder.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=280\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=8915bedc81639825bb64f4b29741511e 280w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=560\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=2391aa0bf01425e8995a1b8684607380 560w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=840\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=134f31ce48f4902f27e417082e7da90c 840w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=c17116c17f12c64573cc737986cbe837 1100w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=f1e0a37a82ab3dbb2b0ba6b0f9cc04ca 1650w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=190ef650fddf11454c2bc9b2482c05b6 2500w`})})]}),_jsxs(Tab,{title:`Configuration`,id:`configuration`,children:[_jsxs(_components.p,{children:[`A minimal production `,_jsx(_components.code,{children:`maverics.yaml`}),` uses environment variable substitution for environment-specific values and secret references for sensitive data:`]}),_jsx(CodeBlock,{filename:`maverics.yaml`,numberOfLines:`38`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`38`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`version`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`http`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` address`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.MAVERICS_HTTP_ADDRESS }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` tls`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"default\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`tls`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"default\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` certFile`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.TLS_CERT_PATH }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` keyFile`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.TLS_KEY_PATH }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` minVersion`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1.2\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`logger`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` level`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"info\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` jsonOutput`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`health`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` location`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/status\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` heartbeat`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` interval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"60s\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`connectors`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`my-idp`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`oidc`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` oauthClientID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.OIDC_CLIENT_ID }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` oauthClientSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cvault.oidc-client-secret>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` oidcWellKnownURL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.OIDC_WELL_KNOWN_URL }}\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`apps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`my-app`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`proxy`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` upstream`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.APP_UPSTREAM_URL }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` routePatterns`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"{{ env.APP_ROUTE_PATTERN }}\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` policies`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`location`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` authentication`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` idps`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"my-idp\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`{{ env.VAR }}`}),` for values that change between environments (addresses, URLs, non-sensitive IDs). Use `,_jsx(_components.code,{children:`\u003cnamespace.key>`}),` for secrets that should be retrieved from a secret provider at runtime.`]}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/reference/orchestrator/configuration`,children:`Configuration Reference`}),` for complete config file structure.`]})]})]}),_jsx(Tip,{children:_jsx(_components.p,{children:`Keep your production configuration in version control — but use environment variable references for anything sensitive. This way your config file is auditable without exposing secrets.`})})]}),_jsxs(Step,{title:`Configure secret provider`,children:[_jsxs(_components.p,{children:[`Secret providers are configured via the `,_jsx(_components.code,{children:`MAVERICS_SECRET_PROVIDER`}),` environment variable or the `,_jsx(_components.code,{children:`-secretProvider`}),` CLI flag — not in YAML. Only one secret provider may be active at a time.`]}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Console UI`,id:`console-ui-2`,children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Console UI documentation is coming soon.`}),` This section will walk you\nthrough configuring this component using the Maverics Console’s visual\ninterface, including step-by-step screenshots and field descriptions.`]})}),_jsx(Frame,{caption:`Secret provider selection in Maverics Console`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=ea8d2ec72a69d5a8c7955d78abba6a30`,alt:`Secret provider configuration in Maverics Console`,\"data-og-width\":`800`,width:`800`,\"data-og-height\":`400`,height:`400`,\"data-path\":`images/placeholder.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=280\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=8915bedc81639825bb64f4b29741511e 280w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=560\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=2391aa0bf01425e8995a1b8684607380 560w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=840\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=134f31ce48f4902f27e417082e7da90c 840w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=c17116c17f12c64573cc737986cbe837 1100w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=f1e0a37a82ab3dbb2b0ba6b0f9cc04ca 1650w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=190ef650fddf11454c2bc9b2482c05b6 2500w`})})]}),_jsxs(Tab,{title:`Configuration`,id:`configuration-2`,children:[_jsx(Note,{children:_jsx(_components.p,{children:`Secret providers are configured via environment variable or CLI flag, not in YAML configuration. The examples below show shell commands for setting up each provider type.`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# HashiCorp Vault`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` MAVERICS_SECRET_PROVIDER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"hashivault://vault.example.com:8200/secret/data/maverics?token=\u003cVAULT_TOKEN>\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# AWS Secrets Manager`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` MAVERICS_SECRET_PROVIDER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"awssecretsmanager://us-east-1\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Azure Key Vault`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` MAVERICS_SECRET_PROVIDER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"azurekeyvault://my-vault.vault.azure.net\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Secret File (development only)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` MAVERICS_SECRET_PROVIDER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"secretfile:////etc/maverics/secrets.json\"`})]}),`\n`]})})}),_jsx(_components.p,{children:`Once configured, reference secrets in YAML using angle bracket syntax:`}),_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`oauthClientSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cmaverics.client-secret>`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/reference/orchestrator/configuration/secret-providers`,children:`Secret Providers Reference`}),` for all 7 provider types and their URL schemes.`]})]})]})]}),_jsxs(Step,{title:`Deploy to your target environment`,children:[_jsx(_components.p,{children:`The Orchestrator is small and lightweight — it deploys almost anywhere. Choose the deployment model that matches your infrastructure.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Docker deployment`}),` is the simplest path to production. Mount your configuration file and any TLS certificates, expose the Orchestrator’s listening port, and set environment variables for secrets.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Kubernetes deployment`}),` is ideal for teams already running workloads on Kubernetes. The Orchestrator runs as a Deployment with a Service, and you configure it through ConfigMaps (for YAML configuration) and Secrets (for credentials). Kubernetes also gives you built-in health check integration, rolling updates, and automatic restarts. Strata provides an `,_jsx(_components.a,{href:`https://github.com/strata-io/helm-charts`,children:`official Helm chart`}),` for streamlined Kubernetes installation.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Windows deployment`}),` is supported via the MSI installer, which registers the Orchestrator as a Windows service with automatic startup. The installer provides a guided setup for configuration source, TLS certificates, and environment variables.`]}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Console UI`,id:`console-ui-3`,children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Console UI documentation is coming soon.`}),` This section will walk you\nthrough configuring this component using the Maverics Console’s visual\ninterface, including step-by-step screenshots and field descriptions.`]})}),_jsx(Frame,{caption:`Deployment target selection in Maverics Console`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=ea8d2ec72a69d5a8c7955d78abba6a30`,alt:`Deployment wizard in Maverics Console showing Docker and Kubernetes deployment options`,\"data-og-width\":`800`,width:`800`,\"data-og-height\":`400`,height:`400`,\"data-path\":`images/placeholder.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=280\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=8915bedc81639825bb64f4b29741511e 280w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=560\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=2391aa0bf01425e8995a1b8684607380 560w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=840\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=134f31ce48f4902f27e417082e7da90c 840w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=c17116c17f12c64573cc737986cbe837 1100w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=f1e0a37a82ab3dbb2b0ba6b0f9cc04ca 1650w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=190ef650fddf11454c2bc9b2482c05b6 2500w`})})]}),_jsxs(Tab,{title:`Configuration`,id:`configuration-3`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`CLI invocation`}),` — The Orchestrator accepts the following flags:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`maverics`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -config`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/maverics/maverics.yaml`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -secretProvider`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"hashivault://vault.example.com:8200/secret/data/maverics?token=\u003cTOKEN>\"`})]}),`\n`]})})}),_jsx(_components.p,{children:`Available CLI flags:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Flag`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-config`})}),_jsx(_components.td,{children:`Path to YAML configuration file (required)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-secretProvider`})}),_jsxs(_components.td,{children:[`Secret provider URL (alternative to `,_jsx(_components.code,{children:`MAVERICS_SECRET_PROVIDER`}),` env var)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-version`})}),_jsx(_components.td,{children:`Print version and exit`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`-verbose`})}),_jsx(_components.td,{children:`Enable debug-level logging`})]})]})]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Docker deployment:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --name`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` maverics`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -p`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 9443:9443`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -v`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/maverics/maverics.yaml:/etc/maverics/maverics.yaml:ro`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -v`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/maverics/certs:/etc/maverics/certs:ro`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` MAVERICS_SECRET_PROVIDER=\"hashivault://vault.example.com:8200/secret/data/maverics?token=\u003cTOKEN>\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` MAVERICS_HTTP_ADDRESS=\"0.0.0.0:9443\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` maverics-orchestrator`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -config`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /etc/maverics/maverics.yaml`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`systemd deployment:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`ini`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`ini`,children:_jsxs(_components.code,{language:`ini`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# /etc/systemd/system/maverics.service`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`[Unit]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`Description`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=Maverics Orchestrator`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`After`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=network-online.target`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`Wants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=network-online.target`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`[Service]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`Type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=simple`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ExecStart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=/usr/local/bin/maverics -config /etc/maverics/maverics.yaml`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`EnvironmentFile`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=/etc/maverics/env`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`Restart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=always`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`RestartSec`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=5`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#D4D4D4`},children:`[Install]`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`WantedBy`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`=multi-user.target`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# /etc/maverics/env`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`MAVERICS_SECRET_PROVIDER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`hashivault://vault.example.com:8200/secret/data/maverics?`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`token`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`TOKEN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`MAVERICS_HTTP_ADDRESS`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`0.0.0.0:9443`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TLS_CERT_PATH`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/etc/maverics/certs/server.pem`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`TLS_KEY_PATH`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/etc/maverics/certs/server-key.pem`})]}),`\n`]})})})]})]}),_jsx(Tip,{children:_jsx(_components.p,{children:`Whichever deployment model you choose, the Orchestrator behaves the same way. The only differences are how you deliver the configuration file and how you manage the process lifecycle (restarts, scaling, health checks).`})})]}),_jsxs(Step,{title:`Configure health checks and readiness probes`,children:[_jsx(_components.p,{children:`The Orchestrator exposes a health endpoint that reports its operational status — whether it has started successfully and is ready to handle traffic. In production, you should configure your infrastructure to poll this endpoint and take action when the Orchestrator is unhealthy.`}),_jsx(_components.p,{children:`The status endpoint returns a JSON response indicating the Orchestrator’s operational state. Your load balancer, container orchestrator, or process manager can use this endpoint to:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Route traffic only to healthy instances`}),` — Remove unhealthy instances from the load balancer pool`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Restart failed instances`}),` — Kubernetes liveness probes and Docker restart policies use health checks to detect and recover from failures automatically`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Block traffic during startup`}),` — Readiness probes prevent traffic from reaching an instance before it has finished initializing`]}),`\n`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Check the status endpoint`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://localhost:9443/status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` .`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`3`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"up\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Console UI`,id:`console-ui-4`,children:[_jsx(Info,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Console UI documentation is coming soon.`}),` This section will walk you\nthrough configuring this component using the Maverics Console’s visual\ninterface, including step-by-step screenshots and field descriptions.`]})}),_jsx(Frame,{caption:`Health check configuration in Maverics Console`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=ea8d2ec72a69d5a8c7955d78abba6a30`,alt:`Health check settings in Maverics Console showing endpoint configuration and probe intervals`,\"data-og-width\":`800`,width:`800`,\"data-og-height\":`400`,height:`400`,\"data-path\":`images/placeholder.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=280\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=8915bedc81639825bb64f4b29741511e 280w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=560\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=2391aa0bf01425e8995a1b8684607380 560w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=840\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=134f31ce48f4902f27e417082e7da90c 840w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=c17116c17f12c64573cc737986cbe837 1100w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=f1e0a37a82ab3dbb2b0ba6b0f9cc04ca 1650w, https://mintcdn.com/strataidentity/yo114yy_clZj7p9v/images/placeholder.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=yo114yy_clZj7p9v\u0026q=85\u0026s=190ef650fddf11454c2bc9b2482c05b6 2500w`})})]}),_jsxs(Tab,{title:`Configuration`,id:`configuration-4`,children:[_jsx(_components.p,{children:`Configure the health endpoint path and heartbeat monitoring:`}),_jsx(CodeBlock,{filename:`maverics.yaml`,numberOfLines:`6`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`health`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` location`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/status\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` heartbeat`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` disabled`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` logLevel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"info\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` interval`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"60s\"`})]}),`\n`]})})}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Kubernetes probes`}),` using the health endpoint:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`15`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Kubernetes deployment snippet`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`livenessProbe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` httpGet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/status`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` port`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`9443`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` scheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`HTTPS`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` initialDelaySeconds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` periodSeconds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`15`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`readinessProbe`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` httpGet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` path`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/status`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` port`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`9443`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` scheme`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`HTTPS`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` initialDelaySeconds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`5`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` periodSeconds`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`10`})]}),`\n`]})})}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Docker health check:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`6`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`6`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`docker`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` run`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --health-cmd=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"curl -kf https://localhost:9443/status || exit 1\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --health-interval=15s`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --health-timeout=5s`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --health-retries=3`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # ... rest of docker run command`})}),`\n`]})})})]})]})]}),_jsxs(Step,{title:`Verify the deployment`,children:[_jsx(_components.p,{children:`With the Orchestrator deployed and health checks configured, verify that everything is working end-to-end. Start by confirming the health endpoint returns a healthy status, then test the full authentication flow.`}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Verify status`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -s`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://your-orchestrator-host:9443/status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` jq`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` .`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Check that the Orchestrator is serving traffic`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -I`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://your-orchestrator-host:9443/`})]}),`\n`]})})}),_jsx(_components.p,{children:`Walk through the full user flow to confirm end-to-end functionality:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Visit a protected URL`}),` — You should be redirected to your identity provider`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Authenticate`}),` — Log in with valid credentials`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Verify redirect`}),` — After authentication, you should land on your protected application`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Check logs`}),` — Confirm the Orchestrator logged the authentication event`]}),`\n`]}),_jsx(Check,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Success!`}),` Your Orchestrator is deployed in production with environment-specific\nconfiguration, health monitoring, and automated restarts. The health endpoint\nreports a healthy status, and the full authentication flow works end-to-end.`]})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshooting`,children:`Troubleshooting`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Orchestrator fails to start`,id:`orchestrator-fails-to-start`,children:[_jsx(_components.p,{children:`Check the Orchestrator’s startup logs for the specific error. The most common\ncauses are:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Invalid YAML`}),` — Indentation errors, missing colons, or unclosed quotes.\nRun your config through a YAML validator.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Missing required fields`}),` — The Orchestrator validates its configuration on\nstartup and logs which fields are missing.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Port conflict`}),` — Another process is already using the configured listening\nport. Check with `,_jsx(_components.code,{children:`lsof -i :8080`}),` or change the port in your configuration.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Permission denied`}),` — The Orchestrator process does not have permission to\nread the config file, TLS certificates, or bind to the configured port.`]}),`\n`]})]}),_jsxs(Accordion,{title:`Configuration not loading from external source`,id:`configuration-not-loading-from-external-source`,children:[_jsxs(_components.p,{children:[`If you are using an external `,_jsx(_components.a,{href:`/reference/orchestrator/configuration/config-sources`,children:`config source`}),`,\nverify that:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The config source credentials are correct and the Orchestrator can reach the\nexternal service over the network`}),`\n`,_jsx(_components.li,{children:`The config source path or key matches what the Orchestrator expects`}),`\n`,_jsx(_components.li,{children:`Environment variables referenced in the configuration are set in the\nOrchestrator’s runtime environment (not just your local shell)`}),`\n`]}),_jsxs(_components.p,{children:[`Enable `,_jsx(_components.code,{children:`debug`}),` logging temporarily to see the exact config source requests and\nresponses.`]})]}),_jsxs(Accordion,{title:`Health check returns unhealthy or times out`,id:`health-check-returns-unhealthy-or-times-out`,children:[_jsx(_components.p,{children:`An unhealthy status usually means one or more connectors failed to initialize.\nCheck the Orchestrator’s logs for startup errors.`}),_jsx(_components.p,{children:`If the health endpoint times out entirely, the Orchestrator may not be listening\non the expected port. Verify the port configuration and check that no firewall\nrules are blocking access to the health endpoint.`})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`related-pages`,children:`Related Pages`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Operations Overview`,icon:`compass`,href:`/guides/operations/overview`,children:_jsx(_components.p,{children:`Back to the Operations guides hub`})}),_jsx(Card,{title:`Orchestrator Configuration Reference`,icon:`gear`,href:`/reference/orchestrator/configuration`,children:_jsx(_components.p,{children:`Full reference for configuration file structure, environment variables, and runtime settings`})}),_jsx(Card,{title:`Scale for Production`,icon:`arrows-up-down`,href:`/guides/operations/scale`,children:_jsx(_components.p,{children:`Scale your deployment horizontally with sticky sessions and Redis caching`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Deploy to Production","icon":"rocket","description":null,"href":"/guides/operations/deploy"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Deploy to Production","slug":"deploy-to-production","depth":2,"children":[]},{"title":"Troubleshooting","slug":"troubleshooting","depth":2,"children":[]},{"title":"Related Pages","slug":"related-pages","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/strataidentity/f5eb628399810ff7/status.js","/_mintlify/custom/strataidentity/b8e24dc33885ac0a/cookiebot.js"],"subdomain":"strataidentity","siteName":"Maverics Documentation","title":"Deploy to Production - Maverics Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-30T20:34:57.104Z","originalFileLocation":"guides/operations/deploy.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Maverics Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Deploy to Production - Maverics Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Maverics Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.strata.io/guides/operations/deploy\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://strataidentity.mintlify.app/_mintlify/api/og/v2?division=Operations\u0026amp;title=Deploy+to+Production\u0026amp;theme=fe1a0fe3316b752af9e31a17\u0026amp;signature=9fae9d81fdcb42a03db12b54eb54cf65043f623ff4bccbdea824e7fae3b68134\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Deploy to Production - Maverics Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://strataidentity.mintlify.app/_mintlify/api/og/v2?division=Operations\u0026amp;title=Deploy+to+Production\u0026amp;theme=fe1a0fe3316b752af9e31a17\u0026amp;signature=9fae9d81fdcb42a03db12b54eb54cf65043f623ff4bccbdea824e7fae3b68134\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/strataidentity/qfgJMQlSCT_TH3a0/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Maverics Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1DA1DC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.strata.io/guides/operations/deploy\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/operations/deploy.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.strata.io/#organization\",\"name\":\"Maverics Documentation\",\"url\":\"https://docs.strata.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/strataidentity/GnMIwAgmQ7Rnxm8R/logo/light.svg?fit=max\u0026auto=format\u0026n=GnMIwAgmQ7Rnxm8R\u0026q=85\u0026s=f75039b8474c2403c381ef74fdbee428\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.strata.io#website\",\"name\":\"Maverics Documentation\",\"url\":\"https://docs.strata.io\",\"publisher\":{\"@id\":\"https://docs.strata.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.strata.io/guides/operations/deploy#webpage\",\"url\":\"https://docs.strata.io/guides/operations/deploy\",\"name\":\"Deploy to Production\",\"dateModified\":\"2026-09-30T20:34:57.104Z\",\"isPartOf\":{\"@id\":\"https://docs.strata.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.strata.io/guides/operations/deploy#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.strata.io/guides/operations/deploy#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Operations\",\"item\":\"https://docs.strata.io/guides/operations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy to Production\",\"item\":\"https://docs.strata.io/guides/operations/deploy\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.strata.io/guides/operations/deploy#article\",\"headline\":\"Deploy to Production\",\"name\":\"Deploy to Production\",\"url\":\"https://docs.strata.io/guides/operations/deploy\",\"mainEntityOfPage\":{\"@id\":\"https://docs.strata.io/guides/operations/deploy#webpage\"},\"dateModified\":\"2026-09-30T20:34:57.104Z\",\"publisher\":{\"@id\":\"https://docs.strata.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.strata.io#website\"}}]}\u003c/script>","siteName":"Maverics Documentation","nav":{"global":null,"tabs":[{"tab":"Introduction","pages":[{"title":"Introduction","href":"/introduction/overview"}]},{"tab":"Guides","groups":[{"group":"Getting Started","icon":"rocket","pages":[{"title":"Overview","icon":"compass","href":"/guides/getting-started/overview"},{"title":"Quick Start","icon":"bolt","href":"/guides/getting-started/quick-start"},{"title":"Protect Your First Application","icon":"shield-halved","href":"/guides/getting-started/first-application"}]},{"group":"Authentication","icon":"key","pages":[{"title":"Overview","icon":"compass","href":"/guides/authentication/overview"},{"title":"How Authentication Works","sidebarTitle":"How Auth Works","icon":"diagram-project","href":"/guides/authentication/how-auth-works"},{"title":"Choosing an Orchestrator Mode","sidebarTitle":"Choosing a Mode","icon":"compass-drafting","href":"/guides/authentication/choosing-a-mode"},{"title":"SSO with OIDC","icon":"key","href":"/guides/authentication/sso-with-oidc"},{"title":"Federate SAML Apps","sidebarTitle":"Federate SAML Apps","icon":"shield-halved","href":"/guides/authentication/saml-federation"},{"title":"Add SSO to Web Apps","sidebarTitle":"Add SSO to Web Apps","icon":"server","href":"/guides/authentication/http-proxy-auth"},{"title":"Modernize LDAP Authentication","sidebarTitle":"Modernize LDAP Auth","icon":"folder-tree","href":"/guides/authentication/ldap-provider"},{"title":"Single Logout (SLO)","sidebarTitle":"Single Logout","icon":"right-from-bracket","href":"/guides/authentication/single-logout"},{"title":"Migrate Between Identity Providers","sidebarTitle":"IdP Migration","icon":"right-left","href":"/guides/authentication/idp-migration"}]},{"group":"AI Identity","icon":"microchip-ai","pages":[{"title":"Overview","icon":"compass","href":"/guides/ai-identity/overview"},{"title":"Expose APIs to Agents","icon":"bridge","href":"/guides/ai-identity/mcp-bridge"},{"title":"Protect MCP Servers","icon":"shield-halved","href":"/guides/ai-identity/mcp-proxy"},{"title":"OWASP MCP Top 10","icon":"shield-check","href":"/guides/ai-identity/owasp-mcp-top-10"},{"group":"Connect an AI Client","icon":"plug","expanded":true,"pages":[{"title":"Connect Claude to the AI Identity Gateway","sidebarTitle":"Claude","icon":"message-bot","href":"/guides/ai-identity/connect/claude"},{"title":"Connect ChatGPT to the AI Identity Gateway","sidebarTitle":"ChatGPT","icon":"message-bot","href":"/guides/ai-identity/connect/chatgpt"}]},{"title":"Scale the AI Identity Gateway for Production","icon":"arrows-up-down","href":"/guides/ai-identity/scale-for-production"}]},{"group":"Identity Continuity","icon":"arrows-rotate","pages":[{"title":"Overview","icon":"compass","href":"/guides/identity-continuity/overview"},{"title":"Reducing Single Points of Failure","icon":"shield-check","href":"/guides/identity-continuity/reducing-spofs"}]},{"group":"Operations","icon":"wrench","pages":[{"title":"Overview","icon":"compass","description":null,"href":"/guides/operations/overview"},{"title":"Deploy to Production","icon":"rocket","href":"/guides/operations/deploy"},{"title":"Monitor and Observe","icon":"chart-line","description":null,"href":"/guides/operations/monitor"},{"title":"Scale for Production","icon":"arrows-up-down","href":"/guides/operations/scale"},{"title":"Troubleshoot Common Issues","icon":"wrench","href":"/guides/operations/troubleshoot"}]},{"group":"Security","icon":"shield-halved","pages":[{"title":"Overview","icon":"compass","href":"/guides/security/overview"},{"title":"Configure TLS","icon":"lock","href":"/guides/security/tls"},{"title":"Manage Secrets","icon":"vault","href":"/guides/security/secrets-management"},{"title":"Configure Authorization Policies","sidebarTitle":"Authorization Policies","icon":"shield-check","href":"/guides/security/policies"},{"title":"Compliance and Audit","icon":"clipboard-check","href":"/guides/security/compliance"}]}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/console/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Deploy to Production - Maverics Documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-PS-3COT9.js","DynamicMarkdown-BcnBltEQ.js","zoom-image-lightbox-B4-wUcHm.js","lightbox-handle-r17bVUz3.js"]}