OpenObserve Docs
AdministrationConfiguration & ToolsO2 k8s operator

OpenObserve Kubernetes Operator Features

Overview

The OpenObserve Kubernetes Operator provides a comprehensive set of features for managing OpenObserve Enterprise resources through Kubernetes-native Custom Resources. This document outlines all available features organized by category, including alerts, pipelines, functions, and configurations.

Core Features

🎯 Declarative Resource Management

  • Native Kubernetes Integration: Manage OpenObserve resources as standard Kubernetes Custom Resource Definitions (CRDs)
  • GitOps Ready: Full support for GitOps workflows with version control and automated deployments
  • Infrastructure as Code: Define and manage observability configurations alongside application deployments
  • Multi-Instance Support: Manage multiple OpenObserve instances from a single Kubernetes cluster
  • Comprehensive Resource Types: Manage alerts, alert templates, destinations, pipelines, functions, and configurations as code

🔄 Automated Lifecycle Management

  • Resource Synchronization: Automatic sync between Kubernetes resources and OpenObserve configurations
  • Status Tracking: Real-time monitoring of resource sync status with detailed condition reporting
  • Generation Tracking: Tracks resource generations to ensure consistency between desired and actual states
  • Finalizer Support: Proper cleanup of OpenObserve resources when Kubernetes resources are deleted
  • Resource Types: Full lifecycle management for alerts, alert templates, destinations, pipelines, functions, and configurations

Custom Resource Definitions (CRDs)

1. OpenObserveConfig (o2config)

Manages connection configurations to OpenObserve instances.

Key Features:

  • Secure Credential Management: Credentials stored as Kubernetes Secrets
  • Multiple Instance Support: Configure connections to different OpenObserve environments (dev, test, prod)
  • TLS Configuration: Optional TLS verification settings
  • Organization Scoping: Organization-level configuration management
  • Connection Validation: Automatic validation of endpoint connectivity

Configuration Options:

  • endpoint: OpenObserve API endpoint URL
  • organization: Target organization name
  • credentialsSecretRef: Reference to Kubernetes Secret containing API tokens
  • tlsVerify: Enable/disable TLS certificate verification

2. OpenObserveAlert (o2alert)

Manages alert definitions with comprehensive monitoring capabilities.

Key Features:

Query Capabilities

  • Multiple Query Types:
    • Custom queries
    • SQL-based queries
    • PromQL queries for metrics
  • Stream Support: Works with logs, metrics, and traces
  • Aggregation Functions: Support for groupBy, having clauses, and various aggregation functions
  • VRL Functions: Vector Remap Language function support
  • Multi-Time Range: Compare data across different time windows

Trigger Conditions

  • Flexible Scheduling:
    • Frequency-based triggers (minutes, hours, days)
    • Cron expression support
    • Time window configuration (period)
  • Threshold Management:
    • Multiple comparison operators (=, !=, >=, <=, >, <)
    • Configurable thresholds
    • Silence periods to prevent alert fatigue
  • Advanced Options:
    • Timezone support
    • Tolerance settings (toleranceInSecs)
    • Time alignment options

Alert Management

  • Real-time Alerts: Support for real-time alert processing
  • Deduplication:
    • Fingerprint-based deduplication
    • Configurable time windows
    • Custom fingerprint fields
  • Context Enrichment:
    • Context attributes for additional metadata
    • Row templates (String or JSON format)
    • Custom template variables

Organization & Delivery

  • Folder Organization: Support for organizing alerts in folders
  • Multiple Destinations: Up to 10 destination channels per alert
  • Status Tracking:
    • Alert enablement status
    • Last sync time
    • OpenObserve alert ID tracking

3. OpenObserveAlertTemplate (o2alerttemplate, alerttemplate)

Manages alert notification templates for formatting alert messages across different channels.

Key Features:

Template Management

  • Multiple Template Types:
    • HTTP templates for webhooks (Slack, PagerDuty, etc.)
    • Email templates for email notifications
  • Template Variables: Support for dynamic variables in templates
  • Default Templates: Mark templates as default for automatic use
  • Organization Scoping: Templates are created at the organization level

