Configure your Airy Core instance
Use an airy.yaml configuration file to customize your Airy Core instance
The configuration workflow is as simple as:
$EDITOR /path/to/config/directory/airy.yaml # edit your airy.yaml file
airy config apply --workspace /path/to/config/directory/ # apply your config
Your Airy Core instance will start and stop components according to your configuration. For example, if you do not wish to start Facebook components, it is enough not to provide any Facebook specific configuration.
If you installed Airy with Helm, then you need to setup your workspace directory, before you can use the CLI.
Now let's have a look at the different sections so you can make the changes you are looking for.
Config
These settings are used to connect the Airy Components to your Kafka cluster:
kafka
brokers
comma separated list of the broker endpointszookeepers
comma separated list of the zookeeper endpointsschemaRegistryUrl
url to the Schema RegistrycommitInterval
the Kafka Commit Interval if you are using the included Helm chartauthJaas
the JAAS configuration used to authenticate to remote Kafka clusters. Read more.
Ingress
ingress-controller
https
set totrue
to enable HTTPSloadbalancerAnnotations
list of annotations used to configure the LoadBalancer pointing to the ingress controller, in cloud environment (for AWS the following annotation is added by default:service.beta.kubernetes.io/aws-load-balancer-type: nlb
)letsencryptEmail
the e-mail address used for Let's Encrypt registration, when using HTTPS.
Security
systemToken
set to a long secure secret to use for machine API authenticationallowedOrigins
your site's origin to prevent CORS-based attacks (default:"*"
)oidc
a map of values that when set enable and define OIDC authenticationjwtSecret
used to create jwt http sessions derived from oidc authentication (default: randomized on installation)
Components
sources
facebook
appId
set this to your Facebook App IDappSecret
set this to your Facebook App SecretwebhookSecret
set this to a webhook secret of your choice (optional)
google
saFile
copy here the content of your Google service account key file (one line json string)partnerKey
set this to your Google partner key
twilio
authToken
set this to your Twilio authentication tokenaccountSid
set this to your Twilio account SID
viber
authToken
set this to your Viber authentication token
The Airy Controller only starts configured sources. To keep system load to a minimum, only add the sources you are using.
integration
webhook
name
set this to the name of your webhook integration
media
storage
s3Key
set this to your AWS S3 access key ids3Secret
set this to your AWS S3 secret access key (The bucket needs to have PublicRead privileges)s3Bucket
set this to your AWS S3 buckets3Region
set this to your AWS regions3Path
set this to your AWS S3 path
Global
global
host
set this to your Hostingress
letsencrypt
set this totrue
if you are using LetsEncrypt in your ingress-controller
Tools
These settings are used to enable or disable some external tools used to monitor or debug the Airy Core.
akhq
Kafka GUI for Apache Kafka (For more information visit akhq.io)enabled
set to eithertrue
to start AKHQ orfalse
(default) to disable it
segment
Tracking tool that tracks anonymous usage of the platformenabled
set tofalse
if you want to disable tracking
Example airy.yaml file
For example, if you want to enable Facebook and Google sources, as well as the webhook integration, and the AKHQ tool, your airy.yaml
file should look like this:
ingress-controller:
ngrokEnabled: true
https: false
security:
allowedOrigins: "*"
systemToken: "my-token-for-the-api"
jwtSecret: "generated-secret-during-installation"
components:
sources:
facebook:
appId: "fb-app-id"
appSecret: "fb-app-secret"
webhookSecret: "my-webhook-secret"
google:
saFile: '{"type": "service_account","project_id": "my-project","private_key_id": "my-private-key-id","private_key": "-----BEGIN PRIVATE KEY-----\nKEY-DATA-\n-----END PRIVATE KEY-----\n","client_email": "some-e-mail","client_id": "client-id",....}'
partnerKey: "gl-private-key"
integration:
webhook:
name: webhook
source-api:
enabled: true
Applying the configuration
If you made changes in airy.yaml
and want to apply it to your instance you can
use the airy config apply by running the
following Airy CLI command.
airy config apply --workspace /path/to/config/directory/