This document provides detailed information about the Open Container Framework Platform (OCFP) feature and Stackit IaaS support in the Prometheus Genesis Kit.
The Open Container Framework Platform (OCFP) feature is designed to standardize deployments across multiple IaaS providers, with a focus on OpenStack-compatible infrastructures like OpenStack itself and Stackit. This feature adapts deployment configurations to work seamlessly with these platforms, handling their specific requirements and capabilities.
Stackit is an IaaS provider that offers cloud infrastructure services compatible with OpenStack APIs. It provides a 1:1 correspondence between networks and subnets, unlike traditional OpenStack which can have multiple subnets within a single network.
When you enable the ocfp feature, the Prometheus Genesis Kit:
- Includes specific configuration files from the
ocfp/directory - Adjusts network, VM, and disk configurations for compatibility with OpenStack/Stackit
- Handles IaaS-specific property mappings through the cloud config layer
- Provides a standardized approach for both OpenStack and Stackit deployments
To use the Prometheus Genesis Kit with Stackit:
- Include the
ocfpfeature in your environment file:
kit:
name: prometheus
version: latest
features:
- ocfp
- self-signed-cert # or other desired features- Configure your environment with Stackit as the CPI in your Genesis deployment:
# Example infrastructure-specific parameters
params:
ocfp_env_scale: dev # or prod, affects VM and disk sizing
ocfp_vault_config_slug: my-stackit-env # Optional vault configuration referenceThe cloud-config.pm hook has been enhanced to support Stackit-specific properties:
- Networks: Handles Stackit's 1:1 network-to-subnet mapping
- VM Types: Maps to appropriate Stackit instance types
- Disk Types: Configures appropriate Stackit storage types
Example cloud config definition generated for Stackit:
networks:
- name: prometheus
type: manual
subnets:
- range: 10.0.0.0/24
gateway: 10.0.0.1
static: [10.0.0.20]
cloud_properties:
net_id: net-abc123 # Stackit network ID
security_groups: [default]The OCFP feature scales VM and disk resources based on the environment scale:
VM Types:
- Development scale:
m1.2instance type - Production scale:
m1.3instance type
Disk Types:
- Development scale: 128GB storage
- Production scale: 256GB storage
Both use the storage_premium_perf6 storage type for optimal performance.
The blueprint.pm hook conditionally includes the appropriate YAML files based on the detected IaaS provider:
- Base OCFP files:
ocfp/meta.ymlandocfp/ocfp.ymlare always included - IaaS-specific files: Conditional logic detects Stackit and can include
ocfp/stackit.ymlif needed
---
kit:
name: prometheus
version: latest
features:
- ocfp
- self-signed-cert
- monitor-cf
params:
# Stackit-specific
ocfp_env_scale: prod
# Genesis environment name will be used for BOSH and CF exodus path defaults
# Standard Prometheus params
external_domain: prometheus.example.com
prometheus_port: 443
grafana_port: 8080
alertmanager_port: 8082The primary difference between OpenStack and Stackit is in network configuration:
- OpenStack: Can have multiple subnets within a single network
- Stackit: Has a 1:1 relationship between networks and subnets
The OCFP feature handles these differences transparently, ensuring your Prometheus deployment works correctly regardless of which platform you choose.
The OCFP feature includes built-in scaling based on the ocfp_env_scale parameter:
| Scale | VM Type | Disk Size | Use Case |
|---|---|---|---|
| dev | m1.2 | 128GB | Development/testing environments |
| prod | m1.3 | 256GB | Production environments with higher resource needs |
Currently, Stackit deployments use the same configuration as OpenStack deployments, with differences abstracted by the cloud config layer. If you need to customize Stackit deployments specifically:
- Edit the
ocfp/stackit.ymlfile to add Stackit-specific overrides - Modify
blueprint.pmto uncomment the inclusion of the Stackit-specific file
- Stackit implementation currently mirrors OpenStack exactly
- Limited testing in large-scale Stackit environments
- No Stackit-specific dashboard or visualization optimizations
- Enhanced Stackit-specific cloud property mapping
- Improved support for Stackit's unique network architecture
- Pre-configured dashboards for Stackit-specific metrics (if applicable)
Symptoms:
- Deployment fails with network-related errors
- Unable to reach Prometheus component UIs
Solutions:
- Verify Stackit network configuration in your cloud config
- Check security group rules allow necessary traffic
- Ensure static IP allocation doesn't conflict with existing IPs
Symptoms:
- Deployment fails with resource allocation errors
- VMs cannot be created
Solutions:
- Verify resource quotas in your Stackit account
- Try smaller instance types by setting
ocfp_env_scale: dev - Check that requested instance types are available in your Stackit environment
Symptoms:
- Unexpected errors during deployment
- BOSH CPI reports API errors
Solutions:
- Ensure BOSH director uses latest compatible CPI for Stackit
- Verify authentication and API endpoints are correctly configured
- Check Stackit documentation for API version compatibility
---
kit:
name: prometheus
version: latest
features:
- ocfp
- self-signed-cert
- monitor-cf
- monitor-credhub
params:
# OCFP Configuration
ocfp_env_scale: prod
# Component access
external_domain: prometheus.stackit.example.com
prometheus_port: 443
grafana_port: 8080
alertmanager_port: 8082
# Certificate configuration
ca_validity_period: 3y
webssl_validity_period: 1y
# Cloud Foundry monitoring
cf_env: prod-cf
skip_ssl_validation: false
# CredHub monitoring
credhub_exodus_path: prod/boshThe OCFP feature and Stackit IaaS support in the Prometheus Genesis Kit provide a standardized approach to deploying Prometheus across OpenStack-compatible platforms. By abstracting infrastructure differences at the cloud config layer, the kit ensures consistent deployments regardless of the underlying IaaS provider, while also providing flexibility for environment-specific customizations.