@intentius/chant-lexicon-prometheus 0.105.1 → 0.106.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +5 -2
  2. package/dist/build.d.ts +17 -0
  3. package/dist/build.d.ts.map +1 -1
  4. package/dist/catalog.d.ts +1 -1
  5. package/dist/catalog.d.ts.map +1 -1
  6. package/dist/composites/index.d.ts +1 -1
  7. package/dist/composites/index.d.ts.map +1 -1
  8. package/dist/composites/slo.d.ts +23 -0
  9. package/dist/composites/slo.d.ts.map +1 -1
  10. package/dist/config-model.d.ts +272 -0
  11. package/dist/config-model.d.ts.map +1 -0
  12. package/dist/detect.d.ts.map +1 -1
  13. package/dist/import/embedded.d.ts +7 -0
  14. package/dist/import/embedded.d.ts.map +1 -1
  15. package/dist/import/generator.d.ts +17 -1
  16. package/dist/import/generator.d.ts.map +1 -1
  17. package/dist/import/parser.d.ts +12 -2
  18. package/dist/import/parser.d.ts.map +1 -1
  19. package/dist/import/slo.d.ts.map +1 -1
  20. package/dist/index.d.ts +5 -4
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/integrity.json +5 -4
  23. package/dist/lint/audit-catalog.d.ts.map +1 -1
  24. package/dist/lint/audit-lineage.d.ts +2 -0
  25. package/dist/lint/audit-lineage.d.ts.map +1 -1
  26. package/dist/lint/post-synth/index.d.ts.map +1 -1
  27. package/dist/lint/post-synth/prom-helpers.d.ts +7 -0
  28. package/dist/lint/post-synth/prom-helpers.d.ts.map +1 -1
  29. package/dist/lint/post-synth/prom225.d.ts +10 -0
  30. package/dist/lint/post-synth/prom225.d.ts.map +1 -0
  31. package/dist/manifest.json +1 -1
  32. package/dist/meta.json +10 -0
  33. package/dist/model.d.ts +1 -0
  34. package/dist/model.d.ts.map +1 -1
  35. package/dist/okf/index.md +3 -0
  36. package/dist/okf/rules/PROM225.md +11 -0
  37. package/dist/okf/types/PrometheusConfig.md +9 -0
  38. package/dist/okf/types/ScrapeConfig.md +9 -0
  39. package/dist/plugin.d.ts.map +1 -1
  40. package/dist/prometheus-config.d.ts +39 -0
  41. package/dist/prometheus-config.d.ts.map +1 -0
  42. package/dist/rules/prom-helpers.ts +10 -1
  43. package/dist/rules/prom225.ts +19 -0
  44. package/dist/serializer.d.ts +14 -10
  45. package/dist/serializer.d.ts.map +1 -1
  46. package/dist/tools.d.ts +9 -1
  47. package/dist/tools.d.ts.map +1 -1
  48. package/dist/validate-config.d.ts +1 -1
  49. package/dist/validate-config.d.ts.map +1 -1
  50. package/dist/validate-relabel.d.ts +14 -0
  51. package/dist/validate-relabel.d.ts.map +1 -0
  52. package/dist/validate.d.ts +2 -1
  53. package/dist/validate.d.ts.map +1 -1
  54. package/package.json +2 -2
  55. package/src/build.ts +73 -0
  56. package/src/catalog.ts +14 -1
  57. package/src/composites/composites.test.ts +72 -2
  58. package/src/composites/index.ts +1 -0
  59. package/src/composites/slo.ts +43 -4
  60. package/src/config-model.ts +327 -0
  61. package/src/detect.ts +5 -4
  62. package/src/generated/lexicon-prometheus.json +10 -0
  63. package/src/import/embedded.test.ts +46 -2
  64. package/src/import/embedded.ts +32 -1
  65. package/src/import/generator.ts +138 -0
  66. package/src/import/parser.test.ts +2 -2
  67. package/src/import/parser.ts +72 -5
  68. package/src/import/prometheus-roundtrip.test.ts +148 -0
  69. package/src/import/slo.ts +15 -0
  70. package/src/import/testdata/prometheus-full.yml +149 -0
  71. package/src/import/testdata/schemastore-prometheus.json +1635 -0
  72. package/src/index.ts +21 -2
  73. package/src/lint/audit-catalog.ts +7 -0
  74. package/src/lint/audit-lineage.test.ts +1 -1
  75. package/src/lint/audit-lineage.ts +2 -0
  76. package/src/lint/post-synth/checks.test.ts +34 -0
  77. package/src/lint/post-synth/index.ts +2 -0
  78. package/src/lint/post-synth/prom-helpers.ts +10 -1
  79. package/src/lint/post-synth/prom225.ts +19 -0
  80. package/src/model.ts +1 -0
  81. package/src/plugin.test.ts +1 -0
  82. package/src/plugin.ts +3 -2
  83. package/src/prometheus-config.test.ts +230 -0
  84. package/src/prometheus-config.ts +71 -0
  85. package/src/schemastore.test.ts +142 -0
  86. package/src/serializer.ts +31 -21
  87. package/src/tools.ts +31 -3
  88. package/src/validate-config.ts +2 -1
  89. package/src/validate-relabel.ts +53 -0
  90. package/src/validate.test.ts +17 -0
  91. package/src/validate.ts +27 -3
