# Learn how to configure the Mercure.rocks Hub on https://mercure.rocks/docs/hub/config
{
        {$GLOBAL_OPTIONS}
}

{$CADDY_EXTRA_CONFIG}

{$SERVER_NAME:localhost} {
        log {
                format filter {
                        fields {
                                request>uri query {
                                        replace authorization REDACTED
                                }
                        }
                }
        }

        encode zstd gzip

        mercure {
                # Publisher JWT key
                publisher_jwt {env.MERCURE_PUBLISHER_JWT_KEY} {env.MERCURE_PUBLISHER_JWT_ALG}
                # Subscriber JWT key
                subscriber_jwt {env.MERCURE_SUBSCRIBER_JWT_KEY} {env.MERCURE_SUBSCRIBER_JWT_ALG}
                # Permissive configuration for the development environment
                cors_origins *
                publish_origins *
                demo
                anonymous
                subscriptions
                # Extra directives
                {$MERCURE_EXTRA_DIRECTIVES}
        }

        {$CADDY_SERVER_EXTRA_DIRECTIVES}

        redir / /.well-known/mercure/ui/

        respond /healthz 200
        respond /robots.txt `User-agent: *
        Disallow: /`
        respond "Not Found" 404
}
