captainVersion: 4
services:
    $$cap_appname:
        image: hasura/graphql-engine:$$cap_hasura_version
        restart: always
        environment:
            HASURA_GRAPHQL_DATABASE_URL: $$cap_database_url
            HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
            HASURA_GRAPHQL_ADMIN_SECRET: $$cap_admin_secret
            HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
        caproverExtra:
            containerHttpPort: '8080'
caproverOneClickApp:
    variables:
        - defaultValue: v1.2.2
          description: Check out their GitHub page for their latest version https://github.com/hasura/graphql-engine
          id: $$cap_hasura_version
          label: Hasura Version
          validRegex: /^([^\s^\/])+$/
        - description: The admin secret gives you access to the console.
          id: $$cap_admin_secret
          label: Hasura admin secret(password)
          validRegex: /^(?=.*\d).{10,}$/
        - id: $$cap_database_url
          label: Postgres Connection URL
          description: postgres://username:password@host/database
          validRegex: /postgres://.+/.+/
    instructions:
        end: >
            Hasura is deployed and available as $$cap_appname. 

             IMPORTANT: It will take up to 2 minutes for Hasura to be ready. Before that, you might see 502 error page.
        start: Instant Realtime GraphQL on Postgres with web admin console.
    displayName: Hasura - No Database
    isOfficial: true
    description: Instant realtime GraphQL APIs on any Postgres application, existing or new
    documentation: Hasura GraphQL Engine
