From ac43f43ad9d7de155adbfddb06289ff141fe18e8 Mon Sep 17 00:00:00 2001 From: hubertdeng123 Date: Tue, 28 May 2024 10:30:47 -0700 Subject: [PATCH 1/5] different approach to editing permissions of docker volumes --- .github/workflows/test.yml | 6 ++---- install/update-docker-volume-permissions.sh | 8 +------- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e2303cd97d..a68341e5d1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: - name: Get latest self-hosted release version run: | LATEST_TAG=$(curl -s https://api.github.com/repos/getsentry/self-hosted/releases/latest | jq -r '.tag_name') - echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV + echo "LATEST_TAG=24.2.0" >> $GITHUB_ENV - name: Checkout latest release uses: actions/checkout@v4 @@ -73,9 +73,7 @@ jobs: uses: actions/checkout@v4 - name: Install current ref - run: | - # Hacky way to get around permissioning issues in update-docker-volume-permissions.sh script - sudo -E ./install.sh + run: ./install.sh integration-test: if: github.repository_owner == 'getsentry' diff --git a/install/update-docker-volume-permissions.sh b/install/update-docker-volume-permissions.sh index 98cafc237d..d290a551cc 100644 --- a/install/update-docker-volume-permissions.sh +++ b/install/update-docker-volume-permissions.sh @@ -3,13 +3,7 @@ echo "${_group}Ensuring Kafka and Zookeeper volumes have correct permissions ... # Only supporting platforms on linux x86 platforms and not apple silicon. I'm assuming that folks using apple silicon are doing it for dev purposes and it's difficult # to change permissions of docker volumes since it is run in a VM. if [[ "$DOCKER_PLATFORM" = "linux/amd64" && -n "$(docker volume ls -q -f name=sentry-zookeeper)" && -n "$(docker volume ls -q -f name=sentry-kafka)" ]]; then - zookeeper_data_dir="/var/lib/docker/volumes/sentry-zookeeper/_data" - kafka_data_dir="/var/lib/docker/volumes/sentry-kafka/_data" - zookeeper_log_data_dir="/var/lib/docker/volumes/${COMPOSE_PROJECT_NAME}_sentry-zookeeper-log/_data" - chmod -R a+w $zookeeper_data_dir $kafka_data_dir $zookeeper_log_data_dir && returncode=$? || returncode=$? - if [[ $returncode == "1" ]]; then - echo "WARNING: Error when setting appropriate permissions for zookeeper, kafka, and zookeeper log docker volumes. This may corrupt your self-hosted install. See https://github.com/confluentinc/kafka-images/issues/127 for context on why this was added." - fi + docker run --rm -v sentry-zookeeper:/sentry-zookeeper-data -v sentry-kafka:/sentry-kafka-data -v sentry-zookeeper-log:/sentry-zookeeper-log-data busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data fi echo "${_endgroup}" From c6389e8327acae8da477bee7b4ff9b1cd1c1b9d8 Mon Sep 17 00:00:00 2001 From: hubertdeng123 Date: Tue, 28 May 2024 11:17:11 -0700 Subject: [PATCH 2/5] use correct zookeeper-log volume name --- install/update-docker-volume-permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/update-docker-volume-permissions.sh b/install/update-docker-volume-permissions.sh index d290a551cc..6a9decf0af 100644 --- a/install/update-docker-volume-permissions.sh +++ b/install/update-docker-volume-permissions.sh @@ -3,7 +3,7 @@ echo "${_group}Ensuring Kafka and Zookeeper volumes have correct permissions ... # Only supporting platforms on linux x86 platforms and not apple silicon. I'm assuming that folks using apple silicon are doing it for dev purposes and it's difficult # to change permissions of docker volumes since it is run in a VM. if [[ "$DOCKER_PLATFORM" = "linux/amd64" && -n "$(docker volume ls -q -f name=sentry-zookeeper)" && -n "$(docker volume ls -q -f name=sentry-kafka)" ]]; then - docker run --rm -v sentry-zookeeper:/sentry-zookeeper-data -v sentry-kafka:/sentry-kafka-data -v sentry-zookeeper-log:/sentry-zookeeper-log-data busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data + docker run --rm -v "sentry-zookeeper:/sentry-zookeeper-data" -v "sentry-kafka:/sentry-kafka-data" -v "sentry-${COMPOSE_PROJECT_NAME}-zookeeper-log:/sentry-zookeeper-log-data" busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data fi echo "${_endgroup}" From d6fa2fa17f7095a615b1335c019ce8a46c99d51e Mon Sep 17 00:00:00 2001 From: hubertdeng123 Date: Tue, 28 May 2024 11:36:43 -0700 Subject: [PATCH 3/5] use actual correct zookeeper-log volume name --- install/update-docker-volume-permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/update-docker-volume-permissions.sh b/install/update-docker-volume-permissions.sh index 6a9decf0af..f80ee3e2a7 100644 --- a/install/update-docker-volume-permissions.sh +++ b/install/update-docker-volume-permissions.sh @@ -3,7 +3,7 @@ echo "${_group}Ensuring Kafka and Zookeeper volumes have correct permissions ... # Only supporting platforms on linux x86 platforms and not apple silicon. I'm assuming that folks using apple silicon are doing it for dev purposes and it's difficult # to change permissions of docker volumes since it is run in a VM. if [[ "$DOCKER_PLATFORM" = "linux/amd64" && -n "$(docker volume ls -q -f name=sentry-zookeeper)" && -n "$(docker volume ls -q -f name=sentry-kafka)" ]]; then - docker run --rm -v "sentry-zookeeper:/sentry-zookeeper-data" -v "sentry-kafka:/sentry-kafka-data" -v "sentry-${COMPOSE_PROJECT_NAME}-zookeeper-log:/sentry-zookeeper-log-data" busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data + docker run --rm -v "sentry-zookeeper:/sentry-zookeeper-data" -v "sentry-kafka:/sentry-kafka-data" -v "${COMPOSE_PROJECT_NAME}_sentry-zookeeper-log:/sentry-zookeeper-log-data" busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data fi echo "${_endgroup}" From a792df06b5d988365502fcfe81673cdfb639f315 Mon Sep 17 00:00:00 2001 From: hubertdeng123 Date: Tue, 28 May 2024 12:20:45 -0700 Subject: [PATCH 4/5] use latest tag again --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a68341e5d1..8acdb98813 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -50,7 +50,7 @@ jobs: - name: Get latest self-hosted release version run: | LATEST_TAG=$(curl -s https://api.github.com/repos/getsentry/self-hosted/releases/latest | jq -r '.tag_name') - echo "LATEST_TAG=24.2.0" >> $GITHUB_ENV + echo "LATEST_TAG=$LATEST_TAG" >> $GITHUB_ENV - name: Checkout latest release uses: actions/checkout@v4 From ff998a52c228bd6070f3bfbb0eb6ed90692203bb Mon Sep 17 00:00:00 2001 From: hubertdeng123 Date: Tue, 28 May 2024 15:45:27 -0700 Subject: [PATCH 5/5] run script for all platforms --- install/update-docker-volume-permissions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install/update-docker-volume-permissions.sh b/install/update-docker-volume-permissions.sh index f80ee3e2a7..8ac0be400c 100644 --- a/install/update-docker-volume-permissions.sh +++ b/install/update-docker-volume-permissions.sh @@ -2,7 +2,7 @@ echo "${_group}Ensuring Kafka and Zookeeper volumes have correct permissions ... # Only supporting platforms on linux x86 platforms and not apple silicon. I'm assuming that folks using apple silicon are doing it for dev purposes and it's difficult # to change permissions of docker volumes since it is run in a VM. -if [[ "$DOCKER_PLATFORM" = "linux/amd64" && -n "$(docker volume ls -q -f name=sentry-zookeeper)" && -n "$(docker volume ls -q -f name=sentry-kafka)" ]]; then +if [[ -n "$(docker volume ls -q -f name=sentry-zookeeper)" && -n "$(docker volume ls -q -f name=sentry-kafka)" ]]; then docker run --rm -v "sentry-zookeeper:/sentry-zookeeper-data" -v "sentry-kafka:/sentry-kafka-data" -v "${COMPOSE_PROJECT_NAME}_sentry-zookeeper-log:/sentry-zookeeper-log-data" busybox chmod -R a+w /sentry-zookeeper-data /sentry-kafka-data /sentry-zookeeper-log-data fi