@@ -0,0 +1,149 @@
1
+ # A prometheus.yml using the typed sections and every typed service discovery kind.
2
+ global:
3
+ scrape_interval: 15s
4
+ scrape_timeout: 10s
5
+ evaluation_interval: 30s
6
+ external_labels:
7
+ cluster: prod-eu
8
+ replica: a
9
+ query_log_file: /var/log/prometheus/queries.log
10
+ body_size_limit: 10MB
11
+ sample_limit: 50000
12
+ label_limit: 64
13
+ target_limit: 500
14
+ alerting:
15
+ alert_relabel_configs:
16
+ - regex: replica
17
+ action: labeldrop
18
+ alertmanagers:
19
+ - scheme: http
20
+ path_prefix: /alertmanager
21
+ timeout: 10s
22
+ api_version: v2
23
+ static_configs:
24
+ - targets: ["alertmanager-0:9093", "alertmanager-1:9093"]
25
+ rule_files:
26
+ - rules/*.yml
27
+ scrape_configs:
28
+ - job_name: prometheus
29
+ static_configs:
30
+ - targets: ["localhost:9090"]
31
+ labels:
32
+ tier: control
33
+ - job_name: otel-collector
34
+ scrape_interval: 5s
35
+ scrape_timeout: 4s
36
+ metrics_path: /metrics
37
+ honor_labels: true
38
+ honor_timestamps: false
39
+ params:
40
+ format: [prometheus]
41
+ static_configs:
42
+ - targets: ["otel-collector:8889"]
43
+ metric_relabel_configs:
44
+ - source_labels: [__name__]
45
+ regex: "go_.*"
46
+ action: drop
47
+ - source_labels: [job, instance]
48
+ separator: "/"
49
+ target_label: job_instance
50
+ replacement: "$1"
51
+ action: replace
52
+ - job_name: kubernetes-pods
53
+ scheme: https
54
+ tls_config:
55
+ insecure_skip_verify: true
56
+ authorization:
57
+ type: Bearer
58
+ credentials: sample-token
59
+ kubernetes_sd_configs:
60
+ - role: pod
61
+ api_server: https://kubernetes.default.svc:443
62
+ namespaces:
63
+ names: [default, observability]
64
+ selectors:
65
+ - role: pod
66
+ label: app=api
67
+ attach_metadata:
68
+ node: true
69
+ relabel_configs:
70
+ - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
71
+ regex: "true"
72
+ action: keep
73
+ - action: labelmap
74
+ regex: __meta_kubernetes_pod_label_(.+)
75
+ - source_labels: [__address__]
76
+ modulus: 4
77
+ target_label: __tmp_hash
78
+ action: hashmod
79
+ - job_name: files
80
+ file_sd_configs:
81
+ - files: [targets/*.json, targets/*.yml]
82
+ refresh_interval: 1m
83
+ - job_name: http-targets
84
+ basic_auth:
85
+ username: scraper
86
+ password: sample-password
87
+ http_sd_configs:
88
+ - url: https://targets.example.com/sd
89
+ refresh_interval: 2m
90
+ - job_name: dns-targets
91
+ dns_sd_configs:
92
+ - names: [api.service.internal]
93
+ type: A
94
+ port: 9100
95
+ refresh_interval: 30s
96
+ - job_name: ec2-nodes
97
+ ec2_sd_configs:
98
+ - region: eu-west-1
99
+ port: 9100
100
+ refresh_interval: 5m
101
+ filters:
102
+ - name: tag:monitoring
103
+ values: ["true"]
104
+ - job_name: consul-services
105
+ bearer_token: sample-bearer
106
+ consul_sd_configs:
107
+ - server: consul.service.internal:8500
108
+ datacenter: dc1
109
+ services: [api, worker]
110
+ tags: [metrics]
111
+ node_meta:
112
+ rack: r1
113
+ refresh_interval: 1m
114
+ - job_name: docker-hosts
115
+ docker_sd_configs:
116
+ - host: unix:///var/run/docker.sock
117
+ remote_write:
118
+ - url: https://mimir.example.com/api/v1/push
119
+ name: mimir
120
+ remote_timeout: 30s
121
+ headers:
122
+ X-Scope-OrgID: tenant-1
123
+ send_exemplars: true
124
+ basic_auth:
125
+ username: writer
126
+ password: sample-password
127
+ write_relabel_configs:
128
+ - source_labels: [__name__]
129
+ regex: "debug_.*"
130
+ action: drop
131
+ queue_config:
132
+ capacity: 10000
133
+ max_shards: 50
134
+ max_samples_per_send: 2000
135
+ batch_send_deadline: 5s
136
+ metadata_config:
137
+ send: true
138
+ send_interval: 1m
139
+ remote_read:
140
+ - url: https://mimir.example.com/prometheus/api/v1/read
141
+ name: mimir-read
142
+ read_recent: true
143
+ required_matchers:
144
+ env: prod
145
+ otlp:
146
+ promote_resource_attributes: [service.name, k8s.namespace.name]
147
+ translation_strategy: UnderscoreEscapingWithSuffixes
148
+ runtime:
149
+ gogc: 75