alloy helm

No introduction found. Create it?

Install

Install with:

helm repo add alloy oci://ghcr.io/home-operations/charts-mirror/alloy
helm install alloy alloy/alloy -f values.yaml

Examples

See examples from other people.

Top Repositories (1 out of 17)

NameRepoStarsVersionTimestamp
alloyszinn/k8s-homelab3041.10.12 months ago

Values

See the most popular values for this chart:

KeyTypes
boolean
boolean
string
string
alloy.configMap.content (5)
// --------------------------------------------------------------------- // Loki write endpoint (same target promtail used) // --------------------------------------------------------------------- loki.write "default" { endpoint { url = "http://loki-gateway:80/loki/api/v1/push" } } // --------------------------------------------------------------------- // Kubernetes pod logs (replaces promtail chart's implicit default job) // Reproduces promtail's default relabeling so the `app`, `namespace`, // `pod`, `container`, `node_name`, `instance`, `component` and `job` // labels match exactly — the loki alert rules depend on `app`. // --------------------------------------------------------------------- discovery.kubernetes "pods" { role = "pod" } discovery.relabel "pod_logs" { targets = discovery.kubernetes.pods.targets rule { source_labels = ["__meta_kubernetes_pod_controller_name"] regex = "([0-9a-z-.]+?)(-[0-9a-f]{8,10})?" target_label = "__tmp_controller_name" } rule { source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_name", "__meta_kubernetes_pod_label_app", "__tmp_controller_name", "__meta_kubernetes_pod_name"] regex = "^;*([^;]+)(;.*)?quot; target_label = "app" } rule { source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_instance", "__meta_kubernetes_pod_label_instance"] regex = "^;*([^;]+)(;.*)?quot; target_label = "instance" } rule { source_labels = ["__meta_kubernetes_pod_label_app_kubernetes_io_component", "__meta_kubernetes_pod_label_component"] regex = "^;*([^;]+)(;.*)?quot; target_label = "component" } rule { source_labels = ["__meta_kubernetes_pod_node_name"] target_label = "node_name" } rule { source_labels = ["__meta_kubernetes_namespace"] target_label = "namespace" } rule { source_labels = ["namespace", "app"] separator = "/" target_label = "job" } rule { source_labels = ["__meta_kubernetes_pod_name"] target_label = "pod" } rule { source_labels = ["__meta_kubernetes_pod_container_name"] target_label = "container" } // Standard pods: /var/log/pods/<uid>/<container>/*.log rule { source_labels = ["__meta_kubernetes_pod_uid", "__meta_kubernetes_pod_container_name"] separator = "/" replacement = "/var/log/pods/*$1/*.log" target_label = "__path__" } // Static (control-plane) pods keyed by config hash annotation. rule { source_labels = ["__meta_kubernetes_pod_annotationpresent_kubernetes_io_config_hash", "__meta_kubernetes_pod_annotation_kubernetes_io_config_hash", "__meta_kubernetes_pod_container_name"] separator = "/" regex = "true/(.*)" replacement = "/var/log/pods/*$1/*.log" target_label = "__path__" } } local.file_match "pod_logs" { path_targets = discovery.relabel.pod_logs.output } loki.source.file "pod_logs" { targets = local.file_match.pod_logs.targets forward_to = [loki.process.pod_logs.receiver] } loki.process "pod_logs" { stage.cri {} forward_to = [loki.write.default.receiver] } // --------------------------------------------------------------------- // systemd journal (hostPath /var/log/journal, max_age 12h) // --------------------------------------------------------------------- loki.relabel "journal" { forward_to = [] rule { source_labels = ["__journal__systemd_unit"] target_label = "unit" } rule { source_labels = ["__journal__hostname"] target_label = "hostname" } } loki.source.journal "journal" { path = "/var/log/journal" max_age = "12h" labels = { job = "systemd-journal" } relabel_rules = loki.relabel.journal.rules forward_to = [loki.write.default.receiver] } // --------------------------------------------------------------------- // syslog TCP receiver (external devices push to ${SVC_SYSLOG_ADDR}:1514) // --------------------------------------------------------------------- loki.relabel "syslog" { forward_to = [] rule { source_labels = ["__syslog_message_hostname"] target_label = "host" } rule { source_labels = ["__syslog_message_app_name"] target_label = "app" } } loki.source.syslog "syslog" { listener { address = "0.0.0.0:1514" protocol = "tcp" label_structured_data = true labels = { job = "syslog" } } relabel_rules = loki.relabel.syslog.rules forward_to = [loki.write.default.receiver] }
string
string
number
string
number
string
string
boolean
boolean
string
string
string
string
boolean
number
number
string
number
string
string
string
string
string
string
string
string
controller.tolerations[].key (2)
node-role.kubernetes.io/master
arm
string
string
controller.initContainers[].args[] (2)
- if [ -f /etc/alloy/geoip/GeoLite2-City.mmdb ]; then echo "GeoIP database already exists, skipping download" exit 0 fi exec /usr/bin/geoipupdate
string
string
controller.initContainers[].env[].name (2)
GEOIPUPDATE_ACCOUNT_ID
GEOIPUPDATE_LICENSE_KEY
GEOIPUPDATE_EDITION_IDS
GEOIPUPDATE_DB_DIR
string
controller.initContainers[].env[].value (2)
GeoLite2-City GeoLite2-ASN
/etc/alloy/geoip
string
controller.initContainers[].env[].valueFrom.secretKeyRef.key (2)
GEOIPUPDATE_ACCOUNT_ID
GEOIPUPDATE_LICENSE_KEY
string
string
controller.initContainers[].image (2)
ghcr.io/maxmind/geoipupdate:v7
string
string
string
string
boolean
boolean
string
string
string
string
string
string
string
string
number
string
number
string
string