fix ocis startup with debugging config / environment variables only

This commit is contained in:
Willy Kloucek
2022-04-28 16:16:06 +02:00
parent ed1c459d98
commit 4e531ca442
5 changed files with 40 additions and 12 deletions

20
.vscode/launch.json vendored
View File

@@ -19,9 +19,25 @@
"PROXY_ENABLE_BASIC_AUTH": "true",
// set insecure options because we don't have valid certificates in dev environments
"OCIS_INSECURE": "true",
// set some hardcoded secrets
"OCIS_JWT_SECRET": "some-ocis-jwt-secret",
"STORAGE_TRANSFER_SECRET": "some-ocis-transfer-secret",
"OCIS_MACHINE_AUTH_API_KEY": "some-ocis-machine-auth-api-key",
// idm ldap
"IDM_SVC_PASSWORD": "some-ldap-idm-password",
"GRAPH_LDAP_BIND_PASSWORD": "some-ldap-idm-password",
// reva ldap
"IDM_REVASVC_PASSWORD": "some-ldap-reva-password",
"GROUPS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"USERS_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
"AUTH_BASIC_LDAP_BIND_PASSWORD": "some-ldap-reva-password",
// idp ldap
"IDM_IDPSVC_PASSWORD": "some-ldap-idp-password",
"IDP_LDAP_BIND_PASSWORD": "some-ldap-idp-password",
// admin user default password
"IDM_ADMIN_PASSWORD": "admin",
// demo users
"ACCOUNTS_DEMO_USERS_AND_GROUPS": "true",
"IDM_CREATE_DEMO_USERS": "true"
"IDM_CREATE_DEMO_USERS": "true",
// OCIS_RUN_EXTENSIONS allows to start a subset of extensions even in the supervised mode
//"OCIS_RUN_EXTENSIONS": "settings,storage-metadata,glauth,graph,graph-explorer,idp,ocs,store,thumbnails,web,webdav,storage-frontend,storage-gateway,storage-userprovider,storage-groupprovider,storage-authbasic,storage-authbearer,storage-authmachine,storage-users,storage-shares,storage-public-link,storage-appprovider,storage-sharing,accounts,proxy,ocdav",
}

View File

@@ -42,6 +42,6 @@ type Thumbnail struct {
CS3AllowInsecure bool `yaml:"cs3_allow_insecure" env:"OCIS_INSECURE;THUMBNAILS_CS3SOURCE_INSECURE"`
RevaGateway string `yaml:"reva_gateway" env:"REVA_GATEWAY"` //TODO: use REVA config
FontMapFile string `yaml:"font_map_file" env:"THUMBNAILS_TXT_FONTMAP_FILE"`
TransferSecret string `yaml:"transfer_secret" env:"THUMBNAILS_TRANSFER_TOKEN"`
TransferSecret string `yaml:"transfer_secret" env:"STORAGE_TRANSFER_TOKEN;THUMBNAILS_TRANSFER_TOKEN"`
DataEndpoint string `yaml:"data_endpoint" env:"THUMBNAILS_DATA_ENDPOINT"`
}

View File

@@ -35,7 +35,7 @@ func ParseConfig(cfg *config.Config) error {
}
func Validate(cfg *config.Config) error {
if cfg.TransferSecret == "" {
if cfg.Thumbnail.TransferSecret == "" {
return fmt.Errorf("reva transfer secret is not set up properly, bailing out (%s)", cfg.Service.Name)
}

View File

@@ -71,7 +71,7 @@ type Config struct {
Registry string `yaml:"registry"`
TokenManager *shared.TokenManager `yaml:"token_manager"`
MachineAuthAPIKey string `yaml:"machine_auth_api_key" env:"OCIS_MACHINE_AUTH_API_KEY"`
TransferSecret string `yaml:"transfer_secret"`
TransferSecret string `yaml:"transfer_secret" env:"STORAGE_TRANSFER_SECRET"`
Runtime Runtime `yaml:"runtime"`
Audit *audit.Config `yaml:"audit"`

View File

@@ -18,7 +18,7 @@ func ParseConfig(cfg *config.Config) error {
return err
}
EnsureDefaultsAndCommons(cfg)
EnsureDefaults(cfg)
// load all env variables relevant to the config in the current context.
if err := envdecode.Decode(cfg); err != nil {
@@ -28,12 +28,27 @@ func ParseConfig(cfg *config.Config) error {
}
}
EnsureCommons(cfg)
return Validate(cfg)
}
// EnsureDefaultsAndCommons copies applicable parts of the oCIS config into the commons part
// and also ensure that all pointers in the oCIS config (not the extensions configs) are initialized
func EnsureDefaultsAndCommons(cfg *config.Config) {
// EnsureDefaults, ensures that all pointers in the
// oCIS config (not the extensions configs) are initialized
func EnsureDefaults(cfg *config.Config) {
if cfg.Tracing == nil {
cfg.Tracing = &shared.Tracing{}
}
if cfg.Log == nil {
cfg.Log = &shared.Log{}
}
if cfg.TokenManager == nil {
cfg.TokenManager = &shared.TokenManager{}
}
}
// EnsureCommons copies applicable parts of the oCIS config into the commons part
func EnsureCommons(cfg *config.Config) {
// ensure the commons part is initialized
if cfg.Commons == nil {
cfg.Commons = &shared.Commons{}
@@ -49,7 +64,6 @@ func EnsureDefaultsAndCommons(cfg *config.Config) {
}
} else {
cfg.Commons.Log = &shared.Log{}
cfg.Log = &shared.Log{}
}
// copy tracing to the commons part if set
@@ -62,7 +76,6 @@ func EnsureDefaultsAndCommons(cfg *config.Config) {
}
} else {
cfg.Commons.Tracing = &shared.Tracing{}
cfg.Tracing = &shared.Tracing{}
}
// copy token manager to the commons part if set
@@ -70,7 +83,6 @@ func EnsureDefaultsAndCommons(cfg *config.Config) {
cfg.Commons.TokenManager = cfg.TokenManager
} else {
cfg.Commons.TokenManager = &shared.TokenManager{}
cfg.TokenManager = cfg.Commons.TokenManager
}
// copy machine auth api key to the commons part if set