{
    "componentChunkName": "component---src-pages-docs-doc-page-tsx",
    "path": "/docs/deployments/local-environments",
    "result": {"data":{"site":{"siteMetadata":{"siteUrl":"https://www.architect.io"}},"page":{"edges":[{"node":{"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Local environments\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"h1\", {\n    \"id\": \"local-environments\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"Local environments\", mdx(\"a\", {\n    parentName: \"h1\",\n    \"href\": \"#local-environments\",\n    \"aria-label\": \"local environments permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"The first thing any developer wants to do when they're creating an app or service is run it locally. Architects open-source CLI was designed specifically to allow developers to write \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"architect.yml\"), \" files and provision the corresponding services on their own machine. Once you've \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/components/architect-yml\"\n  }, \"created an architect.yml file\"), \", you can use the CLI to register the component locally and then deploy with ease.\"), mdx(\"h2\", {\n    \"id\": \"local-registration\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"Local registration\", mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#local-registration\",\n    \"aria-label\": \"local registration permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"One of the staple features of Architect, \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/components/dependencies\"\n  }, \"dependency management\"), \", requires that components maintain a unique name by which they can be resolved. By default, the CLI will look for components by name in Architects cloud registry, but when developers are working locally they are unlikely to have published their work to the registry.\"), mdx(\"p\", null, \"In order to help developers take advantage of dependency management during active development, Architects CLI includes the means of simulating Architects cloud registry right on your personal machine. We've taken inspiration from NPM to instrument a \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"link\"), \" command that will register a path on your local machine as the location for a component. Whenever the component is referenced by name, the CLI will then find it on your machine instead of having to call out to the registry.\"), mdx(\"div\", {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }, mdx(\"pre\", {\n    parentName: \"div\",\n    \"className\": \"language-bash\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"$ architect \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token function\"\n  }, \"link\"), \" ./examples/react-app/\\nSuccessfully linked examples/react-app to \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token builtin class-name\"\n  }, \"local\"), \" system at /architect-cli/examples/react-app.\"))), mdx(\"h2\", {\n    \"id\": \"local-deployment\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"Local deployment\", mdx(\"a\", {\n    parentName: \"h2\",\n    \"href\": \"#local-deployment\",\n    \"aria-label\": \"local deployment permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"Once you've registered a component locally or remotely, that component can then be deployed with a single command:\"), mdx(\"div\", {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }, mdx(\"pre\", {\n    parentName: \"div\",\n    \"className\": \"language-bash\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"$ architect dev examples/react-app:latest -i app:app -p \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token assign-left variable\"\n  }, \"world_text\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token string\"\n  }, \"\\\"dude\\\"\"), \"\\n\\nUsing locally linked examples/react-app found at /architect-cli/examples/react-app\\nhttp://app.arc.localhost:80/ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \">\"), \" examples--react-app--app--latest--aklmrtvo\\n\\nhttp://localhost:50000/ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \">\"), \" examples--react-app--api-db--latest--arrm58dc\\nhttp://localhost:50001/ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \">\"), \" examples--react-app--api--latest--1dzvo47x\\nhttp://localhost:50002/ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \">\"), \" examples--react-app--app--latest--aklmrtvo\\nhttp://localhost:80/ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \">\"), \" gateway\"))), mdx(\"p\", null, \"When running this command we are telling Architect to deploy the application to the local machine. Each component will run for the duration of the command. Whenever this commnad is used, the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"debug\"), \" fields associated with each service will serve as override values for the service configuration.\"), mdx(\"p\", null, \"The next portion of the command to call attention to is the reference to the component and tag, \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"examples/react-app:latest\"), \". This refers to a component name and tag, and the CLI will first attempt to find it in the local registry before then trying to find it in the cloud registry. If the component is found locally, the CLI will inform you via the first line of the logs.\"), mdx(\"h3\", {\n    \"id\": \"interface-mapping\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"Interface mapping\", mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#interface-mapping\",\n    \"aria-label\": \"interface mapping permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"You may have also noticed the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-i\"), \" flag in the command. Much like \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"docker run\"), \" supports \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"//docs.docker.com/config/containers/container-networking/\"\n  }, \"port mapping\"), \" so that ports don't conflict with each other, Architect supports interface mapping when deploying components to ensure that interface names from components don't conflict with each other in a shared environment:\"), mdx(\"div\", {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"text\"\n  }, mdx(\"pre\", {\n    parentName: \"div\",\n    \"className\": \"language-text\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-text\"\n  }, \"-i <mapped-name>:<component-interface-name>\"))), mdx(\"p\", null, \"Interface mapping serves the added function of telling the environment which interfaces should be deemed \\\"external\\\". Interfaces deemed external will be made available via an automatically deployed API gateway. Each environment will be allocated a gateway so long as there is at least one interface mapped to a component.\"), mdx(\"h3\", {\n    \"id\": \"setting-parameter-values\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"Setting parameter values\", mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#setting-parameter-values\",\n    \"aria-label\": \"setting parameter values permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"Finally, the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"-p\"), \" flag in the dev command allows you to specify values for parameters defined by the component.\"), mdx(\"p\", null, \"Additionally, environment variables found on the local machine prefixed with \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ARC_\"), \" will be used to populate the parameter values of any components being deployed. For example, if we wanted to set the \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"world_text\"), \" parameter via environment parmeters, all we have to do is define a parameter named \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"ARC_world_text\"), \":\"), mdx(\"div\", {\n    \"className\": \"gatsby-highlight\",\n    \"data-language\": \"bash\"\n  }, mdx(\"pre\", {\n    parentName: \"div\",\n    \"className\": \"language-bash\"\n  }, mdx(\"code\", {\n    parentName: \"pre\",\n    \"className\": \"language-bash\"\n  }, \"$ \", mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token assign-left variable\"\n  }, \"ARC_world_text\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token operator\"\n  }, \"=\"), mdx(\"span\", {\n    parentName: \"code\",\n    \"className\": \"token string\"\n  }, \"\\\"dude\\\"\"), \"\\n$ architect dev examples/react-app:latest -i app:app\"))), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"In order to streamline local development, we recommend creating a single \", mdx(\"inlineCode\", {\n    parentName: \"em\"\n  }, \".env\"), \" file checked into source control that includes a set of configuration options for developers to use when developing locally. They can easily mount the included parameters by running \", mdx(\"inlineCode\", {\n    parentName: \"em\"\n  }, \"source .env\"), \" before deploying.\")), mdx(\"h3\", {\n    \"id\": \"hsts-issues\",\n    \"style\": {\n      \"position\": \"relative\"\n    }\n  }, \"HSTS issues\", mdx(\"a\", {\n    parentName: \"h3\",\n    \"href\": \"#hsts-issues\",\n    \"aria-label\": \"hsts issues permalink\",\n    \"className\": \"anchor after\"\n  }, mdx(\"svg\", {\n    parentName: \"a\",\n    \"aria-hidden\": \"true\",\n    \"focusable\": \"false\",\n    \"height\": \"16\",\n    \"version\": \"1.1\",\n    \"viewBox\": \"0 0 16 16\",\n    \"width\": \"16\"\n  }, mdx(\"path\", {\n    parentName: \"svg\",\n    \"fillRule\": \"evenodd\",\n    \"d\": \"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"\n  })))), mdx(\"p\", null, \"Architect starts a load balancer for each local deployment to route traffic to your services over HTTP. Occasionally browsers such as Chrome will block requests to certain websites unless traffic is sent over HTTPS. If you attempt to navigate to a route exposed by your local deployment and see a message such as \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"You cannot visit app.arc.localhost right now because the website uses HSTS\"), \", you will need to turn off HSTS for \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"localhost\"), \" on your browser. In Chrome, for example, that can be done by navigating to \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"chrome://net-internals/#hsts\"), \" and deleting the security policy for \", mdx(\"inlineCode\", {\n    parentName: \"p\"\n  }, \"localhost\"), \" and its subdomains.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#local-environments","title":"Local environments","items":[{"url":"#local-registration","title":"Local registration"},{"url":"#local-deployment","title":"Local deployment","items":[{"url":"#interface-mapping","title":"Interface mapping"},{"url":"#setting-parameter-values","title":"Setting parameter values"},{"url":"#hsts-issues","title":"HSTS issues"}]}]}]},"frontmatter":{"title":"Local environments","description":null,"author":null,"date":null,"image":null}}}]},"all":{"edges":[{"node":{"id":"6ca2c250-227d-5ef2-8046-4a958d927040","fileAbsolutePath":"/opt/build/repo/src/pages/docs/_NO-PAGES-HERE.md","frontmatter":{"title":""},"fields":{"order":"0","parent":null,"slug":"_NO-PAGES-HERE","key":"_NO-PAGES-HERE"}}},{"node":{"id":"a46d338e-d3c3-579f-9d4d-a9e75e2efa04","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/0-getting-started/index.md","frontmatter":{"title":"Getting started"},"fields":{"order":"0.0","parent":null,"slug":"getting-started/index","key":"getting-started"}}},{"node":{"id":"a3f0dd71-19bc-5964-9964-19284797ea04","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/0-getting-started/0-introduction.md","frontmatter":{"title":"Introduction"},"fields":{"order":"0.0","parent":"getting-started","slug":"getting-started/introduction","key":"introduction"}}},{"node":{"id":"55f5bb40-378d-56ac-a5fd-db2a54ffa5f6","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/0-getting-started/1-external-services.md","frontmatter":{"title":"External services"},"fields":{"order":"0.1","parent":"getting-started","slug":"getting-started/external-services","key":"external-services"}}},{"node":{"id":"b67404b5-991c-51f5-a1ff-d74262436a56","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/0-getting-started/2-working-with-tasks.md","frontmatter":{"title":"Working With Tasks"},"fields":{"order":"0.2","parent":"getting-started","slug":"getting-started/working-with-tasks","key":"working-with-tasks"}}},{"node":{"id":"7653fe9f-2e4d-5a17-b9e3-f3ca4f9bb91c","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/index.md","frontmatter":{"title":"Components"},"fields":{"order":"1.0","parent":null,"slug":"components/index","key":"components"}}},{"node":{"id":"86593204-32c2-52ad-b6f0-35699b1dcb9a","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/0-architect-yml.md","frontmatter":{"title":"architect.yml"},"fields":{"order":"1.0","parent":"components","slug":"components/architect-yml","key":"architect-yml"}}},{"node":{"id":"7ebce8d0-bc94-5dd6-b8de-ee3201b5a538","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/1-services.md","frontmatter":{"title":"Services"},"fields":{"order":"1.1","parent":"components","slug":"components/services","key":"services"}}},{"node":{"id":"e0ede896-cccc-55e6-b53a-661b5b357f09","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/2-service-discovery.md","frontmatter":{"title":"Service discovery"},"fields":{"order":"1.2","parent":"components","slug":"components/service-discovery","key":"service-discovery"}}},{"node":{"id":"a269f179-05ce-5565-b3ab-79489f7f4d63","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/3-interfaces.md","frontmatter":{"title":"Interfaces"},"fields":{"order":"1.3","parent":"components","slug":"components/interfaces","key":"interfaces"}}},{"node":{"id":"1ff85f82-951c-5af0-8b58-e43b27a4f931","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/4-dependencies.md","frontmatter":{"title":"Dependencies"},"fields":{"order":"1.4","parent":"components","slug":"components/dependencies","key":"dependencies"}}},{"node":{"id":"54f8cba0-551c-5a55-8e03-5dd04553b015","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/5-tasks.md","frontmatter":{"title":"Tasks"},"fields":{"order":"1.5","parent":"components","slug":"components/tasks","key":"tasks"}}},{"node":{"id":"bacb11d2-c055-5f25-854a-d6f518bf4017","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/6-parameters.md","frontmatter":{"title":"Parameters"},"fields":{"order":"1.6","parent":"components","slug":"components/parameters","key":"parameters"}}},{"node":{"id":"a5f1c45e-8135-5905-851f-806b8304a9a2","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/7-local-configuration.md","frontmatter":{"title":"Local configuration"},"fields":{"order":"1.7","parent":"components","slug":"components/local-configuration","key":"local-configuration"}}},{"node":{"id":"5473f945-539f-5604-a296-d46202c4f927","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/1-components/8-ingress-rules.md","frontmatter":{"title":"Ingress rules"},"fields":{"order":"1.8","parent":"components","slug":"components/ingress-rules","key":"ingress-rules"}}},{"node":{"id":"a7440547-79ad-5125-87f4-4c63e605a3ed","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/index.md","frontmatter":{"title":"Deployments"},"fields":{"order":"2.0","parent":null,"slug":"deployments/index","key":"deployments"}}},{"node":{"id":"8f583e77-4a46-5bba-b94f-56a28fa4f132","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/0-local-environments.md","frontmatter":{"title":"Local environments"},"fields":{"order":"2.0","parent":"deployments","slug":"deployments/local-environments","key":"local-environments"}}},{"node":{"id":"a0ead35e-e924-5e87-a72d-b9c0e5addf98","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/1-automated-previews.md","frontmatter":{"title":"Automated preview environments"},"fields":{"order":"2.1","parent":"deployments","slug":"deployments/automated-previews","key":"automated-previews"}}},{"node":{"id":"da390951-9a64-5c67-b884-2e7b46ad42b8","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/2-gitops-releases.md","frontmatter":{"title":"GitOps releases"},"fields":{"order":"2.2","parent":"deployments","slug":"deployments/gitops-releases","key":"gitops-releases"}}},{"node":{"id":"6019f30c-1016-5e73-a67b-4297e071766c","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/3-secrets.md","frontmatter":{"title":"Secrets"},"fields":{"order":"2.3","parent":"deployments","slug":"deployments/secrets","key":"secrets"}}},{"node":{"id":"2218af9b-3bd7-54e2-b8c5-075d54ee55b9","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/4-custom-domains.md","frontmatter":{"title":"Custom domains"},"fields":{"order":"2.4","parent":"deployments","slug":"deployments/custom-domains","key":"custom-domains"}}},{"node":{"id":"7b3d7a73-fa30-5a75-a62c-2a83c6c8aa87","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/5-deployment-rollbacks.md","frontmatter":{"title":"Pipeline rollbacks"},"fields":{"order":"2.5","parent":"deployments","slug":"deployments/deployment-rollbacks","key":"deployment-rollbacks"}}},{"node":{"id":"df87d55d-68be-542e-ad07-7e685b518d4e","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/2-deployments/6-multitenant-deployments.md","frontmatter":{"title":"Multi-Tenant Deployments"},"fields":{"order":"2.6","parent":"deployments","slug":"deployments/multitenant-deployments","key":"multitenant-deployments"}}},{"node":{"id":"90dcd6b8-6865-5bef-a54a-b4e66b800928","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/5-reference/index.md","frontmatter":{"title":"Reference"},"fields":{"order":"5.0","parent":null,"slug":"reference/index","key":"reference"}}},{"node":{"id":"0b6a7522-25cc-574b-8878-f26143c682f3","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/5-reference/0-cli.md","frontmatter":{"title":""},"fields":{"order":"5.0","parent":"reference","slug":"reference/cli","key":"cli"}}},{"node":{"id":"2399c8ac-af88-5625-ba5f-e40f6966da47","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/5-reference/1-contexts.md","frontmatter":{"title":"Contexts"},"fields":{"order":"5.1","parent":"reference","slug":"reference/contexts","key":"contexts"}}},{"node":{"id":"14307377-6e9d-53ef-a21e-8de5b7131c20","fileAbsolutePath":"/opt/build/repo/architect-cli/docs/5-reference/2-architect-yml.md","frontmatter":{"title":"architect.yml"},"fields":{"order":"5.2","parent":"reference","slug":"reference/architect-yml","key":"architect-yml"}}}]}},"pageContext":{"slug":"deployments/local-environments"}},
    "staticQueryHashes": ["764694655"]}