Enterprise is powered and managed by a Control Plane that sits above Enterprise Instances (a.k.a Cells). Controllers, implemented as Lambdas, are mainly used to create and update components. They compare the desired state (as defined by a spec that lives in the Control Plane) with the actual state, and then work to resolve any discrepancies.Deployment and operation can be divided into three stages:
The initial infrastructure required is created using a CloudFormation template executed by the customer. The customer must create a new & dedicated AWS account (as per Getting Started) and and then execute the CloudFormation template within it.Please see Getting Started for detailed instructions.
Once the CloudFormation template successfully executes, the instance will register itself with the Gitpod Control Plane.
Registration happens via an outgoing connection only that uses AWS PrivateLink - the Control Plane has no ingoing connection to the instance. See Networking and Data Flows.
Upon registration, the instance will check for the newest version of Gitpod and install it onto itself. This happens via the normal update mechanism which is described below.
The initial application update is handled just like any other, with the only difference being that no application is installed yet. I.e. all of Gitpod’s components are installed from scratch after the instance has registered itself.
Enterprise is deployed and operated in the same way as other SaaS offerings, i.e. in a continuous manner. Deployment happens first to our internal staging environments, then gitpod.io, and only then to Dedicated customers.
Changes are deployed and new features are enabled independently, using feature flags. Gitpod plans to deploy changes perpetually, but enable new functionality in a way that aligns with release communication.
The instance connects to the Control Plane (via an outgoing connection only; using AWS PrivateLink) to periodically check for updates. When it learns that a new version is available, it pulls the latest images (also via PrivateLink), applies them to update to the latest version and shares the status with the Control Plane.
Maintenance mode: Upon updates of certain application components, the instance may enter maintenance mode - in this mode, workspaces are temporarily blocked from starting and stopping and it is not possible to take a workspace snapshot. Running workspaces are not affected and this should only last a few minutes. During maintenance mode, users see the following error:
Ongoing OperationsSome detail for Gitpod infrastructure is collected and shared with the Control Plane to aid in troubleshooting. This is limited to:
Values for required AWS service quotas
Cloud Formation stack status, changeset status, and drift detection results
Parameters for the Instance Cloud Formation template
Occasionally, infrastructure updates are required to keep a customer’s instance up to date. In such cases, an updated CloudFormation template will be provided, which can be run against the existing stack created by the initial CloudFormation template.
Infrastructure updates are mandatory. Infrastructure updates need to applied within two weeks, as otherwise the instance will no longer receive updates and fall out of the support SLA.
In the event that there are unforeseen issues with a customer’s installation that cannot be resolved using the data that is exported from an instance (see Data and Observability), the customer is able to get access to the instance in order to jointly debug the instance with a Gitpod employee. This is only a tool used in emergencies. Gitpod is not able to access the instance directly. For more information, see Getting Access to the Instance for Debugging.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Ona Documentation","colors":{"primary":"#1F1F1F","light":"#E1E1E1","dark":"#1F1F1F"},"logo":{"light":"https://ona.com/ona-wordmark-black.svg","dark":"https://ona.com/ona-wordmark.svg","href":"https://ona.com"},"favicon":"https://mintcdn.com/gitpod-13c83c2b/VNRB7EABm4xr9DQd/images/favicon.png?fit=max\u0026auto=format\u0026n=VNRB7EABm4xr9DQd\u0026q=85\u0026s=ce328dad297fff45341e91be7468e8f6","api":{},"appearance":{"default":"system"},"background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://app.gitpod.io/login","label":"Sign in"}],"primary":{"type":"button","label":"Request a demo","href":"https://ona.com/contact/demo"}},"footer":{"socials":{"x":"https://x.com/ona_hq","github":"https://github.com/gitpod-io","linkedin":"https://www.linkedin.com/company/ona-hq","youtube":"https://www.youtube.com/@ona_hq"}},"search":{"prompt":"Search or ask, e.g., 'Configure GitHub in Enterprise'"},"seo":{"metatags":{"og:type":"website","og:site_name":"Ona Documentation"},"indexing":"navigable"},"integrations":{"ga4":{"measurementId":"G-N7BXGH25CC"},"gtm":{"tagId":"GTM-P4LP64V"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"gitpod-13c83c2b","hasAudioNarration":false,"actualSubdomain":"gitpod-13c83c2b","customDomains":["ona.com"],"gitSource":{"type":"github","owner":"gitpod-io","repo":"gitpod-next","deployBranch":"main","contentDirectory":"documentation","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2630f5bd361c12dc2faa4","collectionId":"f3b61ee4-35be-433e-824f-9b321bcff1b7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2630f5bd361c12dc2faa4"},"feedback":{"thumbs":true,"issues":false,"edits":false},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"}},"buildId":"6ae304d09223328a7426b469","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"default","tag":"Reference","count":337},{"language":"default","tag":"API Reference","count":328},{"language":"default","tag":"Services","count":326},{"language":"default","tag":"Additional documentation","count":71},{"language":"default","tag":"Organizations","count":58},{"language":"default","tag":"Using Ona","count":47},{"language":"default","tag":"Enterprise","count":43},{"language":"default","tag":"Configuration","count":38},{"language":"default","tag":"Administration \u0026 Security","count":37},{"language":"default","tag":"Introduction","count":35}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false},"basePath":"/docs","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":"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}],"googleFontsInlined":false},"customCss":[{"filePath":"mux-player.css","content":".mux-player-container{margin:1.5rem 0;position:relative;width:100%;border-radius:6px;overflow:hidden}.mux-player-container mux-player{width:100%;display:block;--media-object-fit:contain;--media-object-position:center;--media-background-color:transparent}"},{"filePath":"style.css","content":"@keyframes veto-fall{0%{transform:translateY(0)}to{transform:translateY(300%)}}#sidebar a[target=_blank]>div>div.flex-1{flex:0 1 auto!important}#sidebar a[target=_blank]>div{gap:6px!important}.qs-hero-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;border-radius:999px;font-size:15px;font-weight:600;text-decoration:none!important;transition:background-color .15s,transform .1s;margin-bottom:16px}.qs-hero-btn:active{transform:scale(.98)}.qs-hero-btn-primary{background-color:#1f1f1f;color:#fff!important}.qs-hero-btn-primary:hover{background-color:#333}.dark .qs-hero-btn-primary{background-color:#fff;color:#1f1f1f!important}.dark .qs-hero-btn-primary:hover{background-color:#e5e5e5}[class*=backdrop-blur-3xl]{backdrop-filter:blur(85px)!important;-webkit-backdrop-filter:blur(85px)!important}.dark [class*=backdrop-blur-3xl]{background:rgba(0,0,0,.7)!important}#banner{max-height:72px!important}#banner span{color:#fff!important}@media (max-width:768px){#banner p,#banner span{font-size:14px!important}}#banner a{text-decoration:none!important}#llms-note{margin-top:2rem;padding-top:1.25rem;border-top:1px solid rgba(0,0,0,.08);font-size:.8125rem;line-height:1.25rem;color:rgba(0,0,0,.9)}.dark #llms-note{border-top-color:rgba(255,255,255,.12);color:rgba(255,255,255,.9)}#llms-note a{color:rgba(0,0,0,.75);text-decoration:underline;text-decoration-color:rgba(0,0,0,.25);text-underline-offset:2px;transition:color .15s,text-decoration-color .15s}.dark #llms-note a{color:rgba(255,255,255,.7);text-decoration-color:rgba(255,255,255,.25)}#llms-note a:hover{color:rgba(0,0,0,.9);text-decoration-color:rgba(0,0,0,.5)}.dark #llms-note a:hover{color:rgba(255,255,255,.95);text-decoration-color:rgba(255,255,255,.5)}.llms-note-icon{margin-right:.25rem}.overview-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width:768px){.overview-cards{grid-template-columns:1fr}}.overview-cards .overview-card{position:relative;overflow:hidden;border-radius:12px;border:1px solid rgba(0,0,0,.08);padding:24px;text-decoration:none!important;color:inherit!important;display:block;transition:border-color .2s;isolation:isolate}.dark .overview-cards .overview-card{border-color:rgba(255,255,255,.1)}.overview-cards .overview-card::after,.overview-cards .overview-card::before{content:'';position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .7s ease}.overview-cards .overview-card::before{background-image:url(https://ona.com/docs/assets/screenshot-bg.jpg);background-size:cover;background-position:center;z-index:0}.overview-cards .overview-card::after{background:rgba(255,255,255,.85);z-index:1}.dark .overview-cards .overview-card::after{background:rgba(0,0,0,.75)}.overview-cards .overview-card:hover::after,.overview-cards .overview-card:hover::before{opacity:1!important}.overview-cards .overview-card:hover{border-color:rgba(0,0,0,.15)!important}.dark .overview-cards .overview-card:hover{border-color:rgba(255,255,255,.2)!important}.overview-cards .overview-card.overview-card--static:hover::after,.overview-cards .overview-card.overview-card--static:hover::before{opacity:0!important}.overview-cards .overview-card.overview-card--static:hover{border-color:rgba(0,0,0,.08)!important}.dark .overview-cards .overview-card.overview-card--static:hover{border-color:rgba(255,255,255,.1)!important}.overview-card-content{position:relative;z-index:2}.overview-card-title{font-weight:600;font-size:16px;margin-bottom:4px}.overview-card-desc{font-size:14px;opacity:.7;line-height:1.4}.overview-card-link{margin-top:16px;font-size:13px;font-weight:500;opacity:.6}.veto-banner{position:relative;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:20px 24px;margin-bottom:24px;display:block;text-decoration:none!important;color:inherit!important}.veto-banner:hover{border-color:rgba(255,255,255,.2)}.veto-rain{transition:opacity .4s ease}.veto-banner:hover .veto-rain{opacity:2.5}.veto-banner:hover .veto-col{color:rgba(255,255,255,.25)}.veto-banner:hover .veto-title{color:#fff}.veto-banner:hover .veto-subtitle{color:rgba(255,255,255,.75)}.veto-content{position:relative;z-index:2}.veto-title{font-size:15px;font-weight:700;color:#fff;margin-bottom:4px;transition:color .4s ease}.veto-subtitle{font-size:14px;color:rgba(255,255,255,.55);line-height:1.5;transition:color .4s ease}.veto-rain{position:absolute;inset:0;pointer-events:none;user-select:none;overflow:hidden}.veto-col{position:absolute;top:-100%;font-family:ui-monospace,SFMono-Regular,'SF Mono',Menlo,monospace;font-size:13px;line-height:1.4;color:rgba(255,255,255,.1);writing-mode:vertical-lr;text-orientation:upright;animation:veto-fall linear infinite;transition:color .4s ease}.veto-col:nth-child(1){left:2%;animation-duration:6s;animation-delay:0s}.veto-col:nth-child(2){left:7%;animation-duration:8s;animation-delay:-2s;color:rgba(255,255,255,.06)}.veto-col:nth-child(3){left:12%;animation-duration:7s;animation-delay:-4s}.veto-col:nth-child(4){left:17%;animation-duration:9s;animation-delay:-1s;color:rgba(255,255,255,.08)}.veto-col:nth-child(5){left:22%;animation-duration:6.5s;animation-delay:-3s}.veto-col:nth-child(6){left:27%;animation-duration:8.5s;animation-delay:-5s;color:rgba(255,255,255,.05)}.veto-col:nth-child(7){left:32%;animation-duration:7.5s;animation-delay:-2.5s}.veto-col:nth-child(8){left:37%;animation-duration:9.5s;animation-delay:-4.5s;color:rgba(255,255,255,.06)}.veto-col:nth-child(9){left:42%;animation-duration:6.8s;animation-delay:-1.5s}.veto-col:nth-child(10){left:47%;animation-duration:8.2s;animation-delay:-3.5s;color:rgba(255,255,255,.08)}.veto-col:nth-child(11){left:52%;animation-duration:7.2s;animation-delay:-.5s}.veto-col:nth-child(12){left:57%;animation-duration:9s;animation-delay:-5.5s;color:rgba(255,255,255,.05)}.veto-col:nth-child(13){left:62%;animation-duration:6.3s;animation-delay:-2.8s}.veto-col:nth-child(14){left:67%;animation-duration:7.8s;animation-delay:-1.2s;color:rgba(255,255,255,.08)}.veto-col:nth-child(15){left:72%;animation-duration:8.8s;animation-delay:-3.8s}.veto-col:nth-child(16){left:77%;animation-duration:6.2s;animation-delay:-4.2s;color:rgba(255,255,255,.06)}.veto-col:nth-child(17){left:82%;animation-duration:7.6s;animation-delay:-.8s}.veto-col:nth-child(18){left:87%;animation-duration:9.2s;animation-delay:-2.2s;color:rgba(255,255,255,.05)}.veto-col:nth-child(19){left:92%;animation-duration:6.7s;animation-delay:-4.8s}.veto-col:nth-child(20){left:97%;animation-duration:8.4s;animation-delay:-1.8s;color:rgba(255,255,255,.08)}"}],"page":{"pagePath":"classic/admin/background/deployment-updates","slug":"/classic/admin/background/deployment-updates","pageMetadata":{"title":"Deployment \u0026 Updates","description":null,"og:title":"Deployment \u0026 Updates - Gitpod Classic","href":"/classic/admin/background/deployment-updates"},"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`,em:`em`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,Info,Note,OptimizedImage,Warning}=_components;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(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Note,{children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Substrate = The control plane that manages Enterprise instances `,_jsx(`br`,{})]}),`\n`,_jsxs(_components.li,{children:[`Bootstrap = Initial set up required to create an instance of Enterprise `,_jsx(`br`,{})]}),`\n`,_jsx(_components.li,{children:`Cell = An instance of Enterprise`}),`\n`]})}),`\n`,_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsx(Frame,{caption:`Enterprise Architecture`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=c99b4fb9eb712c06782da6122e078c25`,\"data-og-width\":`3000`,width:`3000`,\"data-og-height\":`3712`,height:`3712`,\"data-path\":`images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=280\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=4dd65a9d10e3d026175d0fffb59aab0e 280w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=560\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=ac04b90d6bb5679f8b2adedb2f62ba2d 560w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=840\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=9e6dbc9dc8b1b7c3a2dc74237e807aa2 840w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=525c07452beac404078d9b5067ded985 1100w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=c553625ff4fade44e224800e3e6983b6 1650w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/gitpod-dedicated-architecture.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=f41166e2245e09eb2a69f554e0b05814 2500w`})}),`\n`,_jsxs(_components.p,{children:[`Enterprise is powered and managed by a Control Plane that sits above Enterprise Instances (a.k.a Cells). Controllers, implemented as `,_jsx(_components.a,{href:`https://aws.amazon.com/lambda/`,children:`Lambdas`}),`, are mainly used to create and update components. They compare the desired state (as defined by a spec that lives in the Control Plane) with the actual state, and then work to resolve any discrepancies.`]}),`\n`,_jsx(_components.p,{children:`Deployment and operation can be divided into three stages:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Bootstrap (initial set up of infrastructure)`}),`\n`,_jsx(_components.li,{children:`Registration`}),`\n`,_jsx(_components.li,{children:`Updates and ongoing operations`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`bootstrap-stage`,children:`Bootstrap Stage`}),`\n`,_jsxs(_components.p,{children:[`The initial infrastructure required is created using a CloudFormation template executed by the customer. The customer must create a new \u0026 dedicated AWS account (as per `,_jsx(_components.a,{href:`/classic/admin/getting-started/overview`,children:`Getting Started`}),`) and and then execute the CloudFormation template within it.`]}),`\n`,_jsxs(_components.p,{children:[`Please see `,_jsx(_components.a,{href:`/classic/admin/getting-started/overview`,children:`Getting Started`}),` for detailed instructions.`]}),`\n`,_jsx(Heading,{level:`3`,id:`registration-stage`,children:`Registration stage`}),`\n`,_jsx(_components.p,{children:`Once the CloudFormation template successfully executes, the instance will register itself with the Gitpod Control Plane.`}),`\n`,_jsxs(Info,{children:[` Registration happens via an outgoing connection only that uses AWS PrivateLink - the Control Plane has no ingoing connection to the instance. See `,_jsx(_components.a,{href:`/classic/admin/reference/networking-data-flows`,children:`Networking and Data Flows`}),`.`]}),`\n`,_jsx(_components.p,{children:`Upon registration, the instance will check for the newest version of Gitpod and install it onto itself. This happens via the normal update mechanism which is described below.`}),`\n`,_jsx(Heading,{level:`3`,id:`updates-and-ongoing-operations`,children:`Updates and Ongoing Operations`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Application Updates`})}),`\n`,_jsx(Info,{children:` The initial application update is handled just like any other, with the only difference being that no application is installed yet. I.e. all of Gitpod’s components are installed from scratch after the instance has registered itself.`}),`\n`,_jsxs(_components.p,{children:[`Enterprise is deployed and operated in the same way as other SaaS offerings, i.e. in a continuous manner. Deployment happens first to our internal staging environments, then gitpod.io, and `,_jsx(_components.em,{children:`only`}),` then to Dedicated customers.`]}),`\n`,_jsx(Note,{children:` Changes are deployed and new features are enabled independently, using feature flags. Gitpod plans to deploy changes perpetually, but enable new functionality in a way that aligns with release communication.`}),`\n`,_jsxs(_components.p,{children:[`The instance connects to the Control Plane (`,_jsx(_components.em,{children:`via an outgoing connection only; using AWS PrivateLink`}),`) to periodically check for updates. When it learns that a new version is available, it pulls the latest images (also via PrivateLink), applies them to update to the latest version and shares the status with the Control Plane.`]}),`\n`,_jsxs(Warning,{children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Maintenance mode:`}),` Upon updates of certain application components, the instance may enter maintenance mode - in this mode, workspaces are temporarily blocked from starting and stopping and it is not possible to take a `,_jsx(_components.a,{href:`/classic/user/configure/workspaces/collaboration#workspace-snapshots`,children:`workspace snapshot`}),`. Running workspaces are `,_jsx(_components.em,{children:`not`}),` affected and this should only last a few minutes. During maintenance mode, users see the following error:`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=b198cbba14decac6232d8a85a240cf8b`,alt:`Enterprise Deployment overview`,className:`mint-mx-auto mint-w-3/6`,\"data-og-width\":`480`,width:`480`,\"data-og-height\":`440`,height:`440`,\"data-path\":`images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=280\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=31c29a9bd3b268ad34e8a6847cf3b721 280w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=560\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=558ee4c313a898775dd503918d1babc1 560w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=840\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=2174ea70752091425548c950c9135735 840w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=1100\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=947099f32728834e55f8421620cb81f5 1100w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=1650\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=94003d1c5f2cb453b56ac3eac6bc4492 1650w, https://mintcdn.com/gitpod-13c83c2b/DbW0IHRsdqu3clLj/images/docs/gitpod-dedicated/background/deployment-updates/maintenance-mode.webp?w=2500\u0026fit=max\u0026auto=format\u0026n=DbW0IHRsdqu3clLj\u0026q=85\u0026s=3af0b5bad9151412c2927aea3dfcf2e1 2500w`})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Ongoing Operations`})}),`\n`,_jsx(_components.p,{children:`Some detail for Gitpod infrastructure is collected and shared with the Control Plane to aid in troubleshooting. This is limited to:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Values for required AWS service quotas`}),`\n`,_jsx(_components.li,{children:`Cloud Formation stack status, changeset status, and drift detection results`}),`\n`,_jsx(_components.li,{children:`Parameters for the Instance Cloud Formation template`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`infrastructure-updates`,children:`Infrastructure updates`}),`\n`,_jsx(_components.p,{children:`Occasionally, infrastructure updates are required to keep a customer’s instance up to date. In such cases, an updated CloudFormation template will be provided, which can be run against the existing stack created by the initial CloudFormation template.`}),`\n`,_jsxs(Warning,{children:[` Infrastructure updates are mandatory. Infrastructure updates need to applied `,_jsx(_components.strong,{children:`within two weeks`}),`, as otherwise the instance will no longer receive updates and fall out of the support SLA.`]}),`\n`,_jsx(Heading,{level:`3`,id:`debugging`,children:`Debugging`}),`\n`,_jsxs(_components.p,{children:[`In the event that there are unforeseen issues with a customer’s installation that cannot be resolved using the data that is exported from an instance (see `,_jsx(_components.a,{href:`/classic/admin/background/data-observability`,children:`Data and Observability`}),`), the customer is able to get access to the instance in order to jointly debug the instance with a Gitpod employee. This is only a tool used in emergencies. Gitpod is not able to access the instance directly. For more information, see `,_jsx(_components.a,{href:`/classic/admin/manage-gitpod/accessing-data-exported-from-your-instance`,children:`Getting Access to the Instance for Debugging`}),`.`]})]})}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":"Deployment \u0026 Updates","description":null,"og:title":"Deployment \u0026 Updates - Gitpod Classic","href":"/classic/admin/background/deployment-updates"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[{"title":"Bootstrap Stage","slug":"bootstrap-stage","depth":3,"children":[]},{"title":"Registration stage","slug":"registration-stage","depth":3,"children":[]},{"title":"Updates and Ongoing Operations","slug":"updates-and-ongoing-operations","depth":3,"children":[]},{"title":"Infrastructure updates","slug":"infrastructure-updates","depth":3,"children":[]},{"title":"Debugging","slug":"debugging","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/gitpod-13c83c2b/e137d8d13296b12a/mux-player.js","/docs/_mintlify/custom/gitpod-13c83c2b/599f15f02bc44682/reo-dev.js","/docs/_mintlify/custom/gitpod-13c83c2b/8f31a766d75cd1b9/llms-note.js"],"dynamicCss":".mint-mx-auto {\n margin-left: auto;\n margin-right: auto\n}\n.mint-w-3\\/6 {\n width: 50%\n}","subdomain":"gitpod-13c83c2b","siteName":"Ona Documentation","title":"Deployment \u0026 Updates - Gitpod Classic","navMaps":{"firstHrefInVersion":{"Ona":{"href":"/ona/getting-started","matchLevel":3},"Workshops":{"href":"/workshops/overview","matchLevel":3},"Gitpod Classic":{"href":"/classic/admin/background/deployment-updates","matchLevel":0},"Examples":{"href":"/examples/introduction/getting-started","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T08:34:02.085Z","originalFileLocation":"classic/admin/background/deployment-updates.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=\"application-name\" content=\"Ona Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_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=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Deployment \u0026amp; Updates - Gitpod Classic\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ona Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ona.com/docs/classic/admin/background/deployment-updates\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://gitpod-13c83c2b.mintlify.app/_mintlify/api/og/v2?division=Background\u0026amp;title=Deployment+%26+Updates\u0026amp;theme=e02116b2a6816d555293bbc7\u0026amp;signature=84d600cad52de33f30e7d659deeee9f179f0bd7fdf72997ca6d0f2bab6230e32\">\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=\"Deployment \u0026amp; Updates - Gitpod Classic\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gitpod-13c83c2b.mintlify.app/_mintlify/api/og/v2?division=Background\u0026amp;title=Deployment+%26+Updates\u0026amp;theme=e02116b2a6816d555293bbc7\u0026amp;signature=84d600cad52de33f30e7d659deeee9f179f0bd7fdf72997ca6d0f2bab6230e32\">\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=\"/docs/mintlify-assets/_mintlify/favicons/gitpod-13c83c2b/TBHkobzFtW1BGitV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Ona Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1F1F1F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://ona.com/docs/classic/admin/background/deployment-updates\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/classic/admin/background/deployment-updates.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://ona.com/#organization\",\"name\":\"Ona Documentation\",\"url\":\"https://ona.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://ona.com/ona-wordmark-black.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://ona.com/docs#website\",\"name\":\"Ona Documentation\",\"url\":\"https://ona.com/docs\",\"publisher\":{\"@id\":\"https://ona.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://ona.com/docs/classic/admin/background/deployment-updates#webpage\",\"url\":\"https://ona.com/docs/classic/admin/background/deployment-updates\",\"name\":\"Deployment \u0026 Updates\",\"dateModified\":\"2026-10-29T08:34:02.085Z\",\"isPartOf\":{\"@id\":\"https://ona.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://ona.com/docs/classic/admin/background/deployment-updates#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ona.com/docs/classic/admin/background/deployment-updates#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Enterprise\",\"item\":\"https://ona.com/docs/classic/admin/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Background\",\"item\":\"https://ona.com/docs/classic/admin/background/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Deployment \u0026 Updates\",\"item\":\"https://ona.com/docs/classic/admin/background/deployment-updates\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://ona.com/docs/classic/admin/background/deployment-updates#article\",\"headline\":\"Deployment \u0026 Updates\",\"name\":\"Deployment \u0026 Updates\",\"url\":\"https://ona.com/docs/classic/admin/background/deployment-updates\",\"mainEntityOfPage\":{\"@id\":\"https://ona.com/docs/classic/admin/background/deployment-updates#webpage\"},\"dateModified\":\"2026-10-29T08:34:02.085Z\",\"publisher\":{\"@id\":\"https://ona.com/#organization\"},\"isPartOf\":{\"@id\":\"https://ona.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Ona Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Ona Documentation","nav":{"global":null,"versions":[{"version":"Ona","default":true,"pages":[{"title":"Ona","href":"/ona/getting-started"}]},{"version":"Workshops","pages":[{"title":"Workshops","href":"/workshops/overview"}]},{"version":"Gitpod Classic","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/classic/user/introduction/overview"},{"title":"Use cases","href":"/classic/user/introduction/use-cases"},{"group":"Getting started","pages":[{"title":"Overview","href":"/classic/user/introduction/getting-started/overview"},{"group":"Quickstart","pages":[{"title":"Overview","href":"/classic/user/introduction/getting-started/quickstart/overview"},{"title":"Agda template","href":"/classic/user/introduction/getting-started/quickstart/agda"},{"title":"Haskell template","href":"/classic/user/introduction/getting-started/quickstart/haskell"},{"title":"Scala template","href":"/classic/user/introduction/getting-started/quickstart/scala"},{"title":"Svelte template","href":"/classic/user/introduction/getting-started/quickstart/svelte"}]}]},{"group":"Gitpod tutorial","pages":[{"title":"Build with Gitpod","href":"/classic/user/introduction/gitpod-tutorial/overview"},{"title":"Start your first workspace","href":"/classic/user/introduction/gitpod-tutorial/1-start-your-workspace"},{"title":"Configure .gitpod.yml","href":"/classic/user/introduction/gitpod-tutorial/2-configure-your-gitpod-yml"},{"title":"Configure ports","href":"/classic/user/introduction/gitpod-tutorial/3-configure-application-ports"},{"title":"Configure a database","href":"/classic/user/introduction/gitpod-tutorial/4-configure-a-database"},{"title":"Configure environment variables","href":"/classic/user/introduction/gitpod-tutorial/5-use-environment-variables"},{"title":"Review","href":"/classic/user/introduction/gitpod-tutorial/6-what-next"}]},{"group":"Languages","pages":[{"title":"Overview","href":"/classic/user/introduction/languages/overview"},{"title":"Bash in Gitpod","href":"/classic/user/introduction/languages/bash"},{"title":"C++ in Gitpod","href":"/classic/user/introduction/languages/cpp"},{"title":"Dart in Gitpod","href":"/classic/user/introduction/languages/dart"},{"title":"Deno in Gitpod","href":"/classic/user/introduction/languages/deno"},{"title":".NET in Gitpod","href":"/classic/user/introduction/languages/dotnet"},{"title":"Go in Gitpod","href":"/classic/user/introduction/languages/go"},{"title":"HTML \u0026 CSS in Gitpod","href":"/classic/user/introduction/languages/html"},{"title":"Java in Gitpod","href":"/classic/user/introduction/languages/java"},{"title":"JavaScript in Gitpod","href":"/classic/user/introduction/languages/javascript"},{"title":"Julia in Gitpod","href":"/classic/user/introduction/languages/julia"},{"title":"Kotlin in Gitpod","href":"/classic/user/introduction/languages/kotlin"},{"title":"LaTeX in Gitpod","href":"/classic/user/introduction/languages/latex"},{"title":"PHP in Gitpod","href":"/classic/user/introduction/languages/php"},{"title":"Python in Gitpod","href":"/classic/user/introduction/languages/python"},{"title":"R in Gitpod","href":"/classic/user/introduction/languages/r"},{"title":"Ruby in Gitpod","href":"/classic/user/introduction/languages/ruby"},{"title":"Rust in Gitpod","href":"/classic/user/introduction/languages/rust"},{"title":"Scala in Gitpod","href":"/classic/user/introduction/languages/scala"},{"title":"Svelte in Gitpod","href":"/classic/user/introduction/languages/svelte"},{"title":"Vue.js in Gitpod","href":"/classic/user/introduction/languages/vue"}]}]},{"group":"Configure","pages":[{"title":"Configure Gitpod","href":"/classic/user/configure/overview"},{"group":"Workspaces","pages":[{"title":"Overview","href":"/classic/user/configure/workspaces/overview"},{"title":"Workspace CLI","href":"/classic/user/configure/workspaces/gitpod-cli"},{"title":"Workspace Lifecycle","href":"/classic/user/configure/workspaces/workspace-lifecycle"},{"title":"Workspace Image","href":"/classic/user/configure/workspaces/workspace-image"},{"title":"Workspace editors","href":"/classic/user/configure/workspaces/workspace-editors"},{"title":"Workspace classes","href":"/classic/user/configure/workspaces/workspace-classes"},{"title":"Tasks","href":"/classic/user/configure/workspaces/tasks"},{"title":"Ports","href":"/classic/user/configure/workspaces/ports"},{"title":"OpenID Connect","href":"/classic/user/configure/workspaces/oidc"},{"title":"Multi-repo","href":"/classic/user/configure/workspaces/multi-repo"},{"title":"Environment Variables","href":"/classic/user/configure/workspaces/environment-variables"},{"title":"Collaboration \u0026 Sharing","href":"/classic/user/configure/workspaces/collaboration"}]},{"group":"User settings","pages":[{"title":"Overview","href":"/classic/user/configure/user-settings/overview"},{"title":"SSH","href":"/classic/user/configure/user-settings/ssh"},{"title":"Environment Variables","href":"/classic/user/configure/user-settings/environment-variables"},{"title":"Dotfiles","href":"/classic/user/configure/user-settings/dotfiles"},{"title":"Browser settings","href":"/classic/user/configure/user-settings/browser-settings"},{"title":"Browser Extension","href":"/classic/user/configure/user-settings/browser-extension"},{"title":"Browser Bookmarklet","href":"/classic/user/configure/user-settings/browser-bookmarklet"},{"title":"Access Tokens","href":"/classic/user/configure/user-settings/access-tokens"}]},{"group":"Organizations","pages":[{"title":"Overview","href":"/classic/user/configure/orgs/overview"},{"title":"Organization Settings","href":"/classic/user/configure/orgs/settings"},{"title":"Policies","href":"/classic/user/configure/orgs/policies"},{"title":"Organization onboarding","href":"/classic/user/configure/orgs/onboarding"},{"title":"Users","href":"/classic/user/configure/orgs/members"}]},{"group":"Repositories","pages":[{"title":"Overview","href":"/classic/user/configure/repositories/overview"},{"title":"Prebuilds","href":"/classic/user/configure/repositories/prebuilds"},{"title":"Environment Variables","href":"/classic/user/configure/repositories/environment-variables"}]},{"group":"Authentication","pages":[{"title":"Overview","href":"/classic/payg/authentication/overview"},{"title":"GitHub","href":"/classic/payg/authentication/github"},{"title":"GitHub Enterprise","href":"/classic/payg/authentication/github-enterprise"},{"title":"GitLab","href":"/classic/payg/authentication/gitlab"},{"title":"Bitbucket","href":"/classic/payg/authentication/bitbucket"},{"title":"Bitbucket Server","href":"/classic/payg/authentication/bitbucket-server"}]},{"group":"Billing","pages":[{"title":"Overview","href":"/classic/payg/billing/overview"}]}]},{"group":"References","pages":[{"title":"Overview","href":"/classic/user/references/overview"},{"title":".gitpod.yml","href":"/classic/user/references/gitpod-yml"},{"title":"Gitpod URL","href":"/classic/user/references/gitpod-url"},{"title":"Gitpod public API","href":"/classic/user/references/gitpod-public-api"},{"title":"Gitpod CLI","href":"/classic/user/references/gitpod-cli"},{"title":"Compatibility","href":"/classic/user/references/compatibility"},{"group":"IDEs and Editors","pages":[{"title":"Overview","href":"/classic/user/references/ides-and-editors/overview"},{"title":"VS Code Desktop","href":"/classic/user/references/ides-and-editors/vscode"},{"title":"VS Code Browser","href":"/classic/user/references/ides-and-editors/vscode-browser"},{"title":"VS Code extensions","href":"/classic/user/references/ides-and-editors/vscode-extensions"},{"title":"VS Code settings sync","href":"/classic/user/references/ides-and-editors/settings-sync"},{"title":"Browser Terminal","href":"/classic/user/references/ides-and-editors/browser-terminal"},{"title":"Command Line (SSH)","href":"/classic/user/references/ides-and-editors/command-line"},{"title":"Gitpod Local Companion","href":"/classic/user/references/ides-and-editors/local-companion"},{"title":"Legacy VS Code Desktop Connection Methods","href":"/classic/user/references/ides-and-editors/legacy-vscode-connections"},{"title":"IntelliJ IDEA Ultimate","href":"/classic/user/references/ides-and-editors/intellij"},{"title":"WebStorm","href":"/classic/user/references/ides-and-editors/webstorm"},{"title":"PyCharm","href":"/classic/user/references/ides-and-editors/pycharm"},{"title":"PhpStorm","href":"/classic/user/references/ides-and-editors/phpstorm"},{"title":"RubyMine","href":"/classic/user/references/ides-and-editors/rubymine"},{"title":"GoLand","href":"/classic/user/references/ides-and-editors/goland"},{"title":"CLion","href":"/classic/user/references/ides-and-editors/clion"},{"title":"Rider","href":"/classic/user/references/ides-and-editors/rider"},{"title":"RustRover","href":"/classic/user/references/ides-and-editors/rustrover"},{"title":"Jupyter Notebook","href":"/classic/user/references/ides-and-editors/jupyter-notebook"},{"title":"FAQs","href":"/classic/user/references/ides-and-editors/faqs"}]}]},{"group":"Integrations","pages":[{"title":"Overview","href":"/classic/user/integrations/overview"},{"title":"GitHub","href":"/classic/user/integrations/github"},{"title":"GitLab","href":"/classic/user/integrations/gitlab"},{"title":"Bitbucket","href":"/classic/user/integrations/bitbucket"},{"title":"Azure DevOps","href":"/classic/user/integrations/azure-devops"},{"title":"JetBrains Gateway","href":"/classic/user/integrations/jetbrains-gateway"},{"title":"Kubernetes","href":"/classic/user/integrations/kubernetes"},{"title":"Tailscale","href":"/classic/user/integrations/tailscale"},{"title":"Amazon Web Services (AWS)","href":"/classic/user/integrations/aws"},{"title":"Backstage","href":"/classic/user/integrations/backstage"},{"title":"Internal Developer Portals","href":"/classic/user/integrations/internal-developer-portals"}]},{"group":"Enterprise","pages":[{"title":"Overview","href":"/classic/admin/overview"},{"title":"Installation process","href":"/classic/admin/installation/overview"},{"group":"Setup and Preparation","pages":[{"title":"Overview","href":"/classic/admin/getting-started/overview"},{"title":"Networking","href":"/classic/admin/getting-started/networking"},{"title":"Optional: Using a Custom or Private CA","href":"/classic/admin/getting-started/using-custom-or-private-ca"},{"title":"Optional: AWS Service Quota Monitoring Stack","href":"/classic/admin/getting-started/cf-quota-monitoring"}]},{"group":"Deploying","pages":[{"title":"Overview","href":"/classic/admin/deploy-gitpod/overview"},{"title":"Apply Cloudformation templates","href":"/classic/admin/deploy-gitpod/cf-templates"},{"title":"Complete DNS Setup","href":"/classic/admin/deploy-gitpod/dns-setup"},{"title":"Using Private VPC Resolvers","href":"/classic/admin/deploy-gitpod/using-private-vpc-resolvers"}]},{"group":"Configure your Gitpod Instance","pages":[{"title":"Overview","href":"/classic/admin/setup-gitpod/overview"},{"title":"Configure SSO","href":"/classic/admin/setup-gitpod/configure-sso"},{"title":"Private ECR for Workspace Images","href":"/classic/admin/setup-gitpod/use-private-ecr-repos-for-workspace-images"},{"title":"Setting up an NFS share for your workspaces","href":"/classic/admin/setup-gitpod/use-nfs-share"}]},{"group":"Add an SCM integration","pages":[{"title":"Overview","href":"/classic/admin/scm-integrations/overview"},{"title":"Azure DevOps","href":"/classic/admin/scm-integrations/azure-devops"},{"title":"Bitbucket","href":"/classic/admin/scm-integrations/bitbucket"},{"title":"Bitbucket Server","href":"/classic/admin/scm-integrations/bitbucket-server"},{"title":"GitHub","href":"/classic/admin/scm-integrations/github"},{"title":"GitHub Enterprise Server","href":"/classic/admin/scm-integrations/github-enterprise"},{"title":"GitLab","href":"/classic/admin/scm-integrations/gitlab"}]},{"group":"Insights","pages":[{"title":"Overview","href":"/classic/admin/insights/overview"}]},{"group":"Administration","pages":[{"title":"Overview","href":"/classic/admin/manage-gitpod/overview"},{"title":"Accessing Instance for Debugging","href":"/classic/admin/manage-gitpod/getting-access-to-the-instance-for-debugging"},{"title":"Accessing exported instance data","href":"/classic/admin/manage-gitpod/accessing-data-exported-from-your-instance"},{"title":"Save Cost: Reserving AWS Instances","href":"/classic/admin/manage-gitpod/reserving-aws-instances-to-save-cost"},{"title":"Delete your Gitpod installation","href":"/classic/admin/manage-gitpod/deleting-your-gitpod-installation"}]},{"group":"Updating","pages":[{"title":"Overview","href":"/classic/admin/update-gitpod/overview"},{"title":"Release Notes","href":"/classic/admin/update-gitpod/infrastructure-update-changelog"},{"title":"Maintenance Mode","href":"/classic/admin/update-gitpod/maintenance-mode"}]},{"group":"Background","pages":[{"title":"Overview","href":"/classic/admin/background/overview"},{"title":"Data \u0026 Observability","description":null,"href":"/classic/admin/background/data-observability"},{"title":"Deployment \u0026 Updates","href":"/classic/admin/background/deployment-updates"}]},{"group":"Reference","pages":[{"title":"Overview","description":null,"href":"/classic/admin/reference/overview"},{"title":"Enhanced cluster management","href":"/classic/admin/reference/enhanced-cluster-management"},{"title":"AWS IAM permissions","href":"/classic/admin/reference/aws-iam-permission-requirements"},{"title":"Architecture","href":"/classic/admin/reference/architecture"},{"title":"Networking and Data Flows","href":"/classic/admin/reference/networking-data-flows"},{"title":"Security","href":"/classic/admin/reference/security"},{"title":"Privacy","href":"/classic/admin/reference/privacy"}]},{"group":"Archive","pages":[{"title":"Overview","href":"/classic/admin/archive/overview"},{"title":"Enterprise CloudFormation templates v1","href":"/classic/admin/archive/outdated-getting-started"},{"title":"Updating infrastructure directly using template URLs","href":"/classic/admin/archive/updating-cf-templates"}]}]},{"group":"Other","hidden":true,"pages":[{"title":"Configuring GitHub prebuilds","href":"/classic/user/integrations/github-gitpod-yaml"},{"title":".NET in Gitpod","href":"/classic/user/introduction/languages/dotnet"},{"title":"C# .NET template","href":"/classic/user/introduction/getting-started/quickstart/dotnet"}]},{"group":"Help","pages":[{"title":"Troubleshooting","href":"/classic/troubleshooting"}]},{"group":"Additional documentation","hidden":true,"searchable":true,"pages":[{"title":"Prerequisites","href":"/classic/admin/getting-started/prerequisites"},{"title":"Troubleshooting Guide","href":"/classic/admin/manage-gitpod/faq"},{"title":"Setting up multiple Organizations in an Enterprise installation","href":"/classic/admin/setup-gitpod/use-multiple-orgs"},{"title":"Content","href":"/classic/payg/help/contribute/content/overview"},{"title":"Code style","href":"/classic/payg/help/contribute/features-and-patches/code-style"},{"title":"Commit Message Convention","href":"/classic/payg/help/contribute/features-and-patches/commit-message-convention"},{"title":"Features \u0026 Patches","href":"/classic/payg/help/contribute/features-and-patches/overview"},{"title":"Submitting a pull request","href":"/classic/payg/help/contribute/features-and-patches/submitting-a-pull-request"},{"title":"Overview","href":"/classic/payg/help/contribute/overview"},{"title":"Overview","href":"/classic/payg/help/overview"},{"title":"C template","href":"/classic/user/introduction/getting-started/quickstart/c"},{"title":"Clojure template","href":"/classic/user/introduction/getting-started/quickstart/clojure"},{"title":"Coq template","href":"/classic/user/introduction/getting-started/quickstart/coq"},{"title":"C++ CMake template","href":"/classic/user/introduction/getting-started/quickstart/cpp"},{"title":"Datasette template","href":"/classic/user/introduction/getting-started/quickstart/datasette"},{"title":"Deno template","href":"/classic/user/introduction/getting-started/quickstart/deno"},{"title":"Docker Compose template","href":"/classic/user/introduction/getting-started/quickstart/docker-compose"},{"title":"Drupal template","href":"/classic/user/introduction/getting-started/quickstart/drupal"},{"title":"Elixir template","href":"/classic/user/introduction/getting-started/quickstart/elixir"},{"title":"Elm template","href":"/classic/user/introduction/getting-started/quickstart/elm"},{"title":"Flask template","href":"/classic/user/introduction/getting-started/quickstart/flask"},{"title":"Flutter template","href":"/classic/user/introduction/getting-started/quickstart/flutter"},{"title":"Go template","href":"/classic/user/introduction/getting-started/quickstart/go"},{"title":"Grain template","href":"/classic/user/introduction/getting-started/quickstart/grain"},{"title":"IHP template","href":"/classic/user/introduction/getting-started/quickstart/ihp"},{"title":"Java template","href":"/classic/user/introduction/getting-started/quickstart/java"},{"title":"Julia template","href":"/classic/user/introduction/getting-started/quickstart/julia"},{"title":"Laravel template","href":"/classic/user/introduction/getting-started/quickstart/laravel"},{"title":"NextJS template","href":"/classic/user/introduction/getting-started/quickstart/nextjs"},{"title":"Nix template","href":"/classic/user/introduction/getting-started/quickstart/nix"},{"title":"OCaml template","href":"/classic/user/introduction/getting-started/quickstart/ocaml"},{"title":"Perl template","href":"/classic/user/introduction/getting-started/quickstart/perl"},{"title":"PlanetScale template","href":"/classic/user/introduction/getting-started/quickstart/planetscale"},{"title":"Python template","href":"/classic/user/introduction/getting-started/quickstart/python"},{"title":"React template","href":"/classic/user/introduction/getting-started/quickstart/react"},{"title":"Ruby on Rails template","href":"/classic/user/introduction/getting-started/quickstart/ruby-on-rails"},{"title":"Rust template","href":"/classic/user/introduction/getting-started/quickstart/rust"},{"title":"SvelteKit template","href":"/classic/user/introduction/getting-started/quickstart/sveltekit"},{"title":"TLA+ template","href":"/classic/user/introduction/getting-started/quickstart/tlaplus"},{"title":"Node/TypeScript/Express template","href":"/classic/user/introduction/getting-started/quickstart/typescript"},{"title":"Wasp template","href":"/classic/user/introduction/getting-started/quickstart/wasp"},{"title":"Wordpress template","href":"/classic/user/introduction/getting-started/quickstart/wordpress"},{"title":"X11 VNC template","href":"/classic/user/introduction/getting-started/quickstart/x11-vnc"},{"title":"Yasm template","href":"/classic/user/introduction/getting-started/quickstart/yasm"},{"title":"february-2019","href":"/release-notes/2019-02-15/february-2019"},{"title":"april-2019","href":"/release-notes/2019-04-05/april-2019"},{"title":"june-2019","href":"/release-notes/2019-06-17/june-2019"}]}],"global":{"anchors":[{"anchor":"Pricing","icon":"square-dollar","href":"https://ona.com/pricing"},{"anchor":"Blogs","icon":"newspaper","href":"https://ona.com/stories"},{"anchor":"Changelog","icon":"list-timeline","href":"https://ona.com/docs/changelog"},{"anchor":"API Reference","icon":"terminal","href":"https://ona.com/docs/api-reference"}]}},{"version":"Examples","hidden":true,"pages":[{"title":"Examples","href":"/examples/introduction/getting-started","hidden":true}]}]},"basePath":"","title":"Deployment \u0026 Updates - Gitpod Classic","buildId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","deploymentId":"dpl_Acry4NrQAgjcikyFgVE2eJ7XQCAv","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-D9VvKFqQ.js","DynamicMarkdown-BCpKo5ib.js","zoom-image-lightbox-DBRtNxbY.js","lightbox-handle-r17bVUz3.js"]}