diff --git a/gradle.properties b/gradle.properties index 7ec5e61c3..9be0900aa 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ #Wed Jun 05 20:01:11 UTC 2019 fiatVersion=1.0.4 enablePublishing=false -korkVersion=5.4.6 +korkVersion=5.4.8 spinnakerGradleVersion=6.5.0 org.gradle.parallel=true diff --git a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/JenkinsConfig.groovy b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/JenkinsConfig.groovy index a153cd329..e8fc0eb6b 100644 --- a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/JenkinsConfig.groovy +++ b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/config/JenkinsConfig.groovy @@ -16,7 +16,6 @@ package com.netflix.spinnaker.igor.config - import com.fasterxml.jackson.databind.DeserializationFeature import com.fasterxml.jackson.databind.ObjectMapper import com.fasterxml.jackson.dataformat.xml.XmlMapper @@ -51,7 +50,6 @@ import javax.net.ssl.TrustManager import javax.net.ssl.TrustManagerFactory import javax.net.ssl.X509TrustManager import javax.validation.Valid -import java.lang.reflect.Proxy import java.security.KeyStore import java.security.cert.CertificateException import java.security.cert.X509Certificate @@ -91,21 +89,16 @@ class JenkinsConfig { log.info "bootstrapping ${host.address} as ${host.name}" [(host.name): jenkinsService( host.name, - (JenkinsClient) Proxy.newProxyInstance( - JenkinsClient.getClassLoader(), - [JenkinsClient] as Class[], - new InstrumentedProxy( - registry, - jenkinsClient( - host, - jenkinsOkHttpClientProvider.provide(host), - jenkinsRetrofitRequestInterceptorProvider.provide(host), - igorConfigurationProperties.client.timeout - ), - "jenkinsClient", - [master: host.name] - ) - ), + (JenkinsClient) InstrumentedProxy.proxy( + registry, + jenkinsClient( + host, + jenkinsOkHttpClientProvider.provide(host), + jenkinsRetrofitRequestInterceptorProvider.provide(host), + igorConfigurationProperties.client.timeout + ), + "jenkinsClient", + [master: host.name]), host.csrf, host.permissions.build() )] diff --git a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/DockerMonitor.groovy b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/DockerMonitor.groovy index 20fbb8ceb..110cf4116 100644 --- a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/DockerMonitor.groovy +++ b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/DockerMonitor.groovy @@ -103,7 +103,7 @@ class DockerMonitor extends CommonPollingMonitor Set cachedImages = cache.getImages(account) long startTime = System.currentTimeMillis() - List images = dockerRegistryAccounts.service.getImagesByAccount(account) + List images = AuthenticatedRequest.allowAnonymous { dockerRegistryAccounts.service.getImagesByAccount(account) } registry.timer("pollingMonitor.docker.retrieveImagesByAccount", [new BasicTag("account", account)]) .record(System.currentTimeMillis() - startTime, TimeUnit.MILLISECONDS) diff --git a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/model/DockerRegistryAccounts.groovy b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/model/DockerRegistryAccounts.groovy index 7d6edec55..b4116f5b0 100644 --- a/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/model/DockerRegistryAccounts.groovy +++ b/igor-web/src/main/groovy/com/netflix/spinnaker/igor/docker/model/DockerRegistryAccounts.groovy @@ -17,6 +17,7 @@ package com.netflix.spinnaker.igor.docker.model import com.netflix.spinnaker.igor.docker.service.ClouddriverService +import com.netflix.spinnaker.security.AuthenticatedRequest import groovy.util.logging.Slf4j import org.springframework.beans.factory.annotation.Autowired import retrofit.RetrofitError @@ -34,8 +35,10 @@ class DockerRegistryAccounts { void updateAccounts() { try { - this.accounts = service.allAccounts.findAll{ it.cloudProvider == 'dockerRegistry' }*.name.collect{ - service.getAccountDetails(it) + AuthenticatedRequest.allowAnonymous { + this.accounts = service.allAccounts.findAll { it.cloudProvider == 'dockerRegistry' }*.name.collect { + service.getAccountDetails(it) + } } } catch (RetrofitError e) { log.error "Failed to get list of docker accounts", e