Template Formatting

  • Title Templates: Dynamic titles with variable substitution
  • Body Templates:
    • JSON format for HTTP webhooks
    • HTML/text format for emails
    • Support for complex nested structures
  • Variable Placeholders:
    • {alert_name}: Name of the triggered alert
    • {stream_name}: Source stream name
    • {severity}: Alert severity level
    • {triggered_at}: Timestamp when alert was triggered
    • {org_name}: Organization name
    • {threshold}: Configured threshold value
    • Custom variables from alert context

Use Cases

  • Slack Notifications: Formatted messages with blocks and markdown
  • PagerDuty Integration: Structured incident creation
  • Email Alerts: Rich HTML email notifications
  • Custom Webhooks: Tailored JSON payloads for any HTTP endpoint
  • Microsoft Teams: Adaptive cards and formatted messages
  • Generic HTTP: Flexible templates for any webhook service

4. OpenObserveDestination (o2dest, o2destination)

Manages destinations for both alerts and pipelines, defining where data and notifications are sent.

Key Features:

Alert Destinations

  • Destination Types:
    • HTTP webhooks (Slack, PagerDuty, custom endpoints)
    • Email (SMTP) destinations
    • SNS (Amazon Simple Notification Service)
  • Template Integration: Reference alert templates for message formatting
  • Authentication Support:
    • Bearer tokens
    • API keys in headers
    • Custom headers
  • TLS Configuration: Optional TLS certificate verification

Pipeline Destinations

  • Destination Types:
    • OpenObserve instances (for data replication)
    • Splunk
    • New Relic
    • Elasticsearch
    • Dynatrace
    • Datadog
    • Custom HTTP endpoints
  • Output Formats:
    • JSON (standard or nested event format)
    • Elasticsearch bulk format
    • Custom formats per destination type
  • Metadata Support: Additional metadata for destination configuration

Configuration Options

  • HTTP Configuration:
    • URL endpoint
    • HTTP method (POST, PUT, GET)
    • Custom headers
    • Request timeout settings
  • Email Configuration:
    • Multiple recipient emails
    • Template selection
  • SNS Configuration:
    • AWS region
    • SNS Topic ARN
    • Action ID

Advanced Features

  • Skip TLS Verify: Development/testing with self-signed certificates
  • Category Detection: Automatic categorization as alert or pipeline destination
  • Error Handling: Detailed error reporting and retry logic
  • Status Tracking: Real-time sync status with destination services

5. OpenObserveFunction (o2function, o2func)

Manages VRL (Vector Remap Language) transformation functions for data processing.

Key Features:

Function Management

  • VRL Support: Write functions in Vector Remap Language for powerful data transformations
  • Reusable Functions: Create centralized functions that can be used across multiple pipelines
  • Organization Scoping: Functions are created at the organization level
  • Name Validation: Enforced naming patterns for consistency

Testing & Validation

  • Built-in Testing: Define test cases with input and expected output
  • Test Execution: Automatic validation of function logic during deployment
  • Error Reporting: Detailed error messages for failed tests
  • Multiple Test Cases: Support for multiple test scenarios per function

Use Cases

  • Data Transformation: Modify, enrich, or restructure log data
  • Field Extraction: Parse and extract fields from unstructured data
  • Data Enrichment: Add contextual information to events
  • Format Conversion: Convert between different data formats
  • Filtering: Implement complex filtering logic
  • Aggregation: Perform custom aggregations on data streams

Integration

  • Pipeline Integration: Functions can be referenced in pipelines for data processing
  • Stream Compatibility: Works with logs, metrics, and traces
  • Version Tracking: Generation tracking for function updates
  • Status Monitoring: Real-time sync status with OpenObserve

6. OpenObservePipeline (o2pipeline)

Manages data processing pipelines with advanced transformation capabilities.

Key Features:

Source Configuration

  • Multiple Source Types:
    • Real-time data sources
    • Scheduled/batch sources
    • Query-based sources
  • Stream Types: Logs, metrics, and traces
  • Flexible Scheduling:
    • Cron expressions
    • Frequency-based schedules
    • Time-based triggers

Pipeline Processing

  • Node-Based Architecture:
    • Modular node system for data processing
    • Configurable node parameters
    • Support for various transformation types
  • Edge Connections:
    • Define data flow between nodes
    • Support for branching pipelines
    • Multiple processing paths

