Skip to content

Commit edb5a87

Browse files
committed
implement docker-compose.yml split(+include) to move configs to its own file
Signed-off-by: JuanJo Ciarlante <[email protected]>
1 parent f662c00 commit edb5a87

File tree

9 files changed

+322
-297
lines changed

9 files changed

+322
-297
lines changed

2024/2024-10-23--Grafana_n_Friends-Jugando_con_eBPF_en_Linux-Oct2024/40-beyla/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
OUTFILES=docker-compose.yml docker-compose.configs.yml
12
all:
23
@echo "make compose # Build docker-compose.yml"
34
@echo "make up # Run docker-compose up -d"
@@ -7,7 +8,8 @@ all:
78
@echo "make generate-syslog # Generate syslog messages"
89

910
compose:
10-
jsonnet compose.jsonnet | yq -P . > docker-compose.yml
11+
jsonnet -m . compose.jsonnet
12+
for f in $(OUTFILES); do yq -P . < $$f | sponge $$f; done
1113

1214
up:
1315
docker-compose up -d

2024/2024-10-23--Grafana_n_Friends-Jugando_con_eBPF_en_Linux-Oct2024/40-beyla/compose.jsonnet

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
local c = import 'lib/containers/main.libsonnet';
33
local compose = import 'lib/docker_compose.libsonnet';
44

