Class KubectlJobExecutor
java.lang.Object
com.netflix.spinnaker.clouddriver.kubernetes.op.job.KubectlJobExecutor
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Constructor Summary
ConstructorsConstructorDescriptionKubectlJobExecutor(com.netflix.spinnaker.clouddriver.jobs.JobExecutor jobExecutor, KubernetesConfigurationProperties kubernetesConfigurationProperties, io.micrometer.core.instrument.MeterRegistry meterRegistry) -
Method Summary
Modifier and TypeMethodDescriptioncreate(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName, KubernetesSelectorList labelSelectors) Invoke kubectl create with the given manifest and (if present) label selectors.delete(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesSelectorList labelSelectors, io.kubernetes.client.openapi.models.V1DeleteOptions deleteOptions, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) deploy(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName, KubernetesSelectorList labelSelectors, String... cmdArgs) Invoke kubectl apply with the given manifest and (if present) label selectors.com.google.common.collect.ImmutableList<KubernetesManifest>eventsFor(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) get(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) historyRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) jobLogs(KubernetesCredentials credentials, String namespace, String jobName, String containerName) com.google.common.collect.ImmutableList<KubernetesManifest>list(KubernetesCredentials credentials, List<KubernetesKind> kinds, String namespace, KubernetesSelectorList selectors) logs(KubernetesCredentials credentials, String namespace, String podName, String containerName) patch(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesPatchOptions options, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) patch(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesPatchOptions options, List<JsonPatch> patches, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) pauseRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) replace(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) Invoke kubectl replace with the given manifest.resumeRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) rollingRestart(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) scale(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, int replicas, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) com.google.common.collect.ImmutableList<KubernetesPodMetric>topPod(KubernetesCredentials credentials, String namespace, String pod) undoRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, int revision)
-
Constructor Details
-
KubectlJobExecutor
@Autowired public KubectlJobExecutor(com.netflix.spinnaker.clouddriver.jobs.JobExecutor jobExecutor, KubernetesConfigurationProperties kubernetesConfigurationProperties, io.micrometer.core.instrument.MeterRegistry meterRegistry)
-
-
Method Details
-
logs
public String logs(KubernetesCredentials credentials, String namespace, String podName, String containerName) -
jobLogs
public String jobLogs(KubernetesCredentials credentials, String namespace, String jobName, String containerName) -
delete
public List<String> delete(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesSelectorList labelSelectors, io.kubernetes.client.openapi.models.V1DeleteOptions deleteOptions, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) -
scale
public Void scale(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, int replicas, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) -
historyRollout
public List<Integer> historyRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) -
undoRollout
public Void undoRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, int revision) -
pauseRollout
public Void pauseRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) -
resumeRollout
public Void resumeRollout(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) -
rollingRestart
public Void rollingRestart(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) -
get
@Nullable public KubernetesManifest get(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) -
eventsFor
@Nonnull public com.google.common.collect.ImmutableList<KubernetesManifest> eventsFor(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name) -
list
@Nonnull public com.google.common.collect.ImmutableList<KubernetesManifest> list(KubernetesCredentials credentials, List<KubernetesKind> kinds, String namespace, KubernetesSelectorList selectors) -
deploy
public KubernetesManifest deploy(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName, KubernetesSelectorList labelSelectors, String... cmdArgs) Invoke kubectl apply with the given manifest and (if present) label selectors.- Parameters:
credentials- k8s account credentialsmanifest- the manifest to applytask- the task performing this kubectl invocationopName- the name of the operation performing this kubectl invocationlabelSelectors- label selectors- Returns:
- the manifest parsed from stdout of the kubectl invocation, or null if a label selector is present and kubectl returned "no objects passed to apply"
-
replace
public KubernetesManifest replace(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) Invoke kubectl replace with the given manifest. Note that kubectl replace doesn't support label selectors.- Parameters:
credentials- k8s account credentialsmanifest- the manifest to replacetask- the task performing this kubectl invocationopName- the name of the operation performing this kubectl invocation- Returns:
- the manifest parsed from stdout of the kubectl invocation
-
create
public KubernetesManifest create(KubernetesCredentials credentials, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName, KubernetesSelectorList labelSelectors) Invoke kubectl create with the given manifest and (if present) label selectors.- Parameters:
credentials- k8s account credentialsmanifest- the manifest to createtask- the task performing this kubectl invocationopName- the name of the operation performing this kubectl invocationlabelSelectors- label selectors- Returns:
- the manifest parsed from stdout of the kubectl invocation, or null if a label selector is present and kubectl returned "no objects passed to create"
-
topPod
public com.google.common.collect.ImmutableList<KubernetesPodMetric> topPod(KubernetesCredentials credentials, String namespace, @Nonnull String pod) -
patch
public Void patch(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesPatchOptions options, List<JsonPatch> patches, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName) -
patch
public Void patch(KubernetesCredentials credentials, KubernetesKind kind, String namespace, String name, KubernetesPatchOptions options, KubernetesManifest manifest, com.netflix.spinnaker.clouddriver.data.task.Task task, String opName)
-