Run Pipeline-runner behind a proxy
Asked by Dominic Warzok:

Hey I want to try the new pipeline runner feature.

Because my it don't allows Linux-Pcs I try to setup the runner through WSL on windows.

When starting the runner the following error occurs:

```
[2021-07-14 07:14:42,963] Updating runner state to "ONLINE".
[2021-07-14 07:15:11,006] An error occurred whislt updating runner state to "ONLINE".
java.net.ConnectException: finishConnect(..) failed: Connection refused
at io.netty.channel.unix.Errors.throwConnectException(Errors.java:124)
at io.netty.channel.unix.Socket.finishConnect(Socket.java:251)
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.doFinishConnect(AbstractEpollChannel.java:672)
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:649)
at io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:529)
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:465)
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Unknown Source)
Wrapped by: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: auth.atlassian.com/185.166.143.8:443
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
|_ checkpoint ? Request to POST https://auth.atlassian.com/oauth/token [DefaultWebClient]
Stack trace:
Wrapped by: java.lang.RuntimeException: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: auth.atlassian.com/185.166.143.8:443
at io.reactivex.internal.util.ExceptionHelper.wrapOrThrow(ExceptionHelper.java:46)
at io.reactivex.internal.observers.BlockingMultiObserver.blockingGet(BlockingMultiObserver.java:93)
at io.reactivex.Single.blockingGet(Single.java:2835)
at com.atlassian.pipelines.stargate.client.core.auth.oauth.OAuthHeaderInterceptorImpl.lambda$new$1(OAuthHeaderInterceptorImpl.java:57)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:141)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2346)
at java.base/java.util.concurrent.ConcurrentHashMap.compute(Unknown Source)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2344)
at com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2327)
at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)
at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:54)
at com.atlassian.pipelines.stargate.client.core.auth.oauth.OAuthHeaderInterceptorImpl.lambda$exchangeFilter$4(OAuthHeaderInterceptorImpl.java:100)
at org.springframework.web.reactive.function.client.ExchangeFilterFunction.lambda$ofRequestProcessor$3(ExchangeFilterFunction.java:79)
at org.springframework.web.reactive.function.client.ExchangeFilterFunction.lambda$apply$2(ExchangeFilterFunction.java:68)
at org.springframework.web.reactive.function.client.DefaultWebClient$DefaultRequestBodyUriSpec.lambda$exchange$0(DefaultWebClient.java:338)
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44)
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.resubscribe(FluxRetryWhen.java:204)
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onNext(FluxRetryWhen.java:250)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:274)
at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:851)
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:117)
... 7 common frames omitted
Wrapped by: reactor.retry.RetryExhaustedException: java.lang.RuntimeException: io.netty.channel.AbstractChannel$AnnotatedConnectException: finishConnect(..) failed: Connection refused: auth.atlassian.com/185.166.143.8:443
at reactor.retry.DefaultRetry.retry(DefaultRetry.java:130)
at reactor.retry.DefaultRetry.lambda$apply$1(DefaultRetry.java:115)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:367)
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerComplete(FluxConcatMap.java:288)
at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onComplete(FluxConcatMap.java:875)
at reactor.core.publisher.MonoDelay$MonoDelayRunnable.run(MonoDelay.java:118)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
```

So I think the problem is, that the working pc is behind a proxy and the runner has no chance to connect to bitbucket, because no proxy is configured.

Any help on this problem would be nice.

Thanks in advance


Answers:
author: Caroline R
body: Hi, [@Dominic Warzok](/t5/user/viewprofilepage/user-id/4476337)! Welcome to the community!

Currently, proxy is not supported by Pipelines Runners, but we already have a feature request to implement this:

* <https://jira.atlassian.com/browse/BCLOUD-21158>

As you can see on the feature request, we have a workaround that can be performed:

Include the following configuration in \`\~/.docker/config.json\` to force the docker daemon to add the proxy configuration while initiating the docker container.

      "proxies": {    "default": {      "httpProxy": "http://username:password@proxy2.domain.com",      "httpsProxy": "http://username:password@proxy2.domain.com"    }  }

I've linked your question to this feature. Please consider adding yourself as a watcher, this way you get updated as we make progress with this.

If you are not familiar with our Feature Request Policy, you can read more about it here:

* [Implementation of New Features Policy](https://confluence.atlassian.com/support/implementation-of-new-features-policy-201294576.html)

Please, feel free to share any additional questions or concerns regarding this subject.

Kind regards,  
Caroline


Tags: bitbucket-cloud

bitbucket-pipelines

cloud