feat: add dashboard service to Docker build and push workflow
This commit is contained in:
@@ -254,9 +254,11 @@ jobs:
|
||||
|
||||
declare -A SERVICES
|
||||
SERVICES["scraper-api"]="scraper.yml"
|
||||
SERVICES["dashboard"]="observability.yml"
|
||||
|
||||
declare -A PATHS
|
||||
PATHS["scraper-api"]="apps/scraper"
|
||||
PATHS["dashboard"]="infra/dashboard"
|
||||
|
||||
# Use git config for possible commits
|
||||
git config --local user.email "action@github.com"
|
||||
@@ -265,6 +267,7 @@ jobs:
|
||||
for id in "${!SERVICES[@]}"; do
|
||||
SHOULD_HAVE_RUN=false
|
||||
if [ "${{ needs.changes.outputs['scraper-api'] }}" == "true" ] && [ "$id" == "scraper-api" ]; then SHOULD_HAVE_RUN=true; fi
|
||||
if [ "${{ needs.changes.outputs['dashboard'] }}" == "true" ] && [ "$id" == "dashboard" ]; then SHOULD_HAVE_RUN=true; fi
|
||||
|
||||
if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then SHOULD_HAVE_RUN=true; fi
|
||||
|
||||
|
||||
@@ -40,6 +40,15 @@ services:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- app-shared-net
|
||||
depends_on:
|
||||
dapr-placement:
|
||||
condition: service_healthy
|
||||
nats:
|
||||
condition: service_healthy
|
||||
otel-collector:
|
||||
condition: service_started
|
||||
networks:
|
||||
- app-shared-net
|
||||
command:
|
||||
- './daprd'
|
||||
- '--app-id=app'
|
||||
@@ -47,9 +56,10 @@ services:
|
||||
- '--dapr-http-port=3500'
|
||||
- '--dapr-grpc-port=50001'
|
||||
- '--placement-host-address=dapr-placement:50005'
|
||||
- '--resources-path=/components'
|
||||
- '--config=/dapr/config.yaml'
|
||||
- '--resources-path=/dapr/components'
|
||||
volumes:
|
||||
- ../../infra/dapr/components:/components
|
||||
- ../../infra/dapr:/dapr:ro
|
||||
|
||||
networks:
|
||||
app-shared-net:
|
||||
|
||||
+8
-3
@@ -67,6 +67,8 @@ Tambah di `infra/compose/<nama-app>.yml`:
|
||||
condition: service_healthy
|
||||
nats:
|
||||
condition: service_healthy
|
||||
otel-collector:
|
||||
condition: service_started
|
||||
networks:
|
||||
- app-shared-net
|
||||
command:
|
||||
@@ -76,18 +78,21 @@ Tambah di `infra/compose/<nama-app>.yml`:
|
||||
- '--dapr-http-port=3500'
|
||||
- '--dapr-grpc-port=50001'
|
||||
- '--placement-host-address=dapr-placement:50005'
|
||||
- '--components-path=/components'
|
||||
- '--config=/dapr/config.yaml'
|
||||
- '--resources-path=/dapr/components'
|
||||
volumes:
|
||||
- ../../infra/dapr/components:/components
|
||||
- ../../infra/dapr:/dapr:ro
|
||||
```
|
||||
|
||||
Pastikan juga app container punya `depends_on` ke dapr-placement dan nats:
|
||||
Pastikan juga app container punya `depends_on` ke dapr-placement, nats, dan otel-collector:
|
||||
```yaml
|
||||
depends_on:
|
||||
dapr-placement:
|
||||
condition: service_healthy
|
||||
nats:
|
||||
condition: service_healthy
|
||||
otel-collector:
|
||||
condition: service_started
|
||||
```
|
||||
|
||||
## 4. Tambahkan route Traefik
|
||||
|
||||
@@ -16,9 +16,6 @@ services:
|
||||
- '--config=/etc/otel/config.yml'
|
||||
volumes:
|
||||
- ../../infra/otel/otel-collector-config.yml:/etc/otel/config.yml:ro
|
||||
depends_on:
|
||||
jaeger:
|
||||
condition: service_started
|
||||
|
||||
# ── Jaeger (Tracing Backend + Built-in UI) ──
|
||||
jaeger:
|
||||
@@ -41,6 +38,7 @@ services:
|
||||
# ── Custom Dashboard (nginx:alpine) ──
|
||||
dashboard:
|
||||
container_name: dashboard
|
||||
image: ghcr.io/asepharyana/asepharyana-hub/dashboard:latest
|
||||
build:
|
||||
context: ../..
|
||||
dockerfile: infra/docker/dashboard.Dockerfile
|
||||
|
||||
+10
-6
@@ -1,15 +1,19 @@
|
||||
# ── NATS Server Configuration ──
|
||||
|
||||
# JetStream
|
||||
jetstream: true
|
||||
store_dir: /data
|
||||
store_dir: "/data"
|
||||
|
||||
# OpenTelemetry tracing
|
||||
otel:
|
||||
traces:
|
||||
exporter: otlp
|
||||
otlp:
|
||||
endpoint: otel-collector:4318
|
||||
otel {
|
||||
traces {
|
||||
exporter: "otlp"
|
||||
otlp {
|
||||
endpoint: "otel-collector:4318"
|
||||
insecure: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# HTTP monitoring
|
||||
http_port: 8222
|
||||
|
||||
Reference in New Issue
Block a user