Добавить чтение PGDATA из конфига .walg.json для проекта wal-g

7 000 руб. за проект
20 февраля 2020, 16:55 • 1 отклик • 15 просмотров
Вот проект https://github.com/wal-g/wal-g

Вот issue https://github.com/wal-g/wal-g/issues/549


Ошибка:

cat $HOME/.walg.json
{
"WALE_S3_PREFIX": "s3://pg-backups",
"AWS_ACCESS_KEY_ID": "minio",
"AWS_ENDPOINT": "http://172.26.9.241:9000",
"AWS_S3_FORCE_PATH_STYLE": "true",
"AWS_SECRET_ACCESS_KEY": "miniosecret",
"PGDATA": "/var/lib/pgsql/9.6/data/",
"PGHOST": "/var/run/postgresql/.s.PGSQL.5432",
"WALG_UPLOAD_CONCURRENCY": "2",
"WALG_DOWNLOAD_CONCURRENCY": "2",
"WALG_UPLOAD_DISK_CONCURRENCY": "2",
"WALG_DELTA_MAX_STEPS": "7",
"WALG_COMPRESSION_METHOD": "brotli"
}

Get error:

/usr/local/bin/wal-g backup-list
WARNING: 2020/02/02 12:33:32.793829 PGDATA is unknown
WARNING: 2020/02/02 12:33:32.793865 We found that some variables in your config file detected as 'Unknown'.
If this is not right, please create issue https://github.com/wal-g/wal-g/issues/new
name last_modified wal_segment_backup_start

Я поправил internal/config.go
+++ b/internal/config.go
@@ -37,6 +37,7 @@ const (
PgPortSetting = "PGPORT"
PgUserSetting = "PGUSER"
PgHostSetting = "PGHOST"
+ PgDataSetting = "PGDATA"
PgPasswordSetting = "PGPASSWORD"
PgDatabaseSetting = "PGDATABASE"
PgSslModeSetting = "PGSSLMODE"
@@ -95,6 +96,7 @@ var (
PgPortSetting: true,
PgUserSetting: true,
PgHostSetting: true,
+ PgDataSetting: true,
PgPasswordSetting: true,
PgDatabaseSetting: true,
PgSslModeSetting: true,



Но сборка выдает ошибку

make pg_build
(cd main/pg && go build -mod vendor -tags "brotli lzo""" -o wal-g -ldflags "-s -w -X github.com/wal-g/wal-g/cmd/pg.BuildDate=`date -u +%Y.%m.%d_%H:%M:%S` -X github.com/wal-g/wal-g/cmd/pg.GitRevision=`git rev-parse --short HEAD` -X github.com/wal-g/wal-g/cmd/pg.WalgVersion=`git tag -l --points-at HEAD`")
# github.com/wal-g/wal-g/internal
../../internal/config.go:40:2: PgDataSetting redeclared in this block
previous declaration at ../../internal/config.go:35:33
Makefile:29: recipe for target 'pg_build' failed
make: *** [pg_build] Error 2