Skip to content

Latest commit

 

History

History
76 lines (60 loc) · 1.36 KB

README.md

File metadata and controls

76 lines (60 loc) · 1.36 KB

spring-config-client-go

A simple package that facilitates fetching of configuration from a Spring Cloud Config Server

Installation

go get github.com/realbucksavage/spring-config-client-go/v2

Usage

import (
    "log"
    "github.com/realbucksavage/spring-config-client-go/v2"
)

type applicationConfig struct {
    Key1 Key1Type `json:"key1" yaml:"key1"`
    // ...
}

func main() {
    client, err := cloudconfig.NewClient(
        "config:8888",
        "someapp",
        "production",
    )
    if err != nil {
        panic(err)
    }

    // get a reader to configuration
    rdr, err := client.Raw()

    // or, decode configuration directly into a struct
    var appConfig applicationConfig
    err := client.Decode(&appConfig)
}

The client can also be customized with these options

Basic Auth

client, err := cloudconfig.NewClient(
    server, 
    application, 
    profile, 
    cloudconfig.WithBasicAuth("username", "password"),
)

Reading config as YAML instead of (default) JSON

client, err := cloudconfig.NewClient(
    server,
    application,
    profile, 
    cloudconfig.WithFormat(cloudconfig.YAMLFormat)),
)

Using HTTPs (or, setting the scheme of config server's URL)

client, err := cloudconfig.NewClient(
    server,
    application,
    profile, 
    cloudconfig.WithScheme("https"),
)