Go library providing a uniform interface across a range of secure credential stores
Go
659
240 commits
updated May 7, 2024
Keyring provides a common interface to a range of secure credential storage services. Originally developed as part of AWS Vault, a command line tool for securely managing AWS access from developer workstations.
Currently Keyring supports the following backends
The short version of how to use keyring is shown below.
ring, _ := keyring.Open(keyring.Config{
ServiceName: "example",
})
_ = ring.Set(keyring.Item{
Key: "foo",
Data: []byte("secret-bar"),
})
i, _ := ring.Get("foo")
fmt.Printf("%s", i.Data)
For more detail on the API please check the keyring godocs
Vagrant is used to create linux and windows test environments.
# Start vagrant
vagrant up
# Run go tests on all platforms
./bin/go-test
Contributions to the keyring package are most welcome from engineers of all backgrounds and skill levels. In particular the addition of extra backends across popular operating systems would be appreciated.
This project will adhere to the Go Community Code of Conduct in the github provided discussion spaces, with the moderators being the 99designs engineering team.
To make a contribution:
...and we'll do our best to get your work merged in
Go
99.7%
Go library providing a uniform interface across a range of secure credential stores
Go
659
240 commits
updated May 7, 2024
Keyring provides a common interface to a range of secure credential storage services. Originally developed as part of AWS Vault, a command line tool for securely managing AWS access from developer workstations.
Currently Keyring supports the following backends
The short version of how to use keyring is shown below.
ring, _ := keyring.Open(keyring.Config{
ServiceName: "example",
})
_ = ring.Set(keyring.Item{
Key: "foo",
Data: []byte("secret-bar"),
})
i, _ := ring.Get("foo")
fmt.Printf("%s", i.Data)
For more detail on the API please check the keyring godocs
Vagrant is used to create linux and windows test environments.
# Start vagrant
vagrant up
# Run go tests on all platforms
./bin/go-test
Contributions to the keyring package are most welcome from engineers of all backgrounds and skill levels. In particular the addition of extra backends across popular operating systems would be appreciated.
This project will adhere to the Go Community Code of Conduct in the github provided discussion spaces, with the moderators being the 99designs engineering team.
To make a contribution:
...and we'll do our best to get your work merged in
Go
99.7%