Skip to content

[Hackathon] Replace 99designs/keyring with zalando/go-keyring #485

@rsdmike

Description

@rsdmike

🔹 Overview

The go-wsman-messages repository currently depends on 99designs/keyring, which doesn't seem to be actively maintained. We need to replace it with zalando/go-keyring, a well-maintained and actively supported alternative for secure credential storage.

This will ensure that the project remains up-to-date, secure, and free from unmaintained dependencies.

🎯 Task Scope

  • Step 1: Remove 99designs/keyring from go.mod and go.sum.
  • Step 2: Add zalando/go-keyring as a new dependency.
  • Step 3: Update any existing usage of 99designs/keyring to use zalando/go-keyring instead.
  • Step 4: Ensure compatibility with existing functionality (e.g., credential storage/retrieval).
  • Step 5: Run tests and confirm that keyring functionality remains intact.
  • Step 6: Clean up and optimize any redundant code related to the keyring migration.

📂 Relevant Files

  • go.mod
  • go.sum
  • Any files that import "github.com/99designs/keyring"

💻 Technical Details

  • zalando/go-keyring provides a similar API but may require slight modifications in function calls.
  • Ensure that credential storage and retrieval work seamlessly with:
    • Windows Credential Store
    • macOS Keychain
    • Linux Secret Service
  • Run go mod tidy after replacing the dependency.
  • Team can help with testing other platforms if you don't have all available.

Acceptance Criteria

  • The project no longer depends on 99designs/keyring.
  • zalando/go-keyring is successfully integrated.
  • All keyring-related functionality remains working and tested.
  • No breaking changes or regressions.
  • A Pull Request (PR) is submitted with a summary of changes.

🚀 How to Get Started

  1. Comment below to claim this issue.
  2. Fork the repo and create a branch (e.g., feature/replace-keyring).
  3. Implement the feature following the outlined scope.
  4. Submit a Pull Request (PR) linking this issue.

📎 Additional Notes

  • Ensure go test ./... runs successfully after changes.
  • Check the documentation for zalando/go-keyring for any differences in implementation.
  • Test on multiple OS platforms if possible to ensure cross-platform compatibility.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

Done

Status

Q3 2025

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions