Skip to content
/ conf Public

🌳 Go YAML/JSON Configuration, centralized management of configuration data for all the commands composed into your Bonzai tree

License

Notifications You must be signed in to change notification settings

rwxrob/conf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌳 Go YAML/JSON Configuration

Go Version Coding simple !go function to grab current !k8s contextGoDoc License

This conf Bonzai branch is for safely managing any configuration as single, local YAML/JSON using industry standards for local configuration and system-safe writes. Use it to add a conf subcommand to any other Bonzai command, or to your root Bonzai tree (z). All commands that use conf that are composed into a single binary, no matter where in the tree, will use the same local conf file even though the position within the file will be qualified by the tree location.

By default, importing conf will assigned a new implementation of bonzai.Configurer to Z.Conf (satisfying any Z.Cmd requirement for configuration) and will use the name of the binary (Z.ExeName) as the directory name within os.UserConfDir with a config.yaml file name. To override this behavior, create a new pkd/conf.Conf struct assign Id, Dir and File, and then assign that to Z.Conf.

Install

This command can be installed as a standalone program (for combined use with shell scripts perhaps) or composed into a Bonzai command tree.

Standalone

go install github.com/rwxrob/conf/cmd/conf@latest

Composed

package z

import (
	Z "github.com/rwxrob/bonzai/z"
	"github.com/rwxrob/conf"
)

var Cmd = &bonzai.Cmd{
	Name:     `z`,
	Commands: []*Z.Cmd{help.Cmd, conf.Cmd},
}

Note conf is designed to be composed only in monolith mode (not multicall binary).

Tab Completion

To activate bash completion just use the complete -C option from your .bashrc or command line. There is no messy sourcing required. All the completion is done by the program itself.

complete -C conf conf

If you don't have bash or tab completion check use the shortcut commands instead.

Embedded Documentation

All documentation (like manual pages) has been embedded into the source code of the application. See the source or run the program with help to access it.

About

🌳 Go YAML/JSON Configuration, centralized management of configuration data for all the commands composed into your Bonzai tree

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages