Get admin config info
()
| 472 | |
| 473 | // Get admin config info |
| 474 | func (h *handler) handleGetConfig() error { |
| 475 | if redact, _ := h.getOptBoolQuery("redact", true); !redact { |
| 476 | return base.HTTPErrorf(http.StatusBadRequest, "redact=false is no longer supported") |
| 477 | } |
| 478 | |
| 479 | includeRuntime, _ := h.getOptBoolQuery("include_runtime", false) |
| 480 | if includeRuntime { |
| 481 | cfg := RunTimeServerConfigResponse{} |
| 482 | var err error |
| 483 | |
| 484 | allDbNames := h.server.AllDatabaseNames() |
| 485 | databaseMap := make(map[string]*DbConfig, len(allDbNames)) |
| 486 | cfg.StartupConfig, err = h.server.Config.Redacted() |
| 487 | if err != nil { |
| 488 | return err |
| 489 | } |
| 490 | |
| 491 | for _, dbName := range allDbNames { |
| 492 | // defensive check - in-flight requests could've removed this database since we got the name of it |
| 493 | dbConfig := h.server.GetDbConfig(dbName) |
| 494 | if dbConfig == nil { |
| 495 | continue |
| 496 | } |
| 497 | |
| 498 | dbConfig, err := MergeDatabaseConfigWithDefaults(h.server.Config, dbConfig) |
| 499 | if err != nil { |
| 500 | return err |
| 501 | } |
| 502 | |
| 503 | databaseMap[dbName], err = dbConfig.Redacted(h.ctx()) |
| 504 | if err != nil { |
| 505 | return err |
| 506 | } |
| 507 | } |
| 508 | |
| 509 | for dbName, dbConfig := range databaseMap { |
| 510 | database, err := h.server.GetDatabase(h.ctx(), dbName) |
| 511 | if err != nil { |
| 512 | return err |
| 513 | } |
| 514 | |
| 515 | if database.SGReplicateMgr != nil { |
| 516 | replications, err := database.SGReplicateMgr.GetReplications() |
| 517 | if err != nil { |
| 518 | return err |
| 519 | } |
| 520 | |
| 521 | dbConfig.Replications = make(map[string]*db.ReplicationConfig, len(replications)) |
| 522 | |
| 523 | for replicationName, replicationConfig := range replications { |
| 524 | dbConfig.Replications[replicationName] = replicationConfig.ReplicationConfig.Redacted(h.ctx()) |
| 525 | } |
| 526 | } |
| 527 | } |
| 528 | |
| 529 | // grab cluster uuid for runtime config |
| 530 | clusterUUID, err := h.server.getClusterUUID(h.ctx()) |
| 531 | if err != nil { |
nothing calls this directly
no test coverage detected