GDK reconfigure not configuring praefect, gitlab-shell, and gitlab-workhorse
Overview
gdk reconfigure
runs without making changes:
➜ gitlab git:(mk/add-silent-mode) gdk reconfigure
--------------------------------------------------------------------------------
Ensuring GDK managed configuration files are up-to-date
--------------------------------------------------------------------------------
ok: run: /Users/mkozonogitlab/Developer/gdk/services/postgresql: (pid 48157) 1s, normally down
ok: run: /Users/mkozonogitlab/Developer/gdk/services/postgresql-geo: (pid 48158) 1s, normally down
ok: run: /Users/mkozonogitlab/Developer/gdk/services/redis: (pid 48159) 1s, normally down
gitlabhq_development exists, nothing to do here.
gitlabhq_development_ci exists, nothing to do here.
--------------------------------------------------------------------------------
Updating gitlab-org/gitlab-metrics-exporter
--------------------------------------------------------------------------------
Successfully fetched and checked out '8317dab17a135879a493ca23e4963c0c58391000' for 'gitlab-metrics-exporter/'
--------------------------------------------------------------------------------
Building gitlab-org/gitlab-metrics-exporter version 8317dab17a135879a493ca23e4963c0c58391000
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Timings
--------------------------------------------------------------------------------
Took 9 sec(s) total.
--------------------------------------------------------------------------------
Reconfigured successfully as of 2023-03-29 16:49:07
--------------------------------------------------------------------------------
But I have some out-of-date configs:
➜ gitlab git:(mk/add-silent-mode) gdk diff-config
gitaly/praefect.config.toml
--------------------------------------------------------------------------------
diff --git a/gitaly/praefect.config.toml b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitaly_praefect.config.toml
index 3c32ad0d..6103fc51 100644
--- a/gitaly/praefect.config.toml
+++ b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitaly_praefect.config.toml
@@ -1,12 +1,12 @@
# Example Praefect configuration file
# # TCP address to listen on
-# listen_addr = "127.0.0.1:2305"
+# listen_addr = "gdk.test:2305"
# # Praefect can listen on a socket when placed on the same machine as all clients
socket_path = "/Users/mkozonogitlab/Developer/gdk/praefect.socket"
# # Praefect will only replicate whitelisted repositories
# # Optional: export metrics via Prometheus
-#prometheus_listen_addr = "127.0.0.1:10101"
+#prometheus_listen_addr = "gdk.test:10101"
# # You can optionally configure Praefect to output JSON-formatted log messages to stdout
[logging]
gitlab-shell/config.yml
--------------------------------------------------------------------------------
diff --git a/gitlab-shell/config.yml b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitlab-shell_config.yml
index e63307a6..be5c0f1e 100644
--- a/gitlab-shell/config.yml
+++ b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitlab-shell_config.yml
@@ -13,7 +13,7 @@ user: git
# only listen on a Unix domain socket. For Unix domain sockets use
# "http+unix://<urlquoted-path-to-socket>", e.g.
# "http+unix://%2Fpath%2Fto%2Fsocket"
-gitlab_url: "http://127.0.0.1:3000"
+gitlab_url: "https://gdk.test:3443"
# See installation.md#using-https for additional HTTPS configuration details.
http_settings:
@@ -22,7 +22,7 @@ http_settings:
# password: somepass
# ca_path: /etc/pki/tls/certs
self_signed_cert: false
-# ca_file: /etc/ssl/cert.pem
+ ca_file: "/Users/mkozonogitlab/Developer/gdk/gdk.test+1.pem"
# File used as authorized_keys for gitlab user
@@ -50,16 +50,16 @@ audit_usernames: false
# Distributed Tracing. GitLab-Shell has distributed tracing instrumentation.
# For more details, visit https://docs.gitlab.com/ee/development/distributed_tracing.html
-#gitlab_tracing: "opentracing://jaeger?http_endpoint=http%3A%2F%2F127.0.0.1%3A14268%2Fapi%2Ftraces&sampler=const&sampler_param=1"
+#gitlab_tracing: "opentracing://jaeger?http_endpoint=http%3A%2F%2Fgdk.test%3A14268%2Fapi%2Ftraces&sampler=const&sampler_param=1"
sshd:
# Address which the SSH server listens on. Defaults to [::]:22.
- listen: "127.0.0.1:2222"
+ listen: "gdk.test:2222"
# Set to true if gitlab-sshd is being fronted by a load balancer that implements
# the PROXY protocol.
proxy_protocol: false
# Address which the server listens on HTTP for monitoring/health checks. Defaults to localhost:9122.
- web_listen: "127.0.0.1:9122"
+ web_listen: "172.16.123.1:9122"
# Maximum number of concurrent sessions allowed on a single SSH connection. Defaults to 10.
concurrent_sessions_limit: 10
# SSH host key files.
gitlab/workhorse/config.toml
--------------------------------------------------------------------------------
diff --git a/gitlab/workhorse/config.toml b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitlab_workhorse_config.toml
index 00be8fbc..e9d67907 100644
--- a/gitlab/workhorse/config.toml
+++ b/Users/mkozonogitlab/Developer/gdk/tmp/diff_gitlab_workhorse_config.toml
@@ -3,3 +3,11 @@ URL = "unix:/Users/mkozonogitlab/Developer/gdk/redis/redis.socket"
DB = 0
+[[listeners]]
+ network = "tcp"
+ addr = "gdk.test:3333"
+[listeners.tls]
+ certificate = "/Users/mkozonogitlab/Developer/gdk/gdk.test+1.pem"
+ key = "/Users/mkozonogitlab/Developer/gdk/gdk.test+1-key.pem"
+ min_version = "tls1.2"
+ max_version = "tls1.3"
I can confirm gdk diff-config
is correct at least for workhorse. I was troubleshooting why my GDK wasn't working, and my problem was that workhorse isn't listening to 3333, and make gitaly/praefect.config.toml gitlab-shell/config.yml gitlab/workhorse/config.toml
got things working.
This was on a brand new https://gitlab.com/gitlab-org/gitlab-development-kit/-/blob/main/doc/howto/geo.md#easy-installation and then some customizations applied to gdk.yml
.
Impacted categories
The following categories relate to this issue:
-
gdk-reliability - e.g. When a GDK action fails to complete. -
gdk-usability - e.g. Improvements or suggestions around how the GDK functions. -
gdk-performance - e.g. When a GDK action is slow or times out.
Steps to replicate (optional)
Proposal (optional)
Environment (optional)
- Operating system name:
<!-- output of `uname -a` command -->
- Architecture:
<!-- output of `arch` command -->
- The contents of your
gdk.yml
(if any) - Ruby version:
<!-- output of `ruby --version` command -->
- GDK version:
<!-- output of `git rev-parse --short HEAD` command -->