Config as Code

Config as Code

Definiere Infrastruktur deklarativ – Deployments, Volumes, Netzwerke und Policies lassen sich als YAML oder JSON Dateien verwalten. Perfekt für Automatisierung, CI/CD und reproduzierbare Deployments.

Übersicht

Config-as-Code ermöglicht es dir, deine komplette Cloud-Struktur in Dateien zu definieren und mit einem einzigen Befehl zu deployen. Unterstützte Formate: .yaml, .json.

Beispiel: Deployment YAML

deployment:
  name: my-app
  template: ubuntu-22.04
  cpu: 2
  ram_mb: 2048
  volumes:
    - name: app-data
      size_gb: 20
  networking:
    static_ip: true

Speichere diese Datei als deploy.yaml und deploye sie via CLI:

yourcloud deploy deploy.yaml

Schema – Deployments

Diese Felder stehen für Infrastruktur-Definitionen zur Verfügung:

  • name – Name des Deployments
  • template – Systemimage (z. B. ubuntu-22.04, debian-12, alpine)
  • cpu – Anzahl der vCPUs
  • ram_mb – RAM in MB
  • volumes[] – Eine Liste aus Volume-Definitionen
  • networking.static_ip – Reserviert eine feste IP
  • env – Environment-Variablen
  • policy – Restart-Richtlinien
  • metadata – Labels, Tags, Owner Daten

Umgebungsvariablen

Environment-Variablen lassen sich direkt im Deployment definieren:

env:
  DATABASE_HOST: db.internal
  SECRET_KEY: "supersecret"
  DEBUG: false

Networking

Netzwerke können ebenso deklarativ erstellt werden:

networking:
  static_ip: true
  firewall:
    allow:
      - port: 80
        protocol: tcp
      - port: 443
        protocol: tcp
    deny:
      - port: 22
        protocol: tcp

Deployment via CLI

Importiere deine Konfiguration über die YourCloud-CLI:

yourcloud deploy config.yaml

Unterstützt werden außerdem: yourcloud validate, yourcloud dry-run, yourcloud convert.

Weiterführende Themen