Skip to main content

Complete Guide to Installing Blink: Requirements and Step-by-Step Process

Make sure your system meets all the prerequisites and requirements outlined in this guide before installing Blink. This document will guide you through the necessary preparations and the actual installation process, ensuring a seamless setup of the Blink platform.

Prerequisites

Before you install Blink, you must do the following:

  • K8s cluster - in version 1.21 or higher

    • System requirements
      • At least 50 GB of free storage per node
      • 8 CPU cores
      • 32 GB of RAM
  • Kubectl on your machine pointed to this cluster

  • Helm package manager on your local machine. See the official Helm documentation for your operating system.

  • AWS CLI Installation - see the official AWS docs for install guidelines

  • Vault - version 1.10.3 or higher

  • Postgres - version 13 or higher

  • Google Vertex AI (PaLM) Service Account - To create a service account please see the following guide and create a Google service account with a Vertex AI user role.

  • OpenAI token for Blink Copilot - To create an OpenAI API key please see the following guide or create one using Azure.

  • Outgoing mail service (SMTP)

Initial Installation

note

Please note that these instillation processes is a once off process and does not need to be repeated during the updating process.

1. Create DB and user in Postgres

create user blink with encrypted password '<YOUR_PASSWORD_HERE>';
grant blink to postgres;
CREATE DATABASE blink OWNER blink;

2. Configure Your AWS Profile

aws configure --profile <PROFILE_NAME>
        AWS Access Key ID [None]: <ADD_KEY_ID> (provided by Blink team)

AWS Secret Access Key [None]: <ADD_SECRET_KEY> (provided by Blink team)

Default region name [None]: us-east-1

Default output format [None]: json

aws ecr get-login-password --profile <PROFILE_NAME> --region us-east-1 | helm registry login --username AWS --password-stdin 508219855436.dkr.ecr.us-east-1.amazonaws.com

Enter the following command in order to switch to the blink namespace.

kubectl config set-context --current --namespace=blink

5. Install the helm with custom values

helm upgrade -i blink-onprem oci://508219855436.dkr.ecr.us-east-1.amazonaws.com/blink-onprem --version <BLINK_VERSION> -f <VALUES_LOCATION>
info

Default values will be provided by Blink Ops Team.

6. Create a job that will generate the docker reg-cred for the first pull of the images.

kubectl create job --from=cronjob/ecrregcred-credential-cron ecr-now

7. Configuration GChat bot

For client who want to use their own Blink GChat bot, please follow the following steps to configure the bot. This is a once off process and does not need to be repeated during the updating process.

  • Enable Google-Chat API

    • You can enable the Google Chat API by following the steps below:
      • Go to the Google Cloud Console
      • Select the project you want to use
      • Go to the API & Services -> Library
      • Search for Google Chat API
      • Enable the API
    • Set Name to Blink
    • Set Avatar URL to https://media.licdn.com/dms/image/C4D0BAQGQXO-RbWE-dg/company-logo_200_200/0/1646240453646?e=2147483647&v=beta&t=3Ti3Ioosy_3Cr0iBF0RgM7EW6VDbkebnG6gT1lwJ2YQ
    • Set Description to A Google Chat Blink app
    • Enable Interactive features
      • Mark V for Receive 1:1 messages
      • Mark V for Join spaces and group conversations
    • Set Connection Settings
      • Pub / Sub (If using Pub / Sub)
        • Create a Topic before, so you will have the topic name (e.g. projects/blink-385612/topics/blink-chat-bot)
      • App URL (If using Webhook)
        • Communicate via webhook to ngrok / cloudflare tunnel or a deployed version, whatever you decide.
    • Set Slash Commands
      • /help
        • Command ID: 1
        • Description: Get further help regarding the Blink app
      • /portal
        • Command ID: 2
        • Description: Execute automations via Blink Google Chat Bot
        • Mark V for Opens a dialog if using Webhook mode.
  • Enable Google Pub/Sub API (If using Pub / Sub)

  • To enable both APIs please use this link: https://console.cloud.google.com/flows/enableapi?apiid=chat.googleapis.com,pubsub.googleapis.com

  • Create a Service Account for the bot follow the guide here

    • If using Pub / Sub add Pub / Sub Admin permission
  • If using Pub / Sub Add Pub / Sub Publisher permission to chat-api-push@system.gserviceaccount.com

Update Process

note

Before proceeding with the update process, confirm that you have completed the Configuring Your AWS Profile step at least once. This setup is essential for the subsequent steps to function correctly.

The following installation processes will need to be repeated during the update process.

aws ecr get-login-password --profile <PROFILE_NAME> --region us-east-1 | helm registry login --username AWS --password-stdin 508219855436.dkr.ecr.us-east-1.amazonaws.com

Enter the following command in order to switch to the blink namespace.

kubectl config set-context --current --namespace=blink

3. Install the helm with custom values

helm upgrade -i blink-onprem oci://508219855436.dkr.ecr.us-east-1.amazonaws.com/blink-onprem --version <BLINK_VERSION> -f <VALUES_LOCATION>
info

Default values will be provided by Blink Ops Team.