Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging upstream changes #50

Merged
merged 85 commits into from
Apr 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
f25b46f
[ffs] - Allow setting initial feature flag values (#1319)
puckpuck Jan 8, 2024
6a142a7
Update affiliation (#1323)
julianocosta89 Jan 8, 2024
47d9f5d
[cartservice] Bump OTel .NET SDK to 1.7.0 together with other depende…
Kielek Jan 16, 2024
494808a
Re-generate protobuf to fix deprecated go modules (#1321)
tranngoclam Jan 16, 2024
bfc18c7
[loadgenerator and recommendationservice] Update python base image (#…
julianocosta89 Jan 16, 2024
9e624d7
update version numbers (#1331)
austinlparker Jan 16, 2024
ea3fbfd
[grafana] - update grafana to 10.2.3 (#1332)
puckpuck Jan 16, 2024
c5484eb
[currency] - fix rpc.service attribute (#1333)
puckpuck Jan 19, 2024
c1365ed
use GitHub markdown syntax (#1342)
puckpuck Jan 19, 2024
69a28d6
[frontendproxy] enable envoy environment resource detector (#1291)
rlankfo Jan 19, 2024
0051599
[currency] - fix metricreader export and temporality (#1335)
puckpuck Jan 19, 2024
0d9cf78
update to latest helm release (#1341)
puckpuck Jan 20, 2024
9ed7785
[postgres] Define and use image for postgres (#1338)
puckpuck Jan 22, 2024
c9224a9
Update wiki url (#1346)
pankdev Jan 25, 2024
120381a
Fix crashlooping for two services with insufficient privileges on ope…
LouisParkin Jan 29, 2024
022ba90
Add browser traffic in loadgenerator and export traces in frontend (#…
jordibisbal8 Jan 30, 2024
ee7907f
Major version update (version 2.0.0) for OTel Java instrumentation (#…
mviitane Feb 1, 2024
cbea332
Align env variables for OTLP ports (#1353)
mviitane Feb 1, 2024
26b1710
Update dependent services - Collector, Grafana, Jaeger, Prometheus, e…
mviitane Feb 1, 2024
e15affc
[opensearch] - Use opensearch exporter & remove dataprepper (#1356)
puckpuck Feb 2, 2024
b0c1d27
[chore] update Go SDKs, & fix metrics filters and transforms (#1357)
puckpuck Feb 2, 2024
d2eae5f
build(go): upgrade golang:1.21.6 (#1360)
tranngoclam Feb 2, 2024
14bc74a
[chore] update SDKs and remove metric transforms (#1358)
puckpuck Feb 5, 2024
23094bf
always run cleanup job (#1366)
austinlparker Feb 5, 2024
d1575de
[loadgenerator] fix browser traffic enabled flag (#1359)
puckpuck Feb 7, 2024
3a9e507
Bump gradle/wrapper-validation-action from 1.1.0 to 2.0.1 (#1370)
dependabot[bot] Feb 7, 2024
059dfb9
chore(go): update go 1.22 (#1367)
tranngoclam Feb 7, 2024
b8cc894
Bump gradle/wrapper-validation-action from 2.0.1 to 2.1.0 (#1373)
dependabot[bot] Feb 8, 2024
ab6c1a7
[productcatalog] - allow products to be extended (#1363)
puckpuck Feb 9, 2024
1c6b68b
Bump gradle/wrapper-validation-action from 2.1.0 to 2.1.1 (#1376)
dependabot[bot] Feb 13, 2024
1b2214e
build(deps): upgrade go.opentelemetry.io/otel and go.opentelemetry.io…
tranngoclam Feb 14, 2024
2d16971
[chore] fix trace tests (#1377)
puckpuck Feb 14, 2024
e37e626
[cartservice] Bump .NET to 8.0.2 (#1380)
Kielek Feb 14, 2024
371b36f
Add Google Cloud fork to demos list (#1381)
damemi Feb 15, 2024
816ee5a
[currencyservice] Add OTLP logs (#1378)
julianocosta89 Feb 16, 2024
9d77fdf
prep for release (#1379)
austinlparker Feb 16, 2024
a87872e
replace featureflag service with flagd
austinlparker Feb 18, 2024
d533938
remove ff from gha
austinlparker Feb 18, 2024
c30d793
update changelog
austinlparker Feb 18, 2024
4d77b4b
fix sanity checker
austinlparker Feb 19, 2024
b5fb5e2
add python
austinlparker Feb 19, 2024
1ea0441
fix sanity
austinlparker Feb 19, 2024
e8e3553
refactor(checkoutservice): reuse grpc service client (#1387)
tranngoclam Feb 19, 2024
b503f31
Merge branch 'main' into flagd-spike
austinlparker Feb 19, 2024
6eab783
chore: use semantic convention v1.24.0 (#1385)
tranngoclam Feb 19, 2024
59e0528
bump dependencies (#1390)
julianocosta89 Feb 19, 2024
64eb66e
Update trace test sem conv (#1394)
julianocosta89 Feb 20, 2024
6f38f5f
update to 1.8.0 release (#1395)
puckpuck Feb 21, 2024
f9053b7
[chore] make: fix restart, add redeploy targets (#1397)
puckpuck Feb 21, 2024
0d7e94b
[chore] - memory for collector and jaeger (#1396)
puckpuck Feb 21, 2024
1b9b117
[chore]: nightly build and publish (#1398)
puckpuck Feb 21, 2024
6bd2ede
use nightly releases (#1399)
puckpuck Feb 22, 2024
ef31bfd
[chore]: remove integration tests (#1406)
puckpuck Feb 22, 2024
63a1e8a
Merge branch 'main' into flagd-spike
austinlparker Feb 22, 2024
df75996
add flagd provider to python
austinlparker Feb 23, 2024
cf7bac7
chore(checkoutservice): add producer interceptor for tracing (#1400)
tranngoclam Feb 24, 2024
4f7285f
Update src/adservice/build.gradle
austinlparker Feb 25, 2024
16f2428
Merge branch 'main' into flagd-spike
austinlparker Feb 25, 2024
e07f5b2
fix(accountingservice): fix graceful shutdown and log issues (#1401)
tranngoclam Feb 26, 2024
993fc7e
Merge branch 'main' into flagd-spike
austinlparker Feb 26, 2024
9f9f258
cleanup ad service eval
austinlparker Feb 26, 2024
3f6958a
only run nightly for main repo (#1407)
puckpuck Feb 26, 2024
ca56690
fix(productcatalogservice): fix graceful shutdown issues (#1402)
tranngoclam Feb 26, 2024
e6ef65d
Merge branch 'main' into flagd-spike
austinlparker Feb 26, 2024
940dfca
Test: Run integration tests on PR approval (#1414)
austinlparker Feb 26, 2024
b1e26c3
[CartService] - Add Host Detector (#1415)
julianocosta89 Feb 27, 2024
0a1ad08
docs(readme): add Dash0 to the list of forks (#1416)
basti1302 Feb 27, 2024
c462cda
Merge branch 'main' into flagd-spike
austinlparker Feb 27, 2024
71f0e96
[frontend] update sharp to latest to avoid docker build issue on M1 (…
basti1302 Feb 27, 2024
06f020c
[frontend] fix typo in ShippingGateway (#1418)
basti1302 Mar 1, 2024
b7c7891
fix kafka producer spans (#1428)
puckpuck Mar 2, 2024
24c82cf
Merge branch 'main' into flagd-spike
austinlparker Mar 2, 2024
71e428b
chore: upgrade go.opentelemetry.io otel and contrib dependencies (#1408)
tranngoclam Mar 2, 2024
ff19083
fix adservice
austinlparker Mar 4, 2024
52b35bf
Merge branch 'main' into flagd-spike
austinlparker Mar 4, 2024
d70b823
fixup gomod
austinlparker Mar 5, 2024
75533ab
add otel hooks for .net flags
austinlparker Mar 5, 2024
2f8861e
add otel hooks for productcatalog
austinlparker Mar 5, 2024
8430bbf
Remove trailing space
julianocosta89 Mar 6, 2024
87618d3
add stub for python otel hook
austinlparker Mar 6, 2024
c8b8e08
refactor(checkoutservice): use exception.message key from semantic co…
tranngoclam Mar 6, 2024
dc6d2db
remove unneeded key from flags
austinlparker Mar 6, 2024
334fe69
Merge branch 'main' into flagd-spike
austinlparker Mar 6, 2024
45a04f5
Merge branch 'flagd-spike' of github.com:austinlparker/opentelemetry-…
lukekraus45 Mar 28, 2024
d1e675b
removing integration tests
lukekraus45 Apr 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 18 additions & 3 deletions .env
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@


# Images
IMAGE_VERSION=1.7.1
# Demo App version
IMAGE_VERSION=1.8.0
IMAGE_NAME=ghcr.io/open-telemetry/demo
TRACETEST_IMAGE_VERSION=v0.14.5
DEMO_VERSION=latest

# Dependent images
COLLECTOR_CONTRIB_IMAGE=otel/opentelemetry-collector-contrib:0.93.0
GRAFANA_IMAGE=grafana/grafana:10.3.1
JAEGERTRACING_IMAGE=jaegertracing/all-in-one:1.53
# must also update version field in /src/grafana/provisioning/datasources/opensearch.yml
OPENSEARCH_IMAGE=opensearchproject/opensearch:2.11.1
POSTGRES_IMAGE=postgres:16.1
PROMETHEUS_IMAGE=quay.io/prometheus/prometheus:v2.49.1
REDIS_IMAGE=redis:7.2-alpine
TRACETEST_IMAGE_VERSION=v0.15.8
TRACETEST_IMAGE=kubeshop/tracetest:${TRACETEST_IMAGE_VERSION}

# Demo Platform
ENV_PLATFORM=local
Expand Down Expand Up @@ -51,6 +63,9 @@ FEATURE_FLAG_SERVICE_HOST=feature-flag-service
FEATURE_FLAG_GRPC_SERVICE_PORT=50053
FEATURE_FLAG_GRPC_SERVICE_ADDR=featureflagservice:${FEATURE_FLAG_GRPC_SERVICE_PORT}

# flagd
FLAGD_HOST=flagd

# Frontend
FRONTEND_PORT=8080
FRONTEND_ADDR=frontend:${FRONTEND_PORT}
Expand Down
14 changes: 2 additions & 12 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,14 +55,6 @@ jobs:
tag_suffix: emailservice
context: ./src/emailservice
setup-qemu: true
# NOTE:
# https://github.com/open-telemetry/opentelemetry-demo/issues/956
# Until dedicated ARM runners are available for GHA we cannot upgrade
# OTP/Elixir versions. Please do not change the OTP/Elixir versions.
- file: ./src/featureflagservice/Dockerfile
tag_suffix: featureflagservice
context: ./
setup-qemu: true
- file: ./src/frontend/Dockerfile
tag_suffix: frontend
context: ./
Expand Down Expand Up @@ -111,10 +103,6 @@ jobs:
tag_suffix: frontend-tests
context: ./
setup-qemu: true
- file: ./test/Dockerfile
tag_suffix: integrationTests
context: ./
setup-qemu: true

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -170,6 +158,8 @@ jobs:
push: ${{ inputs.push }}
tags: |
${{ env.DOCKERHUB_REPO }}:${{ inputs.version }}-${{matrix.file_tag.tag_suffix }}
${{ env.DOCKERHUB_REPO }}:latest-${{matrix.file_tag.tag_suffix }}
${{ env.GHCR_REPO }}:${{ inputs.version }}-${{ matrix.file_tag.tag_suffix }}
${{ env.GHCR_REPO }}:latest-${{ matrix.file_tag.tag_suffix }}
cache-from: type=gha
cache-to: type=gha
2 changes: 1 addition & 1 deletion .github/workflows/gradle-wrapper-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ jobs:
steps:
- uses: actions/checkout@v4

- uses: gradle/wrapper-validation-action@v1.1.0
- uses: gradle/wrapper-validation-action@v2.1.1
17 changes: 17 additions & 0 deletions .github/workflows/nightly-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
name: Nightly Release

on:
schedule:
# Runs at 00:00 UTC every day
- cron: '0 0 * * *'

jobs:
build_and_push_images:
uses: ./.github/workflows/build-images.yml
if: github.repository == 'open-telemetry/opentelemetry-demo'
with:
push: true
version: nightly-${{ github.run_id }}
secrets: inherit
67 changes: 19 additions & 48 deletions .github/workflows/run-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -1,50 +1,21 @@
# Copyright The OpenTelemetry Authors
# SPDX-License-Identifier: Apache-2.0
name: Integration Tests
# # Copyright The OpenTelemetry Authors
# # SPDX-License-Identifier: Apache-2.0
# @lukekraus - commented this out for now due to failures reading from the registry. Need to rethink how to run these in CI
# name: Integration Tests

on:
pull_request_target:
branches:
- main
types: [closed]
# on:
# pull_request_review:
# types:
# - submitted

jobs:
build_runner:
runs-on: ubuntu-latest
name: "Build Runner"
if: github.event.pull_request.merged == true
steps:
- name: metal-runner-action
uses: equinix-labs/metal-action-runner@v0.1.1
with:
github_token: ${{ secrets.GH_CI_SECRET }}
metal_auth_token: ${{ secrets.METAL_AUTH_TOKEN }}
metal_project_id: ${{ secrets.METAL_PROJECT_ID }}
metro: "da"
plan: "c3.small.x86"
os: "ubuntu_20_04"
run_tests:
needs: build_runner
runs-on: self-hosted
name: "Run CI"
steps:
- name: check out code
uses: actions/checkout@v3
- name: install docker
run: |
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- name: run tracetesting
run: |
make build && make run-tracetesting
destroy:
needs: [build_runner, run_tests]
runs-on: ubuntu-latest
name: "Cleanup"
steps:
- name: metal-sweeper-action
uses: equinix-labs/metal-sweeper-action@v0.6.1
with:
authToken: ${{ secrets.METAL_AUTH_TOKEN }}
projectID: ${{ secrets.METAL_PROJECT_ID }}
keepProject: true
# jobs:
# run_tests:
# runs-on: ubuntu-latest
# name: "Run CI"
# if: github.event.review.state == 'APPROVED'
# steps:
# - name: check out code
# uses: actions/checkout@v4
# - name: run tracetesting
# run: |
# make build && make run-tracetesting
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ composer.lock
src/frontend/cypress/videos
src/frontend/cypress/screenshots
src/shippingservice/target/
test/tracetesting/tracetesting-vars.yaml

# Ignore copied/generated protobuf files
/src/cartservice/src/protos/
Expand Down
4 changes: 4 additions & 0 deletions .licenserc.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
"# Copyright The OpenTelemetry Authors",
"# SPDX-License-Identifier: Apache-2.0"
],
"**/*.sql": [
"-- Copyright The OpenTelemetry Authors",
"-- SPDX-License-Identifier: Apache-2.0"
],
"**/{Dockerfile,Makefile}": [
"# Copyright The OpenTelemetry Authors",
"# SPDX-License-Identifier: Apache-2.0"
Expand Down
88 changes: 85 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,92 @@
# Changelog

Please update changelog as part of any significant pull request. Place short
description of your change into "Unreleased" section. As part of release process
content of "Unreleased" section content will generate release notes for the
release.
description of your change into "Unreleased" section. As part of release
process content of "Unreleased" section content will generate release notes for
the release.

## Unreleased

* [featureflag] deprecate in favor of flagd
([#1338](https://github.com/open-telemetry/opentelemetry-demo/pull/1388))
* [checkoutservice] add producer interceptor for tracing
([#1400](https://github.com/open-telemetry/opentelemetry-demo/pull/1400))
* [chore] increase memory for Collector and Jaeger
([#1396](https://github.com/open-telemetry/opentelemetry-demo/pull/1396))
* [chore] fix Make targets for restart and redeploy
([#1397](https://github.com/open-telemetry/opentelemetry-demo/pull/1397))
* [chore] add nightly releases
([#1398](https://github.com/open-telemetry/opentelemetry-demo/pull/1398))
* [checkoutservice] add producer interceptor for tracing
([#1400](https://github.com/open-telemetry/opentelemetry-demo/pull/1400))
* [productcatalogservice] fix graceful shutdown issues
([#1402](https://github.com/open-telemetry/opentelemetry-demo/pull/1402))
* [chore] remove unused integration test
([#1406](https://github.com/open-telemetry/opentelemetry-demo/pull/1406))
* [CartService] - Add Host Detector
([#1415](https://github.com/open-telemetry/opentelemetry-demo/pull/1415))

## 1.8.0

* [grafana] update grafana to 10.2.3
([#1332](https://github.com/open-telemetry/opentelemetry-demo/pull/1332))
* [frontendproxy] Enable envoy environment resource detector
([#1291](https://github.com/open-telemetry/opentelemetry-demo/pull/1291))
* [currencyservice] - add package name prefix to `rpc.service` attribute
([#1333](https://github.com/open-telemetry/opentelemetry-demo/pull/1333))
* [currency] fix metric exporter options
([#1335](https://github.com/open-telemetry/opentelemetry-demo/pull/1335))
* [ffspostgres] define and use demo specific postgres image
([#1338](https://github.com/open-telemetry/opentelemetry-demo/pull/1338))
* [loadgenerator, frontend] enable browser traffic in loadgenerator using playwright
([#1345](https://github.com/open-telemetry/opentelemetry-demo/pull/1345))
* [accountingservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [checkoutservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [productcatalogservice] update wiki link
([#1346](https://github.com/open-telemetry/opentelemetry-demo/pull/1346))
* [adservice] added group and anonymous read permission to
opentelemetry-javaagent.jar
([#1348](https://github.com/open-telemetry/opentelemetry-demo/pull/1348))
* [frauddetectionservice] added group and anonymous read permission to
opentelemetry-javaagent.jar
([#1348](https://github.com/open-telemetry/opentelemetry-demo/pull/1348))
* [adservice] Major version update for Java instrumentation, version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* [frauddetectionservice] Major version update for Java instrumentation,
version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* [kafka] Major version update for Java instrumentation, version 2.0.0
([#1352](https://github.com/open-telemetry/opentelemetry-demo/pull/1352))
* Align env variables for OTLP ports
([#1353](https://github.com/open-telemetry/opentelemetry-demo/pull/1353))
* Update dependent services - Collector, Grafana, Jaeger, Prometheus, etc.
([#1354](https://github.com/open-telemetry/opentelemetry-demo/pull/1354))
* [OpenSearch] Use native OpenSearch exporter from Collector
([#1356](https://github.com/open-telemetry/opentelemetry-demo/pull/1356))
* Update GO SDKs & fix metrics config
([#1357](https://github.com/open-telemetry/opentelemetry-demo/pull/1357))
* Update Python SDKs
([#1358](https://github.com/open-telemetry/opentelemetry-demo/pull/1358))
* [loadgenerator] fix browser traffic enabled flag
([#1359](https://github.com/open-telemetry/opentelemetry-demo/pull/1359))
* [productcatalog] allow products to be extended
([#1363](https://github.com/open-telemetry/opentelemetry-demo/pull/1363))
* [tests] update trace based tests for semantic conventions
([#1377](https://github.com/open-telemetry/opentelemetry-demo/pull/1377))
* [currencyservice] Add OTLP logs
([#1378](https://github.com/open-telemetry/opentelemetry-demo/pull/1378))
* [cartservice] update .NET to .NET 8.0.2
([#1380](https://github.com/open-telemetry/opentelemetry-demo/pull/1380))

## 1.7.2

* [cartservice] update .NET package to 1.7.0 release
([#1326](https://github.com/open-telemetry/opentelemetry-demo/pull/1326))
* [loadgenerator and recommendationservice] Update python base image
([#1329](https://github.com/open-telemetry/opentelemetry-demo/pull/1329))

## 1.7.1

* [grafana] revert to 10.2.0
Expand All @@ -16,6 +96,8 @@ release.
([#1313](https://github.com/open-telemetry/opentelemetry-demo/pull/1313))
* [accountingservice] Update dependencies and semconv
* ([#1316](https://github.com/open-telemetry/opentelemetry-demo/pull/1316))
* [featureflagservice] Allow setting initial feature flag values
([#1319](https://github.com/open-telemetry/opentelemetry-demo/pull/1319))

## 1.7.0

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ GitHub pull requests (PRs).

To create a new PR, fork the project in GitHub and clone the upstream repo:

> **Note**
> [!NOTE]
> Please fork to a personal GitHub account rather than a corporate/enterprise
> one so maintainers can push commits to your branch.
> **Pull requests from protected forks will not be accepted.**
Expand Down
41 changes: 36 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,12 @@ build-env-file:
sed -i '/IMAGE_VERSION=.*/c\IMAGE_VERSION=${RELEASE_VERSION}' .ghcr.env
sed -i '/IMAGE_NAME=.*/c\IMAGE_NAME=${GHCR_REPO}' .ghcr.env

.PHONY: run-tests
run-tests:
docker compose run frontendTests
docker compose run integrationTests
docker compose run traceBasedTests

.PHONY: run-tracetesting
run-tracetesting:
docker compose run traceBasedTests ${SERVICES_TO_TEST}

Expand Down Expand Up @@ -161,10 +162,40 @@ stop:
@echo ""
@echo "OpenTelemetry Demo is stopped."


# Use to rebuild and restart a single service component
# Use to restart a single service component
# Example: make restart service=frontend
.PHONY: restart
restart:
# work with `service` or `SERVICE` as input
./restart-service.sh ${service}${SERVICE}
# work with `service` or `SERVICE` as input
ifdef SERVICE
service := $(SERVICE)
endif

ifdef service
docker compose stop $(service)
docker compose rm --force $(service)
docker compose create $(service)
docker compose start $(service)
else
@echo "Please provide a service name using `service=[service name]` or `SERVICE=[service name]`"
endif

# Use to rebuild and restart (redeploy) a single service component
# Example: make redeploy service=frontend
.PHONY: redeploy
redeploy:
# work with `service` or `SERVICE` as input
ifdef SERVICE
service := $(SERVICE)
endif

ifdef service
docker compose build $(service)
docker compose stop $(service)
docker compose rm --force $(service)
docker compose create $(service)
docker compose start $(service)
else
@echo "Please provide a service name using `service=[service name]` or `SERVICE=[service name]`"
endif

Loading
Loading