Giter Club home page Giter Club logo

confd's Introduction

confd

Build Status

confd is a lightweight configuration management tool focused on:

Community

Building

Go 1.6 is required to build confd, which uses the new vendor directory.

$ mkdir -p $GOPATH/src/github.com/bacongobbler
$ git clone https://github.com/bacongobbler/confd.git $GOPATH/src/github.com/bacongobbler/confd
$ cd $GOPATH/src/github.com/bacongobbler/confd
$ ./build

You should now have confd in your bin/ directory:

$ ls bin/
confd

Getting Started

Before we begin be sure to download and install confd.

Next steps

Check out the docs directory for more docs.

confd's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

confd's Issues

etcd as the backend, prefix option will overwrite prefix item in template file in version 0.12

this is an issue I reported to Kelsey Hightower' CONFD, but it seems not active any more, and report here,
kelseyhightower#516

highlight of the issue:

it's a change on the new version, the prefix is not a joint one, instead, the prefix in template file will be overwritten by confd profile, which cause the configuration file failed with this new version.
code as below:

resource.go:
NewTemplateResource, new version:

if config.Prefix != "" {
        // tr.Prefix = config.Prefix
        if tr.Prefix == "" {
                tr.Prefix = config.Prefix

but in previews version, it's a joint prefix as below:
tr.prefix = filepath.Join("/", config.Prefix, tr.Prefix)

Missed updates with etcdv2 backend

After upgrading my confd from v0.10.0 to v0.12.0, I seem to be hitting issues where some of the files created by the template do not contain the latest contents of etcd - it looks as though it's missing an update.

We have quite a lot of different templates monitoring a bunch of different prefixes and so there are quite a few updates going on.

Do you have recommendation of how best to diagnose/investigate this, and whether any changes between v0.10.0 and v0.12.1 leap out that might be the cause of these missed updates?

"context deadline exceeded" in setVars()

There is some problem in resource/template/resource.go : setVars()
etcd3 v3.0.14
confd v0.12.1 and v0.12.0

root@3aeecacf3a47:/etc# confd -backend etcdv3 -node https://etcd1.lan:2379 -client-ca-keys /etc/confd/certs/ca.pem -client-cert /etc/confd/certs/etcd-client.pem -client-key=/etc/confd/certs/etcd-client-key.pem -watch -log-level debug
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: INFO Backend set to etcdv3
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: INFO Starting confd
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: INFO Backend source(s) set to https://etcd1.lan:2379
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: DEBUG Loading template resources from confdir /etc/confd
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: DEBUG Found template: /etc/confd/conf.d/confd.toml
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: DEBUG Loading template resource from /etc/confd/conf.d/confd.toml
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: DEBUG Retrieving keys from store
2017-05-30T18:31:25+03:00 3aeecacf3a47 confd[640]: DEBUG Key prefix set to /
2017-05-30T18:31:28+03:00 3aeecacf3a47 confd[640]: ERROR context deadline exceeded

/etc/confd/conf.d/confd.toml

[template]
src = "super.cfg.tmpl"
dest = "super.cfg"
keys = [
"/super/"
]

/etc/confd/templates/super.cfg.tmpl

{{range $svc := ls "/super/"}}
  {{$svc}}
{{end}}

data in etcd3 v3

/super
one
two
three

/super/one
one
one                                                        
                                                                                                                                                                                                   
/super/two
two
two

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.