Skip to main content

Connect a Git Repo

Alpha Feature

Features described on this page are in alpha and subject to change. For access, contact your Replicated account representative.

Enterprise Portal content is driven by a GitHub repo you control. Connecting a repo is a prerequisite to offer versioned docs, advanced theming, and Terraform module delivery.

The Vendor Portal walks you through setup in three steps:

Step 1: Connect GitHub

Go to Enterprise Portal in Vendor Portal. The Content tab is the default landing page. Click Connect GitHub and authorize the Replicated GitHub App on your GitHub organization.

note

When installing the Replicated GitHub App, grant access to all repositories you plan to use with Enterprise Portal (content repos AND Terraform module repos). If you need to add access to additional repos later, update the GitHub App's repository permissions in your GitHub org settings (Settings > Integrations > Applications > Replicated > Configure > Repository access).

Step 2: Create from template

Click Create Repo from Template to generate a new content repository from Replicated's template. This opens GitHub's "Create a new repository" flow, pre-configured with the replicatedhq/enterprise-portal-content template. The repository name is pre-filled as <your-app-slug>-enterprise-portal-content and visibility defaults to private. Choose an owner, adjust the name if needed, and click Create repository on GitHub.

The template includes a working toc.yaml, example pages for installation (Linux and Helm), operations, updates, and support, along with built-in MDX components for interactive install instructions. See Content Template Structure for what's included out of the box.

If you already have a content repository (or prefer to create one from scratch), click Continue to skip this step.

Select your GitHub organization and the repository containing your Enterprise Portal content, then click Link Repository. When only one GitHub organization or repository is available, it is auto-selected for you.

note

The selected repository must contain a toc.yaml file at the root of its default branch. If none is found, you'll see a warning and won't be able to link the repo. Use the content template (Step 2) or add a toc.yaml manually before linking.

All branches are synced automatically. Pushes trigger automatic syncs via webhook.

Once linked, the Content tab shows sync status for each branch. A branch labeled Fallback means it doesn't match any release version_label on the customer's channel. Fallback content is shown when no version-matched branch is available for a customer. See Naming Your Branches for how to set up version gating.

You can also trigger a manual sync from the Content tab.

Via API:

# Your APP_ID is visible in the Vendor Portal URL when viewing your app,
# or via:
replicated api get /v3/apps | jq '.apps[] | {id, name}'

# List your content repos to get the REPO_ID:
replicated api get /v3/app/<APP_ID>/enterprise-portal/content-repos

# Trigger a sync:
replicated api post /v3/app/<APP_ID>/enterprise-portal/content-repos/<REPO_ID>/sync
important

Content branches must be named with semver versions (e.g., 1.0.0) that match your release version_label values. The main branch is synced but never shown to customers directly. See Naming Your Branches for details.