Skip to content

Conversation

@shivansh-gohem
Copy link
Contributor

Hi @eeshaanSA and @khanhtc1202,

This PR delivers the local setup guide you assigned.

Goal: Create a simple, step-by-step tutorial for new contributors on setting up the Control Plane and Piped agent locally via the Quickstart method.

Source: The guide is based on the official quickstart and my personal successful end-to-end setup (validated in PR #6332).

Ready for review! Thank you.

Signed-off-by: Shivansh Sahu <sahushivansh142@gmail.com>
Copy link
Contributor

@eeshaanSA eeshaanSA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this, @shivansh-gohem. You seem to have mistaken the local development setup with the quick start guide.

The quickstart setup is aimed towards end-users who want to setup PipeCD and try the features out. The actual development setup would be ideally done through the source code, forked from GitHub. Please check how to setup a local development environment documentation on GitHub.

@shivansh-gohem
Copy link
Contributor Author

Hi @eeshaanSA,

Thank you again for the critical feedback. I sincerely apologize for the initial error confusing the End-User Quickstart with the Contributor Local Development Setup.

I have located the correct documentation and have completely rewritten the blog post.

The PR now contains a guide focused on the correct developer workflow: building and running the Control Plane and Piped Agent directly from the Go source code (using make run/pipecd and make run/piped), which is the true path for contribution.


## 1. Prepare and Start the Local Cluster

First, update dependencies and set up a local registry and cluster for the control plane to use.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need more info on "How to" do this.

tags: ["Local Development", "Go", "Kubernetes", "Dev Setup"]
---

## Why a Local Development Environment is Essential
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need a better title

Comment on lines 18 to 33

Make sure you have:

- Go (v1.21 or higher)
- Docker
- kubectl
- PipeCD repository cloned locally:

git clone https://github.com/pipe-cd/pipecd.git
cd pipecd
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is essential to create a fork of the target repository in order to make successful open source contributions. This is highly inaccurate

@eeshaanSA
Copy link
Contributor

@shivansh-gohem, have you tried setting up PipeCD using this guide?

Signed-off-by: Shivansh Sahu <sahushivansh142@gmail.com>
@shivansh-gohem
Copy link
Contributor Author

Hi @eeshaanSA ,
Yes, I have set up PipeCD locally using these developer steps.

I verified the full build process locally (make run/pipecd). The build revealed that Node.js and Yarn were missing from the prerequisites list (causing the web build to fail). I have updated the guide to include them, along with the correct make update/web-deps command.

I also fixed the Fork instruction and the Title as requested. The PR is now ready for review

@shivansh-gohem
Copy link
Contributor Author

Hi @eeshaanSA,

Just a gentle bump on this PR. I believe I have addressed all the feedback from your last review (updated the title, corrected the fork instructions, and verified the local setup steps including the Yarn dependencies).

Please let me know if there are any further changes needed. Thank you!

2. Click **+ ADD**, give it a name (for example, `dev`), and save.
3. **Crucial step:** Copy the generated **Piped ID** and **Base64 encoded key** immediately.

### Create the Piped configuration
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this Shivam. Although this looks decent and can be merged with a few changes, I tried this out and faced some problems setting up the local dev env. I will discuss it with the maintainers.

Additionally, we need a v1 pipedConfig example here too now, which might be a little complicated.

I suggest getting your hands on good-first-issues for now until a further update. Thanks!

@shivansh-gohem
Copy link
Contributor Author

Hi @eeshaanSA,

Thank you for testing this out and for the honest feedback.

I understand that the local development setup has some underlying stability issues right now and that the shift to the v1 pipedConfig adds complexity. I appreciate you saving me from spinning my wheels on this while those architectural changes are discussed. I will put this PR on hold.

Since I have been focusing on [EPIC] Improve and Expand Contributing Section in Documentation #6124, I would love to stay within that scope if possible.

I know I previously mentioned tackling the 'Contribute to piped Plugins' section next. Is that area also blocked by the v1 config issues (since it requires a local agent), or would that be a safe documentation task to pick up now?

@shivansh-gohem
Copy link
Contributor Author

/cc @eeshaanSA

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants