Skip to main content
Version: v2 (preview)

DevPortal Deployment

In this step, you will deploy DevPortal V2 (docker.io/veecode/devportal:2.0.0) into your local cluster using vkdr devportal-platform install.

VKDR installs the published veecode-devportal-platform Helm chart (version 0.1.0, appVersion 2.0.0) into the platform namespace and automatically wires up Kong as the ingress controller.

Steps Overview

In this section, you will:

  1. Check Requirements: ensure Docker, Kubernetes, DNS, and GitHub credentials are ready.
  2. Deploy DevPortal V2 using vkdr devportal-platform install.

By the end, you will have a fully functional DevPortal V2 instance running locally.

Step 1: Requirements Check

Before deploying, confirm the following are in place:

Step 2: Deploy DevPortal V2

Minimal install (core only)

No GitHub integration — useful for a quick smoke test:

vkdr devportal-platform install

With GitHub integration and sign-in

Adds the github and github-auth presets. This is the recommended starting point for real use:

vkdr devportal-platform install \
--github-pat "$GITHUB_PAT" \
--github-org "$GITHUB_ORG" \
--github-auth-client-id "$GITHUB_AUTH_CLIENT_ID" \
--github-auth-client-secret "$GITHUB_AUTH_CLIENT_SECRET"

With the Kubernetes workloads tab

Enables the kubernetes preset. VKDR creates a read-only service account and token automatically:

vkdr devportal-platform install --with-kubernetes

Expected output (example):

DevPortal Platform Install
==============================
Domain: localhost
Secure: false
Presets: recommended,github,github-auth
Install Sample apps: false
==============================

Kong Install
...
NAME: devportal
NAMESPACE: platform
STATUS: deployed

Script executed successfully.
note

VKDR creates a devportal-platform-secrets Kubernetes Secret and passes it to the chart via existingSecret, so your credentials are never stored in the Helm release history.

Remove DevPortal V2

vkdr devportal-platform remove
caution

remove uninstalls the Helm release and deletes the data PVC. All catalog data and plugin cache stored on the PVC will be lost.

Available flags

FlagPurpose
-d, --domainIngress host base (DevPortal is served at devportal.<domain>); add -s/--secure for HTTPS
--presetsBase preset list (default: recommended)
--github-patGitHub PAT — enables the github preset
--github-orgGitHub organization — required with --github-pat
--github-auth-client-idOAuth App client ID — enables the github-auth sign-in preset
--github-auth-client-secretOAuth App client secret — required with --github-auth-client-id
--with-kubernetesEnables the kubernetes preset; VKDR creates a read-only SA + token in-cluster
--plugin-registryOCI mirror URL (PLUGIN_REGISTRY) — for air-gapped environments
--samplesInstall sample catalog applications
--locationExtra catalog location URL to register
--merge <file>Merge a values file over the chart defaults (full V2 chart surface available)
--load-envRead GitHub credentials from environment variables instead of flags
Presets and required credentials

Each preset requires specific credentials in the Secret. A missing required variable causes the DevPortal pod to exit with code 78 at boot — check pod logs if it does not become Ready. See the Helm install guide for the full per-preset variable matrix.

Check Deployment

Wait for the pod to become Ready:

kubectl rollout status deploy/veecode-devportal-platform \
-n platform --timeout=5m

Then open DevPortal in your browser:

http://devportal.localhost:8000

The DevPortal interface should load, confirming the deployment was successful.


In the next section, you will verify the running instance and explore its features.