diff --git a/ansible/roles-external/sft b/ansible/roles-external/sft index 026f9a612..a11e1d918 160000 --- a/ansible/roles-external/sft +++ b/ansible/roles-external/sft @@ -1 +1 @@ -Subproject commit 026f9a612e073f00a703352107fd76db7b515378 +Subproject commit a11e1d91826ea3d8ffee2e1ba23eb0dfe7c333b5 diff --git a/bin/offline-cluster.sh b/bin/offline-cluster.sh index 2d1f381b6..c3976bf87 100755 --- a/bin/offline-cluster.sh +++ b/bin/offline-cluster.sh @@ -24,7 +24,6 @@ if [ -f "$ANSIBLE_DIR/inventory/offline/hosts.ini" ] && [ -f "$ANSIBLE_DIR/inven fi echo "using ansible inventory: $INVENTORY_FILE" -cat $INVENTORY_FILE # Populate the assethost, and prepare to install images from it. # @@ -57,3 +56,6 @@ ansible-playbook -i $INVENTORY_FILE $ANSIBLE_DIR/cassandra.yml ansible-playbook -i $INVENTORY_FILE $ANSIBLE_DIR/elasticsearch.yml ansible-playbook -i $INVENTORY_FILE $ANSIBLE_DIR/minio.yml ansible-playbook -i $INVENTORY_FILE $ANSIBLE_DIR/restund.yml + +# create helm values that tell our helm charts what the IP addresses of cassandra, elasticsearch and minio are: +ansible-playbook -i $INVENTORY_FILE $ANSIBLE_DIR/helm_external.yml --skip-tags=rabbitmq-external diff --git a/bin/offline-deploy.sh b/bin/offline-deploy.sh index 149edad43..bc38950c7 100755 --- a/bin/offline-deploy.sh +++ b/bin/offline-deploy.sh @@ -19,4 +19,4 @@ WSD_CONTAINER=$(sudo docker load -i $SCRIPT_DIR/../containers-adminhost/containe ./bin/offline-secrets.sh sudo docker run --network=host -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent -v $PWD:/wire-server-deploy $WSD_CONTAINER ./bin/offline-cluster.sh -sudo docker run --network=host -v $SSH_AUTH_SOCK:/ssh-agent -e SSH_AUTH_SOCK=/ssh-agent -v $PWD:/wire-server-deploy $WSD_CONTAINER ./bin/offline-helm.sh +sudo docker run --network=host -v $PWD:/wire-server-deploy $WSD_CONTAINER ./bin/offline-helm.sh diff --git a/bin/offline-helm.sh b/bin/offline-helm.sh index 4530e9d23..b344c68f6 100755 --- a/bin/offline-helm.sh +++ b/bin/offline-helm.sh @@ -3,10 +3,6 @@ set -euo pipefail set -x -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" -ANSIBLE_DIR="$( cd "$SCRIPT_DIR/../ansible" && pwd )" -ansible-playbook -i "$ANSIBLE_DIR"/inventory/offline "$ANSIBLE_DIR"/helm_external.yml --skip-tags=rabbitmq-external -vv - helm upgrade --install --wait cassandra-external ./charts/cassandra-external --values ./values/cassandra-external/values.yaml helm upgrade --install --wait elasticsearch-external ./charts/elasticsearch-external --values ./values/elasticsearch-external/values.yaml helm upgrade --install --wait minio-external ./charts/minio-external --values ./values/minio-external/values.yaml diff --git a/offline/docs_ubuntu_22.04.md b/offline/docs_ubuntu_22.04.md index 5c538d285..fa85e4db2 100644 --- a/offline/docs_ubuntu_22.04.md +++ b/offline/docs_ubuntu_22.04.md @@ -385,15 +385,6 @@ Minio and restund services have shared secrets with the `wire-server` helm chart This should generate two files. `./ansible/inventory/group_vars/all/secrets.yaml` and `values/wire-server/secrets.yaml`. -#### Ensuring kubernetes is healthy. - -Ensure the cluster comes up healthy. The container also contains kubectl, so check the node status: - -``` -d kubectl get nodes -owide -``` -They should all report ready. - ### WORKAROUND: old debian key All of our debian archives up to version 4.12.0 used a now-outdated debian repository signature. Some modifications are required to be able to install everything properly. @@ -513,16 +504,6 @@ For enabling Federation, we need to have RabbitMQ in place. Please follow the in After that continue to the next steps below. - -### Preparing helm values for external services -Afterwards, run the following playbook to create helm values that tell our helm charts -what the IP addresses of cassandra, elasticsearch, minio are. - -``` -d ansible-playbook -i ./ansible/inventory/offline/hosts.ini ansible/helm_external.yml --skip-tags=rabbitmq-external -``` - - ### Deploying Wire It's now time to deploy the helm charts on top of kubernetes, installing the Wire platform. diff --git a/offline/federation_preparation.md b/offline/federation_preparation.md index 81e42b737..4ecfe5593 100644 --- a/offline/federation_preparation.md +++ b/offline/federation_preparation.md @@ -63,7 +63,7 @@ d helm install rabbitmq-external ./charts/rabbitmq-external --values ./values/ra Configure wire-server to use the external RabbitMQ service: -Edit the `/values/wire-server/prod-values.yaml` file to update the RabbitMQ host +Edit the `/values/wire-server/prod-values.example.yaml` file to update the RabbitMQ host Under `brig` and `galley` section, you will find the `rabbitmq` config, update the host to `rabbitmq-external`, it should look like this: ``` rabbitmq: diff --git a/values/wire-server/prod-values.example.yaml b/values/wire-server/prod-values.example.yaml index 2b46795cd..7549b5a27 100644 --- a/values/wire-server/prod-values.example.yaml +++ b/values/wire-server/prod-values.example.yaml @@ -28,7 +28,7 @@ brig: elasticsearch: host: elasticsearch-external rabbitmq: - host: rabbitmq # name of the rabbitmq service, for e.g. rabbitmq-external + host: rabbitmq # name of the rabbitmq service, either `rabbitmq-external` or `rabbitmq` useSES: false # Set to false if you want to hand out DynamoDB to store prekeys randomPrekeys: true @@ -141,7 +141,7 @@ galley: cassandra: host: cassandra-external rabbitmq: - host: rabbitmq # name of the rabbitmq service, for e.g. rabbitmq-external + host: rabbitmq # name of the rabbitmq service, either `rabbitmq-external` or `rabbitmq` settings: # prefix URI used when inviting users to a conversation by link conversationCodeURI: https://account.example.com/conversation-join/ # change this