Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/how-to/install/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
- [Watching changes as they happen](helm-prod.md#watching-changes-as-they-happen)
- [General installation notes](helm-prod.md#general-installation-notes)
- [How to install charts that provide access to external databases](helm-prod.md#how-to-install-charts-that-provide-access-to-external-databases)
- [How to install fake AWS services for SNS / SQS](helm-prod.md#how-to-install-fake-aws-services-for-sns-sqs)
- [Fake AWS (SNS/SQS) for websocket-only notifications (no FCM/APNS)](helm-prod.md##fake-aws-snssqs-for-websocket-only-notifications-no-fcmapns)
- [Preparing to install wire-server](helm-prod.md#preparing-to-install-wire-server)
- [How to install RabbitMQ](helm-prod.md#how-to-install-rabbitmq)
- [How to configure real SMTP (email) services](helm-prod.md#how-to-configure-real-smtp-email-services)
Expand Down
53 changes: 46 additions & 7 deletions src/how-to/install/helm-prod.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
<a id="helm-prod"></a>

# Installing wire-server (production) components using Helm

## Introduction
Expand Down Expand Up @@ -114,19 +112,60 @@ If you are using minio instead of AWS S3, you should also run:
helm upgrade --install minio-external wire/minio-external -f values/minio-external/values.yaml --wait
```

## How to install fake AWS services for SNS / SQS
## Fake AWS (SNS/SQS) for websocket-only notifications (no FCM/APNS)

AWS SNS is required to send notifications to clients. SQS is used to get notified of any devices that have discontinued using Wire (e.g. if you uninstall the app, the push notification token is removed, and the wire-server will get feedback for that using SQS).

Note: *for using real SQS for real native push notifications instead, see also :ref:\`pushsns\`.*
Note: *for using real SQS for real native push notifications instead, see also :ref:`pushsns`.*

If you use the fake-aws version, clients will use the websocket method to receive notifications, which keeps connections to the servers open, draining battery.

Open a terminal and run:
To enable **websocket-only notifications** (no FCM/APNS), you must:

1. Install the fake-aws services.
2. Update the `gundeck` AWS configuration in your wire-server Helm values/secrets to point at fake-aws.
3. **Re-deploy the wire-server Helm chart** using the updated values.

#### NOTE
- To enable push notifications using the public App Store / Play Store mobile Wire clients, see [Enable push notifications using the public appstore / playstore mobile Wire clients](../install/infrastructure-configuration.md#enable-push-notifications-using-the-public-appstore-playstore-mobile-wire-clients).
- To read more about websockets and Wire notifications, see [Web-sockets](../../understand/overview.md#web-sockets) and [Mobile Notifications](../../understand/overview.md#mobile-notifications).

First, set up the fake-aws services by running:

```shell
helm install fake-aws ./charts/fake-aws --values ./values/fake-aws/prod-values.example.yaml
```

You can use the default values provided in the example file.

Next up is changing the gundeck configuration so it does not go out to live/real AWS services and goes to the fake-aws installed. In your `values/wire-server/values.yaml`, use the following settings:

```yaml
gundeck:
config:
aws:
# change if using real AWS
account: "123456789012"
region: "eu-west-1"
arnEnv: integration
queueName: integration-gundeck-events
sqsEndpoint: http://fake-aws-sqs:4568
snsEndpoint: http://fake-aws-sns:4575
```

For secrets, in your `values/wire-server/secrets.yaml`, set:

```yaml
gundeck:
secrets:
awsKeyId: dummykey
awsSecretKey: dummysecret
```

Finally, redeploy the wire-server charts using the updated values files:

```shell
cp values/fake-aws/prod-values.example.yaml values/fake-aws/values.yaml
helm upgrade --install fake-aws wire/fake-aws -f values/fake-aws/values.yaml --wait
helm upgrade --install wire-server charts/wire-server -f values/wire-server/values.yaml -f values/wire-server/secrets.yaml
```

You should see some pods being created in your first terminal as the above command completes.
Expand Down