add tag per architecture

This commit is contained in:
MatthieuCoder 2023-01-20 21:37:17 +04:00
parent 88c054d53e
commit 2a4f38aa45
3 changed files with 12 additions and 52 deletions

12
.env
View file

@ -1,11 +1 @@
GRAFANA_SERVICE_PORT=3000
GRAFANA_SERVICE_HOST=grafana
# Jaeger
JAEGER_SERVICE_PORT=16686
JAEGER_SERVICE_HOST=jaeger
# Prometheus
PROMETHEUS_SERVICE_PORT=9090
PROMETHEUS_SERVICE_HOST=prometheus
PROMETHEUS_ADDR=${PROMETHEUS_SERVICE_HOST}:${PROMETHEUS_SERVICE_PORT}
TAG=amd64

View file

@ -37,7 +37,11 @@ jobs:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Create tag
run: |
export TAG="${{ matrix.platform }}"
export TAG=${TAG/linux\//}
echo ${TAG//\//-} > .env
- name: Build and push
uses: docker/bake-action@v2
with:

View file

@ -14,16 +14,10 @@ services:
mock:
image: nginx
cache:
image: ghcr.io/discordnova/nova/cache
image: ghcr.io/discordnova/nova/cache:${TAG:-latest}
restart: always
build:
context: .
x-bake:
platforms:
- linux/amd64
- linux/arm64/v8
- linux/arm/v7
args:
- COMPONENT=cache
volumes:
@ -36,18 +30,12 @@ services:
- otelcol
gateway:
image: ghcr.io/discordnova/nova/gateway
image: ghcr.io/discordnova/nova/gateway:${TAG:-latest}
restart: always
build:
context: .
args:
- COMPONENT=gateway
x-bake:
platforms:
- linux/amd64
- linux/arm64/v8
- linux/arm/v7
volumes:
- ./config/default.yml:/config/default.yml
environment:
@ -57,18 +45,12 @@ services:
- otelcol
rest:
image: ghcr.io/discordnova/nova/rest
image: ghcr.io/discordnova/nova/rest:${TAG:-latest}
restart: always
build:
context: .
args:
- COMPONENT=rest
x-bake:
platforms:
- linux/amd64
- linux/arm64/v8
- linux/arm/v7
volumes:
- ./config/default.yml:/config/default.yml
environment:
@ -81,19 +63,12 @@ services:
- 8090:8090
webhook:
image: ghcr.io/discordnova/nova/webhook
image: ghcr.io/discordnova/nova/webhook:${TAG:-latest}
restart: always
build:
context: .
args:
- RUST_LOG=debug
- COMPONENT=webhook
x-bake:
platforms:
- linux/amd64
- linux/arm64/v8
- linux/arm/v7
volumes:
- ./config/default.yml:/config/default.yml
environment:
@ -105,18 +80,12 @@ services:
- 9002:9000
- 8091:8091
ratelimit:
image: ghcr.io/discordnova/nova/ratelimit
image: ghcr.io/discordnova/nova/ratelimit:${TAG:-latest}
restart: always
build:
context: .
args:
- COMPONENT=ratelimit
x-bake:
platforms:
- linux/amd64
- linux/arm64/v8
- linux/arm/v7
volumes:
- ./config/default.yml:/config/default.yml
environment:
@ -144,7 +113,6 @@ services:
memory: 275M
restart: always
ports:
- "${JAEGER_SERVICE_PORT}:${JAEGER_SERVICE_PORT}" # Jaeger UI
- "4317" # OTLP gRPC default port
environment:
- COLLECTOR_OTLP_ENABLED=true
@ -158,7 +126,7 @@ services:
- ./otel/grafana/grafana.ini:/etc/grafana/grafana.ini
- ./otel/grafana/provisioning/:/etc/grafana/provisioning/
ports:
- "${GRAFANA_SERVICE_PORT}:${GRAFANA_SERVICE_PORT}"
- "3000:3000"
# OpenTelemetry Collector
otelcol:
@ -194,5 +162,3 @@ services:
- --web.route-prefix=/
volumes:
- ./otel/prometheus/prometheus-config.yaml:/etc/prometheus/prometheus-config.yaml
ports:
- "${PROMETHEUS_SERVICE_PORT}:${PROMETHEUS_SERVICE_PORT}"