Advanced Features

  • Version Control: Pipeline versioning support
  • Pause/Resume: Ability to pause pipelines at specific points
  • Error Handling: Detailed error tracking and reporting
  • Delay Configuration: Configurable processing delays
  • Timezone Support: Per-pipeline timezone configuration

Deployment & Operations Features

🚀 Automated Deployment

  • One-Command Deployment: Simple deployment script with customizable options
  • Image Configuration: Support for custom container images and tags
  • Namespace Management: Flexible namespace configuration
  • RBAC Setup: Automatic creation of required roles and permissions
  • ConfigMap-Based Configuration: Centralized configuration management for operator behavior

🔐 Security Features

  • Webhook Security:
    • Auto-generated TLS certificates for webhooks
    • Certificate rotation support
    • Secure admission control
  • Secret Management:
    • Kubernetes-native secret handling
    • Credential isolation per namespace
  • RBAC Controls:
    • Granular permission management
    • Cluster and namespace-scoped roles
  • Container Security:
    • Runs as non-root user (UID 65534)
    • Read-only root filesystem
    • No privilege escalation allowed
    • All capabilities dropped
    • Seccomp profile enabled
  • Pod Security:
    • Security context properly configured
    • Resource limits enforced
    • Temporary directory size limits

📊 Monitoring & Observability

  • Status Reporting:
    • Detailed condition tracking (Ready, Synced, Error states)
    • Last sync timestamps
    • Error messages and reasons
  • Custom Printer Columns:
    • Quick status overview in kubectl output
    • Key field visibility (Stream, Enabled, Ready, Age)
  • Generation Tracking: Version tracking for resource updates
  • Health Probes:
    • Liveness probe at /healthz endpoint
    • Readiness probe at /readyz endpoint
    • Startup probe for graceful initialization
  • Metrics Endpoint:
    • Prometheus-compatible metrics at /metrics on port 8080
    • Service annotations for automatic Prometheus discovery
    • Operational metrics and controller performance data

Advanced Capabilities

🔄 Reconciliation Features

  • Continuous Reconciliation: Ensures desired state matches actual state
  • Error Recovery: Automatic retry with exponential backoff
  • Drift Detection: Identifies and corrects configuration drift
  • Resource Validation: Pre-flight validation before applying changes

🎛️ Operational Features

  • Production-Ready Deployment:
    • Default high availability setup with 2 replicas
    • Automatic leader election for active-passive operation
    • Zero-downtime rolling updates
    • Priority class for critical infrastructure components
  • Dry Run Support: Preview changes before applying
  • Uninstall Management:
    • Complete cleanup with finalizer removal
    • Ordered resource deletion (alerts, alert templates, destinations, pipelines, functions, configurations)
    • Namespace cleanup
  • Multi-Environment Support:
    • Development, test, and production configurations
    • Environment-specific templates
  • Resource Management:
    • Configurable resource requests and limits
    • Default: 200m CPU / 256Mi memory (requests), 1 CPU / 1Gi memory (limits)
    • Horizontal scaling capabilities

🔧 Developer Features

  • Sample Templates: Comprehensive examples for all resource types (alerts, alert templates, destinations, pipelines, functions)
  • Validation Webhooks: Input validation at admission time
  • Status Subresources: Proper status update mechanisms
  • Preserved Unknown Fields: Future compatibility for API extensions

Integration Capabilities

GitOps Integration

  • Flux Compatibility: Works with Flux CD for automated deployments
  • ArgoCD Support: Compatible with ArgoCD for application management
  • Helm Integration: Can be deployed via Helm charts

CI/CD Integration

  • Pipeline Integration: Integrates with CI/CD pipelines
  • Automated Testing: Support for automated configuration testing
  • Version Control: Full compatibility with Git workflows

Resource Organization

Namespace Support

  • Multi-tenancy: Isolate resources by namespace
  • Cross-namespace References: Support for referencing configs across namespaces
  • Default Namespace: Configurable default namespace for resources

Resource Relationships

  • Config References: Resources reference OpenObserveConfig for connection details
  • Dependency Management: Proper handling of resource dependencies
  • Cascading Updates: Updates propagate through dependent resources

Operational Excellence

