Configure the Aipix platform deployment

All operations will be executed on VM1, unless an alternative is explicitly designated.

To configure the Aipix platform deployment, follow these steps:

  1. Go to the working directory:

Bash
cd ~/aipix-deploy/kubernetes
  1. Create the sources.sh file from sources.sh.sample:

Bash
./generate-sources.sh
  1. Configure your Aipix platform deployment:

Bash
vim ./sources.sh
Bash
#!/bin/bash -e
### Beginning of the VSaaS base configuration ###

export DOCKER_USERNAME=aipix                        # Username for logging in to the Nexus Docker registry
export DOCKER_PASSWORD=aipix                        # Password for logging in to the Nexus Docker registry
export TRAEFIK_DOMAIN=traefik-dashboard.example.com # Domain name for the Traefik dashboard
export TRAEFIK_NAMESPACE=traefik-v2                 # Kubernetes namespace for the Traefik application
export VMS_DOMAIN=vms.example.com                   # Domain name for VMS
export ANALYTICS_DOMAIN=orch.example.com            # Domain name for the orchestrator
export NS_VMS=vsaas-vms                             # Kubernetes namespace for the VMS application
export NS_MS=vsaas-ms                               # Kubernetes namespace for media servers
export NS_A=vsaas-analytics                         # Kubernetes namespace for analytics
export NS_MINIO=minio-single                        # Kubernetes namespace for MinIO S3

# Use "minio-single" for a demo installation or "minio-ha" for a production installation
export RWO_STORAGE=local-storage # Storage class for ReadWriteOnce

# Use standard-rwo for GKE

export RWX_STORAGE=openebs-kernel-nfs # Storage class for ReadWriteMany

# Use standard-rwx for GKE

export ANALYTICS=no # Whether to deploy analytics ("yes" or "no")
export TYPE=single  ## Installation options
# 1) "single" - Single-node demo installation plus one node for analytics if enabled
# 2) "prod" - Multinode production installation with high availability (HA)

export VMS_LIC_OFFLINE=no # Whether to use an offline VMS license ("yes" or "no")
export MS_LIC_OFFLINE=no  # Whether to use an offline media server license ("yes" or "no")
export A_LIC_OFFLINE=no   # Whether to use an offline analytics license ("yes" or "no")

# Basic MinIO S3 deployment parameters:

export MINIO_CONSOLE_DOMAIN=minio-console.example.com                         # MinIO console domain name for a single-node installation
export MINIO_CONSOLE_DOMAIN_1=minio-console-1.example.com                     # MinIO console domain name for a redundant installation
export MINIO_CONSOLE_DOMAIN_2=minio-console-2.example.com                     # MinIO console domain name for a redundant installation
export MINIO_USR=minioadmin                                                   # MinIO administrator username
export MINIO_PSW=miniopassword                                                # MinIO administrator password
export MINIO_BACKEND_BUCKET_NAME=vms-store                                    # Public MinIO bucket name for the VMS backend
export MINIO_BACKEND_ACCESS_KEY=P30F6ONUEH7CZ8513H4S                          # MinIO access key for the VMS backend public bucket (use letters and numbers only)
export MINIO_BACKEND_SECRET_KEY=gZ6s6WCmTVfvJ062q4U4VeJOGnEcyfYYHPKD0Lr6      # MinIO secret key for the VMS backend public bucket (use letters and numbers only)
export MINIO_BACKEND_BUCKET_NAME_PRIV=vms-store-priv                          # Private MinIO bucket name for the VMS backend
export MINIO_BACKEND_ACCESS_KEY_PRIV=O30F6ONUEH7CZ8R13H49                     # MinIO access key for the VMS backend private bucket (use letters and numbers only)
export MINIO_BACKEND_SECRET_KEY_PRIV=lZ4d6RCmTVfvJ062q4U1VesOGnEcyfYYHPKD0Ye3 # MinIO secret key for the VMS backend private bucket (use letters and numbers only)
export MINIO_PORTAL_BUCKET_NAME=portal-store                                  # Public MinIO bucket name for the portal
export MINIO_PORTAL_ACCESS_KEY=X4076ONYEH7CZ8D13H73                           # MinIO access key for the portal public bucket (use letters and numbers only)
export MINIO_PORTAL_SECRET_KEY=eC6d6WCmTsfvJ03lq4U1VeJOGnEcyfYYHPKD0es9       # MinIO secret key for the portal public bucket (use letters and numbers only)
export MINIO_PORTAL_BUCKET_NAME_PRIV=portal-store-priv                        # Private MinIO bucket name for the portal
export MINIO_PORTAL_ACCESS_KEY_PRIV=T30d8OSUEH7CZ8R1HS6A                      # MinIO access key for the portal private bucket (use letters and numbers only)
export MINIO_PORTAL_SECRET_KEY_PRIV=pA6d6RsmTVfvJ066q4U1VeJOGnEdyf4YHPKD0gsT  # MinIO secret key for the portal private bucket (use letters and numbers only)
export MINIO_ANALYTICS_BUCKET_NAME=analytics-store                            # MinIO bucket name for analytics
export MINIO_ANALYTICS_ACCESS_KEY=Y4RJU1RNFGK48LGO9I2S                        # MinIO access key for the analytics bucket (use letters and numbers only)
export MINIO_ANALYTICS_SECRET_KEY=qV6drWCmTV0vJ0Q2q921VeJOGnEcyfYYHPKD0k7R    # MinIO secret key for the analytics bucket (use letters and numbers only)
export MINIO_LOGS_BUCKET_NAME=logs                                            # Bucket name for logs
export MINIO_LOGS_ACCESS_KEY=TW2N577S01BDXSSRCJB2                             # MinIO access key for the logs bucket
export MINIO_LOGS_SECRET_KEY=uTgCH2La9fH749uE5v2RqpaCOsxfRUmGLktyN2dn         # MinIO secret key for the logs bucket
export MINIO_GRAFANA_BUCKET_NAME=grafana                                      # Bucket name for Grafana
export MINIO_GRAFANA_ACCESS_KEY=YGSTBZ1FKPPRJCOV8X3L                          # MinIO access key for the Grafana dashboards bucket
export MINIO_GRAFANA_SECRET_KEY=ka2LGfUfYOy0ACBxQvqxbvjpn18KZ5w6XMbM1zAL      # MinIO secret key for the Grafana dashboards bucket

