MCPcopy Index your code
hub / github.com/HeavyHorst/remco

github.com/HeavyHorst/remco @v0.12.6

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.12.6 ↗ · + Follow
296 symbols 946 edges 43 files 108 documented · 36% updated 2mo agov0.12.6 · 2026-04-17★ 41812 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Build Status Go Report Card MIT licensed

Remco

remco is a lightweight configuration management tool. It's highly influenced by confd. Remcos main purposes are (like confd's):

  • keeping local configuration files up-to-date using data stored in a key/value store like etcd or consul and processing template resources.
  • reloading applications to pick up new config file changes

Differences between remco and confd

  • Multiple source/destination pairs per template resource - useful for programs that need more than one config file
  • Multiple backends per template resource - get normal config values from etcd and secrets from vault
  • Pongo2 template engine instead of go's text/template
  • Zombie reaping support (if remco runs as pid 1)
  • Additional backends can be provided as plugins.
  • Create your own custom template filters easily with JavaScript.
  • Exec mode similar to consul-template.

Overview

remco overview

Documentation

See: https://heavyhorst.github.io/remco/

Installation

Building from source

$ go get github.com/HeavyHorst/remco/cmd/remco
$ go install github.com/HeavyHorst/remco/cmd/remco

You should now have remco in your $GOPATH/bin directory

Building from the repository

$ git clone https://github.com/HeavyHorst/remco
$ cd remco
$ make
$ ls bin/
remco

Building a given release

$ export VERSION=v0.12.2
$ git checkout ${VERSION}
$ make release -j
$ ls bin/
remco_0.12.2_darwin_amd64.zip  remco_0.12.2_linux_amd64.zip  remco_0.12.2_windows_amd64.zip  remco_darwin  remco_linux  remco_windows

Using a pre-built release

Download the releases and extract the binary.

$ REMCO_VER=0.12.2
$ wget https://github.com/HeavyHorst/remco/releases/download/v${REMCO_VER}/remco_${REMCO_VER}_linux_amd64.zip
$ unzip remco_${REMCO_VER}_linux_amd64.zip

Optionally move the binary to your PATH

$ mv remco_linux /usr/local/bin/remco

Now you can run the remco command!

Execution

run remco from local dir, configuration is read as default from /etc/remco/config

Command line params:

parameter description
-config path to the configuration file
-onetime flag to one run templating once, overriding "Onetime" flag for all backend resources
-version print version and exit

Contributing

See Contributing for details on submitting patches.

Extension points exported contracts — how you extend this code

BackendConnector (Interface)
A BackendConnector - Every backend implements this interface. If Connect is called a new connection to the underlaying [10 …
pkg/template/backend.go
Sink (Interface)
Every sink should implement this interface [4 implementers]
pkg/telemetry/telemetry.go

Core symbols most depended-on inside this repo

Error
called by 87
pkg/backends/error/error.go
Contains
called by 25
pkg/template/template_funcs.go
WithFields
called by 19
pkg/log/log.go
Close
called by 16
pkg/template/resource.go
Remove
called by 12
pkg/template/template_funcs.go
Wait
called by 10
pkg/template/executor.go
Error
called by 9
pkg/log/log.go
NewExecutor
called by 9
pkg/template/executor.go

Shape

Method 132
Function 112
Struct 47
TypeAlias 3
Interface 2

Languages

Go100%

Modules by API surface

cmd/remco-manual/main.go32 symbols
pkg/template/template_funcs.go20 symbols
pkg/template/template_filters_test.go17 symbols
pkg/template/template_filters.go17 symbols
cmd/remco/supervisor.go13 symbols
cmd/remco-manual/main_test.go13 symbols
pkg/template/executor_test.go12 symbols
pkg/template/executor.go11 symbols
pkg/template/resource_test.go10 symbols
pkg/template/resource.go9 symbols
pkg/template/renderer.go9 symbols
pkg/template/fileutil/fileutil_test.go9 symbols

For agents

$ claude mcp add remco \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page