app:
  id: grafana
  name: Grafana
  version: 10.2.0
  description: Analytics and monitoring platform. Visualize metrics and create dashboards.
  
  container:
    image: grafana/grafana:10.2.0
    image_signature: cosign://...
    pull_policy: if-not-present
    
  dependencies:
    - storage: 5Gi
    
  resources:
    cpu_limit: 2
    memory_limit: 1Gi
    disk_limit: 5Gi
    
  security:
    capabilities: []
    readonly_root: true
    network_policy: isolated
    apparmor_profile: grafana
    
  ports:
    - host: 3001
      container: 3000
      protocol: tcp  # Web UI
    
  volumes:
    - type: bind
      source: /var/lib/archipelago/grafana
      target: /var/lib/grafana
      options: [rw]
      
  environment:
    - GF_SECURITY_ADMIN_USER=admin
    - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
    - GF_SERVER_ROOT_URL=http://localhost:3001
    - GF_INSTALL_PLUGINS=
    
  health_check:
    type: http
    endpoint: http://localhost:3001
    path: /api/health
    interval: 30s
    timeout: 5s
    retries: 3
