in internal/loader/request_tracing.go [26:81]
func createCorrelationContextHeader(ctx context.Context, provider acpv1.AzureAppConfigurationProvider, clientManager ClientManager, isFailoverRequest bool) http.Header {
header := http.Header{}
output := make([]string, 0)
output = append(output, "Host=Kubernetes")
if tracing := ctx.Value(RequestTracingKey); tracing != nil {
if tracing.(RequestTracing).IsStartUp {
output = append(output, "RequestType=StartUp")
} else {
output = append(output, "RequestType=Watch")
}
}
if provider.Spec.Secret != nil {
output = append(output, "UsesKeyVault")
if provider.Spec.Secret.Refresh != nil &&
provider.Spec.Secret.Refresh.Enabled {
output = append(output, "RefreshesKeyVault")
}
}
if provider.Spec.FeatureFlag != nil {
output = append(output, "UsesFeatureFlag")
}
if provider.Spec.ReplicaDiscoveryEnabled {
if manager, ok := clientManager.(*ConfigurationClientManager); ok {
replicaCount := 0
if manager.DynamicClientWrappers != nil {
replicaCount = len(manager.DynamicClientWrappers)
}
output = append(output, fmt.Sprintf("ReplicaCount=%d", replicaCount))
}
if isFailoverRequest {
output = append(output, "FailoverRequest")
}
}
if provider.Spec.LoadBalancingEnabled {
output = append(output, "Features=LB")
}
if _, ok := os.LookupEnv(AzureExtensionContext); ok {
output = append(output, "InstalledBy=Extension")
} else {
output = append(output, "InstalledBy=Helm")
}
header.Add("Correlation-Context", strings.Join(output, ","))
return header
}