Software Delivery Plattform¶
Die ayedo Software Delivery Platform (SDP) ist das Produkt: Platform- und Workload-Cluster mit Identity, CI/CD, GitOps, Registry, Secrets, Observability, Edge und Managed Apps — abgebildet auf und mit Kubernetes.
Die Kubernetes Distribution liefert nur das Cluster (k3s-server oder k8s-1.27). Orchestrierung erfolgt über Polycrate; App-Charts oft über ohMyHelm.
Marketing-Übersicht: ayedo.de/platform/.
Schichten im Überblick¶
graph TB
subgraph SDP[Software Delivery Platform]
PlatformCluster[Platform Cluster<br/>Identity GitLab Argo CD Harbor OpenBao Observability]
WorkloadCluster[Workload Cluster<br/>Apps und Fachanwendungen]
Fundament[Cluster-Fundament<br/>Cilium Kyverno Cert-Manager Velero Ingress/Gateway]
end
subgraph Distro[Kubernetes Distribution]
K3sServer[k3s-server<br/>Controlplane im Host-Cluster]
K8sHost[k8s-1.27<br/>Foundation / On-Prem]
end
Polycrate[Polycrate<br/>CLI und API]
Polycrate --> Distro
Polycrate --> SDP
Distro --> SDP
Fundament --> PlatformCluster
Fundament --> WorkloadCluster Kubernetes Distribution (Cluster-Basis)¶
Nur die Bereitstellung von Kubernetes:
| Variante | Einsatz |
|---|---|
| k3s-server | Kubernetes-in-Kubernetes Controlplane (K8sControlplane) |
| k8s-1.27 | Foundation / On-Prem auf Linux-Hosts (Region) |
Details: Kubernetes Distribution.
Foundation-Blöcke (Linux-Hosts, nicht SDP-k8s-Apps):
| Komponente | Block | Nutzung |
|---|---|---|
| k3s auf Hosts | ayedo/linux/k8s-1.27 | k8s-1.27 |
| Hardening (SSH, auditd, Host-Collector) | ayedo/linux/hardening | Logs ingestieren |
Blöcke und Apps¶
Die SDP besteht aus Polycrate-Blöcken. Versionen stehen im Polycrate Hub. Nutzung: Platform Operations (Betrieb) und Delivery Operations (Apps ausrollen). Details: Komponenten & Features.
Workloads: weitere Managed Apps auf ayedo.de/apps/. Betriebsmodelle: Betriebsmodelle. Onboarding: Erste Schritte.
Polycrate¶
Polycrate ist das Deployment-Automation-Framework, das die Installation, Konfiguration und Day-2-Operations der gesamten Plattform orchestriert.
Was macht Polycrate?¶
Polycrate paketiert komplexe Anwendungen und Infrastruktur in wiederverwendbare Blocks:
- Kubernetes-Cluster selbst
- Plattform-Komponenten (Cilium, Monitoring, Logging)
- Managed Apps (GitLab, Harbor, Datenbanken)
- Custom Applications
Kernkonzepte¶
Blocks¶
Modulare Einheiten, die Tools, Dependencies und Installations-Logik kapseln:
# workspace.poly
name: my-platform
blocks:
- name: gitlab
from: cargo.ayedo.cloud/ayedo/k8s/gitlab:1.0.0
config:
domain: gitlab.example.com
storage_size: 100Gi
- name: harbor
from: cargo.ayedo.cloud/ayedo/k8s/harbor:2.0.0
config:
domain: harbor.example.com
Workspaces¶
Gemeinsame Umgebung, in der Blocks zusammengeführt werden:
my-workspace/
├── workspace.poly # Workspace-Konfiguration
├── blocks/ # Block-Verzeichnisse
│ ├── custom-app/
│ └── monitoring/
├── artifacts/ # Generierte Artefakte
│ └── blocks/
│ ├── gitlab/
│ └── harbor/
└── .logs/ # Transaction Logs (optional)
Actions¶
Benutzerfreundliche Befehle für Workflows:
# Action eines Blocks ausführen
polycrate run gitlab install
# Weitere Actions
polycrate run gitlab backup
polycrate run harbor upgrade
polycrate run monitoring status
Vorteile¶
- Infrastructure as Code: Deklarative Konfiguration in Git
- Wiederverwendbarkeit: Blocks können über Projekte hinweg genutzt werden
- Versionierung: Alle Changes nachvollziehbar via Git
- PolyHub: Zentrales Repository für geteilte Blocks
Integration mit Distribution und SDP¶
- Cluster Bootstrap: Kubernetes Distribution (
k8s-1.27und/oderk3s-server) - SDP Installation: Platform-Services und Cluster-Fundament als Blocks
- App Deployment: Managed Apps und Workloads
- Day-2 Operations: Updates, Backups, Monitoring
Weitere Informationen:
ohMyHelm¶
ohMyHelm ist ein universeller Helm Chart Wrapper, der es Entwicklern ermöglicht, ihre Anwendungen ohne eigene Chart-Entwicklung auf Kubernetes zu deployen.
Was macht ohMyHelm?¶
ohMyHelm stellt vorgefertigte, flexible Helm Chart Templates bereit, die über die values.yaml konfiguriert werden können.
Hauptfunktionen¶
Chart-Funktion¶
Wenn chart.enabled: true:
- Deployment/StatefulSet - Flexibel wählbar
- Service - Automatische Service-Konfiguration
- Ingress - TLS und Routing
- RBAC - ServiceAccount und Permissions
- HPA - Horizontal Pod Autoscaler
- ConfigMaps & Secrets - Konfiguration und Credentials
- Init-Container & Sidecars - Multi-Container-Pods
- Jobs - Pre-/Post-Install Jobs
- Volumes - Persistent Storage
Helper-Funktionen¶
Unabhängige Helper, die auch standalone verwendet werden können:
- Namespaces - Namespace-Erstellung
- Docker Registry Secrets - Image Pull Secrets
- Secrets - Generische Secrets mit Auto-Generierung
- TLS Secrets - TLS-Zertifikate
- ConfigMaps - Konfigurationsdateien
- Ingress - Standalone Ingress
- ServiceMonitor - Prometheus-Monitoring
Vorteile für Entwickler¶
- Keine eigene Chart-Entwicklung nötig für typische Apps
- Ein Chart-Muster für viele Anwendungen
- Deklarativ / GitOps-tauglich
Beispiel¶
# Chart.yaml
dependencies:
- name: ohmyhelm
alias: myapp
repository: https://gitlab.com/ayedocloudsolutions/ohmyhelm
version: 1.13.0
# values.yaml
myapp:
chart:
enabled: true
image:
repository: myapp
tag: 1.0.0
ingress:
enabled: true
host: myapp.example.com
tls: true
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 10
Integration mit der Plattform¶
ohMyHelm nutzt automatisch alle Platform-Services:
- Cert-Manager: Automatische TLS-Zertifikate
- Monitoring: ServiceMonitor für VictoriaMetrics
- Logging: Logs werden automatisch gesammelt
- Network Policies: Via Kyverno oder manuell
- Backup: Velero Annotations
Weitere Informationen:
Wie die Komponenten zusammenarbeiten¶
Developer Workflow¶
- Entwicklung: Entwickler schreibt Code
- Chart erstellen: ohMyHelm als Dependency einbinden
- Konfiguration:
values.yamlanpassen - Commit: Push zu Git-Repository
- Deployment: GitOps (Argo CD) oder Polycrate deployed automatisch
- Monitoring: Automatisch in VictoriaMetrics/Grafana sichtbar
Operations Workflow¶
- Infrastructure Setup: Polycrate bootstrapped Kubernetes-Cluster
- Platform Installation: Polycrate installiert alle Platform-Services
- App Onboarding: Neue Apps via ohMyHelm oder Polycrate Blocks
- Day-2 Operations: Updates, Backups, Monitoring via Polycrate
- Incident Response: über die gebuchte Supportklasse (Leistungsanhang)
Beispiel: Neue App deployen¶
Als Entwickler (mit ohMyHelm):
# 1. ohMyHelm Chart erstellen
helm create myapp
# Chart.yaml: ohMyHelm als Dependency
# 2. Konfigurieren
vim values.yaml
# 3. Deployen
helm install myapp ./myapp
Als Platform Admin (mit Polycrate):
# workspace.poly
blocks:
- name: myapp
from: cargo.ayedo.cloud/ayedo/k8s/generic-app:1.0.0
config:
image: myapp:1.0.0
replicas: 3
Vorteile der integrierten Plattform¶
Für Entwickler¶
- Schneller Einstieg: Keine Kubernetes-Expertise erforderlich
- Standardisiert: Bewährte Patterns und Best Practices
- Self-Service: Unabhängiges Deployment ohne Ops-Team
- Monitoring inklusive: Automatische Integration mit Grafana
Für Operations¶
- Automatisierung: Polycrate orchestriert alles
- Konsistenz: Gleiche Patterns über alle Umgebungen
- Wartbarkeit: Infrastructure as Code via Git
- Skalierbarkeit: Von 1 bis 100+ Anwendungen
Für das Business¶
- Time-to-Market: Schnellere Releases
- Kostenkontrolle: Transparente, planbare Kosten
- Compliance: GDPR, BSI, NIS2, ISO 27001
- Support: über die gebuchte Supportklasse (Leistungsanhang)
Erste Schritte¶
- Erste Schritte (Onboarding) — Grundlagen und erste App
- Blöcke und Apps — Katalog mit Hub- und How-to-Links
- Delivery Operations — Harbor, Argo CD, ohMyHelm, Guardrails
- Platform Operations — Betrieb der Plattform-Blöcke
- Betriebsmodelle · Komponenten & Features
Support¶
- E-Mail: support@ayedo.de
- Website: ayedo.de
- PolyHub: hub.polycrate.io
- Discord: ayedo Discord
Weitere Dokumentation¶
- Komponenten & Features — SDP-Bausteine und Polycrate-Blöcke
- Betriebsmodelle — ayedo Cloud, Dedicated, BYOC / On-Premises
- Kubernetes Distribution — nur Cluster-Bereitstellung
- Compliance & Sicherheit
- Best Practices
- Polycrate Best Practices