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 19)

NameRepoStarsVersionTimestamp
alloyszinn/k8s-homelab3071.11.02 months ago

Values

See the most popular values for this chart:

KeyTypes
boolean
boolean
string
string
alloy.configMap.content (6)
// --------------------------------------------------------------------- // 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
boolean
string
string
string
string
boolean
number
number
boolean
string
string
boolean
string
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
boolean
string
string
string
string
string
string
string
string
number
string
number
string
string
number
boolean
number
string