Migrer déclarations de flags à serpents

This commit is contained in:
Victor Lacasse-Beaudoin 2023-10-17 17:30:37 -04:00
parent 1d6e0ba0f0
commit a627aac36b
3 changed files with 91 additions and 78 deletions

View file

@ -13,6 +13,7 @@ import (
"io"
"net/http"
"codeberg.org/vlbeaudoin/serpents"
"github.com/spf13/cobra"
"github.com/spf13/viper"
@ -69,9 +70,9 @@ func init() {
publicFS = public.GetPublicFS()
templatesFS = templates.GetTemplatesFS()
// server.port - --server-port
serverCmd.Flags().Int("server-port", 8080, "Port to run the webserver on (config: server.port)")
viper.BindPFlag("server.port", serverCmd.Flags().Lookup("server-port"))
serpents.Int(serverCmd.Flags(),
"server.port", "server-port", 8080,
"Port to run the webserver on")
// Not currently used
/*
@ -80,62 +81,62 @@ func init() {
viper.BindPFlag("server.documents.location", serverCmd.Flags().Lookup("server-documents-location"))
*/
// server.documents.endpoint - --server-documents-endpoint
serverCmd.Flags().String("server-documents-endpoint", "minio:9000", "Storage server endpoint (config: server.documents.endpoint)")
viper.BindPFlag("server.documents.endpoint", serverCmd.Flags().Lookup("server-documents-endpoint"))
serpents.String(serverCmd.Flags(),
"server.documents.endpoint", "server-documents-endpoint", "minio:9000",
"Storage server endpoint")
// server.documents.access_key_id - --server-documents-access-key-id
serverCmd.Flags().String("server-documents-access-key-id", "agecem-org", "Storage server access key id (config: server.documents.access_key_id)")
viper.BindPFlag("server.documents.access_key_id", serverCmd.Flags().Lookup("server-documents-access-key-id"))
serpents.String(serverCmd.Flags(),
"server.documents.access_key_id", "server-documents-access-key-id", "agecem-org",
"Storage server access key id")
// server.documents.secret_access_key - --server-documents-secret-access-key
serverCmd.Flags().String("server-documents-secret-access-key", "agecem-org", "Storage server secret access key (config: server.documents.secret_access_key)")
viper.BindPFlag("server.documents.secret_access_key", serverCmd.Flags().Lookup("server-documents-secret-access-key"))
serpents.String(serverCmd.Flags(),
"server.documents.secret_access_key", "server-documents-secret-access-key", "agecem-org",
"Storage server secret access key")
// server.documents.use_ssl - --server-documents-use-ssl
serverCmd.Flags().Bool("server-documents-use-ssl", false, "Storage server SSL status (config: server.documents.use_ssl)")
viper.BindPFlag("server.documents.use_ssl", serverCmd.Flags().Lookup("server-documents-use-ssl"))
serpents.Bool(serverCmd.Flags(),
"server.documents.use_ssl", "server-documents-use-ssl", false,
"Storage server SSL status")
// server.documents.buckets - --server-documents-buckets
serverCmd.Flags().StringToString("server-documents-buckets", map[string]string{
"proces-verbaux": "Procès-verbaux",
"politiques": "Politiques",
"reglements": "Règlements",
"formulaires": "Formulaires",
}, "Buckets that are allowed to be accessed by the API (config: server.documents.buckets)")
viper.BindPFlag("server.documents.buckets", serverCmd.Flags().Lookup("server-documents-buckets"))
serpents.StringToString(serverCmd.Flags(),
"server.documents.buckets", "server-documents-buckets", map[string]string{
"proces-verbaux": "Procès-verbaux",
"politiques": "Politiques",
"reglements": "Règlements",
"formulaires": "Formulaires",
},
"Buckets that are allowed to be accessed by the API")
// server.api.auth - --server-api-auth
serverCmd.Flags().Bool("server-api-auth", true, "Enable to allow key authentication for /v1 routes (config: server.api.auth)")
viper.BindPFlag("server.api.auth", serverCmd.Flags().Lookup("server-api-auth"))
serpents.Bool(serverCmd.Flags(),
"server.api.auth", "server-api-auth", true,
"Enable to allow key authentication for /v1 routes")
// server.api.key - --server-api-key
serverCmd.Flags().String("server-api-key", "agecem-org", "Key to use for authenticating to /v1 routes")
viper.BindPFlag("server.api.key", serverCmd.Flags().Lookup("server-api-key"))
serpents.String(serverCmd.Flags(),
"server.api.key", "server-api-key", "agecem-org",
"Key to use for authenticating to /v1 routes")
// server.api.port
serverCmd.Flags().Int("server-api-port", 8080, "API server port (config: server.api.port)")
viper.BindPFlag("server.api.port", serverCmd.Flags().Lookup("server-api-port"))
serpents.Int(serverCmd.Flags(),
"server.api.port", "server-api-port", 8080,
"API server port")
// server.api.protocol
serverCmd.Flags().String("server-api-protocol", "http", "API server protocol (http/https) (config: server.api.protocol)")
viper.BindPFlag("server.api.protocol", serverCmd.Flags().Lookup("server-api-protocol"))
serpents.String(serverCmd.Flags(),
"server.api.protocol", "server-api-protocol", "http",
"API server protocol (http/https)")
// server.api.host
serverCmd.Flags().String("server-api-host", "localhost", "API server host (config: server.api.host)")
viper.BindPFlag("server.api.host", serverCmd.Flags().Lookup("server-api-host"))
serpents.String(serverCmd.Flags(),
"server.api.host", "server-api-host", "localhost",
"API server host")
// server.admin.auth - --server-admin-auth
serverCmd.Flags().Bool("server-admin-auth", true, "Enable to allow basic authentication for /admin routes (config: server.admin.auth)")
viper.BindPFlag("server.admin.auth", serverCmd.Flags().Lookup("server-admin-auth"))
serpents.Bool(serverCmd.Flags(),
"server.admin.auth", "server-admin-auth", true,
"Enable to allow basic authentication for /admin routes")
// server.admin.username - --server-admin-username
serverCmd.Flags().String("server-admin-username", "agecem-org", "Username for basic authentication for /admin routes (config: server.admin.username)")
viper.BindPFlag("server.admin.username", serverCmd.Flags().Lookup("server-admin-username"))
serpents.String(serverCmd.Flags(),
"server.admin.username", "server-admin-username", "agecem-org",
"Username for basic authentication for /admin routes")
// server.admin.password - --server-admin-password
serverCmd.Flags().String("server-admin-password", "agecem-org", "Password for basic authentication for /admin routes (config: server.admin.password)")
viper.BindPFlag("server.admin.password", serverCmd.Flags().Lookup("server-admin-password"))
serpents.String(serverCmd.Flags(),
"server.admin.password", "server-admin-password", "agecem-org",
"Password for basic authentication for /admin routes")
}
func RunServer() {