@RequestMapping(value = "/publishProfile/{artifactName:.+}", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> publishProfile( @RequestParam String bomPath, @PathVariable String artifactName, @RequestParam String profilePath, @RequestBody String _ignored) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { artifactService.writeArtifactConfig(bomPath, artifactName, profilePath); return null; }); return DaemonTaskHandler.submitTask(builder::build, "Publish a " + artifactName + " profile"); } }
@RequestMapping(value = "/publishLatest", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> publishLatest( @RequestParam(required = false) String latestSpinnaker, @RequestParam(required = false) String latestHalyard, @RequestBody String _ignored) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { if (!StringUtils.isEmpty(latestSpinnaker)) { artifactService.publishLatestSpinnaker(latestSpinnaker); } if (!StringUtils.isEmpty(latestHalyard)) { artifactService.publishLatestHalyard(latestHalyard); } return null; }); return DaemonTaskHandler.submitTask(builder::build, "Update the latest version"); }
@RequestMapping(value = "/publishBom", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> publishBom( @RequestParam String bomPath, @RequestBody String _ignored) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { artifactService.writeBom(bomPath); return null; }); return DaemonTaskHandler.submitTask(builder::build, "Publish a BOM"); }
@RequestMapping(value = "/{deploymentName:.+}/prep/", method = RequestMethod.POST) DaemonTask<Halconfig, RemoteAction> prep(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames, @RequestParam(required = false) List<String> excludeServiceNames) { List<String> finalServiceNames = serviceNames != null ? serviceNames : Collections.emptyList(); List<String> finalExcludeServiceNames = excludeServiceNames != null ? excludeServiceNames : Collections.emptyList(); StaticRequestBuilder<RemoteAction> builder = new StaticRequestBuilder<>( () -> deployService.prep(deploymentName, finalServiceNames, finalExcludeServiceNames)); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeployment(deploymentName)); } return DaemonTaskHandler .submitTask(builder::build, "Prep deployment", TimeUnit.MINUTES.toMillis(5)); }
@RequestMapping(value = "/{deploymentName:.+}/rollback/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> rollback(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames, @RequestParam(required = false) List<String> excludeServiceNames) { List<String> finalServiceNames = serviceNames != null ? serviceNames : Collections.emptyList(); List<String> finalExcludeServiceNames = excludeServiceNames != null ? excludeServiceNames : Collections.emptyList(); Supplier<Void> buildResponse = () -> { deployService.rollback(deploymentName, finalServiceNames, finalExcludeServiceNames); return null; }; StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(buildResponse); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler .submitTask(builder::build, "Rollback Spinnaker", TimeUnit.MINUTES.toMillis(30)); }
@RequestMapping(value = "/{deploymentName:.+}/collectLogs/", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> collectLogs(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames, @RequestParam(required = false) List<String> excludeServiceNames) { List<String> finalServiceNames = serviceNames != null ? serviceNames : Collections.emptyList(); List<String> finalExcludeServiceNames = excludeServiceNames != null ? excludeServiceNames : Collections.emptyList(); StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { deployService.collectLogs(deploymentName, finalServiceNames, finalExcludeServiceNames); return null; }); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Collecting service logs"); }
public void deployConfig(com.netflix.spinnaker.halyard.proto.DeployConfigRequest request, io.grpc.stub.StreamObserver<com.google.longrunning.Operation> responseObserver) { StaticRequestBuilder<RemoteAction> builder = new StaticRequestBuilder<>( () -> deployService.deploy(request.getName(), Collections.emptyList(), Collections.emptyList(), Collections.emptyList())); builder.setValidateResponse(() -> deploymentService.validateDeployment(request.getName())); builder.setSeverity(Severity.WARNING); builder.setSetup(() -> halconfigParser.setInmemoryHalConfig(new ByteArrayInputStream(request.getConfig().toByteArray())) ); responseObserver.onNext(DaemonTaskHandler .submitTask(builder::build, "Apply deployment", TimeUnit.MINUTES.toMillis(30)).getLRO()); responseObserver.onCompleted(); }
@RequestMapping(value = "/{deploymentName:.+}/clean/", method = RequestMethod.POST) DaemonTask<Halconfig, Void> clean(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings) { Supplier<Void> buildResponse = () -> { deployService.clean(deploymentName); return null; }; StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(buildResponse); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Clean Deployment of Spinnaker"); }
@RequestMapping(value = "/restore", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> restore(@RequestParam String backupPath) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>( () -> { backupService.restore(backupPath); return null; }); return DaemonTaskHandler.submitTask(builder::build, "Restore backup"); } }
@RequestMapping(value = "/publishVersion", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> publishVersion( @RequestBody Versions.Version version) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>(() -> { artifactService.publishVersion(version); return null; }); return DaemonTaskHandler.submitTask(builder::build, "Publish a new version " + version.getVersion()); }
@RequestMapping(value = "/{deploymentName:.+}/connect/", method = RequestMethod.POST) DaemonTask<Halconfig, RemoteAction> connect(@PathVariable String deploymentName, @ModelAttribute ValidationSettings validationSettings, @RequestParam(required = false) List<String> serviceNames) { List<String> finalServiceNames = serviceNames == null ? new ArrayList<>() : serviceNames; StaticRequestBuilder<RemoteAction> builder = new StaticRequestBuilder<>( () -> deployService.connectCommand(deploymentName, finalServiceNames)); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(() -> deploymentService.validateDeploymentShallow(deploymentName)); } return DaemonTaskHandler.submitTask(builder::build, "Connect to Spinnaker deployment."); }
@RequestMapping(value = "/bom", method = RequestMethod.GET) DaemonTask<Halconfig, BillOfMaterials> bomV2(@RequestParam(value = "version") String version) { DaemonResponse.StaticRequestBuilder<BillOfMaterials> builder = new DaemonResponse.StaticRequestBuilder<>( () -> versionsService.getBillOfMaterials(version)); return DaemonTaskHandler.submitTask(builder::build, "Get BOM for " + version); } }
@RequestMapping(value = "/", method = RequestMethod.GET) DaemonTask<Halconfig, Versions> config() { DaemonResponse.StaticRequestBuilder<Versions> builder = new DaemonResponse.StaticRequestBuilder<>( versionsService::getVersions); return DaemonTaskHandler.submitTask(builder::build, "Get released versions"); }
@RequestMapping(value = "/currentDeployment", method = RequestMethod.GET) DaemonTask<Halconfig, String> currentDeployment() { StaticRequestBuilder<String> builder = new StaticRequestBuilder<>(configService::getCurrentDeployment); return DaemonTaskHandler.submitTask(builder::build, "Get current deployment"); }
@RequestMapping(value = "/create", method = RequestMethod.PUT) DaemonTask<Halconfig, StringBodyRequest> create() { StaticRequestBuilder<StringBodyRequest> builder = new StaticRequestBuilder<>( () -> new StringBodyRequest(backupService.create())); return DaemonTaskHandler.submitTask(builder::build, "Create backup"); }
@RequestMapping(value = "/", method = RequestMethod.GET) DaemonTask<Halconfig, Halconfig> config() { StaticRequestBuilder<Halconfig> builder = new StaticRequestBuilder<>(configService::getConfig); return DaemonTaskHandler.submitTask(builder::build, "Get halconfig"); }
@RequestMapping(value = "/latest/", method = RequestMethod.GET) DaemonTask<Halconfig, String> latest() { DaemonResponse.StaticRequestBuilder<String> builder = new DaemonResponse.StaticRequestBuilder<>( versionsService::getLatestSpinnakerVersion); return DaemonTaskHandler.submitTask(builder::build, "Get latest released version"); }
@RequestMapping(value = "/install/latest", method = RequestMethod.GET) DaemonTask<Halconfig, RemoteAction> install() { StaticRequestBuilder<RemoteAction> builder = new StaticRequestBuilder<>(spinService::install); return DaemonTaskHandler.submitTask(builder::build, "Install latest spin CLI"); } }
@RequestMapping(value = "/deprecateVersion", method = RequestMethod.PUT) DaemonTask<Halconfig, Void> deprecateVersion( @RequestParam(required = false) String illegalReason, @RequestBody Versions.Version version) { StaticRequestBuilder<Void> builder = new StaticRequestBuilder<>( () -> { artifactService.deprecateVersion(version, illegalReason); return null; }); return DaemonTaskHandler.submitTask(builder::build, "Deprecate version " + version.getVersion()); }
public DaemonTask<Halconfig, T> execute(ValidationSettings validationSettings) { DaemonResponse.StaticRequestBuilder<T> builder = new DaemonResponse.StaticRequestBuilder<>(getter); builder.setSeverity(validationSettings.getSeverity()); if (validationSettings.isValidate()) { builder.setValidateResponse(validator); } return DaemonTaskHandler.submitTask(builder::build, description); } }