Cloud migrations: create endpoint to create an access token (#84690)

* fix merge conflicts

* make token expiration configurable
This commit is contained in:
Bruno
2024-03-25 12:43:28 -03:00
committed by GitHub
parent e237b89fe7
commit a2e21eac8c
12 changed files with 561 additions and 54 deletions

View File

@@ -495,7 +495,7 @@ type Cfg struct {
PublicDashboardsEnabled bool
// Cloud Migration
CloudMigrationIsTarget bool
CloudMigration CloudMigrationSettings
// Feature Management Settings
FeatureManagement FeatureMgmtSettings
@@ -1996,8 +1996,3 @@ func (cfg *Cfg) readPublicDashboardsSettings() {
publicDashboards := cfg.Raw.Section("public_dashboards")
cfg.PublicDashboardsEnabled = publicDashboards.Key("enabled").MustBool(true)
}
func (cfg *Cfg) readCloudMigrationSettings() {
cloudMigration := cfg.Raw.Section("cloud_migration")
cfg.CloudMigrationIsTarget = cloudMigration.Key("is_target").MustBool(false)
}

View File

@@ -0,0 +1,28 @@
package setting
import (
"time"
)
type CloudMigrationSettings struct {
IsTarget bool
GcomAPIToken string
FetchInstanceTimeout time.Duration
CreateAccessPolicyTimeout time.Duration
FetchAccessPolicyTimeout time.Duration
DeleteAccessPolicyTimeout time.Duration
CreateTokenTimeout time.Duration
TokenExpiresAfter time.Duration
}
func (cfg *Cfg) readCloudMigrationSettings() {
cloudMigration := cfg.Raw.Section("cloud_migration")
cfg.CloudMigration.IsTarget = cloudMigration.Key("is_target").MustBool(false)
cfg.CloudMigration.GcomAPIToken = cloudMigration.Key("gcom_api_token").MustString("")
cfg.CloudMigration.FetchInstanceTimeout = cloudMigration.Key("fetch_instance_timeout").MustDuration(5 * time.Second)
cfg.CloudMigration.CreateAccessPolicyTimeout = cloudMigration.Key("create_access_policy_timeout").MustDuration(5 * time.Second)
cfg.CloudMigration.FetchAccessPolicyTimeout = cloudMigration.Key("fetch_access_policy_timeout").MustDuration(5 * time.Second)
cfg.CloudMigration.DeleteAccessPolicyTimeout = cloudMigration.Key("delete_access_policy_timeout").MustDuration(5 * time.Second)
cfg.CloudMigration.CreateTokenTimeout = cloudMigration.Key("create_token_timeout").MustDuration(5 * time.Second)
cfg.CloudMigration.TokenExpiresAfter = cloudMigration.Key("token_expires_after").MustDuration(7 * 24 * time.Hour)
}