CI: move parity job from trial account to Flagsmith prod Snowflake with a scoped role
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia esaminando il job CI engine-parity, la configurazione Snowflake esistente e i secrets GH del repository. Esegui il provisioning di FS_CI, del ruolo con ambito limitato, dell’utente di servizio, del monitoraggio del warehouse e dell’autenticazione tramite coppia di chiavi, quindi aggiorna i secrets elencati e verifica che i test di parità possano creare e rimuovere le proprie tabelle a ogni esecuzione senza grants più ampi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The engine-parity CI job currently runs against my personal Snowflake trial account under ACCOUNTADMIN. The current trial account is tied to a personal email and expires; production account with billing is the durable home.
What needs to happen
-
Provision a CI database + schema in the Flagsmith prod Snowflake account. Suggested layout: a dedicated
FS_CIdatabase, scratch schemaPUBLIC. The parity tests already create per-run transientIDENTITIES_PARITY_<uuid>/TRAITS_PARITY_<uuid>tables there and drop them on teardown, so concurrent runs don't collide. -
Create a least-privilege role for CI, e.g.
FS_SQL_ENGINE_CI_RW. Required grants:USE ROLE SECURITYADMIN; CREATE ROLE FS_SQL_ENGINE_CI_RW; USE ROLE SYSADMIN; GRANT USAGE ON DATABASE FS_CI TO ROLE FS_SQL_ENGINE_CI_RW; GRANT USAGE ON SCHEMA FS_CI.PUBLIC TO ROLE FS_SQL_ENGINE_CI_RW; GRANT CREATE TABLE ON SCHEMA FS_CI.PUBLIC TO ROLE FS_SQL_ENGINE_CI_RW; GRANT USAGE ON WAREHOUSE FS_CI_WH TO ROLE FS_SQL_ENGINE_CI_RW; GRANT ROLE FS_SQL_ENGINE_CI_RW TO USER <ci-user>; ALTER USER <ci-user> SET DEFAULT_ROLE = FS_SQL_ENGINE_CI_RW;No grants beyond that — the parity tests do
CREATE TRANSIENT TABLE,INSERT,SELECT,DROP TABLEand that's it. -
Provision a service user for CI (e.g.
flagsmith_sql_engine_ci) with key-pair auth. Generate the keypair, register the public key on the user, capture the private key for GH secrets. Disable password auth on the user. -
Add a resource monitor on
FS_CI_WHcapping monthly credit spend (suggest $5-10 / month — current usage is ~$0.05 per CI run, ~$2-5 / month at heavy PR volume). -
Update GH secrets in this repo:
SNOWFLAKE_ACCOUNT→ prod account locatorSNOWFLAKE_USER→flagsmith_sql_engine_ciSNOWFLAKE_ROLE→FS_SQL_ENGINE_CI_RWSNOWFLAKE_WAREHOUSE→FS_CI_WHSNOWFLAKE_DATABASE→FS_CISNOWFLAKE_SCHEMA→PUBLICSNOWFLAKE_PRIVATE_KEY→ contents of the new key file
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Flagsmith/flagsmith-sql-flag-engine
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Dependency Dashboard Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 15/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 48/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
Flagsmith/flagsmith-sql-flag-engine#3 · 1 commento ·
Tutte le issue di Flagsmith/flagsmith-sql-flag-engine
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
simonw/sqlite-utils#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100