Skip to content

Commit

Permalink
Update setup and usage instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
ndebuhr committed Jan 10, 2023
1 parent 88d6464 commit 5fe6ef5
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 25 deletions.
39 changes: 17 additions & 22 deletions site/content/setup/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Setup"
date: 2022-05-25T16:55:46+03:00
date: 2023-01-09T22:55:46+03:00
draft: false
menu:
main:
Expand Down Expand Up @@ -30,6 +30,7 @@ menu:
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkehub.googleapis.com \
redis.googleapis.com \
meshca.googleapis.com \
multiclusteringress.googleapis.com \
multiclusterservicediscovery.googleapis.com \
Expand All @@ -45,10 +46,10 @@ _While installation is possible using non-Linux clients, it's not a well-establi
### Provision with Terraform
Set the `GOOGLE_PROJECT`, `ISIDRO_DOMAIN`, `MATTERMOST_DOMAIN`, and `DNS_ZONE_NAME` environment variables, with something like:
Set the `GOOGLE_PROJECT`, `API_DOMAIN`, `MATTERMOST_DOMAIN`, and `DNS_ZONE_NAME` environment variables, with something like:
```bash
export GOOGLE_PROJECT=example
export ISIDRO_DOMAIN=isidro.example.com
export API_DOMAIN=api.example.com
export MATTERMOST_DOMAIN=mattermost.example.com
export DNS_ZONE_NAME="example-com"
```
Expand All @@ -65,14 +66,10 @@ gcloud projects add-iam-policy-binding $GOOGLE_PROJECT \
--role="projects/$GOOGLE_PROJECT/roles/isidro_provisioner"
gcloud iam service-accounts keys create isidro-provisioner.json \
--iam-account="isidro-provisioner@$GOOGLE_PROJECT.iam.gserviceaccount.com"
export GOOGLE_APPLICATION_CREDENTIALS=$PWD/isidro-provisioner.json
```
Navigate to the [development](provisioning/dev/) or [production](provisioning/prod/) directory, then set the `GOOGLE_APPLICATION_CREDENTIALS` environment variable, with something like:
```bash
export GOOGLE_APPLICATION_CREDENTIALS=../../isidro-provisioner.json
```
Run Terraform provisioning, with something like:
Navigate to the [development](provisioning/dev/) or [production](provisioning/prod/) directory and run Terraform provisioning, with something like:
```bash
gcloud init
terraform init
Expand Down Expand Up @@ -115,6 +112,7 @@ gcloud projects add-iam-policy-binding $GOOGLE_PROJECT \
--role="roles/cloudbuild.builds.builder"
gcloud iam service-accounts keys create isidro-skaffold.json \
--iam-account="isidro-skaffold@$GOOGLE_PROJECT.iam.gserviceaccount.com"
export GOOGLE_APPLICATION_CREDENTIALS=$PWD/isidro-skaffold.json
```
Add helm repositories:
Expand All @@ -123,23 +121,15 @@ helm repo add mattermost https://helm.mattermost.com
helm repo add jetstack https://charts.jetstack.io
```
Setup skaffold credentials:
```bash
export GOOGLE_APPLICATION_CREDENTIALS=isidro-skaffold.json
```
### Development environments
Hydrate configurations:
```bash
cp skaffold.dev.yaml skaffold.yaml
sed -i "s/GOOGLE_PROJECT/$GOOGLE_PROJECT/g" skaffold.yaml
sed -i "s/MATTERMOST_DOMAIN/$MATTERMOST_DOMAIN/g" skaffold.yaml
sed -i "s/ISIDRO_DOMAIN/$ISIDRO_DOMAIN/g" skaffold.yaml
sed -i "s/API_DOMAIN/$API_DOMAIN/g" skaffold.yaml
sed -i "s/DNS_ZONE_NAME/$DNS_ZONE_NAME/g" skaffold.yaml
cp vendor/configconnector-setup.dev.yaml vendor/configconnector-setup.yaml
sed -i "s/GOOGLE_PROJECT/$GOOGLE_PROJECT/g" vendor/configconnector-setup.yaml
```
Make any required `skaffold.yaml` configuration changes, then run skaffold:
Expand All @@ -154,11 +144,8 @@ Hydrate confiigurations:
cp skaffold.prod.yaml skaffold.yaml
sed -i "s/GOOGLE_PROJECT/$GOOGLE_PROJECT/g" skaffold.yaml
sed -i "s/MATTERMOST_DOMAIN/$MATTERMOST_DOMAIN/g" skaffold.yaml
sed -i "s/ISIDRO_DOMAIN/$ISIDRO_DOMAIN/g" skaffold.yaml
sed -i "s/API_DOMAIN/$API_DOMAIN/g" skaffold.yaml
sed -i "s/DNS_ZONE_NAME/$DNS_ZONE_NAME/g" skaffold.yaml
cp vendor/configconnector-setup.dev.yaml vendor/configconnector-setup.yaml
sed -i "s/GOOGLE_PROJECT/$GOOGLE_PROJECT/g" vendor/configconnector-setup.yaml
```
Make any required `skaffold.yaml` configuration changes, then run skaffold:
Expand All @@ -169,4 +156,12 @@ skaffold run
To teardown:
```bash
skaffold delete
```
## Deprovisioning
In the Terraform provisioning directory, run:
```bash
gcloud init
terraform destroy
```
6 changes: 3 additions & 3 deletions site/content/usage/_index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "Usage"
date: 2022-05-25T16:55:37+03:00
date: 2023-01-09T22:55:46+03:00
draft: false
menu:
main:
Expand Down Expand Up @@ -34,7 +34,7 @@ _Relevant if you are using Mattermost as your chat tool_
1. Recommended description is "Push notification enabling the Isidro chatbot to respond to @mentions"
1. Application type is "application/json"
1. Trigger word is "@isidro"
1. Callback URL is https://isidro.example.com/isidro/api/v1/submit (replace isidro.example.com with your Isidro domain)
1. Callback URL is https://api.example.com/v1/submit (replace api.example.com with your Isidro API domain)
1. Leave the remaining values as the defaults
1. Copy the verification token to the Helm values (or Skaffold overrides) as `mattermost.verificationToken`
1. Upgrade the Helm installation
Expand All @@ -50,7 +50,7 @@ Mention @isidro in Slack messages, and get a response. Use separate message thr

### Test payload
```bash
curl -X POST https://isidro.example.com/api/v1/submit \
curl -X POST https://api.example.com/v1/submit \
-H "Content-Type: application/json" \
-d '{"token": "1234567890", "event": {"channel": "quality", "ts": "1234567890", "user": "me", "text": "Hello"}}'
```

0 comments on commit 5fe6ef5

Please sign in to comment.