generated from GamingChaos/docker-compose
Compare commits
9
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c110991ce9 | ||
|
|
5660472ee1 | ||
|
|
6ce22410a5 | ||
|
|
c8118ee474 | ||
|
|
07ff12f3dc | ||
|
|
02af9aa5d1 | ||
|
|
3a2eda623f | ||
|
|
c7e83cd7c4 | ||
|
|
7d82b3b289 |
@@ -1 +1,3 @@
|
|||||||
.env
|
.env
|
||||||
|
ssl
|
||||||
|
/
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
# config/otel-collector.yaml
|
||||||
|
# Collector configuration routing to the LGTM stack
|
||||||
|
|
||||||
|
receivers:
|
||||||
|
otlp:
|
||||||
|
protocols:
|
||||||
|
grpc:
|
||||||
|
endpoint: 0.0.0.0:4317
|
||||||
|
tls:
|
||||||
|
ca_file: /etc/otelcol-contrib/ssl/ca.crt
|
||||||
|
cert_file: /etc/otelcol-contrib/ssl/server.crt
|
||||||
|
key_file: /etc/otelcol-contrib/ssl/server.key
|
||||||
|
http:
|
||||||
|
endpoint: 0.0.0.0:4318
|
||||||
|
tls:
|
||||||
|
ca_file: /etc/otelcol-contrib/ssl/ca.crt
|
||||||
|
cert_file: /etc/otelcol-contrib/ssl/server.crt
|
||||||
|
key_file: /etc/otelcol-contrib/ssl/server.key
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
config:
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: 'otel-collector'
|
||||||
|
scrape_interval: 5s
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
- '127.0.0.1:8888'
|
||||||
|
labels:
|
||||||
|
service.name: otel-collector
|
||||||
|
service.version: latest
|
||||||
|
host.name: charybdis.stuyckv.local
|
||||||
|
container.name: otel-collector
|
||||||
|
- job_name: 'gitea'
|
||||||
|
scrape_interval: 5s
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
- 'gitea_server:3000'
|
||||||
|
labels:
|
||||||
|
service.name: gitea_server
|
||||||
|
service.version: latest
|
||||||
|
host.name: charybdis.stuyckv.local
|
||||||
|
container.name: gitea_server
|
||||||
|
# - job_name: 'matrix'
|
||||||
|
# scrape_interval: 5s
|
||||||
|
# static_configs:
|
||||||
|
# - targets: ['matrix-synapse:8888']
|
||||||
|
# - job_name: 'caddy'
|
||||||
|
# scrape_interval: 5s
|
||||||
|
# static_configs:
|
||||||
|
# - targets: ['caddy-proxy:8888']
|
||||||
|
|
||||||
|
|
||||||
|
processors:
|
||||||
|
# Batch processor for efficient data transfer
|
||||||
|
batch:
|
||||||
|
timeout: 5s
|
||||||
|
send_batch_size: 512
|
||||||
|
|
||||||
|
resource_detection/docker:
|
||||||
|
detectors: [env, docker]
|
||||||
|
timeout: 2s
|
||||||
|
override: false
|
||||||
|
|
||||||
|
exporters:
|
||||||
|
otlp_grpc:
|
||||||
|
endpoint: shion.stuyckv.local:4317
|
||||||
|
tls:
|
||||||
|
ca_file: /etc/otelcol-contrib/ssl/ca.crt
|
||||||
|
cert_file: /etc/otelcol-contrib/ssl/client.crt
|
||||||
|
key_file: /etc/otelcol-contrib/ssl/client.key
|
||||||
|
debug:
|
||||||
|
verbosity: basic
|
||||||
|
|
||||||
|
service:
|
||||||
|
pipelines:
|
||||||
|
traces:
|
||||||
|
receivers: [otlp]
|
||||||
|
processors: [batch, resource_detection/docker]
|
||||||
|
exporters: [otlp_grpc]
|
||||||
|
metrics:
|
||||||
|
receivers: [otlp, prometheus]
|
||||||
|
processors: [batch, resource_detection/docker]
|
||||||
|
exporters: [otlp_grpc]
|
||||||
|
logs:
|
||||||
|
receivers: [otlp]
|
||||||
|
processors: [batch, resource_detection/docker]
|
||||||
|
exporters: [otlp_grpc]
|
||||||
|
|
||||||
|
telemetry:
|
||||||
|
metrics:
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
|
||||||
|
networks:
|
||||||
|
gitea_database:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
|
||||||
|
# OpenTelemetry Collector - receives and routes all telemetry
|
||||||
|
otel-collector:
|
||||||
|
image: otel/opentelemetry-collector-contrib
|
||||||
|
container_name: otel-collector
|
||||||
|
restart: unless-stopped
|
||||||
|
group_add:
|
||||||
|
- 987 # docker group
|
||||||
|
ports:
|
||||||
|
- 4317:4317 # gprc
|
||||||
|
- 4318:4318 # http
|
||||||
|
volumes:
|
||||||
|
- ./config/otel-collector.yaml:/etc/otelcol-contrib/config.yaml
|
||||||
|
- ./ssl:/etc/otelcol-contrib/ssl
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
networks:
|
||||||
|
- gitea_database
|
||||||
|
|||||||
Executable
+43
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sudo rm -rf ./ssl ; mkdir ssl
|
||||||
|
cd ssl
|
||||||
|
|
||||||
|
lgtm_ssl=/home/vst/lgtm-stack/ssl
|
||||||
|
scart=$lgtm_ssl/ca.crt
|
||||||
|
hostname=$(hostname)
|
||||||
|
subj="/CN=$hostname.stuyckv.local"
|
||||||
|
san="subjectAltName=DNS:$hostname.stuyckv.local,DNS:localhost,IP:127.0.0.1"
|
||||||
|
function request-certificate {
|
||||||
|
type=$1
|
||||||
|
scsr=$lgtm_ssl/$hostname.$type.csr
|
||||||
|
scrt=$lgtm_ssl/$hostname.$type.crt
|
||||||
|
|
||||||
|
openssl req -new -newkey rsa:2048 \
|
||||||
|
-keyout $type.key -out $type.csr \
|
||||||
|
-nodes -subj $subj
|
||||||
|
scp $type.csr vst@shion.stuyckv.local:$scsr
|
||||||
|
|
||||||
|
ssh vst@shion.stuyckv.local \
|
||||||
|
"echo '$san' > /tmp/$hostname.san &&
|
||||||
|
openssl x509 -req \
|
||||||
|
-in $scsr -out $scrt -days 365 \
|
||||||
|
-CA $scart -CAkey $lgtm_ssl/ca.key \
|
||||||
|
-CAcreateserial \
|
||||||
|
-extfile /tmp/$hostname.san && \
|
||||||
|
rm /tmp/$hostname.san"
|
||||||
|
|
||||||
|
scp vst@shion.stuyckv.local:$scrt $type.crt
|
||||||
|
rm $type.csr
|
||||||
|
cat ca.crt >> $type.crt
|
||||||
|
}
|
||||||
|
|
||||||
|
scp vst@shion.stuyckv.local:$scart ca.crt
|
||||||
|
request-certificate client
|
||||||
|
request-certificate server
|
||||||
|
# openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr -subj "/CN=$(hostname).stuyckv.local"
|
||||||
|
# openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
sudo chown -R 10001:10001 ./ssl
|
||||||
Reference in New Issue
Block a user