Skip to content

Commit ef66d3a

Browse files
authored
github actions build/push (#2)
1 parent d05370d commit ef66d3a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+81
-2201
lines changed

.env

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2,45 +2,23 @@
22

33
# Demo App version
44
IMAGE_VERSION=2.0.2
5-
IMAGE_NAME=ghcr.io/open-telemetry/demo
5+
IMAGE_NAME=betterstack/opentelemetry-demo
66
DEMO_VERSION=latest
77

88
# Build Args
9-
TRACETEST_IMAGE_VERSION=v1.7.1
10-
OTEL_JAVA_AGENT_VERSION=2.18.1
119
OPENTELEMETRY_CPP_VERSION=1.21.0
1210

1311
# Dependent images
14-
COLLECTOR_CONTRIB_IMAGE=ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.133.0
1512
FLAGD_IMAGE=ghcr.io/open-feature/flagd:v0.12.8
16-
GRAFANA_IMAGE=grafana/grafana:12.1.0
17-
JAEGERTRACING_IMAGE=jaegertracing/all-in-one:1.72.0
18-
# must also update version field in src/grafana/provisioning/datasources/opensearch.yaml
19-
OPENSEARCH_IMAGE=opensearchproject/opensearch:3.2.0
2013
POSTGRES_IMAGE=postgres:17.6
21-
PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v3.5.0
2214
VALKEY_IMAGE=valkey/valkey:8.1.3-alpine
23-
TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION}
2415

2516
# Demo Platform
2617
ENV_PLATFORM=local
2718

2819
# OpenTelemetry Collector
2920
HOST_FILESYSTEM=/
3021
DOCKER_SOCK=/var/run/docker.sock
31-
OTEL_COLLECTOR_HOST=otel-collector
32-
OTEL_COLLECTOR_PORT_GRPC=4317
33-
OTEL_COLLECTOR_PORT_HTTP=4318
34-
OTEL_COLLECTOR_CONFIG=./src/otel-collector/otelcol-config.yml
35-
OTEL_COLLECTOR_CONFIG_EXTRAS=./src/otel-collector/otelcol-config-extras.yml
36-
OTEL_EXPORTER_OTLP_ENDPOINT=http://${OTEL_COLLECTOR_HOST}:${OTEL_COLLECTOR_PORT_GRPC}
37-
PUBLIC_OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:8080/otlp-http/v1/traces
38-
39-
# OpenTelemetry Resource Definitions
40-
OTEL_RESOURCE_ATTRIBUTES=service.namespace=opentelemetry-demo,service.version=${IMAGE_VERSION}
41-
42-
# Metrics Temporality
43-
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=cumulative
4422

4523
# ******************
4624
# Core Demo Services
@@ -149,19 +127,3 @@ KAFKA_DOCKERFILE=./src/kafka/Dockerfile
149127
# Valkey
150128
VALKEY_PORT=6379
151129
VALKEY_ADDR=valkey-cart:${VALKEY_PORT}
152-
153-
# ********************
154-
# Telemetry Components
155-
# ********************
156-
# Grafana
157-
GRAFANA_PORT=3000
158-
GRAFANA_HOST=grafana
159-
160-
# Jaeger
161-
JAEGER_PORT=16686
162-
JAEGER_HOST=jaeger
163-
164-
# Prometheus
165-
PROMETHEUS_PORT=9090
166-
PROMETHEUS_HOST=prometheus
167-
PROMETHEUS_ADDR=${PROMETHEUS_HOST}:${PROMETHEUS_PORT}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
name: Build and Push Docker Images
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
env:
9+
REGISTRY: docker.io
10+
IMAGE_NAME: betterstack/opentelemetry-demo
11+
DEMO_VERSION: latest
12+
13+
jobs:
14+
build-and-push:
15+
runs-on: ubuntu-latest
16+
strategy:
17+
matrix:
18+
service:
19+
- name: accounting
20+
dockerfile: ./src/accounting/Dockerfile
21+
- name: ad
22+
dockerfile: ./src/ad/Dockerfile
23+
- name: cart
24+
dockerfile: ./src/cart/src/Dockerfile
25+
- name: checkout
26+
dockerfile: ./src/checkout/Dockerfile
27+
- name: currency
28+
dockerfile: ./src/currency/Dockerfile
29+
- name: email
30+
dockerfile: ./src/email/Dockerfile
31+
- name: fraud-detection
32+
dockerfile: ./src/fraud-detection/Dockerfile
33+
- name: frontend
34+
dockerfile: ./src/frontend/Dockerfile
35+
- name: frontend-proxy
36+
dockerfile: ./src/frontend-proxy/Dockerfile
37+
- name: image-provider
38+
dockerfile: ./src/image-provider/Dockerfile
39+
- name: load-generator
40+
dockerfile: ./src/load-generator/Dockerfile
41+
- name: payment
42+
dockerfile: ./src/payment/Dockerfile
43+
- name: product-catalog
44+
dockerfile: ./src/product-catalog/Dockerfile
45+
- name: quote
46+
dockerfile: ./src/quote/Dockerfile
47+
- name: recommendation
48+
dockerfile: ./src/recommendation/Dockerfile
49+
- name: shipping
50+
dockerfile: ./src/shipping/Dockerfile
51+
- name: flagd-ui
52+
dockerfile: ./src/flagd-ui/Dockerfile
53+
- name: kafka
54+
dockerfile: ./src/kafka/Dockerfile
55+
56+
steps:
57+
- name: Checkout code
58+
uses: actions/checkout@v4
59+
60+
- name: Set up Depot
61+
uses: depot/setup-action@v1
62+
63+
- name: Log in to Docker Hub
64+
uses: docker/login-action@v3
65+
with:
66+
username: ${{ secrets.DOCKERHUB_USERNAME }}
67+
password: ${{ secrets.DOCKERHUB_TOKEN }}
68+
69+
- name: Build and push Docker image
70+
uses: depot/build-push-action@v1
71+
with:
72+
project: ${{ secrets.DEPOT_PROJECT_ID }}
73+
token: ${{ secrets.DEPOT_API_TOKEN }}
74+
context: .
75+
file: ${{ matrix.service.dockerfile }}
76+
push: true
77+
tags: |
78+
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ env.DEMO_VERSION }}-${{ matrix.service.name }}
79+
build-args: ${{ matrix.service.build_args }}
80+
platforms: linux/amd64,linux/arm64

