Skip to content

Add Scaleway Secret Manager backend#85

Merged
b4nst merged 2 commits into
mainfrom
feat/scaleway-secret-manager
May 15, 2026
Merged

Add Scaleway Secret Manager backend#85
b4nst merged 2 commits into
mainfrom
feat/scaleway-secret-manager

Conversation

@b4nst

@b4nst b4nst commented May 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add Scaleway Secret Manager as a new backend provider (type = "scaleway")
  • Bump Go to 1.25, update all nix flake inputs and Go dependencies
  • Fix security issues: file permissions, debug output leak, temp file cleanup

Scaleway backend

  • Registered as builder type scaleway, auto-discovered via init()
  • Config: region (required), project-id (required), credentials from env/scw config
  • Uses AccessSecretVersionByPath for efficient Get, ListSecrets + CreateSecret/CreateSecretVersion for Set, lookup + DeleteSecret for Delete
  • Client interface extracted for testability, 13 tests covering all paths
  • See Support storing Scaleway credentials in OS keychain (system store) #84 for future keychain credential storage support

Security fixes

  • FileStore file permissions 06440600
  • Config file permissions 06600600
  • Removed debug fmt.Println leaking filesystem paths
  • Added temp file cleanup for config editing
  • Removed plaintext credentials from example config

Test plan

  • All existing tests pass (go test ./...)
  • 13 new tests for Scaleway backend (builder validation, Get/Set/Delete with mocks)
  • Manual testing with a Scaleway account

b4nst added 2 commits May 15, 2026 10:47
- Bump Go to 1.25 (flake.nix + go.mod)
- Update all nix flake inputs
- Upgrade all Go dependencies to latest
- Fix file permissions (0644/0660 -> 0600) for secret files and config
- Remove debug print leaking filesystem path
- Clean up temp files containing config data
- Remove credentials from example config
@b4nst b4nst merged commit 623e510 into main May 15, 2026
2 checks passed
@b4nst b4nst deleted the feat/scaleway-secret-manager branch May 15, 2026 12:51
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.

1 participant