5-
compose.new({
5+
local manifest = compose.new({
66
local this = self,
77
simplesrv:
88
c.generic.new('simplesrv', 8080)
@@ -35,4 +35,6 @@ compose.new({
3535
+ c.generic.withLocalVolume('./k6/load_test.js', '/k6/load_test.js')
3636
+ c.generic.withField('restart', 'unless-stopped')
3737
+ c.generic.withCommand('run --out json /k6/load_test.js'),
38-
})
38+
});
39+
40+
compose.splitFiles(manifest)
Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
configs:
2+
grafana_config:
3+
content: |
4+
[feature_toggles]
5+
enable = true
6+
exploreMetrics = true
7+
grafana_datasources:
8+
content: |-
9+
apiVersion: 1
10+
datasources:
11+
- access: "proxy"
12+
basicAuth: false
13+
isDefault: true
14+
name: "prometheus"
15+
type: "prometheus"
16+
url: "http://prometheus:9090"
17+
- access: "proxy"
18+
basicAuth: false
19+
isDefault: false
20+
name: "loki"
21+
orgId: 1
22+
type: "loki"
23+
url: "http://loki:3100"
24+
version: 1
25+
loki_config:
26+
content: |-
27+
auth_enabled: false
28+
common:
29+
path_prefix: "/loki"
30+
replication_factor: 1
31+
ring:
32+
instance_addr: "127.0.0.1"
33+
kvstore:
34+
store: "inmemory"
35+
limits_config:
36+
ingestion_burst_size_mb: 64
37+
ingestion_rate_mb: 32
38+
max_cache_freshness_per_query: "10m"
39+
max_global_streams_per_user: 5000
40+
max_line_size: "2MB"
41+
per_stream_rate_limit: "32MB"
42+
per_stream_rate_limit_burst: "64MB"
43+
reject_old_samples: true
44+
reject_old_samples_max_age: "168h"
45+
volume_enabled: true
46+
ruler:
47+
storage:
48+
local:
49+
directory: "/loki/rules"
50+
type: "local"
51+
schema_config:
52+
configs:
53+
- from: "2020-05-15"
54+
index:
55+
period: "24h"
56+
prefix: "index_"
57+
object_store: "filesystem"
58+
schema: "v13"
59+
store: "tsdb"
60+
server:
61+
http_listen_port: 3100
62+
storage_config:
63+
filesystem:
64+
directory: "/loki/chunks"
65+
table_manager:
66+
retention_deletes_enabled: true
67+
retention_period: "672h"
68+
prometheus_config:
69+
content: |-
70+
global:
71+
scrape_interval: "15s"
72+
scrape_configs:
73+
- job_name: "beyla"
74+
static_configs:
75+
- targets:
76+
- "beyla:9400"
77+
promtail_config:
78+
content: |-
79+
clients:
80+
- url: "http://loki:3100/loki/api/v1/push"
81+
positions:
82+
filename: "/tmp/positions.yaml"
83+
scrape_configs:
84+
- docker_sd_configs:
85+
- host: "unix:///var/run/docker.sock"
86+
refresh_interval: "5s"
87+
job_name: "docker"
88+
relabel_configs:
89+
- regex: "/(.*)"
90+
source_labels:
91+
- "__meta_docker_container_name"
92+
target_label: "container"
93+
- regex: "/(.*)"
94+
source_labels:
95+
- "__meta_docker_container_name"
96+
target_label: "service_name"
97+
- source_labels:
98+
- "__meta_docker_container_log_stream"
99+
target_label: "logstream"
100+
- source_labels:
101+
- "__meta_docker_container_label_logging_jobname"
102+
target_label: "job"
103+
server:
104+
http_listen_address: "0.0.0.0"
105+
http_listen_port: 9080

2024/2024-10-23--Grafana_n_Friends-Jugando_con_eBPF_en_Linux-Oct2024/40-beyla/docker-compose.yml

Lines changed: 2 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,5 @@
1-
configs:
2-
grafana_config:
3-
content: |
4-
[feature_toggles]
5-
enable = true
6-
exploreMetrics = true
7-
grafana_datasources:
8-
content: |-
9-
apiVersion: 1
10-
datasources:
11-
- access: "proxy"
12-
basicAuth: false
13-
isDefault: true
14-
name: "prometheus"
15-
type: "prometheus"
16-
url: "http://prometheus:9090"
17-
- access: "proxy"
18-
basicAuth: false
19-
isDefault: false
20-
name: "loki"
21-
orgId: 1
22-
type: "loki"
23-
url: "http://loki:3100"
24-
version: 1
25-
loki_config:
26-
content: |-
27-
auth_enabled: false
28-
common:
29-
path_prefix: "/loki"
30-
replication_factor: 1
31-
ring:
32-
instance_addr: "127.0.0.1"
33-
kvstore:
34-
store: "inmemory"
35-
limits_config:
36-
ingestion_burst_size_mb: 64
37-
ingestion_rate_mb: 32
38-
max_cache_freshness_per_query: "10m"
39-
max_global_streams_per_user: 5000
40-
max_line_size: "2MB"
41-
per_stream_rate_limit: "32MB"
42-
per_stream_rate_limit_burst: "64MB"
43-
reject_old_samples: true
44-
reject_old_samples_max_age: "168h"
45-
volume_enabled: true
46-
ruler:
47-
storage:
48-
local:
49-
directory: "/loki/rules"
50-
type: "local"
51-
schema_config:
52-
configs:
53-
- from: "2020-05-15"
54-
index:
55-
period: "24h"
56-
prefix: "index_"
57-
object_store: "filesystem"
58-
schema: "v13"
59-
store: "tsdb"
60-
server:
61-
http_listen_port: 3100
62-
storage_config:
63-
filesystem:
64-
directory: "/loki/chunks"
65-
table_manager:
66-
retention_deletes_enabled: true
67-
retention_period: "672h"
68-
prometheus_config:
69-
content: |-
70-
global:
71-
scrape_interval: "15s"
72-
scrape_configs:
73-
- job_name: "beyla"
74-
static_configs:
75-
- targets:
76-
- "beyla:9400"
77-
promtail_config:
78-
content: |-
79-
clients:
80-
- url: "http://loki:3100/loki/api/v1/push"
81-
positions:
82-
filename: "/tmp/positions.yaml"
83-
scrape_configs:
84-
- docker_sd_configs:
85-
- host: "unix:///var/run/docker.sock"
86-
refresh_interval: "5s"
87-
job_name: "docker"
88-
relabel_configs:
89-
- regex: "/(.*)"
90-
source_labels:
91-
- "__meta_docker_container_name"
92-
target_label: "container"
93-
- regex: "/(.*)"
94-
source_labels:
95-
- "__meta_docker_container_name"
96-
target_label: "service_name"
97-
- source_labels:
98-
- "__meta_docker_container_log_stream"
99-
target_label: "logstream"
100-
- source_labels:
101-
- "__meta_docker_container_label_logging_jobname"
102-
target_label: "job"
103-
server:
104-
http_listen_address: "0.0.0.0"
105-
http_listen_port: 9080
1+
include:
2+
- docker-compose.configs.yml
1063
services:
1074
beyla:
1085
container_name: beyla

2024/2024-10-28--LGM_stack/Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
OUTFILES=docker-compose.yml docker-compose.configs.yml
12
all:
23
@echo "make compose # Build docker-compose.yml"
34
@echo "make up # Run docker-compose up -d"
@@ -6,7 +7,8 @@ all:
67
@echo "make rm # Run docker-compose rm -f"
78

89
compose:
9-
jsonnet compose.jsonnet | yq -P . > docker-compose.yml
10+
jsonnet -m . compose.jsonnet
11+
for f in $(OUTFILES); do yq -P . < $$f | sponge $$f; done
1012

1113
up:
1214
docker-compose up -d

2024/2024-10-28--LGM_stack/compose.jsonnet

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ local mimirConf = {
99
secret_access_key: 'supersecret',
1010
};
1111

12-
compose.new({
12+
local manifest = compose.new({
1313
local this = self,
1414
prometheus:
1515
c.prometheus.new()
@@ -43,4 +43,6 @@ compose.new({
4343
c.minio.new()
4444
+ c.minio.withAuth(mimirConf.access_key_id, mimirConf.secret_access_key)
4545
+ c.minio.withVolume(),
46-
})
46+
});
47+
48+
compose.splitFiles(manifest)

0 commit comments

Comments
 (0)