env:
# These are required for your environment to function correctly, and for us to push feature flags to you
environment: on_prem
onPremCustomerName: <the `customerName` from your license file>
ginMode: "release"
# Providing "false" here will prevent your instance of Opal from exporting error logs
enableRemoteLogging: "false"
# Set the authIssuer based on the OIDC provider you created.
authIssuer: <OIDC Auth Issuer>
# Leave the authProvider and authAudience as these values
authProvider: GENERIC_OIDC
authAudience: https://opal.dev
# Fill these in appropriately for the db instance you setup
postgresUser: postgres
postgresPassword: <postgres db password>
postgresDb: opal
postgresHost: <postgres host>
postgresSslMode: "require"
postgresPort: 5432
# Generate secret values for these, and save them somewhere secure.
authTokenEncryptionKey: <a random, secure string>
csrfAuthenticationKey: <a random, secure string>
databaseEncryptionKey: <a random, secure string>
opalApiEncryptionKey: <a random, secure string>
secureCookieHashkey: <a random, secure string>
minioAccessKey: <a random, secure string>
minioSecretKey: <a random, secure string>
minioRootUser: <a random, secure string>
minioRootPassword: <a random, secure string>
# Set the <namespace> to the kubernetes namespace you're deploying opal into
redisHost: opal-web-redis-master.<namespace>.svc.cluster.local
redisPort: 6379
# A DNS name you own that you will use to access Opal.
hostname: <hostname for accessing opal>
# This configures an SMTP provider for your instance of Opal to use for sending email notifications
# If set to false, Opal would use its default external service for sending emails
smtpEnable: true
smtpServer: <smtp server>
smtpPort: <smtp port>
# Set smtpEncryptioonEnabled to true to enable SMTP encryption. serverPort 465 uses SMTPS and serverPort uses STARTTLS
smtpEncryptionEnabled: false
fullAirGap:
# This is what tells Opal to run as an Airgapped instance
enabled: true
# Use the Client ID and Client Secret of the OIDC provider you created
# If you had to create 2 OIDC providers, this one should be the one that supports the Authorization Code grant
authClientID: <client id>
authClientSecret: <client secret>
# This is a human-readable name you can provide as a label for your auth provider
# When signing in, your users will see a button that reads "Signin with <authProviderName>"
authProviderName: <auth provider name>
image:
# The private image repository you setup for Opal images
repository: <image repo url>
# Set these `registry` values to the same as `image.repository` above
redis:
image:
registry: <image repo url>
redis-sentinel-event-streaming:
image:
registry: <image repo url>
sentinel:
image:
registry: <image repo url>
# Setting `enabled` to true will deploy an Ingress resource you can use to route traffic to Opal
# If you disable this, you will need to create your own ingress that routes traffic to the `opal-web` service
ingress:
enabled: true
# Always leave `override=true`
override: true
overrideAnnotations:
# Here, you should fill in annotations that will link your ingress to the load balancer you created in your cloud provider
# For AWS, this will look something like:
# kubernetes.io/ingress.class: alb
# alb.ingress.kubernetes.io/scheme: internet-facing
# alb.ingress.kubernetes.io/certificate-arn: <ACM certificate ARN>
# For GCP, this will look something like
# ingress.gcp.kubernetes.io/pre-shared-cert: opal-replicated
# kubernetes.io/ingress.global-static-ip-name: opal-replicated
# This controls RelayProxy, our replacement service for LaunchDarkly that provides feature flags to your cluster
ld-relay:
image:
repository: <image repo url>/opal-ld-relay-proxy
# You may also set a `tag` attribute here if you need to override the version of the proxy to run
# Otherwise, it'll default to the same version as your application
# Providing "false" here will prevent your instance of Opal from exporting application logs
log-forwarder:
enabled: false
# Leave the rest of these as-is
database:
migrationDirection: up
dataSeedDirection: up
vault:
enabled: false