You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* added pcre packages (perl compatible regex needed for headroom)
* put more emphasis on the stack version which should match the one on the Dockerfile and added a note on how to downgrade if necessary
* moved and updated nix and direnv instruction
* Update docs/developer/dependencies.md
Co-authored-by: jschaul <[email protected]>
* added a note on building nginz
Co-authored-by: jschaul <[email protected]>
Copy file name to clipboardExpand all lines: docs/developer/dependencies.md
+34-10Lines changed: 34 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,6 +11,32 @@ In addition to the information below, you can also consult the Dockerfiles for A
11
11
12
12
## General package dependencies (needed to compile Haskell services)
13
13
14
+
*Note: all the below sections for getting compile-time dependencies necessary to compile all of wire-server may potentially go out of date; if you spot a mistake please open an issue or PR*
15
+
16
+
### Nix + Direnv
17
+
18
+
Using Stack's [Nix integration](https://docs.haskellstack.org/en/stable/nix_integration/), Stack will take care of installing any system
19
+
dependencies automatically - including `cryptobox-c`. If new system dependencies are needed, add them to the `stack-deps.nix` file in the project root.
20
+
21
+
If you have `direnv` and `nix`, you will automatically have `make`, `docker-compose` and `stack` in `PATH` once you `cd` into the project root and `direnv allow`.
22
+
You can then run all the builds, and the native dependencies will be automatically present.
23
+
24
+
1. Install [Nix](https://nixos.org/download.html)
25
+
* MacOS users with a recent Mac might need to follow [these
_Note_: Debian is not recommended due to this issue when running local integration tests: [#327](https://github.com/wireapp/wire-server/issues/327). This issue does not occur with Ubuntu.
Please refer to [Stack's installation instructions](https://docs.haskellstack.org/en/stable/README/#how-to-install).
65
91
66
-
When you're done, ensure `stack --version` is recent, ideally the same as `STACK_ALPINE_VERSION` in [`build/alpine/Dockerfile.prebuilder`](../../build/alpine/Dockerfile.prebuilder).
92
+
When you're done, ensure `stack --version` is the same as `STACK_ALPINE_VERSION` in [`build/alpine/Dockerfile.prebuilder`](../../build/alpine/Dockerfile.prebuilder).
93
+
94
+
If you have to, you can downgrade stack with this command:
95
+
96
+
```bash
97
+
stack upgrade --binary-version <version>
98
+
```
67
99
68
100
### Ubuntu / Debian
69
101
_Note_: The packaged versions of `haskell-stack` are too old. It is recommended to follow the generic instructions or to use stack to update stack (`stack upgrade`).
Using Stack's [Nix integration](https://docs.haskellstack.org/en/stable/nix_integration/), Stack will take care of installing any system
180
-
dependencies automatically - including `cryptobox-c`. If new system dependencies are needed, add them to the `stack-deps.nix` file in the project root.
181
-
182
-
If you have `direnv` and `nix`, you will automatically have `make`, `docker-compose` and `stack` in `PATH` once you `cd` into the project root and `direnv allow`.
183
-
You can then run all the builds, and the native dependencies will be automatically present.
184
-
185
209
## Telepresence
186
210
187
211
You can instead use [telepresence](https://www.telepresence.io) to allow you to talk to services installed in a given kubernetes namespace on a local or remote kubernetes cluster using easy DNS names like: `curl http://elasticsearch:9200`.
Copy file name to clipboardExpand all lines: docs/developer/how-to.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,7 @@ Terminal 1:
9
9
10
10
Terminal 2:
11
11
* Compile all services: `make services`
12
+
* Note that you have to [import the public signing keys for nginx](../../services/nginz/README.md#common-problems-while-compiling) to be able to build nginz
12
13
* Run services including nginz: `export INTEGRATION_USE_NGINZ=1; ./services/start-services-only.sh`
Copy file name to clipboardExpand all lines: tools/nginz_disco/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,5 +2,5 @@
2
2
3
3
Due to nginx not supporting DNS names for its list of upstream servers (unless you pay extra), the nginz-disco container is a simple bash script to do DNS lookups and write the resulting IPs to a file. Nginz reloads on changes to this file.
4
4
5
-
This is useful as a sidecar container to nginz in kubernetes. See also [wire-server-deploy/nginz](https://github.com/wireapp/wire-server-deploy/charts/nginz/)
5
+
This is useful as a sidecar container to nginz in kubernetes. See also [wire-server-deploy/nginz](https://github.com/wireapp/wire-server-deploy/charts/nginz/) <!-- todo: this link is broken >
0 commit comments