The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.
Configu interfaces recursively search for the .configu file starting from the current working directory and continuing up to the user’s home directory. Once it finds a .configu file, it uses it in conjunction with the locally stored .configu file in the user’s home directory ($HOME/.configu/.configu) and stops searching.Alternatively, you may provide an explicit .configu file by passing a path as an environment variable via CONFIGU_CONFIG or CONFIGU_CONFIGURATION.
include the $schema property at the beginning of the file to specify the Cfgu version to communicate to other readers and tooling which specification version is intended.
Also, most modern editors will use this property to provide IntelliSense and validation for the Cfgu file.
The .configu file allows you to save ConfigStore configurations as friendly names, which can be later used as values for the --store flag in all the commands.To define a ConfigStore, add a new key-value pair to the stores section of the .configu file, where the key represents the friendly name, and the value is an object with the type and configuration properties. The type property represents the store type, and the configuration property contains the specific configuration options for the store.You can activate backup for a specific store by adding the backup property to the store configuration object and set it to true.If you want to mark a ConfigStore as your default store whenever you choose to omit a ConfigStore as an input when performing actions with Configu’s high-level interfaces, add the default property to a store configuration object and set it to true. If your .configu file only has a single store, it is automatically behaves as your default store.For detailed information about the available store options, please refer to the relevant store on the integrations section.
The .configu file allows you to define the backup file path for the Configu CLI. The backup is used to store the results of the configu eval command to provide failsafe and faster access to the results.To define the backup configuration, add a new key-value pair to the .configu file, where the key is backup, and the value is path to the backup file.By default, the backup file is stored in the os cache directory as follows:
The .configu file allows you to save ConfigSchema paths as friendly names, which can be later used as values for the --schema flag in all the commands.To define a custom script, add a new key-value pair to the schemas section of the .configu file, where the key represents the friendly name, and the value is the schema absolute or relative path.
The .configu file allows you to save Configu CLI snippets as friendly names, which can be later used as values for the --script flag in the configu run --script <label> command.To define a custom script, add a new key-value pair to the scripts section of the .configu file, where the key represents the friendly name, and the value is the script content. The script content should consist of Configu CLI commands or a pipe of commands.
The .configu configuration file provides a way to customize the behavior of the Configu CLI. By defining custom
stores and scripts in this file, you can easily reference them in CLI commands, making it more convenient to manage
and collaborate on software configurations. Remember that the .configu file is optional, and if present, it will be automatically discovered by the CLI during
its recursive search process.
The .configu file allows you to use environment variables in its different sections. This comes in handy for store configuration options or scripts when you want to avoid explicitly writing sensitive authentication credentials etc. and you want to inject them from the outside before running Configu. To use an environment variable, you can utilize ConfigExpression as such:
You can then pass the environment variable to the CLI using any method of setting environment variables to replace the ConfigExpression with the environment variable value. Here is an example of passing an environment variable to the CLI by using an operating system specific prefix:
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Configu","colors":{"primary":"#0066F5","light":"#0066F5","dark":"#0066F5"},"favicon":"/images/favicon/favicon.png","logo":{"light":"https://mintcdn.com/configu/4LjNndiOLA4cpUS2/images/logo/black.svg?fit=max\u0026auto=format\u0026n=4LjNndiOLA4cpUS2\u0026q=85\u0026s=210704f73e99663d3c5943162858dce8","dark":"https://mintcdn.com/configu/4LjNndiOLA4cpUS2/images/logo/white.svg?fit=max\u0026auto=format\u0026n=4LjNndiOLA4cpUS2\u0026q=85\u0026s=974992c95b635ffa2f45cede7c764caf"},"background":{"decoration":null,"color":{"light":"#FFFFFF","dark":"#0B0B0E"}},"navbar":{"links":[{"label":"Platform","href":"https://app.configu.com"}],"primary":{"type":"github","href":"https://github.com/configu/configu"}},"footer":{"socials":{"website":"https://configu.com","github":"https://github.com/configu","x":"https://twitter.com/WeAreConfigu","linkedin":"https://www.linkedin.com/company/configu","youtube":"https://www.youtube.com/@configu294","discord":"https://discord.gg/cjSBxnB9z8"}},"integrations":{"ga4":{"measurementId":"G-BZJXN32RK1"},"mixpanel":{"projectToken":"5b677e00c1c15ef4cb1a0dd45311c2e7"},"intercom":{"appId":"vvrasn0f"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"configu","hasAudioNarration":false,"actualSubdomain":"configu","customDomains":["docs.configu.com"],"gitSource":{"type":"github","owner":"configu","repo":"configu","deployBranch":"main","contentDirectory":"docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e6178d1fcd719df03170","collectionId":"fdf4c484-87c8-4300-a844-b52feb5b82b2","schemaVersion":"v2"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6a21e6178d1fcd719df03170:success","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Documentation","count":55},{"language":"default","tag":"Integrations","count":37},{"language":"default","tag":"ConfigStore","count":36},{"language":"default","tag":"Guides","count":18},{"language":"default","tag":"Configu","count":14},{"language":"default","tag":"Interfaces","count":13},{"language":"default","tag":"Database","count":6},{"language":"default","tag":"File","count":5},{"language":"default","tag":"Secret","count":5},{"language":"default","tag":"Introduction","count":5}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"editor-agent-model-picker","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"interfaces/.configu","slug":"/interfaces/.configu","pageMetadata":{"title":"Configu Interface Configuration File","sidebarTitle":".configu","description":"The `.configu` file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named `.configu` regardless of the format used: JSON or YAML.","href":"/interfaces/.configu"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"The \", _jsx(_components.code, {\n children: \".configu\"\n }), \" file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named \", _jsx(_components.code, {\n children: \".configu\"\n }), \" regardless of the format used: JSON or YAML.\"]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`location`,children:`Location`}),`\n`,_jsxs(_components.p,{children:[`Configu interfaces recursively search for the `,_jsx(_components.code,{children:`.configu`}),` file starting from the current working directory and continuing up to the user’s home directory. Once it finds a `,_jsx(_components.code,{children:`.configu`}),` file, it uses it in conjunction with the locally stored `,_jsx(_components.code,{children:`.configu`}),` file in the user’s home directory (`,_jsx(_components.code,{children:`$HOME/.configu/.configu`}),`) and stops searching.`]}),`\n`,_jsxs(_components.p,{children:[`Alternatively, you may provide an explicit `,_jsx(_components.code,{children:`.configu`}),` file by passing a path as an environment variable via `,_jsx(_components.code,{children:`CONFIGU_CONFIG`}),` or `,_jsx(_components.code,{children:`CONFIGU_CONFIGURATION`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`format`,children:`Format`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file can be written in one of the following formats: `,_jsx(_components.code,{children:`YAML`}),` or `,_jsx(_components.code,{children:`JSON`}),`. The file should be named `,_jsx(_components.code,{children:`.configu`}),` regardless of the format used.`]}),`\n`,_jsx(Heading,{level:`2`,id:`$schema`,children:`$schema`}),`\n`,_jsxs(_components.p,{children:[`include the `,_jsx(_components.code,{children:`$schema`}),` property at the beginning of the file to specify the `,_jsx(_components.code,{children:`Cfgu`}),` version to communicate to other readers and tooling which specification version is intended.\nAlso, most modern editors will use this property to provide IntelliSense and validation for the `,_jsx(_components.code,{children:`Cfgu`}),` file.`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`YAML`,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:`$schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`https://files.configu.com/schema/.configu.json`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JSON`,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:` \"$schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://files.configu.com/schema/.configu.json\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`vscode-yaml`,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:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# yaml-language-server: $schema=https://files.configu.com/schema/.configu.json`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`properties`,children:`Properties`}),`\n`,_jsx(Heading,{level:`3`,id:`stores`,children:`stores`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file allows you to save `,_jsx(_components.code,{children:`ConfigStore`}),` configurations as friendly names, which can be later used as values for the `,_jsx(_components.code,{children:`--store`}),` flag in all the commands.`]}),`\n`,_jsxs(_components.p,{children:[`To define a `,_jsx(_components.code,{children:`ConfigStore`}),`, add a new key-value pair to the `,_jsx(_components.code,{children:`stores`}),` section of the `,_jsx(_components.code,{children:`.configu`}),` file, where the key represents the friendly name, and the value is an object with the `,_jsx(_components.code,{children:`type`}),` and `,_jsx(_components.code,{children:`configuration`}),` properties. The `,_jsx(_components.code,{children:`type`}),` property represents the store type, and the `,_jsx(_components.code,{children:`configuration`}),` property contains the specific configuration options for the store.`]}),`\n`,_jsxs(_components.p,{children:[`You can activate backup for a specific store by adding the `,_jsx(_components.code,{children:`backup`}),` property to the store configuration object and set it to `,_jsx(_components.code,{children:`true`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`If you want to mark a `,_jsx(_components.code,{children:`ConfigStore`}),` as your default store whenever you choose to omit a `,_jsx(_components.code,{children:`ConfigStore`}),` as an input when performing actions with Configu’s high-level interfaces, add the `,_jsx(_components.code,{children:`default`}),` property to a store configuration object and set it to `,_jsx(_components.code,{children:`true`}),`. If your `,_jsx(_components.code,{children:`.configu`}),` file only has a single store, it is automatically behaves as your default store.`]}),`\n`,_jsxs(_components.p,{children:[`For detailed information about the available store options, please refer to the relevant store on the `,_jsx(_components.a,{href:`/integrations/overview#configstore`,children:`integrations section`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`backup`,children:`backup`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file allows you to define the backup file path for the Configu CLI. The backup is used to store the results of the `,_jsx(_components.code,{children:`configu eval`}),` command to provide failsafe and faster access to the results.`]}),`\n`,_jsxs(_components.p,{children:[`To define the backup configuration, add a new key-value pair to the `,_jsx(_components.code,{children:`.configu`}),` file, where the key is `,_jsx(_components.code,{children:`backup`}),`, and the value is path to the backup file.`]}),`\n`,_jsx(_components.p,{children:`By default, the backup file is stored in the os cache directory as follows:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`macOS: `,_jsx(_components.code,{children:`~/Library/Caches/configu/config.sqlite`})]}),`\n`,_jsxs(_components.li,{children:[`Unix: `,_jsx(_components.code,{children:`~/.cache/configu/config.sqlite`})]}),`\n`,_jsxs(_components.li,{children:[`Windows: `,_jsx(_components.code,{children:`%LOCALAPPDATA%\\\\configu\\\\config.sqlite`})]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`schemas`,children:`schemas`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file allows you to save `,_jsx(_components.code,{children:`ConfigSchema`}),` paths as friendly names, which can be later used as values for the `,_jsx(_components.code,{children:`--schema`}),` flag in all the commands.`]}),`\n`,_jsxs(_components.p,{children:[`To define a custom script, add a new key-value pair to the `,_jsx(_components.code,{children:`schemas`}),` section of the `,_jsx(_components.code,{children:`.configu`}),` file, where the key represents the friendly name, and the value is the schema absolute or relative path.`]}),`\n`,_jsx(Heading,{level:`3`,id:`scripts`,children:`scripts`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file allows you to save `,_jsx(_components.code,{children:`Configu CLI`}),` snippets as friendly names, which can be later used as values for the `,_jsx(_components.code,{children:`--script`}),` flag in the `,_jsx(_components.code,{children:`configu run --script \u003clabel>`}),` command.`]}),`\n`,_jsxs(_components.p,{children:[`To define a custom script, add a new key-value pair to the `,_jsx(_components.code,{children:`scripts`}),` section of the `,_jsx(_components.code,{children:`.configu`}),` file, where the key represents the friendly name, and the value is the script content. The script content should consist of `,_jsx(_components.code,{children:`Configu CLI`}),` commands or a pipe of commands.`]}),`\n`,_jsxs(Tip,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` configuration file provides a way to customize the behavior of the Configu CLI. By defining custom\nstores and scripts in this file, you can easily reference them in CLI commands, making it more convenient to manage\nand collaborate on software configurations.`]}),_jsx(`br`,{}),_jsxs(_components.p,{children:[`Remember that the `,_jsx(_components.code,{children:`.configu`}),` file is optional, and if present, it will be automatically discovered by the CLI during\nits recursive search process.`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`YAML`,numberOfLines:`20`,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:`20`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`$schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`https://files.configu.com/schema/.configu.json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`stores`}),_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:` store1`}),_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:` backup`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`})]}),`\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:`storeType1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` configuration`}),_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:` option1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`value1`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` option2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`value2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` store2`}),_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:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`storeType2`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` configuration`}),_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:` option3`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`value3`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` option4`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`value4`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`backup`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/path/to/db.sqlite`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`schemas`}),_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:` schema1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`../path/to/schema1.json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` schema2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`/path/to/schema2.json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`scripts`}),_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:` script1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'configu command1 --option1 value1'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` script2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'configu command2 --option2 value2 | configu command3'`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`JSON`,numberOfLines:`29`,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:`29`,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:` \"$schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://files.configu.com/schema/.configu.json\"`}),_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:` \"stores\"`}),_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:` \"store1\"`}),_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:` \"backup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`true`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"storeType1\"`}),_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:` \"configuration\"`}),_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:` \"option1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value1\"`}),_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:` \"option2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value2\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_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:` \"store2\"`}),_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:` \"type\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"storeType2\"`}),_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:` \"configuration\"`}),_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:` \"option3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value3\"`}),_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:` \"option4\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"value4\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_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:` \"backup\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/path/to/db.sqlite\"`}),_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:` \"schemas\"`}),_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:` \"schema1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"../path/to/schema1.json\"`}),_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:` \"schema2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"/path/to/schema2.json\"`})]}),`\n`,_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:` \"scripts\"`}),_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:` \"script1\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"configu command1 --option1 value1\"`}),_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:` \"script2\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"configu command2 --option2 value2 | configu command3\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]}),`\n`,_jsx(Heading,{level:`2`,id:`environment-variables`,children:`Environment Variables`}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`.configu`}),` file allows you to use environment variables in its different sections. This comes in handy for `,_jsx(_components.code,{children:`store configuration options`}),` or `,_jsx(_components.code,{children:`scripts`}),` when you want to avoid explicitly writing sensitive authentication credentials etc. and you want to inject them from the outside before running Configu. To use an environment variable, you can utilize `,_jsx(_components.a,{href:`/introduction/concepts#configexpression`,children:_jsx(_components.code,{children:`ConfigExpression`})}),` as such:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,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:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`$schema`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`https://files.configu.com/schema/.configu.json`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`stores`}),_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:` store1`}),_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:` type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'storeType1'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` configuration`}),_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:` option1`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'value1'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` password`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{{PASSWORD}}'`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`You can then pass the environment variable to the CLI using any method of setting environment variables to replace the `,_jsx(_components.code,{children:`ConfigExpression`}),` with the environment variable value. Here is an example of passing an environment variable to the CLI by using an operating system specific prefix:`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Linux/MacOS`,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`PASSWORD`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`password`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` configu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` eval`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --store`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` store1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --set`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --schema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [-c `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`]`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Windows`,numberOfLines:`1`,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:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:`set`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PASSWORD=password`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \u0026\u0026 `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`configu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` eval`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --store`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` store1`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --set`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --schema`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [-c `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`valu`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`e`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`]`})]}),`\n`]})})})]})]})}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":"Configu Interface Configuration File","sidebarTitle":".configu","description":"The `.configu` file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named `.configu` regardless of the format used: JSON or YAML.","href":"/interfaces/.configu"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Location","slug":"location","depth":2,"children":[]},{"title":"Format","slug":"format","depth":2,"children":[]},{"title":"$schema","slug":"$schema","depth":2,"children":[]},{"title":"Properties","slug":"properties","depth":2,"children":[{"title":"stores","slug":"stores","depth":3,"children":[]},{"title":"backup","slug":"backup","depth":3,"children":[]},{"title":"schemas","slug":"schemas","depth":3,"children":[]},{"title":"scripts","slug":"scripts","depth":3,"children":[]}]},{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"Environment Variables","slug":"environment-variables","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/configu/9565b8aa5f9d702d/typedoc.base.js","/_mintlify/custom/configu/3440bf472689e5d5/typedoc.js"],"subdomain":"configu","siteName":"Configu","title":"Configu Interface Configuration File - Configu","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T00:48:46.334Z","originalFileLocation":"interfaces/.configu.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=\"system\"}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=\"description\" content=\"The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Configu\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_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/configu/emh-d5lvYviXnf6c/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Configu Interface Configuration File - Configu\">\u003cmeta data-mint-head property=\"og:description\" content=\"The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Configu\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.configu.com/interfaces/.configu\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://configu.mintlify.app/_mintlify/api/og/v2?division=Interfaces\u0026amp;title=Configu+Interface+Configuration+File\u0026amp;description=The+%60.configu%60+file+is+an+optional+configuration+file+used+by+the+various+Configu+interfaces+to+customize+its+behavior.+The+file+should+be+named+%60.configu%60+rega\u0026amp;theme=86d61d24956733c8826ef5a1\u0026amp;signature=cf20a7b04ea6c779aeb0947f36b47370b950d26f606516fff08f0b1cb7385c58\">\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=\"Configu Interface Configuration File - Configu\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://configu.mintlify.app/_mintlify/api/og/v2?division=Interfaces\u0026amp;title=Configu+Interface+Configuration+File\u0026amp;description=The+%60.configu%60+file+is+an+optional+configuration+file+used+by+the+various+Configu+interfaces+to+customize+its+behavior.+The+file+should+be+named+%60.configu%60+rega\u0026amp;theme=86d61d24956733c8826ef5a1\u0026amp;signature=cf20a7b04ea6c779aeb0947f36b47370b950d26f606516fff08f0b1cb7385c58\">\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/configu/emh-d5lvYviXnf6c/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Configu\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0066F5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.configu.com/interfaces/.configu\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/interfaces/.configu.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.configu.com/#organization\",\"name\":\"Configu\",\"url\":\"https://docs.configu.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/configu/4LjNndiOLA4cpUS2/images/logo/black.svg?fit=max\u0026auto=format\u0026n=4LjNndiOLA4cpUS2\u0026q=85\u0026s=210704f73e99663d3c5943162858dce8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.configu.com#website\",\"name\":\"Configu\",\"url\":\"https://docs.configu.com\",\"publisher\":{\"@id\":\"https://docs.configu.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.configu.com/interfaces/.configu#webpage\",\"url\":\"https://docs.configu.com/interfaces/.configu\",\"name\":\"Configu Interface Configuration File\",\"description\":\"The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.\",\"dateModified\":\"2026-01-07T00:48:46.334Z\",\"isPartOf\":{\"@id\":\"https://docs.configu.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.configu.com/interfaces/.configu#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.configu.com/interfaces/.configu#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Interfaces\",\"item\":\"https://docs.configu.com/interfaces/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Configu Interface Configuration File\",\"item\":\"https://docs.configu.com/interfaces/.configu\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.configu.com/interfaces/.configu#article\",\"headline\":\"Configu Interface Configuration File\",\"name\":\"Configu Interface Configuration File\",\"description\":\"The .configu file is an optional configuration file used by the various Configu interfaces to customize its behavior. The file should be named .configu regardless of the format used: JSON or YAML.\",\"url\":\"https://docs.configu.com/interfaces/.configu\",\"mainEntityOfPage\":{\"@id\":\"https://docs.configu.com/interfaces/.configu#webpage\"},\"dateModified\":\"2026-01-07T00:48:46.334Z\",\"publisher\":{\"@id\":\"https://docs.configu.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.configu.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Configu\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Configu","nav":{"global":null,"anchors":[{"anchor":"Documentation","icon":"book-open","groups":[{"group":"Introduction","pages":[{"title":"Overview","icon":"street-view","href":"/introduction/overview"},{"title":"Use Cases","icon":"wand-magic-sparkles","href":"/introduction/usecases"},{"title":"Comparison","icon":"gear","href":"/introduction/comparison"},{"title":"Concepts","icon":"book-sparkles","href":"/introduction/concepts"},{"title":"Workflow","icon":"infinity","href":"/introduction/workflow"}]},{"group":"Interfaces","pages":[{"title":"Configu Orchestrator (open-source)","sidebarTitle":"Overview","href":"/interfaces/overview"},{"title":"Configu Configuration-as-Code Format","sidebarTitle":".cfgu","description":"The `Cfgu` format defines the characteristics of a software configuration in Configu, providing metadata and constraints for `ConfigValues`. When attached to a `ConfigKey` in a `ConfigSchema`, it enables validation of `ConfigValues`, facilitating their implementation in the code.","href":"/interfaces/.cfgu"},{"title":"Configu Interface Configuration File","sidebarTitle":".configu","href":"/interfaces/.configu"},{"group":"Configu CLI","pages":[{"title":"Overview","description":"`Configu CLI` is the easiest interface for getting started with Configu. With the command-line interface (CLI), you can easily interact with Configu using a terminal or an automated system, providing you with all the functionality you need to orchestrate your configuration data and beyond.","href":"/interfaces/cli/overview"},{"title":"Setup","href":"/interfaces/cli/setup"},{"title":"Command Reference","sidebarTitle":"Reference","href":"/interfaces/cli/ref"}]},{"group":"Configu Proxy","pages":[{"title":"Overview","href":"/interfaces/proxy/overview"},{"title":"Setup","href":"/interfaces/proxy/setup"},{"title":"API Reference","sidebarTitle":"Reference","href":"/interfaces/proxy/ref"}]},{"group":"Internal SDKs","pages":[{"title":"Overview","href":"/interfaces/sdk/overview"},{"title":"Core SDK","href":"/interfaces/sdk/sdk/overview"},{"title":"Integrations Library","href":"/interfaces/sdk/integrations/overview"},{"title":"Common Library","href":"/interfaces/sdk/common/overview"}]}]},{"group":"Integrations","pages":[{"title":"Overview","href":"/integrations/overview"},{"group":"ConfigStore","pages":[{"group":"Configu","pages":[{"title":"Configu Platform","sidebarTitle":"Overview","href":"/integrations/store/configu/overview"},{"title":"Configs Explorer (Dashboard)","sidebarTitle":"Configs Explorer","href":"/integrations/store/configu/config-explorer"},{"title":"Configs Editor","href":"/integrations/store/configu/config-editor"},{"title":"Configs History","href":"/integrations/store/configu/config-history"},{"title":"Configs Compare","href":"/integrations/store/configu/config-compare"},{"title":"Approval Queue","href":"/integrations/store/configu/approval-queue"},{"title":"Audit Logs","href":"/integrations/store/configu/audit-logs"},{"title":"Webhooks","href":"/integrations/store/configu/webhooks"},{"title":"Integrations","href":"/integrations/store/configu/integrations"},{"title":"Authorization","href":"/integrations/store/configu/authorization"},{"title":"Members","href":"/integrations/store/configu/members"},{"title":"Tokens","href":"/integrations/store/configu/tokens"},{"title":"Settings","href":"/integrations/store/configu/settings"},{"title":"Billing","href":"/integrations/store/configu/billing"}]},{"group":"File","pages":[{"title":"JSON File","href":"/integrations/store/file/json-file"},{"title":"CSV File","href":"/integrations/store/file/csv-file"},{"title":"XML File","href":"/integrations/store/file/xml-file"},{"title":"INI File","href":"/integrations/store/file/ini-file"},{"title":"TOML File","href":"/integrations/store/file/toml-file"}]},{"group":"Database","pages":[{"title":"SQLite","href":"/integrations/store/db/sqlite"},{"title":"MySQL","href":"/integrations/store/db/mysql"},{"title":"MariaDB","href":"/integrations/store/db/mariadb"},{"title":"PostgreSQL","href":"/integrations/store/db/postgresql"},{"title":"CockroachDB","href":"/integrations/store/db/cockroachdb"},{"title":"Microsoft SQL Server","href":"/integrations/store/db/mssql"}]},{"group":"Secret","pages":[{"title":"HashiCorp Vault","href":"/integrations/store/secret/hashicorp-vault"},{"title":"AWS Secrets Manager","href":"/integrations/store/secret/aws-secrets-manager"},{"title":"Azure Key Vault","href":"/integrations/store/secret/azure-key-vault"},{"title":"GCP Secret Manager","href":"/integrations/store/secret/gcp-secret-manager"},{"title":"Kubernetes Secret","href":"/integrations/store/secret/kubernetes-secret"}]},{"group":"Feature Flag","pages":[{"title":"LaunchDarkly","href":"/integrations/store/ff/launchdarkly"},{"title":"CloudBees Feature Management","href":"/integrations/store/ff/cloudbees-feature-management"},{"title":"Split","href":"/integrations/store/ff/split"}]},{"group":"Other","pages":[{"title":"AWS Systems Manager Parameter Store","href":"/integrations/store/other/aws-parameter-store"},{"title":"LocalForage","href":"/integrations/store/other/localforage"},{"title":"etcd","href":"/integrations/store/other/etcd"}]}]}]}]},{"anchor":"Guides","icon":"bolt","pages":[{"title":"Guides","href":"/guides/hello-world"}]},{"anchor":"Blog","href":"https://configu.com/blog","icon":"blog"},{"anchor":"Contributing","href":"https://github.com/configu/configu/blob/main/CONTRIBUTING.md#contributing","icon":"handshake"},{"anchor":"Change Log","href":"https://github.com/configu/configu/releases","icon":"rss"},{"anchor":"Chat","href":"https://discord.gg/cjSBxnB9z8","icon":"discord"}]},"title":"Configu Interface Configuration File - Configu","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}