A Golang package for simplifying storing configuration in the OS-provided secret manager.

Overview

go-keyconfig

A Golang package for simplifying storing configuration in the OS-provided secret manager.

Operating System Support

OS Secret Manager
MacOS OSX Keychain
Linux Keyring
Windows Windows Credential Manager

License

MIT

Issues
  • Fix tests on Linux (testing on Ubuntu 20.04)

    Fix tests on Linux (testing on Ubuntu 20.04)

    Describe the bug On Ubuntu 20.04:

    $ go test -v ./...
    # github.com/infamousjoeg/go-keyconfig
    ./config.go:14:20: undefined: keychain.GetGenericPasswordAccounts
    ./config.go:39:11: undefined: keychain.NewGenericPassword
    ./config.go:42:26: undefined: keychain.SynchronizableNo
    ./config.go:43:22: undefined: keychain.AccessibleAfterFirstUnlock
    ./config.go:45:9: undefined: keychain.AddItem
    ./config.go:50:12: undefined: keychain.ErrorDuplicateItem
    ./config.go:51:10: undefined: keychain.ErrorDuplicateItem
    ./config.go:66:11: undefined: keychain.NewItem
    ./config.go:67:20: undefined: keychain.SecClassGenericPassword
    ./config.go:70:22: undefined: keychain.MatchLimitOne
    ./config.go:70:22: too many errors
    FAIL	github.com/infamousjoeg/go-keyconfig [build failed]
    

    To Reproduce See above command.

    Expected behavior Tests all pass successfully on MacOS Big Sur. Expected to pass on Linux, as well

    bug good first issue 
    opened by infamousjoeg 3
Releases(v1.1.0)
  • v1.1.0(Jan 15, 2022)

    What's Changed

    • Fix #1 - Support for Linux & Windows added by @infamousjoeg in https://github.com/infamousjoeg/go-keyconfig/pull/2
    • Swap from keybase/go-keychain dependency to 99designs/keyring
    • Added support for KWallet, GNOME Keyring, secret-service, and Windows Credential Manager
    • Added creation of separate keychain/keyring specifically for keyconfig configurations
    • Added ability to replace configs already existing rather than returning an error
    • Updated example/example.go
    • Added compiled binaries for supported OSes for easy testing to example/bin
    • Updated README and added screenshots

    New Contributors

    • @infamousjoeg made their first contribution in https://github.com/infamousjoeg/go-keyconfig/pull/2

    Full Changelog: https://github.com/infamousjoeg/go-keyconfig/compare/v1.0.0...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 26, 2021)

Owner
Joe Garcia
DevOps Security Engineer for @cyberark
Joe Garcia
Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration, and automating updates to configuration when there is new code to deploy.

Flux is a tool for keeping Kubernetes clusters in sync with sources of configuration (like Git repositories), and automating updates to configuration when there is new code to deploy.

Flux project 3.6k Aug 7, 2022
network-node-manager is a kubernetes controller that controls the network configuration of a node to resolve network issues of kubernetes.

Network Node Manager network-node-manager is a kubernetes controller that controls the network configuration of a node to resolve network issues of ku

kakao 97 Aug 6, 2022
Skipper – Secret Keeper service for golang

skipper Skipper – Secret Keeper service Run localy Create .env file with environ

Michael Savin 1 Dec 30, 2021
Terraform Provider for Azure (Resource Manager)Terraform Provider for Azure (Resource Manager)

Terraform Provider for Azure (Resource Manager) Version 2.x of the AzureRM Provider requires Terraform 0.12.x and later, but 1.0 is recommended. Terra

null 0 Oct 16, 2021
A k8s vault webhook is a Kubernetes webhook that can inject secrets into Kubernetes resources by connecting to multiple secret managers

k8s-vault-webhook is a Kubernetes admission webhook which listen for the events related to Kubernetes resources for injecting secret directly from sec

Opstree Container Kit 111 Apr 28, 2022
A kubectl plugin for finding decoded secret data with productive search flags.

kubectl-secret-data What is it? This is a kubectl plugin for finding decoded secret data. Since kubectl only outputs base64-encoded secrets, it makes

Keisuke Umegaki 37 Jul 18, 2022
A kubectl plugin for finding decoded secret data with productive search flags.

kubectl-secret-data What is it? This is a kubectl plugin for finding decoded secret data. Since kubectl outputs base64-encoded secrets basically, it m

Keisuke Umegaki 37 Jul 18, 2022
Kubernetes Operator to sync secrets between different secret backends and Kubernetes

Vals-Operator Here at Digitalis we love vals, it's a tool we use daily to keep secrets stored securely. We also use secrets-manager on the Kubernetes

digitalis.io 57 Aug 11, 2022
Help my family picking secret santas without having a person beeing involved

secret-santa This is a small project I wrote to help my family picking secret santas without having a person beeing involved. This way noone is left o

null 0 Nov 6, 2021
A simple CLI and API client for One-Time Secret

OTS Go client otsgo is a simple CLI and API client for One-Time Secret written i

Emídio Neto 2 Dec 27, 2021
To copy a secret to another namespace and sync it up-to-date

Secret Mirror Operator This kubebuilder-based Kubernetes operator copies a Secret to another namespace and synchronizes it with the custom resource Se

 beBit, Inc. 2 Jul 20, 2022
Secret - Prevent your secrets from leaking into logs and std*

secret - Prevent your secrets from leaking into logs and std* The package provid

Ravi Shekhar Jethani 12 Jul 26, 2022
The missing package manager for golang binaries (its homebrew for "go install")

Bingo: The missing package manager for golang binaries (its homebrew for "go install") Do you love the simplicity of being able to download & compile

TekWizely 175 May 29, 2022
A package manager written in Go which uses the LFS Symlink method.

pacsym A package manager powered by symlinks. How to use The package manager assumes that all software installed is installed with /usr/pkg/<packagena

Alex S. 2 Dec 11, 2021
Io's package manager

Amirani Io's package manager Contributors ✨ Thanks goes to these wonderful people (emoji key): an aspirin ?? ?? ?? ?? This project follows the all-con

IoLang 2 Feb 20, 2022
📦 Package manager for CLI

AFX - Package manager for CLI AFX is a package manager for command-line tools and shell plugins. afx can allow us to manage almost all things availabl

Masaki ISHIYAMA 65 Aug 5, 2022
Gologin is Golang (Go) login manager working with RDBMS Databases

What is Gologin Gologin is an easy to setup professional login manager for Go web applications. It helps you protect your application resources from u

Bird 2 May 14, 2022
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

Packer Website: https://www.packer.io IRC: #packer-tool on Freenode Mailing list: Google Groups Packer is a tool for building identical machine images

HashiCorp 13.9k Aug 11, 2022