pipe-cd/pipecd

Support CronJob as PipeCD managed workload

Closed this issue · 4 comments

What would you like to be added:

Support StatefulSet, CronJob, ...etc, as a workload in Kubernetes PipelineSync.

A document states that PipeCD supports Deployment as the only supported workload in the Kubernetes platform.
https://pipecd.dev/docs-v0.47.x/user-guide/configuration-reference/#kubernetesworkload

I tried to specify StatefulSet as a workload, and its deployment was planned as PipelineSync. So, StatefulSet seems supported.
So, the document seems wrong, or I missed some unsupported features.

Conversely, when I tried to specify CronJob as a workload, its deployment was planned as QuickSync. So, CronJob seems not supported.

This comes from the line below. CronJob's container spec is spec.jobTemplate.spec.template, not spec.template.

templateDiffs := diffNodes.FindByPrefix("spec.template")

Why is this needed:

We want to use WAIT_APPROVAL stage with these workloads.

Thanks @Warashi ! As mentioned in the docs, we want to support ReplicationController, DaemonSet, and StatefulSet in our plan. There is currently no CronJob on the list. Could you confirm the behavior of the current piped with the above planned Kind? If it all worked, then we can rename this issue as support CronJob as PipeCD managed workload
ref: https://pipecd.dev/docs-v0.47.x/user-guide/configuration-reference/#kubernetesworkload

I checked the behavior of ReplicationController, DaemonSet, and StatefulSet.
When I changed the image tags of these kinds of manifests, the sync strategy became PipelineSync.
However, I only checked the WAIT_APPROVAL stage and K8S_PRIMARY_ROLLOUT stage with example manifests in Kubernetes' official documents.
In perfect, I should check the behaviors of all stages, but I think it's enough to determine if PipelineSync is supported.

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 7 days.

This issue was closed because it has been stalled for 7 days with no activity. Feel free to reopen if still applicable.