Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organize DEVELOPMENT.md, provide consistent examples & reflect go mod support #3955

Merged
merged 1 commit into from
May 24, 2021

Conversation

mrutkows
Copy link
Member

@mrutkows mrutkows commented May 17, 2021

Changes

Organize DEVELOPMENT.md, provide consistent examples and reflect go mod support

Submitter Checklist

As the author of this PR, please check off the items in this checklist:

  • Docs included if any changes are user facing
  • N/A Tests included if any functionality added or changed
  • Follows the commit message standard
  • Meets the Tekton contributor standards (including
    functionality, content, code)
  • Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes

Organized `DEVELOPMENT.md` to provide more consistent examples and instructions.

@tekton-robot tekton-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. kind/documentation Categorizes issue or PR as related to documentation. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels May 17, 2021
@tekton-robot tekton-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label May 17, 2021
@tekton-robot
Copy link
Collaborator

Hi @mrutkows. Thanks for your PR.

I'm waiting for a tektoncd member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@tekton-robot tekton-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label May 17, 2021
@pritidesai
Copy link
Member

/ok-to-test

@tekton-robot tekton-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels May 17, 2021
Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

@afrittoli also has an extremely useful script for getting a Kind cluster installed with the latest version tekton pipelines running inside it.

I wonder if something like that would be useful as an "extremely quick quickstart"? We could place in contrib/ and reference it from here. Not a blocker on this PR though at all.

DEVELOPMENT.md Outdated

The recommended configuration is:

- Kubernetes version 1.17 or later
Copy link

Choose a reason for hiding this comment

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

This has changed very recently (pipelines 0.24) to "1.18 or later".

DEVELOPMENT.md Outdated
The recommended configuration is:

- Kubernetes version 1.17 or later
- 4 vCPU nodes (`n1-standard-4`)
Copy link

Choose a reason for hiding this comment

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

I wonder if we should be pointing developers at Kind, instead of cloud resources? Might be a lower barrier given it's free?

If we stick with machine recommendations, maybe change to e2-standard-2? It's cheaper and, at least during my development, Tekton Pipelines alone hasn't required lots of CPU / RAM resources.

Copy link

Choose a reason for hiding this comment

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

Ah, I also notice we have GKE-specific instructions below. Maybe move the specific machine recommendation (which is a Google Cloud designation I think?) to that section instead?

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah, I also notice we have GKE-specific instructions below. Maybe move the specific machine recommendation (which is a Google Cloud designation I think?) to that section instead?

yes, I agree that referencing pre-packaged, named tiers for specific providers should not be part of the canonical documentation. Not sure when n1-standard-4 was added, but likely should remove altogether.

Copy link
Member

Choose a reason for hiding this comment

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

yup, I agree, these recommendations might confuse developers compared to the machine specific recommendations. @mrutkows please feel free to delete these from here or can be addressed in a follow up PR.

DEVELOPMENT.md Outdated Show resolved Hide resolved
DEVELOPMENT.md Outdated Show resolved Hide resolved
@afrittoli
Copy link
Member

@afrittoli also has an extremely useful script for getting a Kind cluster installed with the latest version tekton pipelines running inside it.

Indeed, I find kind to be great for development. With KO_DOCKER_REPO=kind.local the images built by ko are uploaded directly into the containerd cache, which is very convenient.

The script is in the plumbing repo.
I also have an evolution of that which includes setting up an ingress controller and more, but I need to clean it up before I can put it back into plumbing.

I wonder if something like that would be useful as an "extremely quick quickstart"? We could place in contrib/ and reference it from here. Not a blocker on this PR though at all.

Agreed, linking the kind script in here could be an extra PR on top.

@mrutkows
Copy link
Member Author

@afrittoli also has an extremely useful script for getting a Kind cluster installed with the latest version tekton pipelines running inside it.

Indeed, I find kind to be great for development. With KO_DOCKER_REPO=kind.local the images built by ko are uploaded directly into the containerd cache, which is very convenient.

