Operational Processes

Operational Processes in Greenhouse

Greenhouse provides a couple of predefined operational processes.

Operational processes facilitated via Greenhouse heavily rely on the Ownership principle. It is used to route operational tasks to Support Groups.

Examples for these operational tasks are:

  • Alert routing based on metrics
  • Lifecycle management of k8s Clusters
  • Security posture and vulnerability patch management
  • Secret rotation and management

Labels Used

Greenhouse focuses on labels in three different places:

  • On resources (e.g. PluginPresets, Clusters but also k8s Deployments, Pods, etc.)
  • On metrics exposed by those resources
  • On Prometheus alerts based on metrics

The following labels are used by Greenhouse automation:

labeldescriptionused onused by
greenhouse.sap/owned-byIdentifies the owning team of a resourceResources, metricsSecurity management, lifecycle management, secret rotation
support_groupSpecifies the support group responsible for the alertAlertsAlert routing
serviceGroups resources belonging to a serviceResources, metrics, alertsSecurity management, alert routing
regionIndicates the region an alert is firing inMetrics, alertsAlert routing
severityIndicates the importance or urgency of an alertAlertsAlert routing
ClusterSpecifies the cluster a metric is exposed onMetrics, alertsAlert routing

Alert Routing

Monitoring and alert routing is achieved through a combination of Plugins running on the remote Clusters and the Greenhouse central cluster.

All alerts processed with Greenhouse need the support_group label that can be extracted from the greenhouse.sap/owned-by.

With the Alerts Plugin a holistic alerts dashboard is integrated to the Greenhouse UI. This dashboard is prefiltered on the support group a user is member of. It directly displays alerts by region and severity. Also service is prominently displayed.

It is good practice to also route alerts by support_group and/or severity to specific Alertmanager receivers (e.g. Slack channels).

Lifecycle management of k8s Clusters

All Cluster related alerts, including version expiration and other maintenance tasks are routed to the owning support_group of the Cluster.

Security Management

Security posture and vulnerability management is achieved through the heureka Plugin. It scans for security violations in running k8s containers and displays these by support_group and service.

Secret Management

With secret management Greenhouse wants to have alerts on expiring Secrets in need of rotation. These alerts will be routed to the respective support_groups. See roadmap item for further information.