High Availability

  • Stateless Operation: Operator maintains no local state
  • Horizontal Scaling: Default deployment with 2 replicas for high availability
  • Leader Election: Proper coordination for multiple instances
  • PodDisruptionBudget: Ensures minimum availability during cluster maintenance
  • Anti-Affinity Rules: Spreads replicas across different nodes for fault tolerance
  • Topology Spread Constraints: Even distribution across availability zones

Performance

  • Efficient Reconciliation: Optimized reconciliation loops
  • Batch Processing: Bulk operations where applicable
  • Resource Caching: Minimizes API calls to OpenObserve
  • Configurable Concurrency: Tune controller concurrency for each resource type
  • Rate Limiting: Configurable API rate limits to prevent overwhelming OpenObserve
  • Connection Pooling: Efficient HTTP connection management with configurable pools

Performance Tuning Configuration

The operator provides extensive performance tuning options via ConfigMap (manifests/02-configmap.yaml):

Controller Concurrency Settings

  • ALERT_CONTROLLER_CONCURRENCY: Controls parallel alert processing (default: 1, recommended: 1-20)
  • TEMPLATE_CONTROLLER_CONCURRENCY: Controls alert template processing (default: 1, recommended: 1-10)
  • DESTINATION_CONTROLLER_CONCURRENCY: Controls destination processing (default: 1, recommended: 1-20)
  • PIPELINE_CONTROLLER_CONCURRENCY: Controls pipeline processing (default: 1, recommended: 1-10)
  • FUNCTION_CONTROLLER_CONCURRENCY: Controls function processing (default: 1, recommended: 1-5)
  • CONFIG_CONTROLLER_CONCURRENCY: Controls configuration processing (default: 1, recommended: 1-3)

API Rate Limiting

  • O2_RATE_LIMIT_RPS: Requests per second to OpenObserve API (default: 10, max: 100)
  • O2_RATE_LIMIT_BURST: Burst capacity for API requests (default: 20, max: 200)

HTTP Connection Pool Management

  • O2_MAX_CONNS_PER_HOST: Maximum concurrent connections per host (default: 10)
  • O2_MAX_IDLE_CONNS: Total maximum idle connections (default: 100)
  • O2_MAX_IDLE_CONNS_PER_HOST: Maximum idle connections per host (default: 10)
  • O2_IDLE_CONN_TIMEOUT: Idle connection timeout duration (default: 90s)
  • O2_HTTP_TIMEOUT: HTTP request timeout (default: 30s)

Logging Configuration

  • O2OPERATOR_LOG_LEVEL: Operator log verbosity (options: debug, info, error; default: info)

Optional Features

  • SKIP_STREAM_VALIDATION: Skip stream validation in webhooks when needed

Maintenance

  • Zero-Downtime Updates: Rolling updates for operator upgrades
  • Backward Compatibility: API version compatibility management
  • Migration Support: Tools for migrating between versions

Troubleshooting & Debugging

Diagnostic Features

  • Detailed Logging: Comprehensive operator logs
  • Event Recording: Kubernetes events for important operations
  • Status Conditions: Detailed condition reporting for debugging

Documentation & Support

  • Comprehensive Documentation:
    • API references
    • Troubleshooting guides
    • Deployment instructions
  • Sample Configurations: Ready-to-use examples for common scenarios
  • Issue Tracking: GitHub integration for bug reports and features

Future-Ready Design

Extensibility

  • CRD Versioning: Support for multiple API versions
  • Custom Fields: Preserved unknown fields for future extensions
  • Plugin Architecture: Designed for future plugin support

Scalability

  • Resource Limits: Configurable limits (e.g., max 10 alert destinations)
  • Pagination Support: Ready for large-scale deployments
  • Bulk Operations: Designed for batch processing capabilities

🚧 Development In-Progress

The following features are currently under active development and will be available in upcoming releases:

Enhanced Destination Features

While the OpenObserveDestination CRD is now available with support for basic alert and pipeline destinations, the following enhanced features are planned:

Additional Destination Types (Coming Soon):

  • Alert Destinations:

    • OpsGenie
    • Discord
    • Telegram
    • Microsoft Teams (native integration)
    • Webhooks with custom authentication schemes
  • Advanced Features:

    • Alert routing rules
    • Severity-based filtering
    • Time-based routing (business hours, on-call schedules)
    • Alert aggregation and batching
    • Escalation policies
    • Acknowledgment tracking
    • Two-way integrations
    • Rate limiting and throttling
    • Delivery confirmation tracking

