Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
19 lines
1.0 KiB
Bash
Executable File
19 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
# In production, paginate GET /admin/relation-tuples?namespace=File&relation=viewer,
|
|
# filter for tuples with subject_id set, and write SubjectSet counterparts in batches.
|
|
# This script writes the known SubjectSet tuples directly for brevity.
|
|
|
|
curl -X PATCH --fail --silent \
|
|
-H 'Content-Type: application/json' \
|
|
--retry 7 --retry-connrefused \
|
|
--data '[
|
|
{"action":"insert","relation_tuple":{"namespace":"File","object":"data.txt","relation":"viewer","subject_set":{"namespace":"User","object":"alice","relation":""}}},
|
|
{"action":"insert","relation_tuple":{"namespace":"File","object":"data.txt","relation":"viewer","subject_set":{"namespace":"User","object":"bob","relation":""}}},
|
|
{"action":"insert","relation_tuple":{"namespace":"File","object":"data.txt","relation":"viewer","subject_set":{"namespace":"ApiKey","object":"ci-bot","relation":""}}}
|
|
]' \
|
|
http://127.0.0.1:4467/admin/relation-tuples > /dev/null \
|
|
&& echo "Migration complete" \
|
|
|| echo "Encountered error"
|