@Override public String getInstallCommand(DeploymentDetails deploymentDetails, GenerateService.ResolvedConfiguration resolvedConfiguration, Map<String, String> installCommands, String startupCommand) { Map<String, Object> bindings = new HashMap<>(); List<SpinnakerService.Type> serviceTypes = new ArrayList<>(installCommands.keySet()).stream().map(SpinnakerService.Type::fromCanonicalName).collect(Collectors.toList()); List<String> upstartNames = getPrioritizedBakeableServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()).getEnabled()) .map(i -> ((BakeDebianService) i).getUpstartServiceName()) .filter(Objects::nonNull) .collect(Collectors.toList()); List<String> systemdServiceConfigs = upstartNames.stream() .map(n -> n + ".service") .collect(Collectors.toList()); List<String> serviceInstalls = serviceTypes.stream() .map(t -> installCommands.get(t.getCanonicalName())) .collect(Collectors.toList()); TemplatedResource resource = new StringReplaceJarResource("/debian/init.sh"); bindings.put("services", Strings.join(upstartNames, " ")); bindings.put("systemd-service-configs", Strings.join(systemdServiceConfigs, " ")); String upstartInit = resource.setBindings(bindings).toString(); BillOfMaterials.ArtifactSources artifactSources = artifactService.getArtifactSources(deploymentDetails.getDeploymentName()); resource = new StringReplaceJarResource("/debian/pre-bake.sh"); bindings = new HashMap<>(); bindings.put("debian-repository", artifactSourcesConfig.mergeWithBomSources(artifactSources).getDebianRepository()); bindings.put("install-commands", String.join("\n", serviceInstalls)); bindings.put("upstart-init", upstartInit); bindings.put("startup-file", Paths.get(startupScriptPath, "startup.sh").toString()); bindings.put("startup-command", startupCommand); return resource.setBindings(bindings).toString(); }
List<String> upstartNames = getLocalServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()).getEnabled()) .map(i -> ((LocalDebianService) i).getUpstartServiceName()) .filter(Objects::nonNull)
@Override public String getInstallCommand(DeploymentDetails deploymentDetails, GenerateService.ResolvedConfiguration resolvedConfiguration, Map<String, String> installCommands, String startupCommand) { Map<String, Object> bindings = new HashMap<>(); List<SpinnakerService.Type> serviceTypes = new ArrayList<>(installCommands.keySet()).stream().map(SpinnakerService.Type::fromCanonicalName).collect(Collectors.toList()); List<String> upstartNames = getPrioritizedBakeableServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()).getEnabled()) .map(i -> ((BakeDebianService) i).getUpstartServiceName()) .filter(Objects::nonNull) .collect(Collectors.toList()); List<String> systemdServiceConfigs = upstartNames.stream() .map(n -> n + ".service") .collect(Collectors.toList()); List<String> serviceInstalls = serviceTypes.stream() .map(t -> installCommands.get(t.getCanonicalName())) .collect(Collectors.toList()); TemplatedResource resource = new StringReplaceJarResource("/debian/init.sh"); bindings.put("services", Strings.join(upstartNames, " ")); bindings.put("systemd-service-configs", Strings.join(systemdServiceConfigs, " ")); String upstartInit = resource.setBindings(bindings).toString(); BillOfMaterials.ArtifactSources artifactSources = artifactService.getArtifactSources(deploymentDetails.getDeploymentName()); resource = new StringReplaceJarResource("/debian/pre-bake.sh"); bindings = new HashMap<>(); bindings.put("debian-repository", artifactSourcesConfig.mergeWithBomSources(artifactSources).getDebianRepository()); bindings.put("install-commands", String.join("\n", serviceInstalls)); bindings.put("upstart-init", upstartInit); bindings.put("startup-file", Paths.get(startupScriptPath, "startup.sh").toString()); bindings.put("startup-command", startupCommand); return resource.setBindings(bindings).toString(); }
List<ConfigSource> configSources = new ArrayList<>(); String secretNamePrefix = getServiceName() + "-files"; String namespace = getNamespace(resolvedConfiguration.getServiceSettings(getService())); KubernetesAccount account = details.getAccount();
SpinnakerRuntimeSettings runtimeSettings = resolvedConfiguration.getRuntimeSettings(); SpinnakerService thisService = getService(); ServiceSettings thisServiceSettings = resolvedConfiguration.getServiceSettings(thisService); Map<String, String> env = new HashMap<>(); Integer version = getRunningServiceDetails(details, runtimeSettings).getLatestEnabledVersion();
default String getResourceYaml(AccountDeploymentDetails<KubernetesAccount> details, GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); SpinnakerRuntimeSettings runtimeSettings = resolvedConfiguration.getRuntimeSettings(); String namespace = getNamespace(settings);
ServiceSettings settings = resolvedConfiguration.getServiceSettings((SpinnakerService) service); if (settings == null) { return;
GenerateService.ResolvedConfiguration resolvedConfiguration) { SpinnakerRuntimeSettings runtimeSettings = resolvedConfiguration.getRuntimeSettings(); ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService());
ServiceSettings settings = resolvedConfiguration.getServiceSettings((SpinnakerService) service); if (settings == null) { return;
List<String> upstartNames = getLocalServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()).getEnabled()) .map(i -> ((LocalDebianService) i).getUpstartServiceName()) .filter(Objects::nonNull)
.stream() .filter(i -> { ServiceSettings serviceSettings = resolvedConfiguration.getServiceSettings(i.getService()); return serviceSettings != null && serviceSettings.getEnabled(); })
List<LocalService> enabledServices = serviceProvider.getLocalServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()) != null) .filter(i -> { ServiceSettings serviceSettings = resolvedConfiguration.getServiceSettings(i.getService()); return serviceSettings != null && serviceSettings.getEnabled(); }) .filter(i -> !resolvedConfiguration.getServiceSettings(i.getService()) .getSkipLifeCycleManagement()) .reduce(new HashMap<>(), (commands, installable) -> {
.stream() .filter(i -> { ServiceSettings serviceSettings = resolvedConfiguration.getServiceSettings(i.getService()); return serviceSettings != null && serviceSettings.getEnabled(); })
List<LocalService> enabledServices = serviceProvider.getLocalServices(serviceTypes) .stream() .filter(i -> resolvedConfiguration.getServiceSettings(i.getService()) != null) .filter(i -> { ServiceSettings serviceSettings = resolvedConfiguration.getServiceSettings(i.getService()); return serviceSettings != null && serviceSettings.getEnabled(); }) .filter(i -> !resolvedConfiguration.getServiceSettings(i.getService()) .getSkipLifeCycleManagement()) .reduce(new HashMap<>(), (commands, installable) -> {
ServiceSettings settings = resolvedConfiguration.getServiceSettings((SpinnakerService) service); if (settings == null) { return;
default String getResourceYaml(KubernetesV2Executor executor, AccountDeploymentDetails<KubernetesAccount> details, GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); Integer targetSize = settings.getTargetSize(); CustomSizing customSizing = details.getDeploymentConfiguration().getDeploymentEnvironment().getCustomSizing(); if (customSizing != null) { Map componentSizing = customSizing.getOrDefault(getService().getServiceName(), new HashMap()); targetSize = (Integer) componentSizing.getOrDefault("replicas", targetSize); } String version = makeValidLabel(details.getDeploymentConfiguration().getVersion()); if (version.isEmpty()) { version = "unknown"; } return new JinjaJarResource("/kubernetes/manifests/deployment.yml") .addBinding("name", getService().getCanonicalName()) .addBinding("namespace", getNamespace(settings)) .addBinding("replicas", targetSize) .addBinding("version", version) .addBinding("podAnnotations", settings.getKubernetes().getPodAnnotations()) .addBinding("podSpec", getPodSpecYaml(executor, details, resolvedConfiguration)) .toString(); }
default String getServiceYaml(GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); String namespace = getNamespace(settings); TemplatedResource service = new JinjaJarResource("/kubernetes/manifests/service.yml"); service.addBinding("name", getService().getCanonicalName()); service.addBinding("namespace", namespace); service.addBinding("port", settings.getPort()); return service.toString(); }
default String getNamespaceYaml(GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); String name = getNamespace(settings); TemplatedResource namespace = new JinjaJarResource("/kubernetes/manifests/namespace.yml"); namespace.addBinding("name", name); return namespace.toString(); }
default String getNamespaceYaml(GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); String name = getNamespace(settings); TemplatedResource namespace = new JinjaJarResource("/kubernetes/manifests/namespace.yml"); namespace.addBinding("name", name); return namespace.toString(); }
default String getServiceYaml(GenerateService.ResolvedConfiguration resolvedConfiguration) { ServiceSettings settings = resolvedConfiguration.getServiceSettings(getService()); String namespace = getNamespace(settings); TemplatedResource service = new JinjaJarResource("/kubernetes/manifests/service.yml"); service.addBinding("name", getService().getCanonicalName()); service.addBinding("namespace", namespace); service.addBinding("port", settings.getPort()); service.addBinding("type", settings.getKubernetes().getServiceType()); service.addBinding("nodePort", settings.getKubernetes().getNodePort()); return service.toString(); }