Installation on Kube using helm

Using our Helm Chart is another easy way to install webhookie. Kubernetes version 1.17 or greater is required.

Follow these simple steps to get up and running fast.

Kube cluster #

It is assumed that you have some kind of Kubernetes cluster available. This can take several forms depending on your environment and needs:

  • Lightweight Minikube on your laptop
  • An AWS EKS cluster. See setup steps.
  • Any other Kubernetes distribution provider.

It also assumed you have helm installed.

Add helm charts #

helm repo add webhookie-repo https://webhookie.github.io/helm-charts/

Install webhookie #

There are a few options when installing webhookie that include:

  • Installing webhookie with keycloak and mongodb. Use this option if you are evaluating webhookie.
  • Installing only webhookie. With this option you need to provide the configuration for your identity platform and mongodb instance.

Installing webhookie with keycloak and mongodb #

Here there are two options to choose from which are:

  • Install with webhookie branding
  • Install with your own company branding

Install with webhookie branding #

helm install webhookie-all webhookie-repo/webhookie-all

Install with your own company branding #

helm install webhookie-all-branded -f ./branding/my-values.yaml \
    --set-file instanceTitle="./branding/title.html" \
    --set-file instanceBody="./branding/body.html" \
    --set-file instanceIcon="./branding/favicon.ico" \
    --set-file instanceLogo="./branding/logo.svg" \
    --set-file instanceHero="./branding/hero.svg" \
    webhookie-repo/webhookie-all-branded

Note that from the folder where you run the helm command there must exist a “branding” folder and in that folder must include the files “title.html”, “body.html”, “favicon.ico”, “logo.svg” and “hero.svg” – see the white-labeling documentation for more details of these files.

In addition, you need to have a my-values.yaml file that includes the other branding variables. The file should include:

WEBHOOKIE_MAIN_COLOR: "'#0051CC'"
WEBHOOKIE_PAGE_TITLE: Check out our webhooks

Note the main color code needs to be within both double quotes (“) and single quotes (‘) to avoid being interpreted as a comment due to the ‘#’ character.

Installing webhookie (byo IdP and MongoDB) #

To install only webhookie with branding run the following command:

helm install webhookie-branded -f ./branding/my-values.yaml \
    -f ./iam-values.yaml \
    -f ./mongodb-values.yaml \
    -f ./amqp-values.yaml \
    --set-file instanceTitle="./branding/title.html" \
    --set-file instanceBody="./branding/body.html" \
    --set-file instanceIcon="./branding/favicon.ico" \
    --set-file instanceLogo="./branding/logo.svg" \
    --set-file instanceHero="./branding/hero.svg" \
    webhookie-repo/webhookie-branded

Note that from the folder where you run the helm command there must exist:

  • a “branding” folder and in that folder must include the files “title.html”, “body.html”, “favicon.ico”, “logo.svg” and “hero.svg” – see the white-labeling documentation for more details of these files. In addition, you need to have a “my-values.yaml” file that includes the other branding variables (see below)
WEBHOOKIE_MAIN_COLOR: "'#0051CC'"
WEBHOOKIE_PAGE_TITLE: Check out our webhooks

Note the main color code needs to be within both double quotes (“) and single quotes (‘) to avoid being interpreted as a comment due to the ‘#’ character.

  • a yaml file with your IdP configuration called “iam-values.yaml”. This would include the variables described in our identify platform setup documentation e.g.
WH_IAM_JWK_SET_URI: "https://webhookie.au.auth0.com/.well-known/jwks.json"
WH_IAM_ISSUER_URI: "https://webhookie.au.auth0.com/"
WH_IAM_JWS_ALG: RS256
WH_SECURITY_AUD: "http://localhost:8080"
WH_SECURITY_CLIENT_ID: nvKDmIK9Q5Zw1UKwpON8LE3tg9vZcXb4
WH_SECURITY_GROUPS_JSON_PATH: $$['https://webhookie.com/entity']
WH_SECURITY_OAUTH2_AUTHORIZATION_URI: "/protocol/openid-connect/auth"
WH_SECURITY_OAUTH2_TOKEN_URI: "/protocol/openid-connect/token"
WH_SECURITY_ENTITY_JSON_PATH: $$.entity
WH_SECURITY_ROLES_JSON_PATH: $$.resource_access.webhookie_client.roles
WH_SECURITY_AUTO_ASSIGN_CONSUMER_ROLE: true
  • a yaml file with your MongoDB configuration called “mongodb-values.yaml”. This would include your MongoDB uri variable. E.g.
WH_MONGODB_URI: "mongodb://mongodb/webhookie-db?retryWrites=true&w=majority&maxPoolSize=200"
  • a yaml file with your AMQP settings if you are using AMQP to integrate with webhookie. See AMQP setup for more details. This file would be called “amqp-values.yaml” and have the values:
WH_AMQP_HOST: "vulture.rmq.cloudamqp.com"
WH_AMQP_V_HOST: nbcwv012
WH_AMQP_USERNAME: nbcwv012
WH_AMQP_PASSWORD: lkadkjadjdkaldlal
WH_CONSUMER_QUEUE: "wh-ingress.event"
WH_CONSUMER_MISSING_HEADER_EXCHANGE: "wh-dead-letter"
WH_CONSUMER_MISSING_HEADER_ROUTING_KEY: "wh-missing-header"

Powered by BetterDocs