Deployment

Prerequisites
  • Access to a running Airy Core installation Get started
  • A valid Airy Enterprise token

In order to deploy teams you can apply the following Kubernetes Deployment descriptor to your Airy Core Kubernetes cluster.

  1. Copy the snippet below to a file called teams-deployment.yaml
  2. Replace <your airy enterprise token> with the token you received during onboarding
  3. Apply the deployment descriptor by running:
kubectl apply -f teams-deployment.yaml

teams-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
name: enterprise-teams
namespace: default
labels:
app: enterprise-teams
type: api
spec:
replicas: 1
selector:
matchLabels:
app: enterprise-teams
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: enterprise-teams
spec:
containers:
- name: app
image: ghcr.io/airyhq/enterprise/teams:release
imagePullPolicy: Always
envFrom:
- configMapRef:
name: security
env:
- name: CONVERSATIONS_HOST
value: http://api-communication.default.svc.cluster.local
- name: AIRY_ENTERPRISE_TOKEN
value: <your airy enterprise token>
- name: KAFKA_BROKERS
valueFrom:
configMapKeyRef:
name: kafka-config
key: KAFKA_BROKERS
- name: KAFKA_SCHEMA_REGISTRY_URL
valueFrom:
configMapKeyRef:
name: kafka-config
key: KAFKA_SCHEMA_REGISTRY_URL
- name: KAFKA_COMMIT_INTERVAL_MS
valueFrom:
configMapKeyRef:
name: kafka-config
key: KAFKA_COMMIT_INTERVAL_MS
livenessProbe:
httpGet:
path: /actuator/health
port: 8080
httpHeaders:
- name: Health-Check
value: health-check
initialDelaySeconds: 60
periodSeconds: 10
failureThreshold: 3
---
apiVersion: v1
kind: Service
metadata:
name: enterprise-teams
namespace: default
labels:
core.airy.co/prometheus: spring
spec:
ports:
- name: web
port: 80
targetPort: 8080
protocol: TCP
type: NodePort
selector:
app: enterprise-teams

Deploying outside of the cluster

You can also run the Teams Docker image on your own using Docker or Kubernetes. For this you need to provide it with the following environment variables:

  • AIRY_ENTERPRISE_TOKEN The enterprise token you were given during onboarding.
  • CONVERSATIONS_HOST The host that serves the /conversations.list endpoint.