# Monitoring parameters

export MONITORING=no                                 # Whether to deploy monitoring ("yes" or "no")
export NS_MONITORING=monitoring                      # Kubernetes namespace for monitoring
export INFLUX_USR=admin                              # InfluxDB administrator username
export INFLUX_PSW=0hmSYYaRci6yJblARc6aHbHZ4YelTXTo   # InfluxDB administrator password (use letters and numbers only)
export INFLUX_TOKEN=2pORp9tDo40Lm32oGUKFLL8r1UuNbgUT # InfluxDB API token (use letters and numbers only)
export CONTACT_POINT=Telegram                       # Default notification contact point (Telegram or Slack)
export TELEGRAM_BOT_TOKEN=temporary-telegram-token  # Telegram bot token for notifications
export TELEGRAM_CHAT_ID=temporary-telegram-chat-id  # Telegram chat ID for notifications
export SLACK_BOT_TOKEN=temporary-slack-token        # Slack bot token for notifications
export SLACK_CHANNEL_ID=temporary-slack-channel-id  # Slack channel ID for notifications

# Portal parameters

export PORTAL=no                                  # Whether to deploy the portal ("yes" or "no")
export PORTAL_STUB_DOMAIN=portal-stub.example.com # Portal stub domain name

# VGW parameters

export VGW=no # Whether to deploy VGW ("yes" or "no")

# WB parameters

export WB=no # Whether to deploy the WB integration ("yes" or "no")

# Embed player parameters

export EMBED_PLAYER=no # Whether to deploy the Embed player ("yes" or "no")

# Location parameters

export CITY= # City name

# BLE parameters

export BLE=no                                                        # Whether to deploy the BLE service ("yes" or "no")
export BLE_DOMAIN=ble.example.com                                    # Domain name for BLE
export MINIO_BLE_BUCKET_NAME=ble-service                             # Bucket name for BLE
export MINIO_BLE_ACCESS_KEY=SF2GI0WH6XBM59MH3SDC                     # MinIO access key for the BLE bucket
export MINIO_BLE_SECRET_KEY=wQh8SUmGuf7HDPn7wqvZq3qJxyIxVsqIXP9Ew6dw # MinIO secret key for the BLE bucket
export BLE_JWT_SECRET=eVU6RcFWlC4lR4pE9dHwipmKLFeASbCE               # JWT secret for BLE

### End of the VSaaS base configuration ###