mirror of
https://github.com/prometheus/prometheus.git
synced 2025-01-11 05:47:27 -08:00
Add common HTTP client to Azure SD (#9267)
* Add `proxy_url` option to Azure SD Signed-off-by: Levi Harrison <git@leviharrison.dev>
This commit is contained in:
parent
3458e338c6
commit
89a6ebd799
|
@ -565,6 +565,7 @@ var expectedConf = &Config{
|
||||||
AuthenticationMethod: "OAuth",
|
AuthenticationMethod: "OAuth",
|
||||||
RefreshInterval: model.Duration(5 * time.Minute),
|
RefreshInterval: model.Duration(5 * time.Minute),
|
||||||
Port: 9100,
|
Port: 9100,
|
||||||
|
HTTPClientConfig: config.DefaultHTTPClientConfig,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -64,6 +64,7 @@ var DefaultSDConfig = SDConfig{
|
||||||
RefreshInterval: model.Duration(5 * time.Minute),
|
RefreshInterval: model.Duration(5 * time.Minute),
|
||||||
Environment: azure.PublicCloud.Name,
|
Environment: azure.PublicCloud.Name,
|
||||||
AuthenticationMethod: authMethodOAuth,
|
AuthenticationMethod: authMethodOAuth,
|
||||||
|
HTTPClientConfig: config_util.DefaultHTTPClientConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
@ -80,6 +81,8 @@ type SDConfig struct {
|
||||||
ClientSecret config_util.Secret `yaml:"client_secret,omitempty"`
|
ClientSecret config_util.Secret `yaml:"client_secret,omitempty"`
|
||||||
RefreshInterval model.Duration `yaml:"refresh_interval,omitempty"`
|
RefreshInterval model.Duration `yaml:"refresh_interval,omitempty"`
|
||||||
AuthenticationMethod string `yaml:"authentication_method,omitempty"`
|
AuthenticationMethod string `yaml:"authentication_method,omitempty"`
|
||||||
|
|
||||||
|
HTTPClientConfig config_util.HTTPClientConfig `yaml:",inline"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Name returns the name of the Config.
|
// Name returns the name of the Config.
|
||||||
|
@ -200,19 +203,29 @@ func createAzureClient(cfg SDConfig) (azureClient, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
client, err := config_util.NewClientFromConfig(cfg.HTTPClientConfig, "azure_sd")
|
||||||
|
if err != nil {
|
||||||
|
return azureClient{}, err
|
||||||
|
}
|
||||||
|
sender := autorest.DecorateSender(client)
|
||||||
|
|
||||||
bearerAuthorizer := autorest.NewBearerAuthorizer(spt)
|
bearerAuthorizer := autorest.NewBearerAuthorizer(spt)
|
||||||
|
|
||||||
c.vm = compute.NewVirtualMachinesClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
c.vm = compute.NewVirtualMachinesClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
||||||
c.vm.Authorizer = bearerAuthorizer
|
c.vm.Authorizer = bearerAuthorizer
|
||||||
|
c.vm.Sender = sender
|
||||||
|
|
||||||
c.nic = network.NewInterfacesClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
c.nic = network.NewInterfacesClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
||||||
c.nic.Authorizer = bearerAuthorizer
|
c.nic.Authorizer = bearerAuthorizer
|
||||||
|
c.nic.Sender = sender
|
||||||
|
|
||||||
c.vmss = compute.NewVirtualMachineScaleSetsClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
c.vmss = compute.NewVirtualMachineScaleSetsClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
||||||
c.vmss.Authorizer = bearerAuthorizer
|
c.vmss.Authorizer = bearerAuthorizer
|
||||||
|
c.vm.Sender = sender
|
||||||
|
|
||||||
c.vmssvm = compute.NewVirtualMachineScaleSetVMsClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
c.vmssvm = compute.NewVirtualMachineScaleSetVMsClientWithBaseURI(resourceManagerEndpoint, cfg.SubscriptionID)
|
||||||
c.vmssvm.Authorizer = bearerAuthorizer
|
c.vmssvm.Authorizer = bearerAuthorizer
|
||||||
|
c.vmssvm.Sender = sender
|
||||||
|
|
||||||
return c, nil
|
return c, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -429,6 +429,42 @@ subscription_id: <string>
|
||||||
# The port to scrape metrics from. If using the public IP address, this must
|
# The port to scrape metrics from. If using the public IP address, this must
|
||||||
# instead be specified in the relabeling rule.
|
# instead be specified in the relabeling rule.
|
||||||
[ port: <int> | default = 80 ]
|
[ port: <int> | default = 80 ]
|
||||||
|
|
||||||
|
# Authentication information used to authenticate to the consul server.
|
||||||
|
# Note that `basic_auth`, `authorization` and `oauth2` options are
|
||||||
|
# mutually exclusive.
|
||||||
|
# `password` and `password_file` are mutually exclusive.
|
||||||
|
|
||||||
|
# Optional HTTP basic authentication information, currently not support by Azure.
|
||||||
|
basic_auth:
|
||||||
|
[ username: <string> ]
|
||||||
|
[ password: <secret> ]
|
||||||
|
[ password_file: <string> ]
|
||||||
|
|
||||||
|
# Optional `Authorization` header configuration, currently not supported by Azure.
|
||||||
|
authorization:
|
||||||
|
# Sets the authentication type.
|
||||||
|
[ type: <string> | default: Bearer ]
|
||||||
|
# Sets the credentials. It is mutually exclusive with
|
||||||
|
# `credentials_file`.
|
||||||
|
[ credentials: <secret> ]
|
||||||
|
# Sets the credentials to the credentials read from the configured file.
|
||||||
|
# It is mutually exclusive with `credentials`.
|
||||||
|
[ credentials_file: <filename> ]
|
||||||
|
|
||||||
|
# Optional OAuth 2.0 configuration, currently not supported by Azure.
|
||||||
|
oauth2:
|
||||||
|
[ <oauth2> ]
|
||||||
|
|
||||||
|
# Optional proxy URL.
|
||||||
|
[ proxy_url: <string> ]
|
||||||
|
|
||||||
|
# Configure whether HTTP requests follow HTTP 3xx redirects.
|
||||||
|
[ follow_redirects: <bool> | default = true ]
|
||||||
|
|
||||||
|
# TLS configuration.
|
||||||
|
tls_config:
|
||||||
|
[ <tls_config> ]
|
||||||
```
|
```
|
||||||
|
|
||||||
### `<consul_sd_config>`
|
### `<consul_sd_config>`
|
||||||
|
|
Loading…
Reference in a new issue