v0.165.0
 1from plain.preflight import PreflightCheck, PreflightResult, register_check
 2from plain.runtime import settings
 3
 4
 5@register_check(name="connect.secret_key")
 6class CheckConnectSecretKey(PreflightCheck):
 7    def run(self) -> list[PreflightResult]:
 8        if str(settings.CONNECT_SECRET_KEY):
 9            return []
10        if not settings.CONNECT_PAGEVIEWS_PUBLIC_TOKEN:
11            return []
12        return [
13            PreflightResult(
14                fix=(
15                    "CONNECT_PAGEVIEWS_PUBLIC_TOKEN is set but CONNECT_SECRET_KEY is empty. "
16                    "Get the shared secret from the App settings page on Plain Cloud "
17                    "and set CONNECT_SECRET_KEY in app/settings.py (or the "
18                    "PLAIN_CONNECT_SECRET_KEY env var), or unset the token."
19                ),
20                id="connect.secret_key_missing",
21                warning=True,
22            )
23        ]