From 2879f10b4233edab8915a23f6c51108644991865 Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Mon, 13 Apr 2020 13:11:28 -0700 Subject: [PATCH 1/6] docker-compose: add jaeger-all-in-one --- docker-compose/docker-compose.yaml | 123 ++++++++--------------------- 1 file changed, 33 insertions(+), 90 deletions(-) diff --git a/docker-compose/docker-compose.yaml b/docker-compose/docker-compose.yaml index d6243c478..316e56a06 100644 --- a/docker-compose/docker-compose.yaml +++ b/docker-compose/docker-compose.yaml @@ -74,7 +74,7 @@ services: mem_limit: '8g' environment: - GOMAXPROCS=12 - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger - PGHOST=pgsql - 'SRC_GIT_SERVERS=gitserver-0:3178' - 'SRC_SYNTECT_SERVER=http://syntect-server:9238' @@ -150,7 +150,7 @@ services: environment: - GOMAXPROCS=4 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger volumes: - 'gitserver-0:/data/repos' networks: @@ -219,7 +219,7 @@ services: environment: - GOMAXPROCS=2 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger healthcheck: test: "wget -q 'http://127.0.0.1:3181/healthz' -O /dev/null || exit 1" interval: 1s @@ -247,7 +247,7 @@ services: environment: - GOMAXPROCS=1 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger networks: - sourcegraph restart: always @@ -295,7 +295,7 @@ services: environment: - GOMAXPROCS=1 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger networks: - sourcegraph restart: always @@ -339,7 +339,7 @@ services: environment: - GOMAXPROCS=1 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger - 'GITHUB_BASE_URL=http://github-proxy:3180' volumes: - 'repo-updater:/mnt/cache' @@ -382,7 +382,7 @@ services: environment: - GOMAXPROCS=2 - 'SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090' - - JAEGER_AGENT_HOST=jaeger-agent + - JAEGER_AGENT_HOST=jaeger healthcheck: test: "wget -q 'http://127.0.0.1:3184/healthz' -O /dev/null || exit 1" interval: 5s @@ -419,7 +419,7 @@ services: # # Disk: 100GB / persistent SSD # Ports exposed to other Sourcegraph services: none - # Ports exposed to the public internet: none (HTTP 3000 should be exposed to admins only) + # Ports exposed to the public internet: none (HTTP 3370 should be exposed to admins only) # # Add the following environment variables if you wish to use an auth proxy with Grafana: # @@ -462,87 +462,31 @@ services: - sourcegraph restart: always - # # Description: Jaeger agent which is local to the host machine (containers on - # # the machine send trace information to it and it relays to the collector). - # # - # # Disk: none - # # Ports exposed to other Sourcegraph services: 5775/UDP 6831/UDP 6832/UDP (on the same host machine) - # # Ports exposed to the public internet: none - # # - # jaeger-agent: - # container_name: jaeger-agent - # image: 'index.docker.io/jaegertracing/jaeger-agent@sha256:7ad33c19fd66307f2a3c07c95eb07c335ddce1b487f6b6128faa75d042c496cb' - # cpus: 1 - # mem_limit: '1g' - # environment: - # - "COLLECTOR_HOST_PORT='jaeger-collector:14267'" - # networks: - # - sourcegraph - # restart: always - - # # Description: Jaeger's Cassandra database for storing traces. - # # - # # Disk: 128GB / persistent SSD - # # Ports exposed to other Sourcegraph services: 9042/TCP - # # Ports exposed to the public internet: none - # # - # jaeger-cassandra: - # container_name: jaeger-cassandra - # image: 'index.docker.io/library/cassandra:3.11.4@sha256:9f1d47fd23261c49f226546fe0134e6d4ad0570b7ea3a169c521005cb8369a32' - # cpus: 4 - # mem_limit: '8g' - # environment: - # - 'HEAP_NEWSIZE=1G' - # - 'MAX_HEAP_SIZE=6G' - # - 'CASSANDRA_DC=sourcegraph' - # - 'CASSANDRA_RACK=rack1' - # - 'CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch' - # volumes: - # - 'jaeger-cassandra:/var/lib/cassandra' - # networks: - # - sourcegraph - # restart: always - - # # Description: Receives traces from Jaeger agents. - # # - # # Disk: none - # # Ports exposed to other Sourcegraph services: 14267/TCP - # # Ports exposed to the public internet: none - # # - # jaeger-collector: - # container_name: jaeger-collector - # image: 'index.docker.io/jaegertracing/jaeger-collector:1.11@sha256:0b6d28bb52410f7b50c0f0fc16d7ee391e2e3eca47b713ac88d0891ca8a63cb9' - # cpus: 1 - # mem_limit: '1g' - # environment: - # - SPAN_STORAGE_TYPE=cassandra - # - CASSANDRA_SERVERS=jaeger-cassandra - # - CASSANDRA_KEYSPACE=jaeger_v1_sourcegraph - # networks: - # - sourcegraph - # restart: always - - # # Description: Jaeger frontend for querying traces. - # # - # # Disk: none - # # Ports exposed to other Sourcegraph services: none - # # Ports exposed to the public internet: none (HTTP 16686 should be exposed to admins only) - # # - # jaeger-query: - # container_name: jaeger-query - # image: 'index.docker.io/jaegertracing/jaeger-query:1.11@sha256:cddc521d0166c868931282685a863368ae2c14c4de0c1be38e388ece3080439e' - # cpus: 1 - # mem_limit: '1g' - # environment: - # - SPAN_STORAGE_TYPE=cassandra - # - CASSANDRA_SERVERS=jaeger-cassandra - # - CASSANDRA_KEYSPACE=jaeger_v1_sourcegraph - # - CASSANDRA_LOCAL_DC=sourcegraph - # ports: - # - '0.0.0.0:16686:16686' - # networks: - # - sourcegraph - # restart: always + # Description: Jaeger all-in-one instance + # (https://www.jaegertracing.io/docs/1.17/getting-started/#all-in-one) for distributed tracing. + # + # Disk: none + # Ports exposed to other Sourcegraph services: 5778/TCP 6831/UDP 6832/UDP 14250/TCP + # Ports exposed to the public internet: none + # Ports exposed to site admins only: 16686/HTTP + # + jaeger: + container_name: jaeger + image: 'index.docker.io/sourcegraph/jaeger-all-in-one:1.17.1@sha256:8ebae08d3c9d70ef0257e2c7a4f6bca35b8f4d490cef563e2ab6ffe543fd47d3' + cpus: 0.5 + mem_limit: '512m' + ports: + # Query port + - '0.0.0.0:16686:16686' + # Collector port + - '0.0.0.0:14250:14250' + # Agent ports + - '0.0.0.0:5778:5778' + - '0.0.0.0:6831:6831' + - '0.0.0.0:6832:6832' + networks: + - sourcegraph + restart: always # Description: PostgreSQL database for various data. # @@ -604,7 +548,6 @@ volumes: caddy: gitserver-0: grafana: - #jaeger-cassandra: lsif-server: pgsql: prometheus-v2: From c9ef7d949f49785bd7846477aa7c4b82d7dc8e5a Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Tue, 14 Apr 2020 11:47:32 -0700 Subject: [PATCH 2/6] update image sha --- docker-compose/docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yaml b/docker-compose/docker-compose.yaml index 316e56a06..cf254d00e 100644 --- a/docker-compose/docker-compose.yaml +++ b/docker-compose/docker-compose.yaml @@ -472,7 +472,7 @@ services: # jaeger: container_name: jaeger - image: 'index.docker.io/sourcegraph/jaeger-all-in-one:1.17.1@sha256:8ebae08d3c9d70ef0257e2c7a4f6bca35b8f4d490cef563e2ab6ffe543fd47d3' + image: 'index.docker.io/sourcegraph/jaeger-all-in-one:1.17.1@sha256:46bfa2ac08dd08181ab443ef966d664048a6c6ac725054bcc1fbfda5bd4040a3' cpus: 0.5 mem_limit: '512m' ports: From 908d958f92c0a2da662560b55a24fb2a171a5df6 Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Tue, 14 Apr 2020 11:50:36 -0700 Subject: [PATCH 3/6] pure docker: remove old jaeger --- deploy-jaeger-agent.sh | 20 -------------------- deploy-jaeger-cassandra.sh | 26 -------------------------- deploy-jaeger-collector.sh | 23 ----------------------- deploy-jaeger-query.sh | 23 ----------------------- deploy.sh | 6 ------ 5 files changed, 98 deletions(-) delete mode 100755 deploy-jaeger-agent.sh delete mode 100755 deploy-jaeger-cassandra.sh delete mode 100755 deploy-jaeger-collector.sh delete mode 100755 deploy-jaeger-query.sh diff --git a/deploy-jaeger-agent.sh b/deploy-jaeger-agent.sh deleted file mode 100755 index e557b68de..000000000 --- a/deploy-jaeger-agent.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Description: Jaeger agent which is local to the host machine (containers on -# the machine send trace information to it and it relays to the collector). -# -# Disk: none -# Network: 100mbps -# Liveness probe: n/a -# Ports exposed to other Sourcegraph services: 5775/UDP 6831/UDP 6832/UDP (on the same host machine) -# Ports exposed to the public internet: none -# -docker run --detach \ - --name=jaeger-agent \ - --network=sourcegraph \ - --restart=always \ - --cpus=1 \ - --memory=1g \ - -e COLLECTOR_HOST_PORT='jaeger-collector:14267' \ - jaegertracing/jaeger-agent@sha256:7ad33c19fd66307f2a3c07c95eb07c335ddce1b487f6b6128faa75d042c496cb diff --git a/deploy-jaeger-cassandra.sh b/deploy-jaeger-cassandra.sh deleted file mode 100755 index 56e81c56f..000000000 --- a/deploy-jaeger-cassandra.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Description: Jaeger's Cassandra database for storing traces. -# -# Disk: 128GB / persistent SSD -# Network: 100mbps -# Liveness probe: n/a -# Ports exposed to other Sourcegraph services: 9042/TCP -# Ports exposed to the public internet: none -# -docker run --detach \ - --name=jaeger-cassandra \ - --network=sourcegraph \ - --restart=always \ - --cpus=4 \ - --memory=8g \ - -e HEAP_NEWSIZE='1G' \ - -e MAX_HEAP_SIZE='6G' \ - -e CASSANDRA_DC='sourcegraph' \ - -e CASSANDRA_RACK='rack1' \ - -e CASSANDRA_ENDPOINT_SNITCH='GossipingPropertyFileSnitch' \ - -v ~/sourcegraph-docker/jaeger-cassandra-disk/:/var/lib/cassandra \ - cassandra:3.11.4@sha256:9f1d47fd23261c49f226546fe0134e6d4ad0570b7ea3a169c521005cb8369a32 - -echo "Deployed jaeger-cassandra service" \ No newline at end of file diff --git a/deploy-jaeger-collector.sh b/deploy-jaeger-collector.sh deleted file mode 100755 index a11f0d41c..000000000 --- a/deploy-jaeger-collector.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Description: Receives traces from Jaeger agents. -# -# Disk: none -# Network: 100mbps -# Liveness probe: n/a -# Ports exposed to other Sourcegraph services: 14267/TCP -# Ports exposed to the public internet: none -# -docker run --detach \ - --name=jaeger-collector \ - --network=sourcegraph \ - --restart=always \ - --cpus=1 \ - --memory=1g \ - -e SPAN_STORAGE_TYPE=cassandra \ - -e CASSANDRA_SERVERS=jaeger-cassandra \ - -e CASSANDRA_KEYSPACE=jaeger_v1_sourcegraph \ - jaegertracing/jaeger-collector:1.11@sha256:0b6d28bb52410f7b50c0f0fc16d7ee391e2e3eca47b713ac88d0891ca8a63cb9 - -echo "Deployed jaeger-collector service" \ No newline at end of file diff --git a/deploy-jaeger-query.sh b/deploy-jaeger-query.sh deleted file mode 100755 index ac9610b82..000000000 --- a/deploy-jaeger-query.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Description: Jaeger frontend for querying traces. -# -# Disk: none -# Network: 100mbps -# Liveness probe: n/a -# Ports exposed to other Sourcegraph services: none -# Ports exposed to the public internet: none (HTTP 16686 should be exposed to admins only) -# -docker run --detach \ - --name=jaeger-query \ - --network=sourcegraph \ - --restart=always \ - --cpus=1 \ - --memory=1g \ - -p 0.0.0.0:16686:16686 \ - -e SPAN_STORAGE_TYPE=cassandra \ - -e CASSANDRA_SERVERS=jaeger-cassandra \ - -e CASSANDRA_KEYSPACE=jaeger_v1_sourcegraph \ - -e CASSANDRA_LOCAL_DC=sourcegraph \ - jaegertracing/jaeger-query:1.11@sha256:cddc521d0166c868931282685a863368ae2c14c4de0c1be38e388ece3080439e diff --git a/deploy.sh b/deploy.sh index 5b10f721c..029b676be 100755 --- a/deploy.sh +++ b/deploy.sh @@ -10,12 +10,6 @@ docker network create sourcegraph &> /dev/null || true ./deploy-github-proxy.sh & for i in $(seq 0 $(($NUM_GITSERVER - 1))); do (./deploy-gitserver.sh $i &); done ./deploy-grafana.sh -# Disabled for now, see https://github.com/sourcegraph/sourcegraph/issues/5363 -#./deploy-jaeger-agent.sh -#./deploy-jaeger-cassandra.sh -#./deploy-jaeger-collector.sh -#./deploy-jaeger-query.sh -#./init-jaeger-cassandra-schema.sh ./deploy-lsif-server.sh & ./deploy-pgsql.sh & ./deploy-prometheus.sh From cf7a3b9b1753b3e0e6ad4285a0c4bbba9b42ef78 Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Tue, 14 Apr 2020 12:36:24 -0700 Subject: [PATCH 4/6] pure docker: add new jaeger --- deploy-frontend.sh | 2 +- deploy-github-proxy.sh | 2 +- deploy-gitserver.sh | 2 +- deploy-jaeger.sh | 23 +++++++++++++++++++++++ deploy-query-runner.sh | 4 ++-- deploy-repo-updater.sh | 4 ++-- deploy-searcher.sh | 4 ++-- deploy-symbols.sh | 4 ++-- deploy.sh | 1 + teardown.sh | 8 ++------ 10 files changed, 37 insertions(+), 17 deletions(-) create mode 100755 deploy-jaeger.sh diff --git a/deploy-frontend.sh b/deploy-frontend.sh index 735175820..d74061b45 100755 --- a/deploy-frontend.sh +++ b/deploy-frontend.sh @@ -17,7 +17,7 @@ docker run --detach \ --cpus=4 \ --memory=8g \ -e GOMAXPROCS=12 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ -e PGHOST=pgsql \ -e SRC_GIT_SERVERS="$(addresses "gitserver-" $NUM_GITSERVER ":3178")" \ -e SRC_SYNTECT_SERVER=http://syntect-server:9238 \ diff --git a/deploy-github-proxy.sh b/deploy-github-proxy.sh index ca4565b93..80c0d87ff 100755 --- a/deploy-github-proxy.sh +++ b/deploy-github-proxy.sh @@ -20,7 +20,7 @@ docker run --detach \ --memory=1g \ -e GOMAXPROCS=1 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ index.docker.io/sourcegraph/github-proxy:3.14.2@sha256:0369a42645db81b4211cec54ca685daf365c785e8e213473505df3193ccacccc echo "Deployed github-proxy service" diff --git a/deploy-gitserver.sh b/deploy-gitserver.sh index 14a850c51..1233bb7b5 100755 --- a/deploy-gitserver.sh +++ b/deploy-gitserver.sh @@ -18,7 +18,7 @@ docker run --detach \ --memory=8g \ -e GOMAXPROCS=4 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ -v ~/sourcegraph-docker/gitserver-$1-disk:/data/repos \ index.docker.io/sourcegraph/gitserver:3.14.2@sha256:9374262a86f62931856d44912f035467e58b03fcfec82081ba5e486dad5be677 diff --git a/deploy-jaeger.sh b/deploy-jaeger.sh new file mode 100755 index 000000000..aa171d289 --- /dev/null +++ b/deploy-jaeger.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +set -e + +# Description: Jaeger all-in-one instance +# (https://www.jaegertracing.io/docs/1.17/getting-started/#all-in-one) for distributed tracing. +# +# Disk: none +# Ports exposed to other Sourcegraph services: 5778/TCP 6831/UDP 6832/UDP 14250/TCP +# Ports exposed to the public internet: none +# Ports exposed to site admins only: 16686/HTTP +# +docker run --detach \ + --name=jaeger \ + --network=sourcegraph \ + --restart=always \ + --cpus="0.5" \ + --memory=512m \ + -p 0.0.0.0:16686:16686 \ + -p 0.0.0.0:14250:14250 \ + -p 0.0.0.0:5778:5778 \ + -p 0.0.0.0:6831:6831 \ + -p 0.0.0.0:6832:6832 \ + index.docker.io/sourcegraph/jaeger-all-in-one:1.17.1@sha256:46bfa2ac08dd08181ab443ef966d664048a6c6ac725054bcc1fbfda5bd4040a3 diff --git a/deploy-query-runner.sh b/deploy-query-runner.sh index 4ad06fd74..b1e93f59f 100755 --- a/deploy-query-runner.sh +++ b/deploy-query-runner.sh @@ -17,7 +17,7 @@ docker run --detach \ --memory=1g \ -e GOMAXPROCS=1 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ index.docker.io/sourcegraph/query-runner:3.14.2@sha256:8a22d88a96435755fdcd25aac6b0f395e054c85b863adbfc5f78314b1c0c91a7 -echo "Deployed query-runner service" \ No newline at end of file +echo "Deployed query-runner service" diff --git a/deploy-repo-updater.sh b/deploy-repo-updater.sh index 5f97633b2..22513b788 100755 --- a/deploy-repo-updater.sh +++ b/deploy-repo-updater.sh @@ -18,9 +18,9 @@ docker run --detach \ --memory=4g \ -e GOMAXPROCS=1 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ -v ~/sourcegraph-docker/repo-updater-disk:/mnt/cache \ index.docker.io/sourcegraph/repo-updater:3.14.2@sha256:f7de73c60553f102c8b1d51afc47a3b95bad331c02513cb3d143bfc39b54fff8 -echo "Deployed repo-updater service" \ No newline at end of file +echo "Deployed repo-updater service" diff --git a/deploy-searcher.sh b/deploy-searcher.sh index f15f27bc7..113b6bfe9 100755 --- a/deploy-searcher.sh +++ b/deploy-searcher.sh @@ -18,8 +18,8 @@ docker run --detach \ --memory=2g \ -e GOMAXPROCS=2 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ -v ~/sourcegraph-docker/searcher-$1-disk:/mnt/cache \ index.docker.io/sourcegraph/searcher:3.14.2@sha256:a698d805219e715c87cec8fadc37a50ad6c1b7c41e47589b3a162dbe3d45ac97 -echo "Deployed searcher $1 service" \ No newline at end of file +echo "Deployed searcher $1 service" diff --git a/deploy-symbols.sh b/deploy-symbols.sh index a5cd9d502..9a620bc4e 100755 --- a/deploy-symbols.sh +++ b/deploy-symbols.sh @@ -18,8 +18,8 @@ docker run --detach \ --memory=4g \ -e GOMAXPROCS=2 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -e JAEGER_AGENT_HOST='jaeger-agent' \ + -e JAEGER_AGENT_HOST=jaeger \ -v ~/sourcegraph-docker/symbols-$1-disk:/mnt/cache \ index.docker.io/sourcegraph/symbols:3.14.2@sha256:654d15355a34dcfa610fb05f44f2e1c389571b7534d295fa389f63ba958c7df4 -echo "Deployed symbols $1 service" \ No newline at end of file +echo "Deployed symbols $1 service" diff --git a/deploy.sh b/deploy.sh index 029b676be..55324cd44 100755 --- a/deploy.sh +++ b/deploy.sh @@ -10,6 +10,7 @@ docker network create sourcegraph &> /dev/null || true ./deploy-github-proxy.sh & for i in $(seq 0 $(($NUM_GITSERVER - 1))); do (./deploy-gitserver.sh $i &); done ./deploy-grafana.sh +./deploy-jaeger.sh ./deploy-lsif-server.sh & ./deploy-pgsql.sh & ./deploy-prometheus.sh diff --git a/teardown.sh b/teardown.sh index 03d805021..4782049d6 100755 --- a/teardown.sh +++ b/teardown.sh @@ -8,11 +8,7 @@ docker rm -f $(addresses "sourcegraph-frontend-" $NUM_FRONTEND "") &> /dev/null docker rm -f github-proxy &> /dev/null || true & docker rm -f $(addresses "gitserver-" $NUM_GITSERVER "") &> /dev/null || true & docker rm -f grafana &> /dev/null || true -docker rm -f jaeger-agent &> /dev/null || true -docker rm -f jaeger-cassandra &> /dev/null || true -docker rm -f jaeger-collector &> /dev/null || true -docker rm -f jaeger-query &> /dev/null || true -docker rm -f jaeger-cassandra-schema &> /dev/null || true +docker rm -f jaeger &> /dev/null || true docker rm -f lsif-server &> /dev/null || true docker rm -f pgsql &> /dev/null || true & docker rm -f prometheus &> /dev/null || true @@ -28,4 +24,4 @@ docker rm -f $(addresses "zoekt-indexserver-" $NUM_INDEXED_SEARCH "") &> /dev/nu docker rm -f $(addresses "zoekt-webserver-" $NUM_INDEXED_SEARCH "") &> /dev/null || true & docker network rm sourcegraph &> /dev/null || true & -wait \ No newline at end of file +wait From c2d1304e04ecce8347b19c1b1aefbd895b92fdae Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Tue, 14 Apr 2020 17:01:52 -0700 Subject: [PATCH 5/6] fix deploy-frontend-internal.sh and deploy-frontend.sh --- deploy-frontend-internal.sh | 4 ++-- deploy-frontend.sh | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/deploy-frontend-internal.sh b/deploy-frontend-internal.sh index 94ec235dc..ae5a1eab0 100755 --- a/deploy-frontend-internal.sh +++ b/deploy-frontend-internal.sh @@ -26,9 +26,9 @@ docker run --detach \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e REPO_UPDATER_URL=http://repo-updater:3182 \ -e REPLACER_URL=http://replacer:3185 \ - # remove after 3.15 + `# remove after 3.15` \ -e LSIF_SERVER_URL=http://lsif-server:3186 \ - # used after 3.15 + `# used after 3.15` \ -e LSIF_API_SERVER_URL=http://lsif-server:3186 \ -e GRAFANA_SERVER_URL=http://grafana:3000 \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ diff --git a/deploy-frontend.sh b/deploy-frontend.sh index d74061b45..13ec18ba8 100755 --- a/deploy-frontend.sh +++ b/deploy-frontend.sh @@ -27,9 +27,9 @@ docker run --detach \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e REPO_UPDATER_URL=http://repo-updater:3182 \ -e REPLACER_URL=http://replacer:3185 \ - # remove after 3.15 + `# remove after 3.15` \ -e LSIF_SERVER_URL=http://lsif-server:3186 \ - # used after 3.15 + `# used after 3.15` \ -e LSIF_API_SERVER_URL=http://lsif-server:3186 \ -e GRAFANA_SERVER_URL=http://grafana:3370 \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ From f0d3ed479335fd468876f471aa350cb167695569 Mon Sep 17 00:00:00 2001 From: Beyang Liu Date: Tue, 14 Apr 2020 22:18:38 -0700 Subject: [PATCH 6/6] fix permissions --- deploy-frontend-internal.sh | 4 +++- deploy-frontend.sh | 4 +++- deploy-gitserver.sh | 4 +++- deploy-grafana.sh | 4 +++- deploy-lsif-server.sh | 4 +++- deploy-pgsql.sh | 4 +++- deploy-prometheus.sh | 4 +++- deploy-redis-cache.sh | 6 ++++-- deploy-redis-store.sh | 6 ++++-- deploy-replacer.sh | 6 ++++-- deploy-repo-updater.sh | 4 +++- deploy-searcher.sh | 4 +++- deploy-symbols.sh | 4 +++- deploy-zoekt-indexserver.sh | 4 +++- deploy-zoekt-webserver.sh | 4 +++- ensure-volume.sh | 9 +++++++++ 16 files changed, 57 insertions(+), 18 deletions(-) create mode 100755 ensure-volume.sh diff --git a/deploy-frontend-internal.sh b/deploy-frontend-internal.sh index ae5a1eab0..f04113874 100755 --- a/deploy-frontend-internal.sh +++ b/deploy-frontend-internal.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3090/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/sourcegraph-frontend-internal-0-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=sourcegraph-frontend-internal \ --network=sourcegraph \ @@ -32,7 +34,7 @@ docker run --detach \ -e LSIF_API_SERVER_URL=http://lsif-server:3186 \ -e GRAFANA_SERVER_URL=http://grafana:3000 \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ - -v ~/sourcegraph-docker/sourcegraph-frontend-internal-0-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ index.docker.io/sourcegraph/frontend:3.14.2@sha256:44b0221dd9ee60393b3c7273b1214b7ae64cbbb4a8e2b5bcf9d06e521557f0c6 echo "Deployed sourcegraph-frontend-internal service" diff --git a/deploy-frontend.sh b/deploy-frontend.sh index 13ec18ba8..b7ff8df42 100755 --- a/deploy-frontend.sh +++ b/deploy-frontend.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 6060/TCP # Ports exposed to the public internet: 3080 (HTTP) and/or 3443 (HTTPS) # +VOLUME="$HOME/sourcegraph-docker/sourcegraph-frontend-$1-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=sourcegraph-frontend-$1 \ --network=sourcegraph \ @@ -33,7 +35,7 @@ docker run --detach \ -e LSIF_API_SERVER_URL=http://lsif-server:3186 \ -e GRAFANA_SERVER_URL=http://grafana:3370 \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ - -v ~/sourcegraph-docker/sourcegraph-frontend-$1-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ -p 0.0.0.0:$((3080 + $1)):3080 \ index.docker.io/sourcegraph/frontend:3.14.2@sha256:44b0221dd9ee60393b3c7273b1214b7ae64cbbb4a8e2b5bcf9d06e521557f0c6 diff --git a/deploy-gitserver.sh b/deploy-gitserver.sh index 1233bb7b5..0392a5519 100755 --- a/deploy-gitserver.sh +++ b/deploy-gitserver.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3178/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/gitserver-$1-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=gitserver-$1 \ --network=sourcegraph \ @@ -19,7 +21,7 @@ docker run --detach \ -e GOMAXPROCS=4 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e JAEGER_AGENT_HOST=jaeger \ - -v ~/sourcegraph-docker/gitserver-$1-disk:/data/repos \ + -v $VOLUME:/data/repos \ index.docker.io/sourcegraph/gitserver:3.14.2@sha256:9374262a86f62931856d44912f035467e58b03fcfec82081ba5e486dad5be677 echo "Deployed gitserver $1 service" diff --git a/deploy-grafana.sh b/deploy-grafana.sh index bec8b3b47..73dcb5c33 100755 --- a/deploy-grafana.sh +++ b/deploy-grafana.sh @@ -9,6 +9,8 @@ set -e # Ports exposed to other Sourcegraph services: none # Ports exposed to the public internet: none (HTTP 3000 should be exposed to admins only) # +VOLUME="$HOME/sourcegraph-docker/grafana-disk" +./ensure-volume.sh $VOLUME 472 docker run --detach \ --name=grafana \ --network=sourcegraph \ @@ -16,7 +18,7 @@ docker run --detach \ --cpus=1 \ --memory=1g \ -p 0.0.0.0:3370:3370 \ - -v ~/sourcegraph-docker/grafana-disk:/var/lib/grafana \ + -v $VOLUME:/var/lib/grafana \ -v $(pwd)/grafana/datasources:/sg_config_grafana/provisioning/datasources \ -v $(pwd)/grafana/dashboards:/sg_grafana_additional_dashboards \ index.docker.io/sourcegraph/grafana:10.0.12@sha256:2cde7e16fa56e81237fb05e228018015385f6498c4642d4ae073799a02b2b68c diff --git a/deploy-lsif-server.sh b/deploy-lsif-server.sh index e7cba3310..9469bcc68 100755 --- a/deploy-lsif-server.sh +++ b/deploy-lsif-server.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3186/TCP (server) 3187/TCP (worker) # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/lsif-server-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=lsif-server \ --network=sourcegraph \ @@ -19,7 +21,7 @@ docker run --detach \ -e GOMAXPROCS=2 \ -e LSIF_STORAGE_ROOT=/lsif-storage \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -v ~/sourcegraph-docker/lsif-server-disk:/lsif-storage \ + -v $VOLUME:/lsif-storage \ index.docker.io/sourcegraph/lsif-server:3.14.2@sha256:2d6f63203c5f7fa542fe4deb6424e502cd0ca94dec9c76e40ef63b769c391367 echo "Deployed lsif-server service" diff --git a/deploy-pgsql.sh b/deploy-pgsql.sh index 4ea87f049..1b3782852 100755 --- a/deploy-pgsql.sh +++ b/deploy-pgsql.sh @@ -9,13 +9,15 @@ set -e # Ports exposed to other Sourcegraph services: 5432/TCP 9187/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/pgsql-disk" +./ensure-volume.sh $VOLUME 999 docker run --detach \ --name=pgsql \ --network=sourcegraph \ --restart=always \ --cpus=4 \ --memory=2g \ - -v ~/sourcegraph-docker/pgsql-disk:/data/ \ + -v $VOLUME:/data/ \ index.docker.io/sourcegraph/postgres-11.4:19-11-14_b084311b@sha256:072481559d559cfd9a53ad77c3688b5cf583117457fd452ae238a20405923297 # Sourcegraph requires PostgreSQL 9.6+. Generally newer versions are better, diff --git a/deploy-prometheus.sh b/deploy-prometheus.sh index 943df3c05..1322929ae 100755 --- a/deploy-prometheus.sh +++ b/deploy-prometheus.sh @@ -9,6 +9,8 @@ set -e # Ports exposed to other Sourcegraph services: none # Ports exposed to the public internet: none (HTTP 9090 should be exposed to admins only) # +VOLUME="$HOME/sourcegraph-docker/prometheus-v2-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=prometheus \ --network=sourcegraph \ @@ -16,6 +18,6 @@ docker run --detach \ --cpus=4 \ --memory=8g \ -p 0.0.0.0:9090:9090 \ - -v ~/sourcegraph-docker/prometheus-v2-disk:/prometheus \ + -v $VOLUME:/prometheus \ -v $(pwd)/prometheus:/sg_prometheus_add_ons \ index.docker.io/sourcegraph/prometheus:10.0.10@sha256:4d73d99f3b18d8e4e09f63671c51eabcba956e357ab33d682de8cf1540e3b863 diff --git a/deploy-redis-cache.sh b/deploy-redis-cache.sh index 5d69a52d3..b63271a35 100755 --- a/deploy-redis-cache.sh +++ b/deploy-redis-cache.sh @@ -9,13 +9,15 @@ set -e # Ports exposed to other Sourcegraph services: 6379/TCP 9121/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/redis-cache-disk" +./ensure-volume.sh $VOLUME 999 docker run --detach \ --name=redis-cache \ --network=sourcegraph \ --restart=always \ --cpus=1 \ --memory=6g \ - -v ~/sourcegraph-docker/redis-cache-disk:/redis-data \ + -v $VOLUME:/redis-data \ index.docker.io/sourcegraph/redis-cache:20-02-03_da9d71ca@sha256:7820219195ab3e8fdae5875cd690fed1b2a01fd1063bd94210c0e9d529c38e56 -echo "Deployed redis-cache service" \ No newline at end of file +echo "Deployed redis-cache service" diff --git a/deploy-redis-store.sh b/deploy-redis-store.sh index aaad10633..c10da549a 100755 --- a/deploy-redis-store.sh +++ b/deploy-redis-store.sh @@ -9,13 +9,15 @@ set -e # Ports exposed to other Sourcegraph services: 6379/TCP 9121/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/redis-store-disk" +./ensure-volume.sh $VOLUME 999 docker run --detach \ --name=redis-store \ --network=sourcegraph \ --restart=always \ --cpus=1 \ --memory=6g \ - -v ~/sourcegraph-docker/redis-store-disk:/redis-data \ + -v $VOLUME:/redis-data \ index.docker.io/sourcegraph/redis-store:20-01-30_c903717e@sha256:e8467a8279832207559bdfbc4a89b68916ecd5b44ab5cf7620c995461c005168 -echo "Deployed redis-store service" \ No newline at end of file +echo "Deployed redis-store service" diff --git a/deploy-replacer.sh b/deploy-replacer.sh index 632674085..07e6ce569 100755 --- a/deploy-replacer.sh +++ b/deploy-replacer.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3185/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/replacer-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=replacer \ --network=sourcegraph \ @@ -18,7 +20,7 @@ docker run --detach \ --memory=512m \ -e GOMAXPROCS=1 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ - -v ~/sourcegraph-docker/replacer-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ index.docker.io/sourcegraph/replacer:3.14.2@sha256:b1c68f27a5b0e9ca9924aab9ac77242617d0a523f6c06a4d6de45cca48f0cde1 -echo "Deployed replacer service" \ No newline at end of file +echo "Deployed replacer service" diff --git a/deploy-repo-updater.sh b/deploy-repo-updater.sh index 22513b788..6df4a2843 100755 --- a/deploy-repo-updater.sh +++ b/deploy-repo-updater.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3182/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/repo-updater-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=repo-updater \ --network=sourcegraph \ @@ -20,7 +22,7 @@ docker run --detach \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e JAEGER_AGENT_HOST=jaeger \ -e GITHUB_BASE_URL=http://github-proxy:3180 \ - -v ~/sourcegraph-docker/repo-updater-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ index.docker.io/sourcegraph/repo-updater:3.14.2@sha256:f7de73c60553f102c8b1d51afc47a3b95bad331c02513cb3d143bfc39b54fff8 echo "Deployed repo-updater service" diff --git a/deploy-searcher.sh b/deploy-searcher.sh index 113b6bfe9..36a7db2f3 100755 --- a/deploy-searcher.sh +++ b/deploy-searcher.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3181/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/searcher-$1-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=searcher-$1 \ --network=sourcegraph \ @@ -19,7 +21,7 @@ docker run --detach \ -e GOMAXPROCS=2 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e JAEGER_AGENT_HOST=jaeger \ - -v ~/sourcegraph-docker/searcher-$1-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ index.docker.io/sourcegraph/searcher:3.14.2@sha256:a698d805219e715c87cec8fadc37a50ad6c1b7c41e47589b3a162dbe3d45ac97 echo "Deployed searcher $1 service" diff --git a/deploy-symbols.sh b/deploy-symbols.sh index 9a620bc4e..497a6b586 100755 --- a/deploy-symbols.sh +++ b/deploy-symbols.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 3184/TCP 6060/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/symbols-$1-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=symbols-$1 \ --network=sourcegraph \ @@ -19,7 +21,7 @@ docker run --detach \ -e GOMAXPROCS=2 \ -e SRC_FRONTEND_INTERNAL=sourcegraph-frontend-internal:3090 \ -e JAEGER_AGENT_HOST=jaeger \ - -v ~/sourcegraph-docker/symbols-$1-disk:/mnt/cache \ + -v $VOLUME:/mnt/cache \ index.docker.io/sourcegraph/symbols:3.14.2@sha256:654d15355a34dcfa610fb05f44f2e1c389571b7534d295fa389f63ba958c7df4 echo "Deployed symbols $1 service" diff --git a/deploy-zoekt-indexserver.sh b/deploy-zoekt-indexserver.sh index fb654792b..18d80d9b1 100755 --- a/deploy-zoekt-indexserver.sh +++ b/deploy-zoekt-indexserver.sh @@ -16,6 +16,8 @@ fi # Ports exposed to other Sourcegraph services: 6072/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/zoekt-$1-shared-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=zoekt-indexserver-$1 \ --hostname=zoekt-indexserver-$1 \ @@ -26,7 +28,7 @@ docker run --detach \ -e GOMAXPROCS=8 \ -e HOSTNAME=zoekt-webserver-$1:6070 \ -e SRC_FRONTEND_INTERNAL=http://sourcegraph-frontend-internal:3090 \ - -v ~/sourcegraph-docker/zoekt-$1-shared-disk:/data/index \ + -v $VOLUME:/data/index \ index.docker.io/sourcegraph/zoekt-indexserver:0.0.20200318141948-0b140b7@sha256:b022fd7e4884a71786acae32e0ec8baf785c18350ebf5d574d52335a346364f9 echo "Deployed zoekt-indexserver $1 service" diff --git a/deploy-zoekt-webserver.sh b/deploy-zoekt-webserver.sh index 7277ecb77..5ba05f4e2 100755 --- a/deploy-zoekt-webserver.sh +++ b/deploy-zoekt-webserver.sh @@ -10,6 +10,8 @@ source ./replicas.sh # Ports exposed to other Sourcegraph services: 6070/TCP # Ports exposed to the public internet: none # +VOLUME="$HOME/sourcegraph-docker/zoekt-$1-shared-disk" +./ensure-volume.sh $VOLUME 100 docker run --detach \ --name=zoekt-webserver-$1 \ --hostname=zoekt-webserver-$1 \ @@ -19,7 +21,7 @@ docker run --detach \ --memory=100g \ -e GOMAXPROCS=16 \ -e HOSTNAME=zoekt-webserver-$1:6070 \ - -v ~/sourcegraph-docker/zoekt-$1-shared-disk:/data/index \ + -v $VOLUME:/data/index \ index.docker.io/sourcegraph/zoekt-webserver:0.0.20200318141342-0b140b7@sha256:0d0fbce55b51ec7bdd37927539f50459cd0f207b7cf219ca5122d07792012fb1 echo "Deployed zoekt-webserver $1 service" diff --git a/ensure-volume.sh b/ensure-volume.sh new file mode 100755 index 000000000..a6a788428 --- /dev/null +++ b/ensure-volume.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +set -euf -o pipefail + +VOLUME=$1 +USER_ID=$2 + +if [ ! -d $VOLUME ]; then + mkdir -p $VOLUME && sudo chown $USER_ID:$USER_ID $VOLUME +fi