Makefile

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -134,33 +134,6 @@ clean-images:
134134
false; \
135135
fi
136136

137-
.PHONY: run-tests
138-
run-tests:
139-
$(DOCKER_COMPOSE_CMD) $(DOCKER_COMPOSE_ENV) -f docker-compose-tests.yml run frontendTests
140-
$(DOCKER_COMPOSE_CMD) $(DOCKER_COMPOSE_ENV) -f docker-compose-tests.yml run traceBasedTests
141-
142-
.PHONY: run-tracetesting
143-
run-tracetesting:
144-
$(DOCKER_COMPOSE_CMD) $(DOCKER_COMPOSE_ENV) -f docker-compose-tests.yml run traceBasedTests ${SERVICES_TO_TEST}
145-
146-
.PHONY: generate-protobuf
147-
generate-protobuf:
148-
./ide-gen-proto.sh
149-
150-
.PHONY: generate-kubernetes-manifests
151-
generate-kubernetes-manifests:
152-
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
153-
helm repo update
154-
echo "# Copyright The OpenTelemetry Authors" > kubernetes/opentelemetry-demo.yaml
155-
echo "# SPDX-License-Identifier: Apache-2.0" >> kubernetes/opentelemetry-demo.yaml
156-
echo "# This file is generated by 'make generate-kubernetes-manifests'" >> kubernetes/opentelemetry-demo.yaml
157-
echo "---" >> kubernetes/opentelemetry-demo.yaml
158-
echo "apiVersion: v1" >> kubernetes/opentelemetry-demo.yaml
159-
echo "kind: Namespace" >> kubernetes/opentelemetry-demo.yaml
160-
echo "metadata:" >> kubernetes/opentelemetry-demo.yaml
161-
echo " name: otel-demo" >> kubernetes/opentelemetry-demo.yaml
162-
helm template opentelemetry-demo open-telemetry/opentelemetry-demo --namespace otel-demo | sed '/helm.sh\/chart\:/d' | sed '/helm.sh\/hook/d' | sed '/managed-by\: Helm/d' >> kubernetes/opentelemetry-demo.yaml
163-
164137
.PHONY: docker-generate-protobuf
165138
docker-generate-protobuf:
166139
./docker-gen-proto.sh
@@ -192,17 +165,6 @@ start:
192165
@echo "Go to http://localhost:8080/loadgen/ for the Load Generator UI."
193166
@echo "Go to http://localhost:8080/feature/ to change feature flags."
194167

195-
.PHONY: start-minimal
196-
start-minimal:
197-
$(DOCKER_COMPOSE_CMD) $(DOCKER_COMPOSE_ENV) -f docker-compose.minimal.yml up --force-recreate --remove-orphans --detach
198-
@echo ""
199-
@echo "OpenTelemetry Demo in minimal mode is running."
200-
@echo "Go to http://localhost:8080 for the demo UI."
201-
@echo "Go to http://localhost:8080/jaeger/ui for the Jaeger UI."
202-
@echo "Go to http://localhost:8080/grafana/ for the Grafana UI."
203-
@echo "Go to http://localhost:8080/loadgen/ for the Load Generator UI."
204-
@echo "Go to https://opentelemetry.io/docs/demo/feature-flags/ to learn how to change feature flags."
205-
206168
.PHONY: stop
207169
stop:
208170
$(DOCKER_COMPOSE_CMD) $(DOCKER_COMPOSE_ENV) down --remove-orphans --volumes

docker-compose-tests.yml

Lines changed: 0 additions & 130 deletions
This file was deleted.

docker-compose-tests_include-override.yml

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)