mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-01-24 05:51:33 -05:00
224 lines
6.1 KiB
Go
224 lines
6.1 KiB
Go
package flagset
|
|
|
|
import (
|
|
"github.com/micro/cli"
|
|
"github.com/owncloud/ocis-reva/pkg/config"
|
|
)
|
|
|
|
// AuthBasicWithConfig applies cfg to the root flagset
|
|
func AuthBasicWithConfig(cfg *config.Config) []cli.Flag {
|
|
return []cli.Flag{
|
|
|
|
&cli.BoolFlag{
|
|
Name: "tracing-enabled",
|
|
Usage: "Enable sending traces",
|
|
EnvVar: "REVA_TRACING_ENABLED",
|
|
Destination: &cfg.Tracing.Enabled,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "tracing-type",
|
|
Value: "jaeger",
|
|
Usage: "Tracing backend type",
|
|
EnvVar: "REVA_TRACING_TYPE",
|
|
Destination: &cfg.Tracing.Type,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "tracing-endpoint",
|
|
Value: "",
|
|
Usage: "Endpoint for the agent",
|
|
EnvVar: "REVA_TRACING_ENDPOINT",
|
|
Destination: &cfg.Tracing.Endpoint,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "tracing-collector",
|
|
Value: "",
|
|
Usage: "Endpoint for the collector",
|
|
EnvVar: "REVA_TRACING_COLLECTOR",
|
|
Destination: &cfg.Tracing.Collector,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "tracing-service",
|
|
Value: "reva",
|
|
Usage: "Service name for tracing",
|
|
EnvVar: "REVA_TRACING_SERVICE",
|
|
Destination: &cfg.Tracing.Service,
|
|
},
|
|
|
|
// debug ports are the odd ports
|
|
&cli.StringFlag{
|
|
Name: "debug-addr",
|
|
Value: "0.0.0.0:9147",
|
|
Usage: "Address to bind debug server",
|
|
EnvVar: "REVA_AUTH_BASIC_DEBUG_ADDR",
|
|
Destination: &cfg.Reva.AuthBasic.DebugAddr,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "debug-token",
|
|
Value: "",
|
|
Usage: "Token to grant metrics access",
|
|
EnvVar: "REVA_DEBUG_TOKEN",
|
|
Destination: &cfg.Debug.Token,
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "debug-pprof",
|
|
Usage: "Enable pprof debugging",
|
|
EnvVar: "REVA_DEBUG_PPROF",
|
|
Destination: &cfg.Debug.Pprof,
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "debug-zpages",
|
|
Usage: "Enable zpages debugging",
|
|
EnvVar: "REVA_DEBUG_ZPAGES",
|
|
Destination: &cfg.Debug.Zpages,
|
|
},
|
|
|
|
// REVA
|
|
|
|
&cli.StringFlag{
|
|
Name: "jwt-secret",
|
|
Value: "Pive-Fumkiu4",
|
|
Usage: "Shared jwt secret for reva service communication",
|
|
EnvVar: "REVA_JWT_SECRET",
|
|
Destination: &cfg.Reva.JWTSecret,
|
|
},
|
|
|
|
// Users
|
|
|
|
&cli.StringFlag{
|
|
Name: "users-driver",
|
|
Value: "demo",
|
|
Usage: "user driver: 'demo', 'json' or 'ldap'",
|
|
EnvVar: "REVA_USERS_DRIVER",
|
|
Destination: &cfg.Reva.Users.Driver,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "users-json",
|
|
Value: "",
|
|
Usage: "Path to users.json file",
|
|
EnvVar: "REVA_USERS_JSON",
|
|
Destination: &cfg.Reva.Users.JSON,
|
|
},
|
|
|
|
// LDAP
|
|
|
|
&cli.StringFlag{
|
|
Name: "ldap-hostname",
|
|
Value: "localhost",
|
|
Usage: "LDAP hostname",
|
|
EnvVar: "REVA_LDAP_HOSTNAME",
|
|
Destination: &cfg.Reva.LDAP.Hostname,
|
|
},
|
|
&cli.IntFlag{
|
|
Name: "ldap-port",
|
|
Value: 636,
|
|
Usage: "LDAP port",
|
|
EnvVar: "REVA_LDAP_PORT",
|
|
Destination: &cfg.Reva.LDAP.Port,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-base-dn",
|
|
Value: "dc=owncloud,dc=com",
|
|
Usage: "LDAP basedn",
|
|
EnvVar: "REVA_LDAP_BASE_DN",
|
|
Destination: &cfg.Reva.LDAP.BaseDN,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-userfilter",
|
|
Value: "(&(objectclass=posixAccount)(cn=%s))",
|
|
Usage: "LDAP userfilter",
|
|
EnvVar: "REVA_LDAP_USERFILTER",
|
|
Destination: &cfg.Reva.LDAP.UserFilter,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-groupfilter",
|
|
Value: "(&(objectclass=posixGroup)(cn=%s))",
|
|
Usage: "LDAP groupfilter",
|
|
EnvVar: "REVA_LDAP_GROUPFILTER",
|
|
Destination: &cfg.Reva.LDAP.GroupFilter,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-bind-dn",
|
|
Value: "cn=admin,dc=owncloud,dc=com",
|
|
Usage: "LDAP bind dn",
|
|
EnvVar: "REVA_LDAP_BIND_DN",
|
|
Destination: &cfg.Reva.LDAP.BindDN,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-bind-password",
|
|
Value: "admin",
|
|
Usage: "LDAP bind password",
|
|
EnvVar: "REVA_LDAP_BIND_PASSWORD",
|
|
Destination: &cfg.Reva.LDAP.BindPassword,
|
|
},
|
|
// ldap dn is always the dn
|
|
&cli.StringFlag{
|
|
Name: "ldap-schema-uid",
|
|
Value: "uid",
|
|
Usage: "LDAP schema uid",
|
|
EnvVar: "REVA_LDAP_SCHEMA_UID",
|
|
Destination: &cfg.Reva.LDAP.Schema.UID,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-schema-mail",
|
|
Value: "mail",
|
|
Usage: "LDAP schema mail",
|
|
EnvVar: "REVA_LDAP_SCHEMA_Mail",
|
|
Destination: &cfg.Reva.LDAP.Schema.Mail,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-schema-displayName",
|
|
Value: "displayName",
|
|
Usage: "LDAP schema displayName",
|
|
EnvVar: "REVA_LDAP_SCHEMA_DISPLAYNAME",
|
|
Destination: &cfg.Reva.LDAP.Schema.DisplayName,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "ldap-schema-cn",
|
|
Value: "cn",
|
|
Usage: "LDAP schema cn",
|
|
EnvVar: "REVA_LDAP_SCHEMA_CN",
|
|
Destination: &cfg.Reva.LDAP.Schema.CN,
|
|
},
|
|
|
|
// Services
|
|
|
|
// AuthBasic
|
|
|
|
&cli.StringFlag{
|
|
Name: "network",
|
|
Value: "tcp",
|
|
Usage: "Network to use for the reva auth-basic service, can be 'tcp', 'udp' or 'unix'",
|
|
EnvVar: "REVA_AUTH_BASIC_NETWORK",
|
|
Destination: &cfg.Reva.AuthBasic.Network,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "protocol",
|
|
Value: "grpc",
|
|
Usage: "protocol for reva service, can be 'http' or 'grpc'",
|
|
EnvVar: "REVA_AUTH_BASIC_PROTOCOL",
|
|
Destination: &cfg.Reva.AuthBasic.Protocol,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "addr",
|
|
Value: "0.0.0.0:9146",
|
|
Usage: "Address to bind reva service",
|
|
EnvVar: "REVA_AUTH_BASIC_ADDR",
|
|
Destination: &cfg.Reva.AuthBasic.Addr,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "url",
|
|
Value: "localhost:9146",
|
|
Usage: "URL to use for the reva service",
|
|
EnvVar: "REVA_AUTH_BASIC_URL",
|
|
Destination: &cfg.Reva.AuthBasic.URL,
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "services",
|
|
Value: "authprovider",
|
|
Usage: "comma separated list of services to include",
|
|
EnvVar: "REVA_AUTH_BASIC_SERVICES",
|
|
Destination: &cfg.Reva.AuthBasic.Services,
|
|
},
|
|
}
|
|
}
|