33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
import uuid, hashlib, base64, subprocess
|
|
|
|
groups = {
|
|
"DD": "da915d4f72fa42f68509",
|
|
"KPT": "adba740446b0413b89ab",
|
|
"Personal": "cc9168e7b8d7437499c2",
|
|
}
|
|
|
|
acct = "d898edfkclh0009hc94g"
|
|
|
|
# Delete old proxmox-lxc setup key
|
|
subprocess.run(["docker", "exec", "-i", "netbird-server", "sqlite3", "/var/lib/netbird/store.db",
|
|
"DELETE FROM setup_keys WHERE name = 'proxmox-lxc';"], check=True)
|
|
|
|
for gname, gid in groups.items():
|
|
plain = str(uuid.uuid4()).upper()
|
|
h = hashlib.sha256(plain.encode()).digest()
|
|
encoded = base64.b64encode(h).decode()
|
|
|
|
key_id = uuid.uuid4().hex[:20]
|
|
|
|
sql = f"""INSERT INTO setup_keys (id, account_id, key, key_secret, name, type, created_at, expires_at, updated_at, revoked, used_times, usage_limit, ephemeral, auto_groups)
|
|
VALUES ('{key_id}', '{acct}', '{encoded}', '{plain[:4]}****', '{gname}-setup', 'reusable', datetime('now'), datetime('now', '+10 years'), datetime('now'), 0, 0, 0, 0, '["{gid}"]');"""
|
|
|
|
subprocess.run(["docker", "exec", "-i", "netbird-server", "sqlite3", "/var/lib/netbird/store.db", sql], check=True)
|
|
print(f"=== {gname} ===")
|
|
print(f"Setup-Key: {plain}")
|
|
print()
|
|
|
|
subprocess.run(["docker", "exec", "-i", "netbird-server", "sqlite3", "-line", "/var/lib/netbird/store.db",
|
|
"SELECT name, key, auto_groups, used_times FROM setup_keys WHERE name LIKE '%-setup';"], check=True)
|