# This property allows the server to run behind a proxy server and still resolve all the urls correctly
server.forward-headers-strategy=NATIVE

spring.data.mongodb.auto-index-creation=false

# Ensures that the size of the request object that we handle is controlled. By default it's 212KB.
spring.codec.max-in-memory-size=5MB

# MongoDB Application Database
spring.data.mongodb.uri = ${APPSMITH_MONGODB_URI}

# Log properties
logging.level.root=info
logging.level.com.appsmith=debug
logging.pattern.console=%X - %m%n

#Spring security
spring.security.oauth2.client.registration.google.client-id=${APPSMITH_OAUTH2_GOOGLE_CLIENT_ID:missing_value_sentinel}
spring.security.oauth2.client.registration.google.client-secret=${APPSMITH_OAUTH2_GOOGLE_CLIENT_SECRET:}
spring.security.oauth2.client.provider.google.userNameAttribute=email
spring.security.oauth2.client.registration.github.client-id=${APPSMITH_OAUTH2_GITHUB_CLIENT_ID:missing_value_sentinel}
spring.security.oauth2.client.registration.github.client-secret=${APPSMITH_OAUTH2_GITHUB_CLIENT_SECRET:}
spring.security.oauth2.client.provider.github.userNameAttribute=login

# Accounts from specific domains are allowed to login
oauth2.allowed-domains=${APPSMITH_OAUTH2_ALLOWED_DOMAINS:}

# Segment & Rollbar Properties
# These properties are intentionally set to random values so that events are not sent to either of them during local development
segment.writeKey=${APPSMITH_SEGMENT_KEY:}
com.rollbar.access-token=${APPSMITH_ROLLBAR_ACCESS_TOKEN:}
roolbar.env = ${APPSMITH_ROLLBAR_ENV:}

# RapidAPI
rapidapi.key.name = X-RapidAPI-Key
rapidapi.key.value = ${APPSMITH_RAPID_API_KEY_VALUE:}

# Redis Properties
spring.redis.url=${APPSMITH_REDIS_URL}

# Mail Properties
# Email defaults to false, because, when true and the other SMTP properties are not set, Spring will try to use a
#   default localhost:25 SMTP server and throw an error. If false, this error won't happen because there's no attempt
#   to send an email.
mail.enabled=${APPSMITH_MAIL_ENABLED:false}
mail.from=${APPSMITH_MAIL_FROM:appsmith@localhost}
reply.to=${APPSMITH_REPLY_TO:appsmith@localhost}
spring.mail.host=${APPSMITH_MAIL_HOST:}
spring.mail.port=${APPSMITH_MAIL_PORT:}
spring.mail.username=${APPSMITH_MAIL_USERNAME:}
spring.mail.password=${APPSMITH_MAIL_PASSWORD:}
spring.mail.properties.mail.smtp.auth=${APPSMITH_MAIL_SMTP_AUTH:}
spring.mail.properties.mail.smtp.starttls.enable=${APPSMITH_MAIL_SMTP_TLS_ENABLED:}

# Marketplace Properties
marketplace.base-url = ${APPSMITH_MARKETPLACE_URL:}
marketplace.username=${APPSMITH_MARKETPLACE_USERNAME:}
marketplace.password=${APPSMITH_MARKETPLACE_PASSWORD:}

# Is this a self-hosted instance?
is.self-hosted = ${APPSMITH_IS_SELF_HOSTED:true}

# MANDATORY!! No default properties are being provided for encryption password and salt for security.
# The server would not come up without these values provided through the environment variables.
encrypt.password=${APPSMITH_ENCRYPTION_PASSWORD:}
encrypt.salt=${APPSMITH_ENCRYPTION_SALT:}
