mirror of
https://github.com/minio/minio.git
synced 2025-01-23 12:43:16 -05:00
Pass SUBNET URL to console (#18503)
When minio runs with MINIO_CI_CD=on, it is expected to communicate with the locally running SUBNET. This is happening in the case of MinIO via call home functionality. However, the subnet-related functionality inside the console continues to talk to the SUBNET production URL. Because of this, the console cannot be tested with a locally running SUBNET. Set the env variable CONSOLE_SUBNET_URL correctly in such cases. (The console already has code to use the value of this variable as the subnet URL)
This commit is contained in:
parent
dd6ea18901
commit
11dc723324
@ -157,15 +157,11 @@ func performCallhome(ctx context.Context) {
|
||||
}
|
||||
|
||||
const (
|
||||
healthURL = "https://subnet.min.io/api/health/upload"
|
||||
healthURLDev = "http://localhost:9000/api/health/upload"
|
||||
subnetHealthPath = "/api/health/upload"
|
||||
)
|
||||
|
||||
func sendHealthInfo(ctx context.Context, healthInfo madmin.HealthInfo) error {
|
||||
url := healthURL
|
||||
if globalIsCICD {
|
||||
url = healthURLDev
|
||||
}
|
||||
url := globalSubnetConfig.BaseURL + subnetHealthPath
|
||||
|
||||
filename := fmt.Sprintf("health_%s.json.gz", UTCNow().Format("20060102150405"))
|
||||
url += "?filename=" + filename
|
||||
|
@ -631,7 +631,7 @@ func applyDynamicConfigForSubSys(ctx context.Context, objAPI ObjectLayer, s conf
|
||||
if err != nil {
|
||||
logger.LogIf(ctx, fmt.Errorf("Unable to parse subnet configuration: %w", err))
|
||||
} else {
|
||||
globalSubnetConfig.Update(subnetConfig)
|
||||
globalSubnetConfig.Update(subnetConfig, globalIsCICD)
|
||||
globalSubnetConfig.ApplyEnv() // update environment settings for Console UI
|
||||
}
|
||||
case config.CallhomeSubSys:
|
||||
|
@ -29,8 +29,7 @@ import (
|
||||
|
||||
const (
|
||||
licUpdateCycle = 24 * time.Hour * 30
|
||||
licRenewURL = "https://subnet.min.io/api/cluster/renew-license"
|
||||
licRenewURLDev = "http://localhost:9000/api/cluster/renew-license"
|
||||
licRenewPath = "/api/cluster/renew-license"
|
||||
)
|
||||
|
||||
// initlicenseUpdateJob start the periodic license update job in the background.
|
||||
@ -82,10 +81,7 @@ func licenceUpdaterLoop(ctx context.Context, objAPI ObjectLayer) {
|
||||
func performLicenseUpdate(ctx context.Context, objectAPI ObjectLayer) {
|
||||
// the subnet license renewal api renews the license only
|
||||
// if required e.g. when it is expiring soon
|
||||
url := licRenewURL
|
||||
if globalIsCICD {
|
||||
url = licRenewURLDev
|
||||
}
|
||||
url := globalSubnetConfig.BaseURL + licRenewPath
|
||||
|
||||
resp, err := globalSubnetConfig.Post(url, nil)
|
||||
if err != nil {
|
||||
|
@ -29,6 +29,11 @@ import (
|
||||
xnet "github.com/minio/pkg/v2/net"
|
||||
)
|
||||
|
||||
const (
|
||||
baseURL = "https://subnet.min.io"
|
||||
baseURLDev = "http://localhost:9000"
|
||||
)
|
||||
|
||||
// DefaultKVS - default KV config for subnet settings
|
||||
var DefaultKVS = config.KVS{
|
||||
config.KV{
|
||||
@ -58,6 +63,9 @@ type Config struct {
|
||||
|
||||
// Transport configured with proxy_url if set optionally.
|
||||
transport http.RoundTripper
|
||||
|
||||
// The subnet base URL
|
||||
BaseURL string
|
||||
}
|
||||
|
||||
var configLock sync.RWMutex
|
||||
@ -84,10 +92,11 @@ func (c *Config) ApplyEnv() {
|
||||
if c.Proxy != "" {
|
||||
os.Setenv("CONSOLE_SUBNET_PROXY", c.Proxy)
|
||||
}
|
||||
os.Setenv("CONSOLE_SUBNET_URL", c.BaseURL)
|
||||
}
|
||||
|
||||
// Update - in-place update with new license and registration information.
|
||||
func (c *Config) Update(ncfg Config) {
|
||||
func (c *Config) Update(ncfg Config, isDevEnv bool) {
|
||||
configLock.Lock()
|
||||
defer configLock.Unlock()
|
||||
|
||||
@ -95,6 +104,14 @@ func (c *Config) Update(ncfg Config) {
|
||||
c.APIKey = ncfg.APIKey
|
||||
c.Proxy = ncfg.Proxy
|
||||
c.transport = ncfg.transport
|
||||
c.BaseURL = baseURL
|
||||
|
||||
if isDevEnv {
|
||||
c.BaseURL = os.Getenv("_MINIO_SUBNET_URL")
|
||||
if c.BaseURL == "" {
|
||||
c.BaseURL = baseURLDev
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// LookupConfig - lookup config and override with valid environment settings if any.
|
||||
|
Loading…
x
Reference in New Issue
Block a user