worker: add proxy support to composer and oauth calls
In the internal deployment, we want to talk with composer over a http/https proxy. This proxy adds new composer.proxy field to the worker config that causes the worker to connect to composer and the oauth server using a specified proxy. NB: The proxy is not supported when connection to composer via unix sockets. For testing this, I added a small HTTP proxy implementation, pls don't use this in production, it's just good enough for tests. Signed-off-by: Ondřej Budai <ondrej@budai.cz>
This commit is contained in:
parent
9ee3997428
commit
6fce34a5ea
4 changed files with 149 additions and 0 deletions
|
|
@ -123,6 +123,9 @@ func RequestAndRunJob(client *worker.Client, acceptedJobTypes []string, jobImpls
|
|||
|
||||
func main() {
|
||||
var config struct {
|
||||
Composer *struct {
|
||||
Proxy string `toml:"proxy"`
|
||||
}
|
||||
Koji map[string]struct {
|
||||
Kerberos *struct {
|
||||
Principal string `toml:"principal"`
|
||||
|
|
@ -240,6 +243,11 @@ func main() {
|
|||
clientSecret = strings.TrimSpace(string(cs))
|
||||
}
|
||||
|
||||
proxy := ""
|
||||
if config.Composer != nil && config.Composer.Proxy != "" {
|
||||
proxy = config.Composer.Proxy
|
||||
}
|
||||
|
||||
client, err = worker.NewClient(worker.ClientConfig{
|
||||
BaseURL: fmt.Sprintf("https://%s", address),
|
||||
TlsConfig: conf,
|
||||
|
|
@ -248,6 +256,7 @@ func main() {
|
|||
ClientId: config.Authentication.ClientId,
|
||||
ClientSecret: clientSecret,
|
||||
BasePath: config.BasePath,
|
||||
ProxyURL: proxy,
|
||||
})
|
||||
if err != nil {
|
||||
logrus.Fatalf("Error creating worker client: %v", err)
|
||||
|
|
@ -266,10 +275,16 @@ func main() {
|
|||
}
|
||||
}
|
||||
|
||||
proxy := ""
|
||||
if config.Composer != nil && config.Composer.Proxy != "" {
|
||||
proxy = config.Composer.Proxy
|
||||
}
|
||||
|
||||
client, err = worker.NewClient(worker.ClientConfig{
|
||||
BaseURL: fmt.Sprintf("https://%s", address),
|
||||
TlsConfig: conf,
|
||||
BasePath: config.BasePath,
|
||||
ProxyURL: proxy,
|
||||
})
|
||||
if err != nil {
|
||||
logrus.Fatalf("Error creating worker client: %v", err)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue