From ac5a56fc8e360409f2ae8ee8fa32fff5f8d4cd1d Mon Sep 17 00:00:00 2001 From: Ymnuk Date: Wed, 28 Jun 2023 16:29:12 +0300 Subject: [PATCH] Preparep console params for application --- example.yml | 8 ++++++++ lib/tmpl/backend/lib/config.tmpl | 31 ++++++++++++++++--------------- lib/tmpl/backend/main.tmpl | 2 +- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/example.yml b/example.yml index fb5ad02..8a68403 100644 --- a/example.yml +++ b/example.yml @@ -12,4 +12,12 @@ db: - name: f2 fks: - name: test1 +backend: + config: + - name: nominatim + type: string + help: Nominatim server for geocoding + - name: tile_server + type: string + help: Tile server for download tiles map \ No newline at end of file diff --git a/lib/tmpl/backend/lib/config.tmpl b/lib/tmpl/backend/lib/config.tmpl index e6cc329..2a8426a 100644 --- a/lib/tmpl/backend/lib/config.tmpl +++ b/lib/tmpl/backend/lib/config.tmpl @@ -1,21 +1,22 @@ package lib var AppConfig struct { - Env string - MigrateDB bool - DBInstance string - DbName string - DbAddress string - DbPort string - DbLogin string - DbPassword string - Port string + Env string `arg:"-e,env:ENV" default:"prod" help:"Environment for application. dev or prod. Default prod"` + MigrateDB bool `arg:"-m,--migrate,env:DB_MIGRATE" "default:false" help:"Run migrate Database"` + DBInstance string `arg:"--db-instance,env:DB_INSTANCE" "default:postgres" help:"postgres (PostgreSQL) or mysql (MySQL/MariaDB)"` + DbName string `arg:"--db-name,env:DB_NAME" default:"dbname" help:"Database name for connect"` + DbAddress string `arg:"--db-host,env:DB_HOST" default:"localhost" help:"Database host for connect"` + DbPort string `arg:"--db-port,env:DB_PORT" default:"5432" help:"Database port for connect"` + DbLogin string `arg:"--db-login,env:DB_LOGIN" default:"db" help:"Database login for connect"` + DbPassword string `arg:"--db-pwd,env:DB_PWD" default:"db" help:"Database password for connect"` + Port string `arg:"--port,env:PORT" default:"3000" help:"Open port for incoming connections"` - LdapURL string - LdapBind string - LdapPassword string - LdapSearchBase string + LdapURL string `arg:"--ldap-url,env:LDAP_URL" help:"Ldap url for server"` + LdapBind string `arg:"--ldap-bind,env:LDAP_BIND" help:"Ldap bind for credential"` + LdapPassword string `arg:"--ldap-pwd,env:LDAP_PWD" help:"Ldap password for credential"` + LdapSearchBase string `arg:"--ldap-search-base,env:LDAP_SEARCH_BASE" help:"Ldap search base for search users"` - Nominatim string - TileServer string + {{ range $index, $field := .Config }} + {{ configParamName $field }} {{ configParamType $field }} {{ configParamTag $field }} + {{ end }} } \ No newline at end of file diff --git a/lib/tmpl/backend/main.tmpl b/lib/tmpl/backend/main.tmpl index fabb287..71da159 100644 --- a/lib/tmpl/backend/main.tmpl +++ b/lib/tmpl/backend/main.tmpl @@ -13,7 +13,7 @@ import ( "{{ .Name }}/middlewares" "{{ .Name }}/routes" - "github.com/go-co-op/gocron" + "github.com/alexflint/go-arg" "github.com/labstack/echo/v4" )