mirror of
https://github.com/gluster/glusterd2.git
synced 2026-02-05 12:45:38 +01:00
config: removed default configuration file
To view the default values run `glusterd2 --help` Signed-off-by: Aravinda VK <avishwan@redhat.com>
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -23,5 +23,3 @@ endpoints.json
|
||||
generate-doc
|
||||
# Ignore vi backup files
|
||||
*~
|
||||
# Generated by Make
|
||||
glusterd2/paths_config.go
|
||||
|
||||
27
Makefile
27
Makefile
@@ -24,13 +24,14 @@ GD2CONF_INSTALL = $(DESTDIR)$(SYSCONFDIR)/$(GD2)/$(GD2_CONF)
|
||||
|
||||
GD2STATEDIR = $(LOCALSTATEDIR)/$(GD2)
|
||||
GD2LOGDIR = $(LOGDIR)/$(GD2)
|
||||
GD2RUNDIR = $(RUNDIR)/$(GD2)
|
||||
|
||||
DEPENV ?=
|
||||
|
||||
PLUGINS ?= yes
|
||||
FASTBUILD ?= yes
|
||||
|
||||
.PHONY: all build check check-go check-reqs install vendor-update vendor-install verify release check-protoc $(GD2_BIN) $(GD2_BUILD) $(CLI_BIN) $(CLI_BUILD) cli $(GD2_CONF) gd2conf test dist dist-vendor functest generated
|
||||
.PHONY: all build check check-go check-reqs install vendor-update vendor-install verify release check-protoc $(GD2_BIN) $(GD2_BUILD) $(CLI_BIN) $(CLI_BUILD) cli $(GD2_CONF) gd2conf test dist dist-vendor functest
|
||||
|
||||
all: build
|
||||
|
||||
@@ -49,17 +50,9 @@ check-reqs:
|
||||
@./scripts/check-reqs.sh
|
||||
@echo
|
||||
|
||||
generated:
|
||||
@echo "Generating sources..."
|
||||
@PREFIX=$(PREFIX) BASE_PREFIX=$(BASE_PREFIX) EXEC_PREFIX=$(EXEC_PREFIX) \
|
||||
BINDIR=$(BINDIR) SBINDIR=$(SBINDIR) DATADIR=$(DATADIR) \
|
||||
LOCALSTATEDIR=$(LOCALSTATEDIR) LOGDIR=$(LOGDIR) \
|
||||
SYSCONFDIR=$(SYSCONFDIR) ./scripts/prepare_path_config.sh glusterd2
|
||||
|
||||
|
||||
$(GD2_BIN): $(GD2_BUILD) gd2conf generated
|
||||
$(GD2_BUILD): generated
|
||||
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) ./scripts/build.sh glusterd2
|
||||
$(GD2_BIN): $(GD2_BUILD) gd2conf
|
||||
$(GD2_BUILD):
|
||||
@PLUGINS=$(PLUGINS) FASTBUILD=$(FASTBUILD) BASE_PREFIX=$(BASE_PREFIX) ./scripts/build.sh glusterd2
|
||||
@echo
|
||||
|
||||
$(CLI_BIN) cli: $(CLI_BUILD)
|
||||
@@ -69,9 +62,9 @@ $(CLI_BUILD):
|
||||
@./$(CLI_BASH_COMPLETION_GEN_BIN) $(CLI_BASH_COMPLETION_BUILD)
|
||||
@echo
|
||||
|
||||
$(GD2_CONF) gd2conf: $(GD2CONF_BUILD)
|
||||
$(GD2CONF_BUILD):
|
||||
@GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) $(GD2CONF_BUILDSCRIPT)
|
||||
$(GD2_CONF) gd2conf:
|
||||
@GD2=$(GD2) GD2STATEDIR=$(GD2STATEDIR) GD2LOGDIR=$(GD2LOGDIR) \
|
||||
GD2RUNDIR=$(GD2RUNDIR) $(GD2CONF_BUILDSCRIPT)
|
||||
|
||||
install:
|
||||
install -D $(GD2_BUILD) $(GD2_INSTALL)
|
||||
@@ -90,10 +83,10 @@ vendor-install:
|
||||
@$(DEPENV) dep ensure
|
||||
@echo
|
||||
|
||||
test: check-reqs generated
|
||||
test: check-reqs
|
||||
@./test.sh $(TESTOPTIONS)
|
||||
|
||||
functest: check-reqs generated
|
||||
functest: check-reqs
|
||||
@go test ./e2e -v -functest
|
||||
|
||||
release: build
|
||||
|
||||
@@ -21,3 +21,4 @@ LOCALSTATEDIR ?= $(BASE_PREFIX)/var/lib
|
||||
LOGDIR ?= $(BASE_PREFIX)/var/log
|
||||
|
||||
SYSCONFDIR ?= $(BASE_PREFIX)/etc
|
||||
RUNDIR ?= $(BASE_PREFIX)/var/run
|
||||
|
||||
@@ -7,7 +7,6 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/gluster/glusterd2/glusterd2/gdctx"
|
||||
"github.com/gluster/glusterd2/glusterd2/store"
|
||||
@@ -18,39 +17,49 @@ import (
|
||||
config "github.com/spf13/viper"
|
||||
)
|
||||
|
||||
const (
|
||||
defaultlogfile = "STDOUT"
|
||||
defaultpeerport = "24008"
|
||||
defaultpeeraddress = ":24008"
|
||||
defaultclientaddress = ":24007"
|
||||
defaultloglevel = "debug"
|
||||
)
|
||||
|
||||
var (
|
||||
// metrics
|
||||
expConfig = expvar.NewMap("config")
|
||||
)
|
||||
|
||||
const (
|
||||
defaultLogLevel = "debug"
|
||||
defaultConfName = "glusterd2"
|
||||
// defaultPathPrefix is set by LDFLAGS
|
||||
defaultPathPrefix = ""
|
||||
|
||||
defaultlocalstatedir = defaultPathPrefix + "/var/lib/glusterd2"
|
||||
defaultlogdir = defaultPathPrefix + "/var/log/glusterd2"
|
||||
defaultrundir = defaultPathPrefix + "/var/run/glusterd2"
|
||||
)
|
||||
|
||||
// parseFlags sets up the flags and parses them, this needs to be called before any other operation
|
||||
func parseFlags() {
|
||||
flag.String("workdir", "", "Working directory for GlusterD. (default: current directory)")
|
||||
flag.String("localstatedir", "", "Directory to store local state information. (default: workdir)")
|
||||
flag.String("rundir", "", "Directory to store runtime data.")
|
||||
flag.String("config", "", "Configuration file for GlusterD. By default looks for glusterd2.toml in [/usr/local]/etc/glusterd2 and current working directory.")
|
||||
flag.String("localstatedir", defaultlocalstatedir, "Directory to store local state information.")
|
||||
flag.String("rundir", defaultrundir, "Directory to store runtime data.")
|
||||
flag.String("config", "", "Configuration file for GlusterD.")
|
||||
|
||||
flag.String(logging.DirFlag, "", logging.DirHelp+" (default: workdir/log)")
|
||||
flag.String(logging.FileFlag, "STDOUT", logging.FileHelp)
|
||||
flag.String(logging.LevelFlag, defaultLogLevel, logging.LevelHelp)
|
||||
flag.String(logging.DirFlag, defaultlogdir, logging.DirHelp)
|
||||
flag.String(logging.FileFlag, defaultlogfile, logging.FileHelp)
|
||||
flag.String(logging.LevelFlag, defaultloglevel, logging.LevelHelp)
|
||||
|
||||
// TODO: Change default to false (disabled) in future.
|
||||
flag.Bool("statedump", true, "Enable /statedump endpoint for metrics.")
|
||||
|
||||
flag.String("clientaddress", "", "Address to bind the REST service.")
|
||||
flag.String("peeraddress", "", "Address to bind the inter glusterd2 RPC service.")
|
||||
flag.String("clientaddress", defaultclientaddress, "Address to bind the REST service.")
|
||||
flag.String("peeraddress", defaultpeeraddress, "Address to bind the inter glusterd2 RPC service.")
|
||||
|
||||
// TODO: SSL/TLS is currently only implemented for REST interface
|
||||
flag.String("cert-file", "", "Certificate used for SSL/TLS connections from clients to glusterd2.")
|
||||
flag.String("key-file", "", "Private key for the SSL/TLS certificate.")
|
||||
|
||||
// PID file
|
||||
flag.String("pidfile", "", "PID file path(default: rundir/gluster/glusterd2.pid)")
|
||||
flag.String("pidfile", "", "PID file path. (default \"rundir/glusterd2.pid)\"")
|
||||
|
||||
store.InitFlags()
|
||||
|
||||
@@ -65,22 +74,12 @@ func setDefaults() error {
|
||||
return err
|
||||
}
|
||||
|
||||
wd := config.GetString("workdir")
|
||||
if wd == "" {
|
||||
if config.GetString("workdir") == "" {
|
||||
config.SetDefault("workdir", cwd)
|
||||
wd = cwd
|
||||
}
|
||||
|
||||
if config.GetString("localstatedir") == "" {
|
||||
config.SetDefault("localstatedir", wd)
|
||||
}
|
||||
|
||||
config.SetDefault("hooksdir", config.GetString("localstatedir")+"/hooks")
|
||||
|
||||
if config.GetString(logging.DirFlag) == "" {
|
||||
config.SetDefault(logging.DirFlag, path.Join(config.GetString("localstatedir"), "log"))
|
||||
}
|
||||
|
||||
if config.GetString("pidfile") == "" {
|
||||
config.SetDefault("pidfile", path.Join(config.GetString("rundir"), "glusterd2.pid"))
|
||||
}
|
||||
@@ -94,7 +93,7 @@ func setDefaults() error {
|
||||
host = gdctx.HostIP
|
||||
}
|
||||
if port == "" {
|
||||
port = config.GetString("defaultpeerport")
|
||||
port = defaultpeerport
|
||||
}
|
||||
config.Set("peeraddress", host+":"+port)
|
||||
|
||||
@@ -111,7 +110,10 @@ func (v valueType) String() string {
|
||||
}
|
||||
|
||||
func dumpConfigToLog() {
|
||||
log.WithField("file", config.ConfigFileUsed()).Info("loaded configuration from file")
|
||||
if config.ConfigFileUsed() != "" {
|
||||
log.WithField("file", config.ConfigFileUsed()).Info("loaded configuration from file")
|
||||
}
|
||||
|
||||
l := log.NewEntry(log.StandardLogger())
|
||||
|
||||
for k, v := range config.AllSettings() {
|
||||
@@ -129,30 +131,6 @@ func initConfig(confFile string) error {
|
||||
|
||||
// Limit config to toml only to avoid confusion with multiple config types
|
||||
config.SetConfigType("toml")
|
||||
config.SetConfigName(defaultConfName)
|
||||
|
||||
// Set default config dir and path if default config file exists
|
||||
// Chances of not having default config file is only during development
|
||||
// Add current directory to this path if default conf file exists
|
||||
confdir := defaultConfDir
|
||||
conffile := defaultConfDir + "/" + defaultConfName + ".toml"
|
||||
if _, err := os.Stat(defaultConfDir + "/" + defaultConfName + ".toml"); os.IsNotExist(err) {
|
||||
cdir, err := filepath.Abs(filepath.Dir(os.Args[0]))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
confdir = cdir
|
||||
conffile = cdir + "/" + defaultConfName + ".toml"
|
||||
log.Info("default config file not found, loading config file from current directory")
|
||||
}
|
||||
|
||||
config.AddConfigPath(confdir)
|
||||
if err := config.MergeInConfig(); err != nil {
|
||||
log.WithError(err).
|
||||
WithField("file", conffile).
|
||||
Error("failed to read default config file")
|
||||
return err
|
||||
}
|
||||
|
||||
// If custom configuration is passed
|
||||
if confFile != "" {
|
||||
|
||||
@@ -34,6 +34,10 @@ GIT_SHA_FULL=${GIT_SHA_FULL:-$(git rev-parse HEAD || echo "undefined")}
|
||||
LDFLAGS="-X ${REPO_PATH}/version.GlusterdVersion=${VERSION} -X ${REPO_PATH}/version.GitSHA=${GIT_SHA}"
|
||||
LDFLAGS+=" -B 0x${GIT_SHA_FULL}"
|
||||
|
||||
if [ "$BIN" == "glusterd2" ]; then
|
||||
LDFLAGS+=" -X main.defaultPathPrefix=${BASE_PREFIX}"
|
||||
fi
|
||||
|
||||
GOBUILD_TAGS=""
|
||||
if [ "$PLUGINS" == "yes" ]; then
|
||||
GOBUILD_TAGS+="plugins "
|
||||
|
||||
@@ -1,21 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
PREFIX=${PREFIX:-/usr/local}
|
||||
BASE_PREFIX=$PREFIX
|
||||
if [ "$PREFIX" = "/usr" ]; then
|
||||
BASE_PREFIX=""
|
||||
fi
|
||||
|
||||
DATADIR=${DATADIR:-$PREFIX/share}
|
||||
LOCALSTATEDIR=${LOCALSTATEDIR:-$PREFIX/var/lib}
|
||||
LOGDIR=${LOGDIR:-$BASE_PREFIX/var/log}
|
||||
RUNDIR=${RUNDIR:-$BASE_PREFIX/var/run}
|
||||
|
||||
GD2="glusterd2"
|
||||
GD2STATEDIR=${GD2STATEDIR:-$LOCALSTATEDIR/$GD2}
|
||||
GD2LOGDIR=${GD2LOGDIR:-$LOGDIR/$GD2}
|
||||
GD2RUNDIR=${GD2RUNDIR:-$RUNDIR/$GD2}
|
||||
|
||||
OUTDIR=${1:-build}
|
||||
mkdir -p "$OUTDIR"
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Create glusterd2/paths_config.go
|
||||
glusterd2dir=$1
|
||||
|
||||
OUTPUT=${glusterd2dir}/paths_config.go
|
||||
|
||||
|
||||
cat >"$OUTPUT" <<EOF
|
||||
package main
|
||||
|
||||
var defaultConfDir = "${SYSCONFDIR}/glusterd2"
|
||||
EOF
|
||||
Reference in New Issue
Block a user