OpenObserveRemoteDestinations (o2remotedest)

An advanced Custom Resource for managing complex remote data destinations beyond the current OpenObserveDestination capabilities.

Planned Features:

  • Advanced Destination Types:

    • Object storage (S3, GCS, Azure Blob Storage)
    • Message queues (Kafka, RabbitMQ, Amazon SQS, Azure Service Bus)
    • Time-series databases (InfluxDB, Prometheus, VictoriaMetrics)
    • Data warehouses (Snowflake, BigQuery, Redshift)
    • Grafana Cloud
  • Data Management:

    • Batch and streaming modes
    • Data format conversion (JSON, Parquet, Avro, CSV)
    • Compression options (gzip, snappy, zstd)
    • Partitioning strategies
    • Schema management
    • Data retention policies
  • Reliability Features:

    • Dead letter queue support
    • Circuit breaker patterns
    • Automatic retries with exponential backoff
    • Connection pooling
    • Health checks and monitoring
    • Automatic failover to backup destinations
    • Data buffering and queuing
  • Security & Compliance:

    • End-to-end encryption
    • Authentication mechanisms (OAuth2, API keys, mTLS, IAM roles)
    • Data masking and PII redaction
    • Audit logging for data transfers
    • Compliance metadata tagging
    • Data residency controls

Integration with Pipelines:

  • Reference remote destinations in pipeline outputs
  • Share destinations across multiple pipelines
  • Conditional routing based on data attributes
  • Load balancing across multiple instances
  • Data replication and fan-out patterns

Community Feedback

We welcome community input on these upcoming features. Please share your use cases and requirements through:

Summary

The OpenObserve Kubernetes Operator provides a robust, enterprise-ready solution for managing observability configurations at scale. With its comprehensive feature set, it enables teams to:

  • Implement GitOps workflows for observability
  • Maintain consistency across environments
  • Automate operational tasks with alerts, pipelines, and functions
  • Manage alert templates and destinations as code
  • Ensure security and compliance
  • Scale observability management efficiently
  • Transform and enrich data with VRL functions
  • Configure flexible notification channels and data routing

Whether you're managing a single OpenObserve instance or orchestrating a complex multi-environment setup, the operator provides the tools and capabilities needed for success.

Was this page helpful?

Last updated on

On this page

OpenObserve Kubernetes Operator FeaturesOverviewCore Features🎯 Declarative Resource Management🔄 Automated Lifecycle ManagementCustom Resource Definitions (CRDs)1. OpenObserveConfig (o2config)2. OpenObserveAlert (o2alert)Query CapabilitiesTrigger ConditionsAlert ManagementOrganization & Delivery3. OpenObserveAlertTemplate (o2alerttemplate, alerttemplate)Template ManagementTemplate FormattingUse Cases4. OpenObserveDestination (o2dest, o2destination)Alert DestinationsPipeline DestinationsConfiguration OptionsAdvanced Features5. OpenObserveFunction (o2function, o2func)Function ManagementTesting & ValidationUse CasesIntegration6. OpenObservePipeline (o2pipeline)Source ConfigurationPipeline ProcessingAdvanced FeaturesDeployment & Operations Features🚀 Automated Deployment🔐 Security Features📊 Monitoring & ObservabilityAdvanced Capabilities🔄 Reconciliation Features🎛️ Operational Features🔧 Developer FeaturesIntegration CapabilitiesGitOps IntegrationCI/CD IntegrationResource OrganizationNamespace SupportResource RelationshipsOperational ExcellenceHigh AvailabilityPerformancePerformance Tuning ConfigurationController Concurrency SettingsAPI Rate LimitingHTTP Connection Pool ManagementLogging ConfigurationOptional FeaturesMaintenanceTroubleshooting & DebuggingDiagnostic FeaturesDocumentation & SupportFuture-Ready DesignExtensibilityScalability🚧 Development In-ProgressEnhanced Destination FeaturesOpenObserveRemoteDestinations (o2remotedest)Community FeedbackSummary