chore: enable full ENV support and remove --sqlite option (#6286)

This commit is contained in:
andig 2023-02-17 18:03:48 +01:00 • committed by GitHub
parent 93d18c4fda
commit 5fb48d03d4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 10 additions and 19 deletions

View file

@ -111,10 +111,9 @@ gokrazy::
go install github.com/gokrazy/tools/cmd/gokr-packer@main
mkdir -p flags/github.com/gokrazy/breakglass
echo "-forward=private-network" > flags/github.com/gokrazy/breakglass/flags.txt
mkdir -p flags/github.com/evcc-io/evcc
echo "--sqlite=/perm/evcc.db" > flags/github.com/evcc-io/evcc/flags.txt
mkdir -p env/github.com/evcc-io/evcc
echo "EVCC_NETWORK_PORT=80" > env/github.com/evcc-io/evcc/env.txt
echo "EVCC_DATABASE_DSN=/perm/evcc.db" >> env/github.com/evcc-io/evcc/env.txt
mkdir -p buildflags/github.com/evcc-io/evcc
echo "$(BUILD_TAGS),gokrazy" > buildflags/github.com/evcc-io/evcc/buildflags.txt
echo "-ldflags=$(LD_FLAGS)" >> buildflags/github.com/evcc-io/evcc/buildflags.txt

View file

@ -8,9 +8,6 @@ import (
)
const (
flagSqlite = "sqlite"
flagSqliteDescription = "SQlite database file"
flagHeaders = "log-headers"
flagHeadersDescription = "Log headers"

View file

@ -57,9 +57,6 @@ func init() {
rootCmd.PersistentFlags().Bool(flagHeaders, false, flagHeadersDescription)
// config file options
rootCmd.PersistentFlags().String(flagSqlite, conf.Database.Dsn, flagSqliteDescription)
bindP(rootCmd, "database.dsn", flagSqlite)
rootCmd.PersistentFlags().StringP("log", "l", "info", "Log level (fatal, error, warn, info, debug, trace)")
bindP(rootCmd, "log")
@ -89,6 +86,7 @@ func initConfig() {
}
viper.SetEnvPrefix("evcc")
viper.SetEnvKeyReplacer(strings.NewReplacer(".", "_"))
viper.AutomaticEnv() // read in environment variables that match
// print version

View file

@ -72,8 +72,8 @@ func configureEnvironment(cmd *cobra.Command, conf config) (err error) {
}
// setup sponsorship (allow env override)
if token := viper.GetString("sponsortoken"); err == nil && token != "" {
err = sponsor.ConfigureSponsorship(token)
if err == nil && conf.SponsorToken != "" {
err = sponsor.ConfigureSponsorship(conf.SponsorToken)
}
// setup translations
@ -83,10 +83,6 @@ func configureEnvironment(cmd *cobra.Command, conf config) (err error) {
// setup persistence
if err == nil && conf.Database.Dsn != "" {
if flag := cmd.Flags().Lookup(flagSqlite); flag != nil && flag.Changed {
conf.Database.Type = "sqlite"
conf.Database.Dsn = flag.Value.String()
}
err = configureDatabase(conf.Database)
}

View file

@ -7,16 +7,16 @@ HASSIO_OPTIONSFILE=/data/options.json
if [ -f ${HASSIO_OPTIONSFILE} ]; then
CONFIG=$(grep -o '"config_file": "[^"]*' ${HASSIO_OPTIONSFILE} | grep -o '[^"]*$')
echo "Using config file: ${CONFIG}"
SQLITE_FILE=$(grep -o '"sqlite_file": "[^"]*' ${HASSIO_OPTIONSFILE} | grep -o '[^"]*$')
if [ ! -f "${CONFIG}" ]; then
echo "Config not found. Please create a config under ${CONFIG}."
echo "For details see evcc documentation at https://github.com/evcc-io/evcc#readme."
else
if [ "${SQLITE_FILE}" ]; then
echo "starting evcc: 'evcc --config ${CONFIG} --sqlite ${SQLITE_FILE}'"
exec evcc --config "${CONFIG}" --sqlite "${SQLITE_FILE}"
echo "starting evcc: 'EVCC_DATABASE_DSN=${SQLITE_FILE} evcc --config ${CONFIG}'"
exec EVCC_DATABASE_DSN="${SQLITE_FILE}" evcc --config "${CONFIG}"
else
echo "starting evcc: 'evcc --config ${CONFIG}'"
exec evcc --config "${CONFIG}"

View file

@ -10,7 +10,8 @@ StartLimitIntervalSec=10
StartLimitBurst=10
[Service]
ExecStart=/usr/bin/evcc --sqlite /var/lib/evcc/evcc.db
ExecStart=/usr/bin/evcc
Environment="EVCC_DATABASE_DSN=/var/lib/evcc/evcc.db"
Restart=always
RestartSec=10