GitLab Development Kit issueshttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues2017-10-04T13:14:19Zhttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/288Improving the GDK UX and save time when reviewing2017-10-04T13:14:19ZDimitrie Hoekstradimitrie@gitlab.comImproving the GDK UX and save time when reviewing### Intro
The GDK is a complicated piece of software, which luckily works quite well most of the time. The setup process is alright and often you can get up and running in around 30 min (of the top of my head). Using the GDK with a feat...### Intro
The GDK is a complicated piece of software, which luckily works quite well most of the time. The setup process is alright and often you can get up and running in around 30 min (of the top of my head). Using the GDK with a feature branch when installed works most of the time and allows developers and people of other professions to do their job.
However there are various problems with it, which in essence cost valuable time (time is money :money_with_wings: and cause frustrations :anger: ).
### Problem (+proposals)
Time is lost when reviewing merge requests by non-coders (or people who code less than others), as they are not nose deep into the code or the inner workings of the GDK. When encountering an error, often there is need for personal help from the slack channel `#gdk`.
Often it is easily figured out, but still costs time. Why not automate the most common occurrences and fix them automatically?
I think the current problems can be defined by the following (think from the perspective of people who don't touch the code that often... or see it for the first time ~"Community Contribution" ):
#### Command line knowledge is required
I think this is for now out of scope for this issue, but could be looked into for the future. Again, the GDK has been developed with the developer in mind. However reality learns us, that non-devs or people who don't code as much, use it quite a lot as well. Not for developing, but for reviewing.
I think most of these people can be easily categorised.. as most of them will be using a mac laptop for example.
##### Proposal
- A real simple mac installer, which accepts a branch name, and does the rest automatically. Such a user just wants to inspect the branch visually... it is not interested in losing time figuring out problems which have nothing to do with their review MR.
*This would essentially be a cheaper alternative to having full gdk review app for each MR*
#### Error reporting is bad
When the gdk gives you and error, you have to know where to look in side the output to know what kind of error it is.
##### Proposal
- Display it always at the bottom in a human way (if needed copy the errors, so we don't have to start searching)
#### Error solutions are not provided (you just have to know)
There is not an easy way of knowing of what commands are needed when the simple 'gdk run' command doesn't work. Errors are just errors, they often don't provide solutions to their problems.
##### Proposal 1 - Error solution reporting
Let's display when:
- There is some identical process still running in the background.. which you have to kill.
- There is a migrate needed
- other errors... (most likely ruby stuff)
##### Proposal 2 - Automate solving such errors
When these errors (shown in section above), are apparent.. why not save the time of the user and solve them? Kill the processes and do the migrate automatically.. etc.
#### `gdk update` does not work for feature branches
Often (or sometimes) when wanting to inspect a feature branch, dependencies are missing (either through bundle, yarn, npm, etc), gitlab shell needs to be updated, the gdk repo itself needs updating etc etc.
This all costs time.. As a user I just want to inspect the feature branch and have it display the latest version.. if that branch already exists in my local repo yes or no.
##### Proposal
- `gdk setup branch` - This command will essentially do the gdk update, but for a feature branch. It will check if the branch already exists.. does the git pull (or even deletes the complete branch and re-pulls it... reviewers don't care), installs dependencies.. updates all other things needed etc... and runs the `gdk run` command automatically.. voila easy reviewing, no lost time :smile:https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/287gdk update fails with Geo secondary node2017-10-02T20:03:44ZToon Claesgdk update fails with Geo secondary nodeWhen running `gdk update` on a GitLab secondary Geo node, it runs `rake db:migrate`. But that fails because the database is in read-only mode.
We should detect if the database is in read-only mode, and skip `db:migrate` if so.
Next to ...When running `gdk update` on a GitLab secondary Geo node, it runs `rake db:migrate`. But that fails because the database is in read-only mode.
We should detect if the database is in read-only mode, and skip `db:migrate` if so.
Next to that, we should run `geo:db:migrate` when the directory `postgresql-geo` exists, because one might develop Geo secondary features on a primary node so you need to be able to run tests with the Geo tracking database.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/285Consider using GitLab default/shared styles for RuboCop2017-09-25T09:04:44Zusername-removed-128633Consider using GitLab default/shared styles for RuboCopBy using https://gitlab.com/gitlab-org/gitlab-styles
To avoid this: [#32742846](/gitlab-org/gitlab-development-kit/-/jobs/32742846) failed for ee5b642d31a98e4d76a58c6ec22d59a51ee087a2By using https://gitlab.com/gitlab-org/gitlab-styles
To avoid this: [#32742846](/gitlab-org/gitlab-development-kit/-/jobs/32742846) failed for ee5b642d31a98e4d76a58c6ec22d59a51ee087a2https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/284Keep files checked by `gdk diff-config` updated, perhaps by finding `*.example*`2017-09-22T11:34:12ZJames EJKeep files checked by `gdk diff-config` updated, perhaps by finding `*.example*`## What
Find system for updating files checked by `gdk diff-config`
## Why
The file list is hard coded and can miss newly added config files
## How
Perhaps with `find . -iname '*.example*'`, or by extracting the list of files used i...## What
Find system for updating files checked by `gdk diff-config`
## Why
The file list is hard coded and can miss newly added config files
## How
Perhaps with `find . -iname '*.example*'`, or by extracting the list of files used in `clean-config` in the `Makefile`
## Related
- https://gitlab.com/gitlab-org/gitlab-development-kit/merge_requests/335#note_41101767https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/283SSL errors with the Docker container registry2017-09-29T01:49:18Zusername-removed-892863contact@ericeastwood.comSSL errors with the Docker container registryWhen setting up the Docker container registry with the GDK, there doesn't seem to be a proper way to configure the SSL certificates. I ran into the following error when visiting the container registry page on a project(`localhost:3000/na...When setting up the Docker container registry with the GDK, there doesn't seem to be a proper way to configure the SSL certificates. I ran into the following error when visiting the container registry page on a project(`localhost:3000/namespace/some-project/container_registry`).
```
Faraday::SSLError in Projects::Registry::RepositoriesController#index
SSL_connect returned=1 errno=0 state=error: certificate verify failed
```
See the "Further workaround" section below for more info on how we worked around it.
Some relevant documentation
- https://docs.gitlab.com/ce/administration/container_registry.html
- https://docs.gitlab.com/ce/user/project/container_registry.html
## Using a secure HTTPS/SSL registry
Generate certs (via https://serverfault.com/a/845788/182342)
```
openssl req \
-newkey rsa:2048 \
-x509 \
-nodes \
-keyout /Users/eric/my-ce-docker-registry/my-certs/localhost.key \
-new \
-out /Users/eric/my-ce-docker-registry/my-certs/localhost.crt \
-subj /CN=localhost \
-reqexts SAN \
-extensions SAN \
-config <(cat /System/Library/OpenSSL/openssl.cnf \
<(printf '[SAN]\nsubjectAltName=DNS:localhost')) \
-sha256 \
-days 3650
```
Using Docker for Mac 17.06.2-ce-mac27. After this command you should be able to visit `https://localhost:5063/v2/_catalog` and get `{"repositories":[]}`
```
docker run -d \
-p 5063:5000 \
--restart=always \
--name registry-ce \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/localhost.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/localhost.key \
-v /Users/eric/my-ce-docker-registry:/var/lib/registry \
-v /Users/eric/my-ce-docker-registry/my-certs/:/certs \
registry:2
```
`$gdk/gitlab/config/gitlab.yml`
```
registry:
enabled: true
host: localhost
port: 5063
api_url: https://localhost:5063/ # internal address to the registry, will be used by GitLab to directly communicate with API
key: /Users/eric/my-ce-docker-registry/my-certs/localhost.key
path: Users/eric/my-ce-docker-registry/
# not sure what the issuer would be???
# issuer: gitlab-issuer
```
Visiting the container registry page on a project(`localhost:3000/namespace/some-project/container_registry`) will show the `Faraday::SSLError` now.
#### Further workaround
@stanhu mentioned this workaround which mimics [how we setup things in omnibus](https://docs.gitlab.com/omnibus/settings/ssl.html#details-on-how-gitlab-and-ssl-work).
`config/initializers/1_settings.rb`
```
# Works
ENV['SSL_CERT_FILE'] = "/Users/eric/my-ce-docker-registry/my-certs/localhost.crt"
# or ...
# Does not work
ENV['SSL_CERT_DIR'] = "/Users/eric/my-ce-docker-registry/my-certs/"
```
@stanhu also linked some [more documentation about Faraday and SSL certs](https://github.com/lostisland/faraday/wiki/Setting-up-SSL-certificates). I was unable to use the `OPENSSLDIR`(from `openssl version -a`) because `/System/Library/OpenSSL/certs` is protected with macOS "System Integrity Protection" which means I can't copy anything into it even with `sudo` (perhaps there is some special command to get things in there :confused:). Even so, it seems that you need to configure Faraday with that directory so we could just to point it to an easier directory to work with.
---
I also tried the following because it seemed related but didn't seem to make a difference, https://docs.gitlab.com/ce/install/installation.html#using-https
`$gdk/gitlab-shell/config.yml`
```
http_settings:
// ...
ca_file: /Users/eric/my-ce-docker-registry/my-certs/localhost.crt
// or
ca_path: /Users/eric/my-ce-docker-registry/my-certs/
```
Is there a more concrete way to get things working?
#### Potential Solutions
We could add `$gdk/gitlab/config/gitlab.yml -> registry -> cert` that would setup the `SSL_CERT_FILE` environment variable manually.
It's not quite clear to me how we handle multiple certs (say one for the main GitLab domain and another for the registry) if you can only define a single cert via `SSL_CERT_FILE`(`SSL_CERT_DIR` didn't work for me). [Omnibus looks to have a mechanism to handle multiple via `/etc/gitlab/trusted-certs/`](https://docs.gitlab.com/omnibus/settings/ssl.html#details-on-how-gitlab-and-ssl-work).
---
---
## Using an Insecure registry
**Update: See https://gitlab.com/snippets/73109#setup-the-container-registry** for a full correct way to set this up.
I tried using an insecure(http) registry but GitLab throws an error about the `key` missing from the config.
```
TypeError in Projects::Registry::RepositoriesController#index
no implicit conversion of nil into String
def key_data
-> @key_data ||= File.read(key_file)
end
```
#### Setup
```
docker run -d \
-p 5063:5000 \
--restart=always \
--name registry-ce \
registry:2
```
Configure the Docker Daemon to allow pushing to the insecure registry. With Docker for Mac, from the menubar icon -> Preference -> Daemon -> Insecure Registries -> Add `http://localhost:5063` -> Click the "Apply & Restart" button
<img src="https://i.imgur.com/A04gCny.png" width="25%"> <img src="https://i.imgur.com/TaJ11yq.png" width="25%">
`$gdk/gitlab/config/gitlab.yml`
```
registry:
enabled: true
host: localhost
port: 5063
api_url: http://localhost:5063/ # internal address to the registry, will be used by GitLab to directly communicate with API
```
---
Reference, https://gitlab.slack.com/archives/C02PF508L/p1506031313000134
cc @stanhu @ayufanhttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/281Get rid of hardcoded number of bundler workers2017-09-18T07:51:42Zusername-removed-86853blackst0ne.ru@gmail.comGet rid of hardcoded number of bundler workersIn the `Makefile` we have [the hardcoded number of bundler workers](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/Makefile#L54) (`4` at this moment).
`Bundler` now [has a built-in solution of setting the number of its...In the `Makefile` we have [the hardcoded number of bundler workers](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/Makefile#L54) (`4` at this moment).
`Bundler` now [has a built-in solution of setting the number of its workers dynamically](https://github.com/bundler/bundler/pull/5986), but it seems it's going to be available either in `1.16.0` or in `2.0`.
Since we do not have any checks of bundler version in the gitlab-ce project, we can't be sure a bundler used by user does have that autosetting workers feature.
So my proposal is to get rid of the `--jobs 4` and set something like `--jobs $(nproc)` for all supported platforms (`nproc` is a part of the GNU coreutils).https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/280Add a Gemfile to GDK2017-09-15T11:02:44ZGrzegorz BizonAdd a Gemfile to GDKWe need it to lock version of Rubocop, for example. Currently it is failing on `master`, because of using a new rubocop that is not compatible with our `.rubocop.yml`.We need it to lock version of Rubocop, for example. Currently it is failing on `master`, because of using a new rubocop that is not compatible with our `.rubocop.yml`.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/279Can't create a new file via Web UI because of Gitaly error2017-09-21T09:20:02ZValery SizovCan't create a new file via Web UI because of Gitaly errorI get this:
```
13:11:32 gitaly.1 | time="2017-09-14T13:11:32+03:00" level=info msg="Could not locate Gemfile or .bundle/ directory" supervisor.args=[bundle exec bin/gitaly-ruby 94726 /var/folders/w1/nzzwx6mn55q70zfcmytz1k...I get this:
```
13:11:32 gitaly.1 | time="2017-09-14T13:11:32+03:00" level=info msg="Could not locate Gemfile or .bundle/ directory" supervisor.args=[bundle exec bin/gitaly-ruby 94726 /var/folders/w1/nzzwx6mn55q70zfcmytz1kxc0000gn/T/gitaly-ruby454434555/socket] supervisor.name=gitaly-ruby
```
@jacobvosmaer-gitlab @andrewn @grzesiekhttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/278gdk run exited with code 02017-09-19T15:24:44Zusername-removed-1606410gdk run exited with code 0I have installed gitlab on my server and it works fine, after that I installed gdk to add my customizations but I couldn't make it runs, this is the output for (gdk run). I am running the command in super mode.
My server info (Debian GNU...I have installed gitlab on my server and it works fine, after that I installed gdk to add my customizations but I couldn't make it runs, this is the output for (gdk run). I am running the command in super mode.
My server info (Debian GNU/Linux 8 \n \l, Linux 2.6.32-openvz-042stab123.3-amd64 #1 SMP )
gdk run
(in /root/gitlab-development-kit)
` `
:s: :s:
`oso` `oso.
+sss+ +sss+
:sssss: -sssss:
`ossssso` `ossssso`
+sssssss+ +sssssss+
-ooooooooo-++++++++++++++-ooooooooo-
`:/+++++++++osssssssssssso+++++++++/:`
-///+++++++++ssssssssssss+++++++++///-
.//////+++++++osssssssssso+++++++//////.
:///////+++++++osssssssso+++++++///////:
.:///////++++++ssssssss++++++///////:.`
`-://///+++++osssssso+++++/////:-`
`-:////++++osssso++++////:-`
.-:///++osssso++///:-.
`.://++osso++//:.`
`-:/+oo+/:-`
`-++-`
Starting GitLab in /root/gitlab-development-kit on port localhost:3000
16:19:39 redis.1 | started with pid 797
16:19:39 postgresql.1 | started with pid 798
16:19:39 gitlab-workhorse.1 | started with pid 799
16:19:39 rails-web.1 | started with pid 800
16:19:39 rails-background-jobs.1 | started with pid 803
16:19:39 gitaly.1 | started with pid 808
16:19:39 webpack.1 | started with pid 810
16:19:39 redis.1 | _._
16:19:39 redis.1 | _.-``__ ''-._
16:19:39 redis.1 | _.-`` `. `_. ''-._ Redis 2.8.17 (00000000/0) 64 bit
16:19:39 redis.1 | .-`` .-```. ```\/ _.,_ ''-._
16:19:39 redis.1 | ( ' , .-` | `, ) Running in stand alone mode
16:19:39 redis.1 | |`-._`-...-` __...-.``-._|'` _.-'| Port: 0
16:19:39 redis.1 | | `-._ `._ / _.-' | PID: 797
16:19:39 redis.1 | `-._ `-._ `-./ _.-' _.-'
16:19:39 redis.1 | |`-._`-._ `-.__.-' _.-'_.-'|
16:19:39 redis.1 | | `-._`-._ _.-'_.-' | http://redis.io
16:19:39 redis.1 | `-._ `-._`-.__.-'_.-' _.-'
16:19:39 redis.1 | |`-._`-._ `-.__.-' _.-'_.-'|
16:19:39 redis.1 | | `-._`-._ _.-'_.-' |
16:19:39 redis.1 | `-._ `-._`-.__.-'_.-' _.-'
16:19:39 redis.1 | `-._ `-.__.-' _.-'
16:19:39 redis.1 | `-._ _.-'
16:19:39 redis.1 | `-.__.-'
16:19:39 redis.1 |
16:19:39 redis.1 | [797] 12 Sep 16:19:39.652 # Server started, Redis version 2.8.17
16:19:39 redis.1 | [797] 12 Sep 16:19:39.652 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
16:19:39 redis.1 | [797] 12 Sep 16:19:39.652 * The server is now ready to accept connections at /root/gitlab-development-kit/redis/redis.socket
16:19:39 gitlab-workhorse.1 | 2017/09/12 16:19:39 Starting gitlab-workhorse (unknown version)
16:19:39 gitlab-workhorse.1 | 2017/09/12 16:19:39 keywatcher: starting process loop
16:19:39 gitlab-workhorse.1 | 2017/09/12 16:19:39 redis: dialing "unix", "/root/gitlab-development-kit/redis/redis.socket"
16:19:39 gitaly.1 | time="2017-09-12T16:19:39+02:00" level=info msg="Starting Gitaly" version="Gitaly, version , built
16:19:39 gitaly.1 | "
16:19:39 postgresql.1 | "root" execution of the PostgreSQL server is not permitted.
16:19:39 postgresql.1 | The server must be started under an unprivileged user ID to prevent
16:19:39 postgresql.1 | possible system security compromise. See the documentation for
16:19:39 postgresql.1 | more information on how to properly start the server.
16:19:39 postgresql.1 | exited with code 1
16:19:39 system | sending SIGTERM to all processes
16:19:39 redis.1 | [797 | signal handler] (1505225979) Received SIGTERM scheduling shutdown...
16:19:39 rails-web.1 | terminated by SIGTERM
16:19:39 rails-background-jobs.1 | terminated by SIGTERM
16:19:39 webpack.1 | terminated by SIGTERM
16:19:39 gitaly.1 | terminated by SIGTERM
16:19:39 gitlab-workhorse.1 | terminated by SIGTERM
16:19:39 redis.1 | [797] 12 Sep 16:19:39.852 # User requested shutdown...
16:19:39 redis.1 | [797] 12 Sep 16:19:39.852 * Removing the unix socket file.
16:19:39 redis.1 | [797] 12 Sep 16:19:39.852 # Redis is now ready to exit, bye bye...
16:19:39 redis.1 | exited with code 0https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/277Gem::FilePermissionError when doing gdk install2017-09-11T16:01:40Zusername-removed-1362518Gem::FilePermissionError when doing gdk installI am installing GDK via the readme file on MacOS. When I ran gdk install, I got this error
```
gitaly_address: unix:/Users/collinblanchard/Documents/gitlab/gitlab-development-kit/gitlab/tmp/sockets/private/gitaly.socket # TCP connect...I am installing GDK via the readme file on MacOS. When I ran gdk install, I got this error
```
gitaly_address: unix:/Users/collinblanchard/Documents/gitlab/gitlab-development-kit/gitlab/tmp/sockets/private/gitaly.socket # TCP connections are supported too (e.g. tcp://host:port)
sed "s|/home/git|/Users/collinblanchard/Documents/gitlab/gitlab-development-kit|" database.yml.example > gitlab/config/database.yml
cp gitlab/config/unicorn.rb.example.development gitlab/config/unicorn.rb
echo "listen '/Users/collinblanchard/Documents/gitlab/gitlab-development-kit/gitlab.socket'" >> gitlab/config/unicorn.rb
sed "s|/home/git|/Users/collinblanchard/Documents/gitlab/gitlab-development-kit|" redis/resque.yml.example > gitlab/config/resque.yml
mkdir gitlab/public/uploads
command -v bundler > /dev/null || gem install bundler
Fetching: bundler-1.15.4.gem (100%)
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
make: *** [bundler] Error 1
```
https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/276Use postgres replication slots for Geo2017-09-04T17:44:26ZNick ThomasUse postgres replication slots for GeoPer https://gitlab.com/gitlab-org/gitlab-development-kit/issues/275#note_39277141 https://docs.gitlab.com/ee/gitlab-geo/database.html#postgresql-replication
/cc @stanhuPer https://gitlab.com/gitlab-org/gitlab-development-kit/issues/275#note_39277141 https://docs.gitlab.com/ee/gitlab-geo/database.html#postgresql-replication
/cc @stanhuhttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/274Minikube setup fails2017-08-30T20:00:24ZZeger-Jan van de Wegzegerjan@gitlab.comMinikube setup fails```
== Seed from /home/gdk/gitlab-development-kit/gitlab/db/fixtures/development/04_project.rb
.......19:45:14 postgresql.1 | LOG: unexpected EOF on client connection with an open transaction
SIGTERM received
19:45:14 system ...```
== Seed from /home/gdk/gitlab-development-kit/gitlab/db/fixtures/development/04_project.rb
.......19:45:14 postgresql.1 | LOG: unexpected EOF on client connection with an open transaction
SIGTERM received
19:45:14 system | sending SIGTERM to all processes
19:45:14 webpack.1 | terminated by SIGTERM
19:45:14 redis.1 | exited with code 0
support/bootstrap-rails failed
Makefile:191: recipe for target 'postgresql/data' failed
make: *** [postgresql/data] Error 1
```
From the logs it seems like PG had some error, and given the strategy set in the yml its retrying now. Just creating the issue to refer to later.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/272Do all developers need rake gettext:compile?2017-08-25T09:48:47ZJacob Vosmaer (GitLab)Do all developers need rake gettext:compile?When we install/update GitLab with GDK, we run `rake gettext:compile` which (at least on my system) creates a lot of changes in the locale folder. (Diff size is 8k lines according to git diff.)
These changes are not relevant to the part...When we install/update GitLab with GDK, we run `rake gettext:compile` which (at least on my system) creates a lot of changes in the locale folder. (Diff size is 8k lines according to git diff.)
These changes are not relevant to the part of the application I'm working on, and they get in the way of using Git normally. I am basically forced to run `git checkout -- locale` manually each time I run `gdk reconfigure`.
@rdavila (I hope you're the right person to ask) can you tell me / explain to me:
- for my understanding, why do we need to run `rake gettext:compile` all the time, aren't the files checked into Git "good enough"?
- to how many developers are the local changes in /locale relevant?
I don't have an overview for how many people the /locale changes are relevant, and for how many they're just noise. If they are noise to a large majority perhaps we can create an opt-in mechanism in GDK so that developers who are working on locale-related things always get `rake gettext:compile` but by default we don't run it.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/267Using GitLab Runner with GDK in DHCP environment2017-08-17T05:42:39ZShinya MaedaUsing GitLab Runner with GDK in DHCP environmentWe need to use a static IP for [using GitLab Runner with GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md).
> The `host` parameter needs to be changed from `localhost` to an IP address that
_actu...We need to use a static IP for [using GitLab Runner with GDK](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/howto/runner.md).
> The `host` parameter needs to be changed from `localhost` to an IP address that
_actually exists on the computer_. `0.0.0.0` is not valid - run `ipconfig`
(Windows), `ifconfig` (Mac, BSD) or `ip addr show` (Linux) to get a list of IPs.
The right one to use depends on your network, and may change from time to time,
but an address like `10.x.x.x`, `172.16.x.x` or `192.168.x.x` is normally the
right one.
Although, sometimes we can't use a static IP because of DHCP environment (e.g. co-working place, cafe).
So far we got 2 ideas.
- [Add a utility to set-up IP when developer is working in a cafe and debugging with runner](https://gitlab.com/gitlab-org/gitlab-development-kit/merge_requests/310)
```sh
gdk set_ip
```
- [Use alias to loopback interface](https://gitlab.com/gitlab-org/gitlab-development-kit/merge_requests/310#note_37504739)
```sh
sudo ifconfig lo0 alias 198.18.0.1/32
```
/cc @nolith @grzesiekhttps://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/266.gitlab_shell_secret Not a directory @ rb_file_s_symlink / Build Failed #2917...2017-08-14T09:21:18ZGrzegorz Bizon.gitlab_shell_secret Not a directory @ rb_file_s_symlink / Build Failed #29175949`gdk install` fails with
```
Not a directory @ rb_file_s_symlink - (/home/gdk/gitlab-development-kit/gitlab/.gitlab_shell_secret, /home/gdk/gitlab-development-kit/gitlab-shell/.gitlab_shell_secret) (Errno::ENOTDIR)
```
https://gitlab....`gdk install` fails with
```
Not a directory @ rb_file_s_symlink - (/home/gdk/gitlab-development-kit/gitlab/.gitlab_shell_secret, /home/gdk/gitlab-development-kit/gitlab-shell/.gitlab_shell_secret) (Errno::ENOTDIR)
```
https://gitlab.com/gitlab-org/gitlab-development-kit/-/jobs/29175949https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/265Ensure GDK PostgreSQL uses a consistent set of defaults2017-08-09T14:59:02Zyorickpeterse-stagingEnsure GDK PostgreSQL uses a consistent set of defaultsTo ensure development environments are a bit more consistent GDK should apply the following defaults for PostgreSQL (instead of the ones provided by PostgreSQL itself):
* `random_page_cost`: `1`
* `work_mem`: `16MB`
* `maintenance_work_...To ensure development environments are a bit more consistent GDK should apply the following defaults for PostgreSQL (instead of the ones provided by PostgreSQL itself):
* `random_page_cost`: `1`
* `work_mem`: `16MB`
* `maintenance_work_mem`: at least `64MB`
* `shared_buffers`: at least `256MB`
These settings are still pretty far from production, but they are much more reasonable than the very limited defaults of PostgreSQL. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12355 for more information.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/264Stopping gitaly leaves behind bin/gitaly-ruby processes2017-09-12T20:31:00Zyorickpeterse-stagingStopping gitaly leaves behind bin/gitaly-ruby processesWhenever I start gitaly, then stop it after a while I'm left with stray `bin/gitaly-ruby` processes. The only way to terminate these is to use something like this:
```
for pid in (ps aux | grep -i gitaly | awk '{print $2}')
kill $p...Whenever I start gitaly, then stop it after a while I'm left with stray `bin/gitaly-ruby` processes. The only way to terminate these is to use something like this:
```
for pid in (ps aux | grep -i gitaly | awk '{print $2}')
kill $pid
end
```
@jacobvosmaer-gitlab Is this intentional, or am I doing something wrong? I'm just stopping GDK using ^C.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/263Pull request error2017-09-15T21:00:37Zusername-removed-1508234Pull request errorI am using ubuntu.When i try to develop a pull at me `gitlab-ce.git`
If i use this:`gdk install gitlab_repo=https://gitlab.com/mertselimb/gitlab-ce.git`
After a while i get this error:
```
Bundle complete! 7 Gemfile dependencies, 36 g...I am using ubuntu.When i try to develop a pull at me `gitlab-ce.git`
If i use this:`gdk install gitlab_repo=https://gitlab.com/mertselimb/gitlab-ce.git`
After a while i get this error:
```
Bundle complete! 7 Gemfile dependencies, 36 gems now installed.
Gems in the group production were not installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
touch .gitlab-shell-bundle
ln -s /home/artidokuz/Desktop/gitlab-development-kit/gitlab/.gitlab_shell_secret gitlab-shell/.gitlab_shell_secret
if [ -x gitlab-shell/bin/compile ] ; then gitlab-shell/bin/compile; fi
command failed: {"GOPATH"=>"/home/artidokuz/Desktop/gitlab-development-kit/go-gitlab-shell/src/gitlab.com/gitlab-org/gitlab-shell/go_build", "GO15VENDOREXPERIMENT"=>"1"} go install gitlab.com/gitlab-org/gitlab-shell/go/cmd/...
Makefile:79: recipe for target 'gitlab-shell-setup' failed
make: *** [gitlab-shell-setup] Error 1
```
I think all my prerequisites should be installed.https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/262storage "default" is missing a gitaly_address2017-08-11T12:35:06Zusername-removed-262636storage "default" is missing a gitaly_addressI tried running my fork of gitlab-ce using GDK, but got this error:
```
gdk install gitlab_repo=https://gitlab.com/ngpestelos/gitlab-ce.git
(in gitlab-development-kit)
command -v bundler > /dev/null || gem install bundler
cd gitlab-deve...I tried running my fork of gitlab-ce using GDK, but got this error:
```
gdk install gitlab_repo=https://gitlab.com/ngpestelos/gitlab-ce.git
(in gitlab-development-kit)
command -v bundler > /dev/null || gem install bundler
cd gitlab-development-kit/gitlab && bundle exec rake gettext:compile
WARNING: This version of GitLab depends on gitlab-shell 5.7.0, but you're running Unknown. Please update gitlab-shell.
rake aborted!
storage "default" is missing a gitaly_address
```
Stack trace:
```
gitlab-development-kit/gitlab/lib/gitlab/gitaly_client.rb:43:in `address'
gitlab-development-kit/gitlab/config/initializers/8_gitaly.rb:5:in `block in <top (required)>'
gitlab-development-kit/gitlab/config/initializers/8_gitaly.rb:3:in `each'
gitlab-development-kit/gitlab/config/initializers/8_gitaly.rb:3:in `<top (required)>'
```
I notice this initializer is reading from a GitLab config. Do I need to add a config file somewhere?https://staging.gitlab.com/gitlab-org/gitlab-development-kit/-/issues/257Vagrant doesn't install facter for the right platform on mac OS2017-07-15T23:43:58ZMatija Čupićmatteeyah@gmail.comVagrant doesn't install facter for the right platform on mac OSVagrant doesn't install the `facter` gem for the correct platform `universal-darwin` on mac OS.
Due to this `vagrant up` fails with:
```
There was an error loading a Vagrantfile. The file being loaded
and the error message are shown be...Vagrant doesn't install the `facter` gem for the correct platform `universal-darwin` on mac OS.
Due to this `vagrant up` fails with:
```
There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
a syntax error.
Path: <provider config: virtualbox>
Line number: 55
Message: LoadError: cannot load such file -- cfpropertylist
```
Manually downloading the correct gemfile - `facter-2.4.6-universal-darwin.gem`, then installing it manually into vagrant via `vagrant install GEMFILE_PATH` fixes the problem.