From 468dead5dcac9047c93f5fa5deb298cb79ce2bff Mon Sep 17 00:00:00 2001 From: Mark Vulfson Date: Thu, 16 May 2019 14:11:57 -0700 Subject: [PATCH] fix(mptv1): revert back Jinjava to 2.2.3 (#2921) * fix(mptv1): revert back Jinjava to 2.2.3 Also, making some related calls anonymous to not be noisy Also, had to pull specific version of guava since kork doesn't specify it --- build.gradle | 2 +- orca-core/orca-core.gradle | 2 +- .../orca/pipelinetemplate/loader/Front50SchemeLoader.java | 4 +++- .../v1schema/graph/transform/RenderTransform.java | 1 - .../v1schema/render/tags/PipelineIdTag.java | 8 ++++++-- orca-queue/orca-queue.gradle | 1 + .../orca/controllers/OperationsController.groovy | 2 +- 7 files changed, 13 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index c88065d966..62459532ad 100644 --- a/build.gradle +++ b/build.gradle @@ -38,7 +38,7 @@ allprojects { group = "com.netflix.spinnaker.orca" ext { - korkVersion = "5.2.3" + korkVersion = "5.3.3" keikoVersion = "2.10.1" fiatVersion = "1.0.4" } diff --git a/orca-core/orca-core.gradle b/orca-core/orca-core.gradle index 8676efd221..d6f3507ca9 100644 --- a/orca-core/orca-core.gradle +++ b/orca-core/orca-core.gradle @@ -31,7 +31,7 @@ dependencies { api("io.reactivex:rxjava") implementation(project(":orca-extensionpoint")) - implementation("com.google.guava:guava") + implementation("com.github.ben-manes.caffeine:guava") implementation("org.slf4j:slf4j-api") implementation("com.fasterxml.jackson.core:jackson-annotations") implementation("com.fasterxml.jackson.core:jackson-core") diff --git a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/loader/Front50SchemeLoader.java b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/loader/Front50SchemeLoader.java index 6cd99e7ba5..61e5aee3c3 100644 --- a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/loader/Front50SchemeLoader.java +++ b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/loader/Front50SchemeLoader.java @@ -19,6 +19,7 @@ import com.netflix.spinnaker.orca.front50.Front50Service; import com.netflix.spinnaker.orca.pipelinetemplate.exceptions.TemplateLoaderException; import com.netflix.spinnaker.orca.pipelinetemplate.v1schema.model.PipelineTemplate; +import com.netflix.spinnaker.security.AuthenticatedRequest; import java.net.URI; import java.util.Map; import java.util.Optional; @@ -53,7 +54,8 @@ public PipelineTemplate load(URI uri) { String id = uri.getRawAuthority(); try { - Map pipelineTemplate = front50Service.getPipelineTemplate(id); + Map pipelineTemplate = + AuthenticatedRequest.allowAnonymous(() -> front50Service.getPipelineTemplate(id)); return objectMapper.convertValue(pipelineTemplate, PipelineTemplate.class); } catch (Exception e) { throw new TemplateLoaderException(e); diff --git a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/graph/transform/RenderTransform.java b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/graph/transform/RenderTransform.java index ff4da8a9a0..c0bdcbfb50 100644 --- a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/graph/transform/RenderTransform.java +++ b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/graph/transform/RenderTransform.java @@ -186,7 +186,6 @@ private void renderStage(StageDefinition stage, RenderContext context, String lo .withCause("Received type " + rendered.getClass().toString()) .withLocation(context.getLocation())); } - context.getVariables().putAll((Map) rendered); stage.setConfig((Map) rendered); stage.setName( diff --git a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/render/tags/PipelineIdTag.java b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/render/tags/PipelineIdTag.java index 5ab0e65c36..e033026571 100644 --- a/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/render/tags/PipelineIdTag.java +++ b/orca-pipelinetemplate/src/main/java/com/netflix/spinnaker/orca/pipelinetemplate/v1schema/render/tags/PipelineIdTag.java @@ -26,6 +26,7 @@ import com.netflix.spinnaker.orca.front50.Front50Service; import com.netflix.spinnaker.orca.pipelinetemplate.exceptions.TemplateRenderException; import com.netflix.spinnaker.orca.pipelinetemplate.validator.Errors.Error; +import com.netflix.spinnaker.security.AuthenticatedRequest; import java.util.Collections; import java.util.HashMap; import java.util.List; @@ -79,9 +80,12 @@ public String interpret(TagNode tagNode, JinjavaInterpreter interpreter) { String name = paramPairs.get(NAME).replaceAll("^[\"\']|[\"\']$", ""); name = checkContext(name, context); + final String appName = application; List> pipelines = - Optional.ofNullable(front50Service.getPipelines(application, false)) - .orElse(Collections.emptyList()); + AuthenticatedRequest.allowAnonymous( + () -> + Optional.ofNullable(front50Service.getPipelines(appName, false)) + .orElse(Collections.emptyList())); Map result = findPipeline(pipelines, application, name); return (String) result.get("id"); } diff --git a/orca-queue/orca-queue.gradle b/orca-queue/orca-queue.gradle index 827f98c4ea..78d2981c49 100644 --- a/orca-queue/orca-queue.gradle +++ b/orca-queue/orca-queue.gradle @@ -28,6 +28,7 @@ dependencies { implementation("com.netflix.spinnaker.keiko:keiko-spring:$keikoVersion") implementation("javax.ws.rs:jsr311-api:1.1.1") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") + implementation("com.github.ben-manes.caffeine:guava") testImplementation(project(":orca-test-kotlin")) testImplementation(project(":orca-queue-tck")) diff --git a/orca-web/src/main/groovy/com/netflix/spinnaker/orca/controllers/OperationsController.groovy b/orca-web/src/main/groovy/com/netflix/spinnaker/orca/controllers/OperationsController.groovy index 14ae5ebeaa..05a22d00c8 100644 --- a/orca-web/src/main/groovy/com/netflix/spinnaker/orca/controllers/OperationsController.groovy +++ b/orca-web/src/main/groovy/com/netflix/spinnaker/orca/controllers/OperationsController.groovy @@ -128,7 +128,7 @@ class OperationsController { throw new UnsupportedOperationException("Front50 is not enabled, no way to retrieve pipeline configs. Fix this by setting front50.enabled: true") } - List history = front50Service.getPipelineHistory(pipelineConfigId, 1) + List history = AuthenticatedRequest.allowAnonymous({front50Service.getPipelineHistory(pipelineConfigId, 1)}) if (history.isEmpty()) { throw new NotFoundException("Pipeline config $pipelineConfigId not found") }