viperx

module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 5, 2020 License: MIT

README

ViperX: Viper extensions

GitHub Workflow Status Codecov Go Report Card Go Version PkgGoDev FOSSA Status

This library adds some extensions to the core Viper package.

Installation

$ go get github.com/sagikazarmark/viperx

Usage

Remote config provider registry

Package remote provides a remote provider registry.

package main

import (
	"github.com/spf13/viper"

	vaultremote "github.com/sagikazarmark/viperx/remote"
)

func main() {
	vaultremote.RegisterConfigProvider("vault", &myVaultProvider{})

	_ = viper.AddRemoteProvider("vault", "endpoint", "path")
}
Hashicorp Vault Remote config provider
package main

import (
	"github.com/spf13/viper"

	"github.com/sagikazarmark/viperx/remote/vault"
)

func main() {
	_ = viper.AddRemoteProvider("vault", "endpoint", "path")
	viper.SetConfigType("json") // This is required for the vault provider

	_ = viper.ReadRemoteConfig()
}

Roadmap

  • Add etcd remote provider support (Using Go CDK secrets?)
  • Add consul remote provider support (Using Go CDK secrets?)
  • Add a friendly (declarative?) API for defining configuration

Development

Contributions are welcome! :)

  1. Clone the repository
  2. Make changes on a new branch
  3. Run the test suite:
    ./pleasew build
    ./pleasew test
    ./pleasew gotest
    ./pleasew lint
    
  4. Commit, push and open a PR

License

The MIT License (MIT). Please see License File for more information.

FOSSA Status

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL