Skip to content

Quick Start

This guide walks you through deploying your first application using the Nomad PaaS controlplane.

Step 1: Create an Application

Create a file named app.yaml:

apiVersion: core.oam.dev/v1alpha2
kind: Application
metadata:
  name: hello-world
spec:
  components:
    - name: web
      type: webservice
      properties:
        image: nginx:1.25-alpine
        ports:
          - name: http
            port: 80
            expose: true
        resources:
          cpu: 250m
          memory: 128Mi
      traits:
        - type: scaler
          properties:
            replicas: 2
        - type: ingress
          properties:
            host: hello.example.com

Step 2: Deploy the Application

curl -X POST http://localhost:8080/api/v1/applications \
  -H "Content-Type: application/yaml" \
  -d @app.yaml

Step 3: Verify Deployment

# List applications
curl http://localhost:8080/api/v1/applications

# Get application status
curl http://localhost:8080/api/v1/applications/hello-world

Step 4: Scale the Application

Update the scaler trait:

traits:
  - type: scaler
    properties:
      replicas: 5

Apply the update:

curl -X PUT http://localhost:8080/api/v1/applications/hello-world \
  -H "Content-Type: application/yaml" \
  -d @app-updated.yaml

Step 5: Add Service Discovery

traits:
  - type: servicediscovery.nomad.oam.dev
    properties:
      serviceName: hello-world
      tags:
        - v1
        - production
      port: http
      check:
        type: http
        path: /
        interval: 10s
        timeout: 3s

Next Steps