The script is in the plumbing repo.
I also have an evolution of that which includes setting up an ingress controller and more, but I need to clean it up before I can put it back into plumbing.

I wonder if something like that would be useful as an "extremely quick quickstart"? We could place in contrib/ and reference it from here. Not a blocker on this PR though at all.

Agreed, linking the kind script in here could be an extra PR on top.

Thanks Andrea, would love to integrate anything that would help developers here; if you like, I can add these in follow-on PRs and make sure I gather all the information you are referencing properly.

@pritidesai
Copy link
Member

thanks a bunch @mrutkows for all the updates, appreciate all your efforts 🙏


# Set your target namespace here
TARGET_NAMESPACE=new-target-namespace
**Setting cluster admin role example**:
Copy link
Member

Choose a reason for hiding this comment

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

is this something we can drop from here? or at least delay it until machine specific recommendations 🤔

Copy link
Member

Choose a reason for hiding this comment

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

I reviewed the changes again and this does not apply here unless I am missing something. Not blocking this PR though, this can be revisited in later iteration.

@ghost
Copy link

ghost commented May 19, 2021

integration tests should be back in working order once #3960 is merged. You'll need to rebase once that's in.

@nikhil-thomas
Copy link
Member

/retest

@mrutkows
Copy link
Member Author

Agreed, linking the kind script in here could be an extra PR on top.

Opened #3970 to assure we add kind docs as a follow-on PR and volunteered to learn/document...

@mrutkows mrutkows marked this pull request as ready for review May 21, 2021 19:17
@tekton-robot tekton-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 21, 2021
@mrutkows
Copy link
Member Author

mrutkows commented May 21, 2021

Please review (rebased, squashed commits). I have completed all the changes I intended for the scope of this PR and linked in additional work on kind on an issue I intend to work on.

@mrutkows
Copy link
Member Author

mrutkows commented May 21, 2021

@pritidesai
Copy link
Member

/test pull-tekton-pipeline-alpha-integration-tests
/test tekton-pipeline-unit-tests

@pritidesai
Copy link
Member

Not sure why tests/checks say "failed".. clicking on their "details"

@mrutkows just a flaky run 😜 runs fine now

Copy link

@ghost ghost left a comment

Choose a reason for hiding this comment

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

Awesome, thanks a lot!


As you make changes to the code, you can redeploy your controller with:
You can verify your development installation using `ko` was successful by checking to see oif the Tekton pipeline pods are running in Kubernetes:
Copy link

Choose a reason for hiding this comment

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

nit: oif -> if


This script will cause `ko` to:
- Change (resolve) all `namespace` values in K8s configuration files within the `config/` subdirectory to be updated to a name of your choosing.
- Builds and push images with the new namespace to your container registry and
Copy link

Choose a reason for hiding this comment

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

nit: Builds -> Build to match tense with bullets above/below

@tekton-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sbwsg

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 24, 2021
[email protected] \
--namespace=tekton-pipelines
```
> **NOTE** You may need to set `GOROOT` if you installed Go tools to a a non-default location or have multiple Go versions installed.
Copy link
Member

Choose a reason for hiding this comment

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

NIT: to a a non-default, extra a here

@tekton-robot tekton-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels May 24, 2021
@pritidesai
Copy link
Member

pritidesai commented May 24, 2021

/lgtm

thanks a bunch @mrutkows for revamping the DEVELOPMENT.md, looks very detailed with easy to follow instructions. There are some NITs left in this PR, please try to address them in a follow up PR. 🙏

Also, I have added appropriate release notes 😄

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label May 24, 2021
@tekton-robot tekton-robot merged commit 4ced3cb into tektoncd:main May 24, 2021
@mrutkows mrutkows deleted the contrib branch May 24, 2021 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/documentation Categorizes issue or PR as related to documentation. lgtm Indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants