Skip to content

feat(client): suit le retrait du préfixe /v1 de l'API - #209

Merged
BryanFRD merged 1 commit into
mainfrom
feat/api-sans-prefixe-v1
Aug 7, 2026
Merged

feat(client): suit le retrait du préfixe /v1 de l'API#209
BryanFRD merged 1 commit into
mainfrom
feat/api-sans-prefixe-v1

Conversation

@BryanFRD

@BryanFRD BryanFRD commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Suit le retrait du préfixe /v1 côté API (FerrLabs/FerrVault-Cloud#626).

Portée réelle : un seul chemin

Le client Go a deux modes, et un seul est concerné :

mode chemin affecté
ferrvault /v1/operator/secrets/reveal/operator/secrets/reveal oui
legacy FerrFlow /api/v1/orgs/{org}/projects/{p}/vaults/by-name/{v}/secrets/reveal non — autre service

Le second appartient à l'API FerrFlow historique et n'a pas bougé. Confondre les deux aurait cassé les connexions legacy sans raison.

Côté CLI Rust, les sept appels /v1/operator/* passent à la racine.

Le test client_test.go qui verrouillait l'ancien chemin verrouille désormais le nouveau — c'est lui qui garantit le comportement.

Ordre de déploiement

L'API et cet opérateur ne peuvent pas basculer au même instant : deux dépôts, deux images. Il y aura donc une fenêtre pendant laquelle la synchronisation des FerrVaultSecret échoue.

Ce que cette fenêtre coûte, précisément : les Secret déjà matérialisés persistent. ghcr-credentials ne disparaît pas des sept namespaces, il cesse d'être rafraîchi. Les pods tournent, les pulls d'images continuent. Seule une création ou une rotation de secret serait bloquée.

Déployer l'API d'abord, puis cet opérateur, ou l'inverse — dans les deux cas la fenêtre existe et reste bénigne.

Vérifications

cargo check propre sur la CLI Rust.

La partie Go n'est pas vérifiée localement : la chaîne d'outils Go n'est pas installée sur la machine où ce changement a été préparé. Le go build et go test se feront en CI — et c'est là que le test du chemin sera réellement exercé.

Copilot AI lite review requested due to automatic review settings August 7, 2026 20:40

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@ferrfleet ferrfleet Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mechanical /v1/ prefix removal, scoped correctly to the ferrvault mode only (legacy FerrFlow paths untouched, as the description explains). The Go test now locks the new path, and the deployment-window tradeoff is well reasoned. No functional issues found.

Nit: two doc spots referencing the old path weren't updated, so they'll be stale after this merges:

  • cli/README.md — "validates the token against /v1/operator/me"
  • charts/ferrvault-operator/templates/crd-ferrvaultconnections.yaml — CRD description still says "flat /v1/operator/secrets/reveal shape" (the matching comment in connectionspec_types.go was updated, this one wasn't)

Neither blocks — just drift worth a follow-up fix.

@BryanFRD
BryanFRD merged commit 7aa10b0 into main Aug 7, 2026
20 checks passed
@BryanFRD
BryanFRD deleted the feat/api-sans-prefixe-v1 branch August 7, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants