240 lines
5.6 KiB
JSON
240 lines
5.6 KiB
JSON
{
|
|
"slug": "alloy",
|
|
"kind": "compose",
|
|
"metadata": {
|
|
"name": "Grafana Alloy",
|
|
"description": "OpenTelemetry collector by Grafana that collects, processes, and exports metrics and logs to various backends like Prometheus and Loki.",
|
|
"tags": [
|
|
"traefik"
|
|
],
|
|
"icon": {
|
|
"provider": "selfhst",
|
|
"id": "grafana-alloy"
|
|
},
|
|
"draft": false,
|
|
"version": {
|
|
"name": "v1.16.0",
|
|
"source_dep_name": "docker.io/grafana/alloy",
|
|
"source_dep_version": "v1.16.0"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"title": "General",
|
|
"name": "general",
|
|
"items": [
|
|
{
|
|
"name": "service_name",
|
|
"type": "str",
|
|
"title": "Service Name",
|
|
"required": false,
|
|
"default": "alloy",
|
|
"config": {
|
|
"placeholder": "alloy"
|
|
}
|
|
},
|
|
{
|
|
"name": "container_hostname",
|
|
"type": "str",
|
|
"title": "Hostname",
|
|
"required": false
|
|
},
|
|
{
|
|
"name": "restart_policy",
|
|
"type": "enum",
|
|
"title": "Container restart policy",
|
|
"required": true,
|
|
"default": "unless-stopped",
|
|
"config": {
|
|
"options": [
|
|
"unless-stopped",
|
|
"always",
|
|
"on-failure",
|
|
"no"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Log Collection",
|
|
"toggle": "logs_enabled",
|
|
"name": "logs",
|
|
"items": [
|
|
{
|
|
"name": "logs_docker",
|
|
"type": "bool",
|
|
"title": "Docker Logs",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "logs_enabled",
|
|
"type": "bool",
|
|
"title": "Logs",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "logs_loki_url",
|
|
"type": "str",
|
|
"title": "Loki URL",
|
|
"required": true,
|
|
"default": "http://loki:3100/loki/api/v1/push",
|
|
"description": "Loki endpoint URL for sending logs",
|
|
"config": {
|
|
"placeholder": "http://loki:3100/loki/api/v1/push"
|
|
}
|
|
},
|
|
{
|
|
"name": "logs_system",
|
|
"type": "bool",
|
|
"title": "System Logs",
|
|
"required": false,
|
|
"default": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Metrics Collection",
|
|
"toggle": "metrics_enabled",
|
|
"name": "metrics",
|
|
"items": [
|
|
{
|
|
"name": "metrics_docker",
|
|
"type": "bool",
|
|
"title": "Docker Metrics",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "metrics_enabled",
|
|
"type": "bool",
|
|
"title": "Metrics",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "metrics_prometheus_url",
|
|
"type": "str",
|
|
"title": "Prometheus URL",
|
|
"required": true,
|
|
"default": "http://prometheus:9090/api/v1/write",
|
|
"config": {
|
|
"placeholder": "http://prometheus:9090/api/v1/write"
|
|
}
|
|
},
|
|
{
|
|
"name": "metrics_system",
|
|
"type": "bool",
|
|
"title": "System Metrics",
|
|
"required": false,
|
|
"default": true
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Ports",
|
|
"name": "ports",
|
|
"items": [
|
|
{
|
|
"name": "ports_webui",
|
|
"type": "int",
|
|
"title": "Web UI Port",
|
|
"required": false,
|
|
"default": 12345,
|
|
"description": "Port for Alloy web UI",
|
|
"config": {
|
|
"placeholder": "12345"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"title": "Traefik",
|
|
"name": "traefik",
|
|
"toggle": "traefik_enabled",
|
|
"items": [
|
|
{
|
|
"name": "traefik_enabled",
|
|
"type": "bool",
|
|
"title": "Traefik",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
{
|
|
"name": "traefik_host",
|
|
"type": "str",
|
|
"title": "Host",
|
|
"required": true,
|
|
"config": {
|
|
"placeholder": "alloy"
|
|
}
|
|
},
|
|
{
|
|
"name": "traefik_domain",
|
|
"type": "str",
|
|
"title": "Domain",
|
|
"required": true,
|
|
"config": {
|
|
"placeholder": "home.arpa"
|
|
}
|
|
},
|
|
{
|
|
"name": "traefik_entrypoint",
|
|
"type": "str",
|
|
"title": "Entrypoint",
|
|
"required": true,
|
|
"default": "web",
|
|
"config": {
|
|
"placeholder": "web"
|
|
}
|
|
},
|
|
{
|
|
"name": "traefik_network",
|
|
"type": "str",
|
|
"title": "Traefik network name",
|
|
"required": true,
|
|
"default": "traefik",
|
|
"config": {
|
|
"placeholder": "traefik"
|
|
}
|
|
},
|
|
{
|
|
"name": "traefik_tls_enabled",
|
|
"type": "bool",
|
|
"title": "TLS",
|
|
"required": false,
|
|
"default": true
|
|
},
|
|
{
|
|
"name": "traefik_tls_entrypoint",
|
|
"type": "str",
|
|
"title": "TLS Entrypoint",
|
|
"required": true,
|
|
"default": "websecure",
|
|
"config": {
|
|
"placeholder": "websecure"
|
|
},
|
|
"needs": [
|
|
"traefik_tls_enabled=true"
|
|
]
|
|
},
|
|
{
|
|
"name": "traefik_tls_certresolver",
|
|
"type": "str",
|
|
"title": "Cert Resolver",
|
|
"required": true,
|
|
"default": "cloudflare",
|
|
"config": {
|
|
"placeholder": "cloudflare"
|
|
},
|
|
"needs": [
|
|
"traefik_tls_enabled=true"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|