Gitpod can integrate with internal developer portals (IDP) such as Backstage and Port, supercharging your centralized software catalog with a better developer experience.
Why Internal Developer Portals and Gitpod are complementary
CDEs and Internal Developer Portals are different independent solutions, however they are also very complementary. An internal developer portal is your “lense” into your internal platform. It’s where new joiners go when they start in a company, and it’s where developers go to discover platform services, or for help when they’re stuck. However, a huge challenge with portals is how they’re often not very “action-oriented”. Developers go to a portal and see their service is down, a build is failing, or that a task has been assigned to them, but the next step means now leaving the portal.With a CDE, you can automate many of the steps that developers would take next when viewing information in an internal developer portal. For instance, when a developer needs to start a new service, they can open a workspace. When there is a production incident, it’s easy to spin up a workspace with all the necessary tools and immediately start debugging and applying fixes.
Benefits of Gitpod and an Internal Developer Portal
1. StandardisationMake reproducible and controllable development environments available to your entire organisation. Developers can now seamlessly move between teams or contribute to other projects in the organization. During an incident, it’s easy to spin up a service to start debugging due to the standardization applied to your development environments.2. Reduce cognitive loadAbstract away complexities associated with setting up and managing development environments, allowing developers to get in their flow state–coding.3. Instant onboardingEliminate lengthy development environment setup that are traditionally required for onboarding new developers on projects, and enable developers to contribute and ship code on their first day of work, or on a new project.4. Golden PathsTailor your Gitpod CDE setup to fit the needs of the specific project or service you are viewing in your internal developer portal. For example, you can configure your CDE to open with an editor best suited to the project.
Ways to integrate your Internal Developer Portal with Gitpod
Whether you’re using a more off-the-shelf solution for your portal, like Backstage. Or, you have your own homegrown portal, Gitpod can be integrated in many ways:Gitpod API - The API allows you to programmatically interact with Gitpod. You can enable tasks such as creating workspaces and managing user settings.Gitpod CLI - The CLI is designed for those who prefer terminal-based operations. You can perform tasks such as managing workspaces and viewing logs.Gitpod URL - Append your URL with parameters you need during workspace creation to set workspace options like class or editor.
{"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":"6ae1071fbc558c0b63428cae","collectionId":"1f7e5353-e3b2-489c-b6e4-52506ff6907c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1071fbc558c0b63428cae"},"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":"6ae1071fbc558c0b63428cae","clientVersion":"0.0.3990","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":"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":[{"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/user/integrations/internal-developer-portals","slug":"/classic/user/integrations/internal-developer-portals","pageMetadata":{"title":"Internal Developer Portals","og:description":"Gitpod can integrate with internal developer portals (IDP) such as Backstage and Port, supercharging your centralized software catalog with a better developer experience.","og:title":"Internal Developer Portals - Gitpod Classic","description":null,"href":"/classic/user/integrations/internal-developer-portals"},"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`,li:`li`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Gitpod can integrate with internal developer portals (IDP) such as `,_jsx(_components.a,{href:`https://backstage.spotify.com/`,children:`Backstage`}),` and `,_jsx(_components.a,{href:`https://www.getport.io/`,children:`Port`}),`, supercharging your centralized software catalog with a better developer experience.`]}),`\n`,_jsx(Heading,{level:`2`,id:`why-internal-developer-portals-and-gitpod-are-complementary`,children:`Why Internal Developer Portals and Gitpod are complementary`}),`\n`,_jsx(_components.p,{children:`CDEs and Internal Developer Portals are different independent solutions, however they are also very complementary. An internal developer portal is your “lense” into your internal platform. It’s where new joiners go when they start in a company, and it’s where developers go to discover platform services, or for help when they’re stuck. However, a huge challenge with portals is how they’re often not very “action-oriented”. Developers go to a portal and see their service is down, a build is failing, or that a task has been assigned to them, but the next step means now leaving the portal.`}),`\n`,_jsx(_components.p,{children:`With a CDE, you can automate many of the steps that developers would take next when viewing information in an internal developer portal. For instance, when a developer needs to start a new service, they can open a workspace. When there is a production incident, it’s easy to spin up a workspace with all the necessary tools and immediately start debugging and applying fixes.`}),`\n`,_jsx(Heading,{level:`2`,id:`benefits-of-gitpod-and-an-internal-developer-portal`,children:`Benefits of Gitpod and an Internal Developer Portal`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`1. Standardisation`})}),`\n`,_jsx(_components.p,{children:`Make reproducible and controllable development environments available to your entire organisation. Developers can now seamlessly move between teams or contribute to other projects in the organization. During an incident, it’s easy to spin up a service to start debugging due to the standardization applied to your development environments.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`2. Reduce cognitive load`})}),`\n`,_jsx(_components.p,{children:`Abstract away complexities associated with setting up and managing development environments, allowing developers to get in their flow state–coding.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`3. Instant onboarding`})}),`\n`,_jsx(_components.p,{children:`Eliminate lengthy development environment setup that are traditionally required for onboarding new developers on projects, and enable developers to contribute and ship code on their first day of work, or on a new project.`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`4. Golden Paths`})}),`\n`,_jsx(_components.p,{children:`Tailor your Gitpod CDE setup to fit the needs of the specific project or service you are viewing in your internal developer portal. For example, you can configure your CDE to open with an editor best suited to the project.`}),`\n`,_jsx(Heading,{level:`2`,id:`ways-to-integrate-your-internal-developer-portal-with-gitpod`,children:`Ways to integrate your Internal Developer Portal with Gitpod`}),`\n`,_jsx(_components.p,{children:`Whether you’re using a more off-the-shelf solution for your portal, like Backstage. Or, you have your own homegrown portal, Gitpod can be integrated in many ways:`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/classic/user/references/gitpod-public-api`,children:`Gitpod API`})}),` - The API allows you to programmatically interact with Gitpod. You can enable tasks such as creating workspaces and managing user settings.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/classic/user/references/gitpod-cli`,children:`Gitpod CLI`})}),` - The CLI is designed for those who prefer terminal-based operations. You can perform tasks such as managing workspaces and viewing logs.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:_jsx(_components.a,{href:`/classic/user/references/gitpod-url`,children:`Gitpod URL`})}),` - Append your URL with parameters you need during workspace creation to set workspace options like class or editor.`]}),`\n`,_jsx(Heading,{level:`2`,id:`resources`,children:`Resources`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.gitpod.io/webinars/gitpod-kubernetes-reference-architecture`,children:`Building a developer-first platform with an IDP and CDE`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.gitpod.io/guides/create-self-serve-preview-environments-with-gitpod-and-gitlab`,children:`Create self-service preview environments with Gitpod and GitLab`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.gitpod.io/guides/gitpod-cli-on-github-actions`,children:`Faster workspace creation with GitHub Actions`})}),`\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":"Internal Developer Portals","og:description":"Gitpod can integrate with internal developer portals (IDP) such as Backstage and Port, supercharging your centralized software catalog with a better developer experience.","og:title":"Internal Developer Portals - Gitpod Classic","description":null,"href":"/classic/user/integrations/internal-developer-portals"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Why Internal Developer Portals and Gitpod are complementary","slug":"why-internal-developer-portals-and-gitpod-are-complementary","depth":2,"children":[]},{"title":"Benefits of Gitpod and an Internal Developer Portal","slug":"benefits-of-gitpod-and-an-internal-developer-portal","depth":2,"children":[]},{"title":"Ways to integrate your Internal Developer Portal with Gitpod","slug":"ways-to-integrate-your-internal-developer-portal-with-gitpod","depth":2,"children":[]},{"title":"Resources","slug":"resources","depth":2,"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"],"subdomain":"gitpod-13c83c2b","siteName":"Ona Documentation","title":"Internal Developer Portals - Gitpod Classic","navMaps":{"firstHrefInVersion":{"Ona":{"href":"/ona/getting-started","matchLevel":3},"Workshops":{"href":"/workshops/overview","matchLevel":3},"Gitpod Classic":{"href":"/classic/user/integrations/internal-developer-portals","matchLevel":0},"Examples":{"href":"/examples/introduction/getting-started","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T09:23:46.135Z","originalFileLocation":"classic/user/integrations/internal-developer-portals.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=\"Internal Developer Portals - Gitpod Classic\">\u003cmeta data-mint-head property=\"og:description\" content=\"Gitpod can integrate with internal developer portals (IDP) such as Backstage and Port, supercharging your centralized software catalog with a better developer experience.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Ona Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://ona.com/docs/classic/user/integrations/internal-developer-portals\">\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=Integrations\u0026amp;title=Internal+Developer+Portals\u0026amp;theme=e02116b2a6816d555293bbc7\u0026amp;signature=e4612290abd5b8d55e58eb979f46a9d6486b922eb249d1b4781395b8db913ed8\">\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=\"Internal Developer Portals - Gitpod Classic\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Gitpod can integrate with internal developer portals (IDP) such as Backstage and Port, supercharging your centralized software catalog with a better developer experience.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://gitpod-13c83c2b.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Internal+Developer+Portals\u0026amp;theme=e02116b2a6816d555293bbc7\u0026amp;signature=e4612290abd5b8d55e58eb979f46a9d6486b922eb249d1b4781395b8db913ed8\">\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/user/integrations/internal-developer-portals\">\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/user/integrations/internal-developer-portals.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/user/integrations/internal-developer-portals#webpage\",\"url\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals\",\"name\":\"Internal Developer Portals\",\"dateModified\":\"2026-10-23T09:23:46.135Z\",\"isPartOf\":{\"@id\":\"https://ona.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://ona.com/docs/classic/user/integrations/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Internal Developer Portals\",\"item\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals#article\",\"headline\":\"Internal Developer Portals\",\"name\":\"Internal Developer Portals\",\"url\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals\",\"mainEntityOfPage\":{\"@id\":\"https://ona.com/docs/classic/user/integrations/internal-developer-portals#webpage\"},\"dateModified\":\"2026-10-23T09:23:46.135Z\",\"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","description":null,"href":"/classic/user/integrations/backstage"},{"title":"Internal Developer Portals","href":"/classic/user/integrations/internal-developer-portals"}]},{"group":"Enterprise","pages":[{"title":"Overview","description":null,"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","href":"/classic/admin/background/data-observability"},{"title":"Deployment \u0026 Updates","href":"/classic/admin/background/deployment-updates"}]},{"group":"Reference","pages":[{"title":"Overview","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}]}]},"title":"Internal Developer Portals - Gitpod Classic","buildId":"dpl_3rfzHPCtRhDFBbetXZ3oLkN5tjmA","deploymentId":"dpl_3rfzHPCtRhDFBbetXZ3oLkN5tjmA","dynamics":[],"chunks":[]}