Zum Inhalt

Pricing & Business Layer

Übersicht

Die Polycrate API verwaltet Produkte, Preisregeln und Verkaufshistorie nativ – ohne externe Systeme wie Baserow. Dieser Business Layer bildet die Grundlage für Abrechnung, Support-Zuweisung und Ressourcen-Kosten.

graph TB
    Product[Product] --> OrgProduct[OrganizationProduct]
    Product --> PricingRule[PricingRule]
    OrgProduct --> CostStatement[CostStatement]
    S3Bucket[S3 Bucket] --> OrgProduct
    LBI[Loadbalancer Instance] --> OrgProduct

Kernkonzepte

Product

Ein Product ist ein verkaufbares Gut mit Preis und optionalen Features:

Product-Kind Verwendung
support Support-Pakete (Basic, Premium, Priority) – steuert z. B. RocketChat-Channel-Berechtigung
object-storage S3-Bucket-Abrechnung
loadbalancer Loadbalancer-Instanz-Abrechnung
host Dedizierte Server / VMs
k8scluster Kubernetes-Cluster
k8sapp Kubernetes-Apps

OrganizationProduct

OrganizationProduct verknüpft eine Organisation mit einem Product – inkl. Zeitraum und vereinbartem Preis:

  • Was: Welches Produkt
  • An wen: Welche Organisation
  • Zu welchem Preis: agreed_price
  • Ab wann / bis wann: active_from, active_until

Support-Product & Auto-Assignment

Organisationen können ein Support-Product zugewiesen bekommen (z. B. Premium Support). Ist dies konfiguriert:

  • Auto-Assignment: Über SystemConfig.default_support_product kann eine Organisation automatisch ein Support-Produkt erhalten, falls keins zugewiesen ist
  • Feature-Flags: Products tragen config.features – z. B. rocketchat_channel: true für RocketChat-Integration
  • Condition: Fehlt ein Support-Product, wo es erwartet wird, kann ORGANIZATION_SUPPORT_PRODUCT_MISSING gesetzt werden

Region Default Products

S3-Buckets und Loadbalancer-Instanzen können automatisch einem Product zugeordnet werden:

S3-Cluster

  • Default Product: Ein S3-Cluster kann ein default_product (kind=object-storage) haben
  • Neue Buckets: Erhalten beim Anlegen automatisch dieses Product
  • Backfill: Bestehende Buckets ohne Product erhalten bei Reconciliation das Cluster-Default
  • SystemConfig: default_s3_product als Vorschlag für neue Cluster

Loadbalancer-Instanzen

  • SystemConfig: default_loadbalancer_product – wird automatisch allen Loadbalancer-Instanzen zugewiesen
  • Berechnung: Bei Reconciliation und bei manueller Zuweisung

Berechnete Kosten

  • S3 Bucket: computed_cost – nutzungsbasiert (KB → GB × Preis/GB)
  • Loadbalancer Instance: computed_cost – Flat-Rate (1 Instanz × Monatspreis)
  • Host: Über match_host_products-Command zuweisbar

Wo finden Sie was?

Aufgabe Ort in der Web-UI
Produkte verwalten Administration → Products
Organisation-Produkte zuweisen Organisation öffnen → Products-Sektion
System-Defaults setzen System Config → Default Products
S3-Cluster Default setzen S3-Cluster bearbeiten → Default Product
Kosten einsehen In den Detail-Ansichten (Bucket, Loadbalancer Instance)

Nutzen für IT-Leiter

  • Kosten-Übersicht: Welche Ressourcen verursachen welche Kosten?
  • Support-Staffelung: Welche Organisationen haben welches Support-Level?
  • Abrechnungsgrundlage: Verkaufshistorie und Cost-Statements für Abrechnungsprozesse