File size: 3,614 Bytes
d74c0dc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/usr/bin/env python3
"""
Simple script to check Supabase environment variables
"""

import os
import sys
from pathlib import Path
from dotenv import load_dotenv

# Load .env file
load_dotenv()

print("=" * 70)
print("Supabase Environment Variables Check")
print("=" * 70)
print()

# Check SUPABASE_URL
supabase_url = os.getenv("SUPABASE_URL")
if supabase_url:
    print(f"[OK] SUPABASE_URL is set")
    print(f"     Value: {supabase_url}")
    if not supabase_url.startswith("https://"):
        print(f"     [WARNING] URL should start with https://")
    if ".supabase.co" not in supabase_url:
        print(f"     [WARNING] URL should contain .supabase.co")
else:
    print("[ERROR] SUPABASE_URL is NOT set")
    print("        Required for Supabase integration")

print()

# Check SUPABASE_SERVICE_KEY
supabase_key = os.getenv("SUPABASE_SERVICE_KEY")
if supabase_key:
    key_length = len(supabase_key)
    print(f"[OK] SUPABASE_SERVICE_KEY is set")
    print(f"     Length: {key_length} characters")
    
    if key_length < 100:
        print(f"     [ERROR] Key is too short ({key_length} chars)")
        print(f"            Expected: 200+ characters")
        print(f"            This looks like an 'anon' key, not 'service_role' key!")
        print(f"            Get the correct key from:")
        print(f"            Supabase Dashboard -> Settings -> API -> service_role key")
    elif key_length < 200:
        print(f"     [WARNING] Key might be incomplete ({key_length} chars)")
        print(f"              Expected: 200+ characters")
    else:
        print(f"     [OK] Key length looks correct ({key_length} chars)")
    
    # Check if it starts with eyJ (JWT token format)
    if supabase_key.startswith("eyJ"):
        print(f"     [OK] Key format looks correct (JWT token)")
    else:
        print(f"     [WARNING] Key doesn't start with 'eyJ' (unusual for JWT)")
    
    # Show first and last few characters (masked)
    if key_length > 20:
        masked = supabase_key[:10] + "..." + supabase_key[-10:]
        print(f"     Preview: {masked}")
else:
    print("[ERROR] SUPABASE_SERVICE_KEY is NOT set")
    print("        Required for Supabase integration")
    print("        Get it from: Supabase Dashboard -> Settings -> API -> service_role key")

print()

# Check POSTGRESQL_URL (optional)
postgres_url = os.getenv("POSTGRESQL_URL")
if postgres_url:
    print(f"[INFO] POSTGRESQL_URL is set (optional, for migrations)")
    if len(postgres_url) > 50:
        masked = postgres_url[:30] + "..." + postgres_url[-20:]
        print(f"        Value: {masked}")
    else:
        print(f"        Value: {postgres_url}")
else:
    print("[INFO] POSTGRESQL_URL is not set (optional, only needed for migrations)")

print()
print("=" * 70)
print("Summary")
print("=" * 70)

has_url = bool(supabase_url)
has_key = bool(supabase_key)
key_valid = has_key and len(supabase_key) >= 200

if has_url and has_key and key_valid:
    print("[SUCCESS] Supabase environment variables are correctly configured!")
    print("          Your data should upload to Supabase automatically.")
elif has_url and has_key:
    print("[WARNING] Supabase URL and key are set, but key appears invalid.")
    print("          Check that you're using the 'service_role' key (not 'anon' key).")
elif has_url or has_key:
    print("[ERROR] Supabase configuration is incomplete.")
    print("        Both SUPABASE_URL and SUPABASE_SERVICE_KEY must be set.")
else:
    print("[ERROR] Supabase is not configured.")
    print("        Set SUPABASE_URL and SUPABASE_SERVICE_KEY in your .env file.")

print()
print("=" * 70)