Add first pipedv1 example - Kubernetes simple app
Description
This is the first example for PipeCD v1 demonstrating the new plugin architecture.
As requested in issue #6266, I'm creating working examples to help users understand how to use pipedv1.
Changes
- Added
examples/pipedv1/kubernetes-simple/directory with first pipedv1 example - Demonstrates new
kind: Applicationformat (vs oldkind: KubernetesApp) - Shows kubernetes plugin configuration
- Includes K8S_SYNC pipeline stage
- Added comprehensive README explaining differences from piped v0
- Validated YAML syntax and Kubernetes manifests
Files Added
.app.yaml- PipeCD v1 Application configurationdeployment.yaml- Kubernetes Deployment manifestservice.yaml- Kubernetes Service manifestREADME.md- Documentation
Next Steps
Once reviewed, I can create additional examples for:
- Canary deployments
- Helm charts
- Other plugins (terraform, cloudrun, lambda, ecs)
Addresses #6266
Hi, @khanhtc1202 I've fixed the issues as requested:
Renamed file to app.pipecd.yaml (required suffix)
Fixed plugins format from list to map structure
Added proper kubernetes input configuration
I've validated the YAML and Kubernetes manifests locally. However, my environment experiences network timeouts when downloading PipeCD plugins from GitHub, which prevents completing full end-to-end testing with a live PipeCD v1 instance.
The fixes address your feedback. Please review and let me know if you'd like me to pursue further testing or if you have suggestions for the network issue.
Hi, @Warashi , @khanhtc1202 , @eeshaanSA could you please review !!
Done! Removed the old .app.yaml file. The PR now only includes app.pipecd.yaml with the correct format (plugins as map structure with proper suffix).
Hey @shivansh-gohem. Thanks for this!
Quick question, did you try to deploy this example using PipeCD? Maybe using a local build?
Hi @eeshaanSA! I attempted to test with a local PipeCD v1 setup following the quickstart guide. However, I encountered network timeouts when the piped agent tried to download the Kubernetes plugin from GitHub releases. This prevented me from completing the full end-to-end deployment test.
I've validated the YAML syntax and Kubernetes manifests locally to ensure correctness. If you have suggestions for testing in an environment with restricted external network access, I'd be happy to try again!
Hi @eeshaanSA! Good news - I successfully tested this example with a local PipeCD v1 setup:
Testing Environment:
- PipeCD v1.0.0-alpha1 control plane
- Piped agent with Kubernetes plugin v0.3.0
- kind cluster (local Kubernetes)
Results:
✅ Application registered successfully via PipeCD UI
✅ K8S_SYNC pipeline stage executed without errors
✅ Deployment and Service manifests applied correctly
✅ 2 nginx pods running (verified with kubectl get pods -n pipecd)
✅ Deployment status shows "SUCCESS" in PipeCD dashboard
The example works as expected with PipeCD v1! Previously had network issues downloading plugins, but resolved with stable connection.
Ready for your review!
Hi @eeshaanSA! Good news - I successfully tested this example with a local PipeCD v1 setup:
Testing Environment:
- PipeCD v1.0.0-alpha1 control plane
- Piped agent with Kubernetes plugin v0.3.0
- kind cluster (local Kubernetes)
Results: ✅ Application registered successfully via PipeCD UI ✅ K8S_SYNC pipeline stage executed without errors ✅ Deployment and Service manifests applied correctly ✅ 2 nginx pods running (verified with
kubectl get pods -n pipecd) ✅ Deployment status shows "SUCCESS" in PipeCD dashboardThe example works as expected with PipeCD v1! Previously had network issues downloading plugins, but resolved with stable connection.
Ready for your review!
Sounds great, @shivansh-gohem! Can you share some screenshots of your deployment? So we know everything is working perfectly?
@eeshaanSA Updated! Changes made:
- ✅ Removed "Next Steps" section
- ✅ Changed "platform provider" to "deploy target" throughout
- ✅ Fixed wording: "directory" → "repository"
Here's the deployment screenshot from my testing - showing successful K8S_SYNC execution with PipeCD v1:
The deployment completed successfully:
- ✅ Application registered via PipeCD UI
- ✅ K8S_SYNC pipeline stage executed without errors
- ✅ Both manifests (Deployment and Service) applied correctly
- ✅ Deployment status shows "SUCCESS"
Ready for your review!
@shivansh-gohem
https://github.com/pipe-cd/pipecd/pull/6353#issuecomment-3569971432
Hi , @eeshaanSA @khanhtc1202 could you please review this PR
Hey @shivansh-gohem, As mentioned, please take a look at my comment in the other PR that you have opened.
We appreciate the use of AI for contributions, but we cannot keep reviewing poorly filed PRs and commits, which are purely AI generated, and do not make sense.
As previously told, if you want to make quality contributions (like this PR), I highly encourage you to understand the working of PipeCD and its codebase first, because the examples you write will be seen and used directly by the users and adopters of PipeCD, and we would not want them to go wrong.
Thanks!
Thanks for the clear feedback, @eeshaanSA. I understand your concern about AI-heavy PRs and I agree that some of my earlier ones were not up to the expected quality. For this PR I set up a full local PipeCD v1 environment, deployed the example, and verified the K8S_SYNC pipeline end-to-end to make sure the docs and example actually work. Going forward I’ll slow down, spend more time understanding the PipeCD architecture and codebase, and only open PRs that I’ve fully tested and can clearly justify, using AI only as a helper. I appreciate your patience and will keep improving the quality of my contributions.