DevPortalDevPortalDocs
Getting Started

Getting Started

Install the DevPortal CLI, connect your first cluster, and deploy a service in under five minutes.

Prerequisites

Before you begin, make sure you have:

  • A Kubernetes cluster (any cloud provider, or local via kind / minikube)
  • kubectl configured and pointing at the target cluster
  • Node.js 20+ (for the dp CLI)

Install the CLI

DevPortal ships a single binary CLI called dp. Install it with your package manager:

# npm
npm install -g @devportal/cli

# Homebrew (macOS / Linux)
brew tap devportal-io/tap && brew install dp

# Direct download (Linux x86-64)
curl -fsSL https://get.devportal.io/install.sh | sh

Verify the installation:

dp --version
# dp/0.12.0 darwin-arm64 node-v20.11.0

Authenticate

dp auth login

This opens a browser window. Sign in with your DevPortal account (GitHub, Google, or SSO). After successful login, your credentials are stored in ~/.config/dp/credentials.json.

For CI/CD environments, use a service-account token instead of interactive login: dp auth login --token $DP_TOKEN


Connect a cluster

Register your Kubernetes cluster so DevPortal can schedule workloads and gather telemetry:

dp cluster connect --name production --kubeconfig ~/.kube/config

DevPortal installs a lightweight agent into the devportal-system namespace. The connection handshake typically completes in under 30 seconds.

You can verify the cluster is healthy:

dp cluster list
# NAME         STATUS   VERSION   NODES   REGION
# production   healthy  1.30.2    12      us-east-1

Deploy your first service

DevPortal uses a declarative devportal.yaml to describe services. Scaffold one for an existing container image:

dp service init --image ghcr.io/my-org/api:latest --name api

This generates devportal.yaml in the current directory:

apiVersion: devportal.io/v1
kind: Service
metadata:
  name: api
  namespace: production
spec:
  image: ghcr.io/my-org/api:latest
  replicas: 2
  resources:
    cpu: 250m
    memory: 512Mi
  expose:
    port: 8080

Deploy it:

dp deploy
# ✔ Image verified
# ✔ Plan generated (2 resources)
# ✔ Service api deployed → https://api.cluster.devportal.io

Use dp deploy --dry-run to preview what will change before applying. The output mirrors kubectl diff but is enriched with DevPortal policy checks.


Next steps

  • Read the Concepts to understand how DevPortal models infrastructure.
  • Explore Integrations to connect your existing toolchain.
  • Check the CLI Reference for every dp command.

On this page