cfg/env/prod/promtail.cue

88 lines
2.0 KiB
Plaintext

package prod
import "encoding/yaml"
import "du5t1n.me/cfg/app/promtail/schema"
promtail: {
scrape: {
journal: schema.#ScrapeConfig & {
job_name: "journal"
journal: {
labels: {
job: "systemd-journal"
}
}
relabel_configs: [
{
source_labels: ["__journal__hostname"]
target_label: "hostname"
},
{
source_labels: ["__journal__systemd_unit"]
target_label: "unit"
},
{
source_labels: ["__journal_syslog_identifier"]
target_label: "syslog_identifier"
},
{
source_labels: ["__journal_priority"]
target_label: "priority"
},
{
source_labels: ["__journal_message_id"]
target_label: "message_id"
},
{
source_labels: ["__journal__comm"]
target_label: "command"
},
{
source_labels: ["__journal__transport"]
target_label: "transport"
},
]
}
}
ca: """
-----BEGIN CERTIFICATE-----
MIIBxDCCAWqgAwIBAgIUbHz2tssa09zsHk+EdGD3QKprMKQwCgYIKoZIzj0EAwQw
QDELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD0R1c3RpbiBDLiBIYXRjaDEXMBUGA1UE
AwwORENIIFJvb3QgQ0EgUjIwHhcNMjMwOTI0MjA1MzA5WhcNNDMwOTE5MjA1MzA5
WjBAMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPRHVzdGluIEMuIEhhdGNoMRcwFQYD
VQQDDA5EQ0ggUm9vdCBDQSBSMjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABE2D
NJHRcjuA19ZoprBKaxIfUxAbz6LigM7dgtO6+isaMlxRAVJmsITADIE/22RrUDgD
Ofkt2iZTUjMrz3AxXhWjQjBAMB0GA1UdDgQWBBTM+d8kb1koGmKRtJs4gN9zYa+6
oTASBgNVHRMBAf8ECDAGAQH/AgEBMAsGA1UdDwQEAwIBBjAKBggqhkjOPQQDBANI
ADBFAiEA2Ka8mMiAFLmrFWt0dAml247re2+i4UPhyHcOBfNK+goCIHv+vEw7CHZQ
irIa697nfe4KiXIMwHlAMS1+1QZohFDC
-----END CERTIFICATE-----
"""
config: schema.#PromtailConfig & {
clients: [
{
url: "https://loki.pyrocufflink.blue/loki/api/v1/push"
tls_config: {
ca_file: "/etc/promtail/ca.crt"
}
},
]
}
}
let Marshal = yaml.Marshal
#promtail: {
#scrape: [...schema.#ScrapeConfig] | *[promtail.scrape.journal]
ca: string | *promtail.ca
config: promtail.config & {
scrape_configs: #scrape
}
yaml: Marshal(config)
}