Skip to content

feat(server-nestjs): backfill Sécurité project role on existing projects - #2700

Merged
shikanime merged 1 commit into
mainfrom
security-role-migration
Sep 11, 2026
Merged

feat(server-nestjs): backfill Sécurité project role on existing projects#2700
shikanime merged 1 commit into
mainfrom
security-role-migration

Conversation

@shikanime

Copy link
Copy Markdown
Member

Issues liées

Issues numéro:

#2676


Quel est le comportement actuel ?

Le rôle « Sécurité » n'est créé que pour les nouveaux projets lors de leur création : les projets existants n'en disposent pas.

Quel est le nouveau comportement ?

Ajout d'une migration insérant le rôle « Sécurité » (type system:managed, position 4, permissions 832 = SEE_SECRETS | LIST_ENVIRONMENTS | LIST_REPOSITORIES, groupe OIDC /<slug>/console/security) pour chaque projet qui ne l'a pas encore, en miroir du seeding TS de generateProjectCreateInput.
L'insertion est idempotente (anti-jointure sur slug + oidcGroup + position) : les rôles personnalisés existants en position 4 sont préservés, aucune ligne dupliquée.

Cette PR introduit-elle un breaking change ?

Non.

Autres informations

Migration validée sur PostgreSQL 16 : backfill d'un projet sans rôles, préservation d'un rôle personnalisé en position 4, absence de doublon quand le rôle existe déjà, ré-exécution sans effet.

The Sécurité role is only seeded for newly created projects (see #2677):
projects created before the role existed never get it.
Add a migration inserting the missing 'Sécurité' system:managed role
(position 4, permissions 832 = SEE_SECRETS | LIST_ENVIRONMENTS |
LIST_REPOSITORIES, oidcGroup '/<slug>/console/security') for every project
that does not have it yet, mirroring generateProjectCreateInput.
The insert is idempotent (anti-join on slug+oidcGroup+position) so existing
custom roles at position 4 are left untouched and retries never duplicate.
Refs #2676

Signed-off-by: William Phetsinorath <william.phetsinorath-open@interieur.gouv.fr>
Change-Id: I397eac570291a5959dfdca423da721506a6a6964
@github-actions github-actions Bot added the built label Sep 8, 2026
@shikanime shikanime self-assigned this Sep 8, 2026
@shikanime
shikanime marked this pull request as ready for review September 8, 2026 16:10
@shikanime
shikanime requested a review from a team as a code owner September 8, 2026 16:10
@shikanime shikanime added this to the 9.26.0 milestone Sep 8, 2026
@shikanime
shikanime enabled auto-merge September 8, 2026 16:10
@cloud-pi-native-sonarqube

Copy link
Copy Markdown

@shikanime
shikanime added this pull request to the merge queue Sep 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 9, 2026
@shikanime
shikanime added this pull request to the merge queue Sep 11, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 11, 2026
@shikanime
shikanime added this pull request to the merge queue Sep 11, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 11, 2026
@shikanime
shikanime added this pull request to the merge queue Sep 11, 2026
Merged via the queue into main with commit c25a048 Sep 11, 2026
62 checks passed
@shikanime
shikanime deleted the security-role-migration branch September 11, 2026 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants