Skip to main content

Production Deployment

We recommend using managed services as much as possible. Our basic Helm chart deploys pods for DB, S3, etc., which is great for small environments but not intended for production.

Best Practices

  1. Managed PostgreSQL / Aurora PostgreSQL
  2. Fast Managed S3 (Object Storage).
  3. Managed Redis
  4. Managed Elasticsearch / OpenSearch
  5. Multiple pods for RepoFlow server deployment in the chart
  6. Multiple pods for RepoFlow client deployment in the chart
  7. Disable the console UI of Hasura

Required Changes in Helm Chart

Below are the server, client, and Hasura environment variables you will likely need to configure. For more details, refer to the relevant documentation:

Server Environment Variables

(Read more here):

  • S3 connection details
  • Redis connection details
  • Search engine connection details (Elasticsearch/OpenSearch)
  • SERVER_URL
  • FRONTEND_URL
  • HASURA_URL
  • COOKIE_DOMAIN
  • GENERAL_COOKIE_SECRET
  • JWT_SECRET
  • RESET_PASSWORD_JWT_SECRET
  • PERSONAL_ACCESS_TOKEN_JWT_SECRET
  • HASURA_ADMIN_SECRET

Hasura Environment Variables

  • HASURA_GRAPHQL_ADMIN_SECRET (must match the server's HASURA_ADMIN_SECRET value)

Client Environment Variables

(Read more here):

  • HASURA_API_URL
  • HASURA_WEB_SOCKET_URL
  • IS_CONNECTION_SECURE
  • REPOFLOW_SERVER
  • COOKIE_DOMAIN