Skip to main content

Quickstart Guide

This guide will walk you through signing up for Datum Cloud and deploying your first workload and network.

Prerequisites

Before you begin, ensure you have:
  • A GitHub account (for authentication)
  • kubectl CLI tool installed (installation guide)
  • Basic familiarity with Kubernetes concepts

Step 1: Sign Up for Datum Cloud

1

Navigate to Datum Cloud

Visit cloud.datum.net and click “Sign Up”.
2

Authenticate with GitHub

Use your GitHub account to sign up. Once approved, you’ll receive a welcome email.
3

Access the Dashboard

After approval, log in to access your personal organization dashboard.
When you sign up, Datum automatically creates:
  • A Personal Organization for your account
  • An OrganizationMembership granting you Owner access
  • A Personal Project as your default workspace

Step 2: Configure kubectl Access

1

Download your kubeconfig

From the Datum Cloud dashboard, navigate to SettingsAccess and download your kubeconfig file.
2

Set your KUBECONFIG environment variable

export KUBECONFIG=/path/to/datum-kubeconfig.yaml
3

Verify connectivity

kubectl cluster-info
You should see output indicating successful connection to the Datum API server.

Step 3: Create Your First Network

Create a network to provide connectivity for your workloads.
1

Create a network definition

Create a file named my-network.yaml:
my-network.yaml
apiVersion: networking.datumapis.com/v1alpha1
kind: Network
metadata:
  name: my-app-network
spec:
  # IPv4 CIDR block for the network
  ipv4Blocks:
    - 10.0.0.0/16
2

Apply the network

kubectl apply -f my-network.yaml
3

Verify network creation

kubectl get networks
You should see your network with status Ready.

Step 4: Deploy Your First Workload

Now let’s deploy a simple workload (compute instances).
1

Create a workload definition

Create a file named my-workload.yaml:
my-workload.yaml
apiVersion: compute.datumapis.com/v1alpha1
kind: Workload
metadata:
  name: my-app
spec:
  # Number of instances
  replicas: 2
  
  # Instance template
  template:
    spec:
      # Machine type
      machineType: e2-micro
      
      # Container image to run
      image: nginx:latest
      
      # Network attachment
      networkInterfaces:
        - networkRef:
            name: my-app-network
2

Apply the workload

kubectl apply -f my-workload.yaml
3

Watch workload deployment

kubectl get workloads -w
Wait until the workload shows Ready status. This may take a few minutes as instances are provisioned.
4

Check instance status

kubectl get instances
You should see 2 instances (replicas) in Running state.

Step 5: Expose Your Workload with a Gateway

Use the Kubernetes Gateway API to expose your workload to the internet.
1

Create a Gateway

Create a file named my-gateway.yaml:
my-gateway.yaml
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: my-gateway
spec:
  gatewayClassName: datum-gateway
  listeners:
    - name: http
      protocol: HTTP
      port: 80
2

Create an HTTPRoute

Create a file named my-route.yaml:
my-route.yaml
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: my-app-route
spec:
  parentRefs:
    - name: my-gateway
  rules:
    - matches:
        - path:
            type: PathPrefix
            value: /
      backendRefs:
        - name: my-app
          port: 80
3

Apply Gateway resources

kubectl apply -f my-gateway.yaml
kubectl apply -f my-route.yaml
4

Get the Gateway address

kubectl get gateway my-gateway
Look for the external IP or hostname in the output.

Step 6: Verify Your Deployment

Test your deployed application:
# Get the Gateway address
GATEWAY_IP=$(kubectl get gateway my-gateway -o jsonpath='{.status.addresses[0].value}')

# Test the endpoint
curl http://$GATEWAY_IP
You should see the nginx welcome page.

Next Steps

Congratulations! You’ve successfully deployed your first application on Datum Cloud. Here’s what to explore next:

Core Concepts

Learn about Networks, Workloads, and Gateways in detail

Architecture

Understand how Datum works under the hood

Managing Resources

Master kubectl commands for Datum resources

Security Best Practices

Secure your infrastructure with RBAC and policies

Getting Help

Need assistance? Here are some resources:

Clean Up

To remove the resources created in this quickstart:
kubectl delete httproute my-app-route
kubectl delete gateway my-gateway
kubectl delete workload my-app
kubectl delete network my-app-network

Build docs developers (and LLMs) love