From 345c0ac573f5f70790d9ac7f8f6f7144f7aed1b8 Mon Sep 17 00:00:00 2001 From: Jammy Louie Date: Wed, 21 Aug 2019 08:59:04 -0400 Subject: [PATCH] feat(artifacts): add feature flag to turn on artifactsRewrite (#1398) --- docs/commands.md | 1 + .../cli/command/v1/config/EditFeaturesCommand.java | 9 +++++++++ .../spinnaker/halyard/config/model/v1/node/Features.java | 6 ++++++ .../spinnaker/v1/profile/deck/DeckProfileFactory.java | 4 ++++ 4 files changed, 20 insertions(+) diff --git a/docs/commands.md b/docs/commands.md index 9121d4082b..2d1ea13e11 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -5661,6 +5661,7 @@ hal config features edit [parameters] #### Parameters * `--appengine-container-image-url-deployments`: Enable appengine deployments using a container image URL from gcr.io. * `--artifacts`: Enable artifact support. Read more at [https://spinnaker.io/reference/artifacts/](https://spinnaker.io/reference/artifacts/) + * `--artifacts-rewrite`: Enable new artifact support. Read more at [https://www.spinnaker.io/reference/artifacts-with-artifactsrewrite/](https://www.spinnaker.io/reference/artifacts-with-artifactsrewrite/) * `--chaos`: Enable Chaos Monkey support. For this to work, you'll need a running Chaos Monkey deployment. Currently, Halyard doesn't configure Chaos Monkey for you; read more instructions here [https://github.com/Netflix/chaosmonkey/wiki](https://github.com/Netflix/chaosmonkey/wiki). * `--deployment`: If supplied, use this Halyard deployment. This will _not_ create a new deployment. * `--gremlin`: Enable Gremlin fault-injection support. diff --git a/halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/config/EditFeaturesCommand.java b/halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/config/EditFeaturesCommand.java index 11e05d2b5d..33337d7287 100644 --- a/halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/config/EditFeaturesCommand.java +++ b/halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/config/EditFeaturesCommand.java @@ -63,6 +63,13 @@ public class EditFeaturesCommand extends AbstractConfigCommand { arity = 1) private Boolean artifacts = null; + @Parameter( + names = "--artifacts-rewrite", + description = + "Enable new artifact support. Read more at https://www.spinnaker.io/reference/artifacts-with-artifactsrewrite/", + arity = 1) + private Boolean artifactsRewrite = null; + @Parameter( names = "--mine-canary", description = @@ -119,6 +126,8 @@ protected void executeThis() { features.setPipelineTemplates( pipelineTemplates != null ? pipelineTemplates : features.getPipelineTemplates()); features.setArtifacts(artifacts != null ? artifacts : features.getArtifacts()); + features.setArtifactsRewrite( + artifactsRewrite != null ? artifactsRewrite : features.getArtifactsRewrite()); features.setMineCanary(mineCanary != null ? mineCanary : features.getMineCanary()); features.setInfrastructureStages( infrastructureStages != null ? infrastructureStages : features.getInfrastructureStages()); diff --git a/halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/Features.java b/halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/Features.java index 13c2463820..9c340a6c5a 100644 --- a/halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/Features.java +++ b/halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/Features.java @@ -49,6 +49,12 @@ public NodeIterator getChildren() { "Artifacts are not configurable prior to this release. Will be stable at a later release.") private Boolean artifacts; + @ValidForSpinnakerVersion( + lowerBound = "1.15.0", + tooLowMessage = + "Artifacts rewrite is a rewrite of the artifacts ui. Artifacts are not configurable prior to this release. Will be stable at a later release.") + private Boolean artifactsRewrite; + @ValidForSpinnakerVersion( lowerBound = "1.5.0", tooLowMessage = diff --git a/halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/profile/deck/DeckProfileFactory.java b/halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/profile/deck/DeckProfileFactory.java index 37a6ffd920..c2804c860c 100644 --- a/halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/profile/deck/DeckProfileFactory.java +++ b/halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/profile/deck/DeckProfileFactory.java @@ -117,6 +117,10 @@ protected void setProfile( bindings.put( "features.artifacts", Boolean.toString(features.getArtifacts() != null ? features.getArtifacts() : false)); + bindings.put( + "features.artifactsRewrite", + Boolean.toString( + features.getArtifactsRewrite() != null ? features.getArtifactsRewrite() : false)); bindings.put( "features.mineCanary", Boolean.toString(features.getMineCanary() != null ? features.getMineCanary() : false));