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

📖 Update docs for release 3.8.0 #3109

Merged
merged 161 commits into from
Dec 6, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
3b1ccc2
Fix nil pointer in Finalizer example
sj14 Sep 22, 2022
75f1a28
Merge pull request #2960 from sj14/fix-nil-pointer
k8s-ci-robot Sep 22, 2022
abc4df9
:book: fix link for platform support
Sep 22, 2022
3d06aa3
Merge pull request #2961 from camilamacedo86/fix-doc-support
k8s-ci-robot Sep 22, 2022
f8e5d2b
update kubebuilder core dependencies for k8s 1.25
everettraven Sep 22, 2022
9191c0c
Merge pull request #2954 from everettraven/chore/main-k8s-1.25
k8s-ci-robot Sep 22, 2022
168150b
docs: notify deps install to build book
Kavinjsir Sep 22, 2022
fbd7497
Update controller-tools version (v0.9.2->v0.10.0)
oscr Sep 21, 2022
4ccb436
Merge pull request #2956 from oscr/controller-tools
camilamacedo86 Sep 23, 2022
eec9f37
Merge pull request #2962 from Kavinjsir/fix/build-docs
k8s-ci-robot Sep 23, 2022
12914ce
:bug: remove duplicate words and fix spelling mistakes
oscr Sep 23, 2022
91a1afa
Merge pull request #2964 from oscr/cleanup
k8s-ci-robot Sep 23, 2022
2c92224
:sparkles: update kubebuilder kubernetes version
oscr Sep 23, 2022
35dd082
Update the export path of webhook
Sep 24, 2022
caddba5
:book: fix broken links
oscr Sep 24, 2022
e424cb8
Merge pull request #2968 from oscr/fix-broken-link
k8s-ci-robot Sep 26, 2022
e5ced84
Merge pull request #2967 from yashsingh74/webhook-update
k8s-ci-robot Sep 26, 2022
7b86aee
Merge pull request #2966 from oscr/update-kubebuilder-cli
k8s-ci-robot Sep 26, 2022
d169c2b
fixing the kubebuilder install locally curl request
akoserwal Sep 27, 2022
d31e386
Merge pull request #2970 from akoserwal/fix-quick-start-guide
k8s-ci-robot Sep 28, 2022
9a6d8f0
add dependency bot updates
Sep 21, 2022
0fdbf4b
Merge pull request #2957 from camilamacedo86/dependency-bot-updates
k8s-ci-robot Sep 28, 2022
eaa27f8
:seedling: Bump actions/checkout from 2 to 3
dependabot[bot] Sep 28, 2022
7dc730f
:seedling: Bump actions/setup-go from 2 to 3
dependabot[bot] Sep 28, 2022
ead8ac6
:seedling: Bump goreleaser/goreleaser-action from 2 to 3
dependabot[bot] Sep 28, 2022
4b52a61
Bump github.com/spf13/afero from 1.6.0 to 1.9.2
dependabot[bot] Sep 28, 2022
b93b7c4
Bump github.com/onsi/gomega from 1.19.0 to 1.20.2
dependabot[bot] Sep 28, 2022
fae2973
Merge pull request #2972 from kubernetes-sigs/dependabot/github_actio…
k8s-ci-robot Sep 28, 2022
52ce06d
Merge pull request #2973 from kubernetes-sigs/dependabot/github_actio…
k8s-ci-robot Sep 28, 2022
e02c438
Merge pull request #2974 from kubernetes-sigs/dependabot/github_actio…
k8s-ci-robot Sep 28, 2022
99ee30e
Merge pull request #2976 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Sep 28, 2022
0a29ba5
Merge pull request #2978 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Sep 28, 2022
6ebfaea
Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0
dependabot[bot] Sep 28, 2022
a231b73
Bump k8s.io/apimachinery from 0.25.0 to 0.25.2
dependabot[bot] Sep 28, 2022
a02f4f9
Merge pull request #2975 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Sep 28, 2022
61e3acc
Bump github.com/gobuffalo/flect from 0.2.5 to 0.3.0
dependabot[bot] Sep 28, 2022
58a88d8
Merge pull request #2977 from kubernetes-sigs/dependabot/go_modules/k…
k8s-ci-robot Sep 28, 2022
e4a0ca9
docs: describe e2e test towards plugin
Kavinjsir Sep 12, 2022
6b77d9c
Merge pull request #2979 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Sep 29, 2022
d7eae60
Merge pull request #2934 from Kavinjsir/docs/test-plugin
k8s-ci-robot Sep 29, 2022
a0da3bb
:seedling: remove WORKSPACE file commited by mistake
camilamacedo86 Sep 29, 2022
f5e0d94
Merge pull request #2981 from camilamacedo86/remove-worspace
k8s-ci-robot Sep 29, 2022
6776bd0
remove unused value
camilamacedo86 Oct 2, 2022
4ee9030
Merge pull request #2988 from camilamacedo86/fix-unused-value-bollerp…
camilamacedo86 Oct 2, 2022
6abb5f1
Bump github.com/spf13/cobra from 1.4.0 to 1.5.0
dependabot[bot] Oct 3, 2022
94f7262
Bump github.com/onsi/ginkgo/v2 from 2.1.6 to 2.2.0
dependabot[bot] Oct 3, 2022
e92be30
Merge pull request #2993 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 5, 2022
d6f4ae0
Merge pull request #2994 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 5, 2022
24cd032
Bump github.com/cloudflare/cfssl from 1.5.0 to 1.6.3
dependabot[bot] Oct 5, 2022
5298de6
Merge pull request #2995 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 5, 2022
74094f1
update simple-external-plugin-tutorial
camilamacedo86 Oct 5, 2022
d5c3b61
Merge pull request #2996 from camilamacedo86/update-simple-external-p…
k8s-ci-robot Oct 5, 2022
f020b0b
update mdbook
camilamacedo86 Oct 5, 2022
ddb545d
Merge pull request #2997 from camilamacedo86/update-mdbook
camilamacedo86 Oct 5, 2022
2a05af0
:warning: remove config-gen alpha option
camilamacedo86 Oct 5, 2022
e5d7c2a
:book: clarifies plugins available and its usage
camilamacedo86 Oct 2, 2022
04a425e
Merge pull request #2989 from camilamacedo86/doc-plugin
k8s-ci-robot Oct 5, 2022
012838c
:book: update doc samples
camilamacedo86 Oct 2, 2022
2d908c5
Merge pull request #2990 from camilamacedo86/update-doc-samples
k8s-ci-robot Oct 5, 2022
45191ad
:sparkles: (go/v4-alpha) : update kustomize version from 4.5.5 to 4.5.7
camilamacedo86 Oct 5, 2022
9dd4fef
Merge pull request #3001 from camilamacedo86/update-kustomize
camilamacedo86 Oct 6, 2022
8069fa5
:sparkles: (grafana/v1-alpha) : add custom units for custom grafana d…
jkremser Oct 6, 2022
e34d00d
cleanup: cert-manager and prometheus installs into e2e tests
camilamacedo86 Oct 6, 2022
723e410
Apply suggestions from code review
camilamacedo86 Oct 7, 2022
2ba91df
Merge pull request #3004 from camilamacedo86/update-test
camilamacedo86 Oct 7, 2022
570446a
fixed bug for component-config flag
laxmikantbpandhare Oct 9, 2022
38ae383
Merge pull request #3010 from laxmikantbpandhare/master
k8s-ci-robot Oct 10, 2022
5cb534a
Make jmrodri and varsha admins
jmrodri Oct 10, 2022
42c7050
Merge pull request #3011 from jmrodri/add-to-admins
k8s-ci-robot Oct 10, 2022
9a98346
Merge pull request #2998 from camilamacedo86/remove-config-gen
pwittrock Oct 10, 2022
327df13
Bump github.com/onsi/gomega from 1.20.2 to 1.21.1
dependabot[bot] Oct 11, 2022
173f3e2
:book: Updating doc with Installation steps of cert-manager and prome…
yashsingh74 Oct 11, 2022
eff842a
🐛 : leader-elect arg scaffolded should be scaffolded when component c…
laxmikantbpandhare Oct 11, 2022
2fe590f
Update make build cmd with manifests
astraw99 Oct 16, 2022
169c743
Merge pull request #3014 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 17, 2022
014b497
Bump github.com/spf13/cobra from 1.5.0 to 1.6.0
dependabot[bot] Oct 17, 2022
61611b2
Merge pull request #3024 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 18, 2022
2bac12e
Bump golang.org/x/text from 0.3.7 to 0.4.0
dependabot[bot] Oct 18, 2022
8bd569d
Merge pull request #3026 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 21, 2022
a25e174
:seeding: update CLI deps
camilamacedo86 Oct 21, 2022
cf154d6
Merge pull request #3029 from camilamacedo86/update-cli-deps
k8s-ci-robot Oct 22, 2022
5d59e40
Merge pull request #3020 from astraw99/update-make-manifests
k8s-ci-robot Oct 22, 2022
d166ad6
golangci-lint: add recommended revive checks to linter-settings but d…
oscr Oct 22, 2022
be94061
Improve rendering of the documentation
multani Oct 23, 2022
2035b6f
update cronjob to use batchv1 api
krishnaindani Oct 24, 2022
68bedfc
Merge pull request #3037 from multani/improve-doc
k8s-ci-robot Oct 24, 2022
52f1315
Merge pull request #3038 from krishnaindani/update-cronjob-api-version
k8s-ci-robot Oct 24, 2022
523907a
Merge pull request #3034 from oscr/add-recommended-revive-checks
k8s-ci-robot Oct 24, 2022
dc5bd18
Fix grammar in comment
seemiller Oct 24, 2022
dab7149
Enable revive unused-parameter check and fix findings
oscr Oct 24, 2022
c15cf19
Bump github.com/onsi/ginkgo/v2 from 2.3.1 to 2.4.0
dependabot[bot] Oct 24, 2022
649ef61
Bump github.com/spf13/cobra from 1.6.0 to 1.6.1
dependabot[bot] Oct 24, 2022
cac77c3
Merge pull request #3042 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 25, 2022
a726856
Update github workflow to use same golangci-lint minor version as Mak…
oscr Oct 25, 2022
2a0133c
Merge pull request #3040 from oscr/enable-revive-unused-parameter
k8s-ci-robot Oct 25, 2022
6af8e88
Merge pull request #3041 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Oct 25, 2022
b1087a7
Merge pull request #3039 from seemiller/patch-1
k8s-ci-robot Oct 25, 2022
e4e7f70
Merge pull request #3043 from oscr/update-linter-in-github-workflow
k8s-ci-robot Oct 25, 2022
057f627
fix docker buildx args
mikelsid Oct 26, 2022
c73d4d5
Merge pull request #3046 from mikelsid/master
k8s-ci-robot Oct 26, 2022
0b36d0c
🐛 (kustomize/v2-alpha): Fix typo issue in the labels added to the man…
h0tbird Oct 26, 2022
473be14
Add KB project git-repo and edit icons
astraw99 Oct 27, 2022
55034be
Add doc FAQ section
astraw99 Oct 25, 2022
0cf3280
Merge pull request #3050 from astraw99/ftr-add-git-icon
k8s-ci-robot Oct 27, 2022
5f51f1d
Merge pull request #3044 from astraw99/ftr-add-faq
k8s-ci-robot Oct 27, 2022
637f85a
docs: supplement plugin creation
Kavinjsir Oct 7, 2022
49b863d
Update joelanford/go-apidiff (v0.4.0 -> v0.5.0)
oscr Oct 29, 2022
69b64ae
Merge pull request #3051 from oscr/update-apidiff
k8s-ci-robot Oct 30, 2022
f297975
Bump github.com/onsi/gomega from 1.22.1 to 1.23.0
dependabot[bot] Oct 31, 2022
8dfecb9
Merge pull request #3008 from Kavinjsir/docs/external-plugin
k8s-ci-robot Nov 1, 2022
15bd05e
Merge pull request #3053 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 1, 2022
3b6ec86
Bump github.com/onsi/gomega from 1.23.0 to 1.24.0
dependabot[bot] Nov 7, 2022
59a59ba
Merge pull request #3064 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 10, 2022
f59d6c3
Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0
dependabot[bot] Nov 10, 2022
6f1f8c4
Merge pull request #3063 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 11, 2022
39443ab
Bump github.com/spf13/afero from 1.9.2 to 1.9.3
dependabot[bot] Nov 14, 2022
7036a6b
Bump golang.org/x/tools from 0.2.0 to 0.3.0
dependabot[bot] Nov 14, 2022
fc538cf
Merge pull request #3070 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 14, 2022
766db4a
Merge pull request #3071 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 14, 2022
4e2983a
Bump github.com/onsi/gomega from 1.24.0 to 1.24.1
dependabot[bot] Nov 14, 2022
2ea935f
fix typo in Makefile
ebiiim Nov 15, 2022
e41da7e
Merge pull request #3072 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 16, 2022
bff13b2
Merge pull request #3073 from ebiiim/fix-typo
k8s-ci-robot Nov 16, 2022
6cbdc16
:sparkles: add version check for makefile template tools (#3077)
coriaedu Nov 16, 2022
84938f0
fix unexpected end of file error in makefiles
Nov 16, 2022
89f58d3
Merge pull request #3079 from coriaedu/fix-end-of-file-error-in-makefile
k8s-ci-robot Nov 16, 2022
8fcc643
:sparkles: Add go/v4 base and migration guide
camilamacedo86 Oct 22, 2022
920b923
Update docs/book/src/plugins/go-v4-plugin.md
camilamacedo86 Nov 18, 2022
89026b7
Update docs/book/src/migration/legacy.md
camilamacedo86 Nov 18, 2022
aa90d6b
Update docs/book/src/migration/manually_migration_guide_gov3_to_gov4.md
camilamacedo86 Nov 18, 2022
9cc0c3f
Update docs/book/src/migration/manually_migration_guide_gov3_to_gov4.md
camilamacedo86 Nov 18, 2022
00dfad7
Update docs/book/src/migration/manually_migration_guide_gov3_to_gov4.md
camilamacedo86 Nov 18, 2022
1f099ea
Merge pull request #3032 from camilamacedo86/go-v4-base
k8s-ci-robot Nov 18, 2022
c8be469
(go/v3,go/v4-alpha): Upgrade controller-runtime version from 1.13.0 t…
camilamacedo86 Nov 18, 2022
eddf0ad
Merge pull request #3085 from camilamacedo86/bump-controller-runtime
camilamacedo86 Nov 21, 2022
a6b1f8c
📖 : suggest specify plugin for pr
Kavinjsir Nov 21, 2022
0e22096
Merge pull request #3096 from Kavinjsir/docs/commit-format
k8s-ci-robot Nov 21, 2022
55129b9
Bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1
dependabot[bot] Nov 22, 2022
43faac7
docs: fix typo in the component config tutorial
andreasgerstmayr Nov 22, 2022
5e2b056
Merge pull request #3098 from andreasgerstmayr/fix-typo
k8s-ci-robot Nov 22, 2022
972dc6e
🌱: refact testdata
Kavinjsir Nov 19, 2022
4fefbf7
Merge pull request #3086 from Kavinjsir/ci/refact-e2e-test
k8s-ci-robot Nov 22, 2022
051b05a
Merge pull request #3097 from kubernetes-sigs/dependabot/go_modules/g…
k8s-ci-robot Nov 22, 2022
407b9fe
✨ (kustomize/v2-alpha): add kustomize file to track crd sample info
Kavinjsir Nov 17, 2022
136f6ce
Merge pull request #3084 from Kavinjsir/feat/kustomize-sample
k8s-ci-robot Nov 23, 2022
787b588
add action to lint yaml
everettraven Nov 14, 2022
346896e
update yamllint to now be run via Makefile
everettraven Nov 23, 2022
feb0c54
run yamllint target as part of lint target
everettraven Nov 23, 2022
758ab61
add yamllint job back as the lint job only runs golangci-lint
everettraven Nov 23, 2022
777fd27
bump proxy image
camilamacedo86 Nov 23, 2022
3ad1c7e
fix: Remove trailing space making yamllint fail on new project
erikgb Nov 26, 2022
c1d56e5
Merge pull request #3099 from camilamacedo86/kube-rbac-proxy
k8s-ci-robot Nov 26, 2022
cc703b2
Merge pull request #3101 from erikgb/fix/remove-yaml-trailing-space
k8s-ci-robot Nov 26, 2022
e615d6a
(kustomize/v2-alpha): change kustomization file to track samples to u…
camilamacedo86 Nov 26, 2022
ce42706
Merge pull request #3102 from camilamacedo86/fix-kust
camilamacedo86 Nov 28, 2022
3044376
Merge pull request #3069 from everettraven/actions/yamllint
k8s-ci-robot Nov 28, 2022
24846f3
(deployimage/v1-alpha): fix error to scaffold go/v4-alpha projects
camilamacedo86 Nov 29, 2022
432a727
Merge pull request #3104 from camilamacedo86/fix-deploy
k8s-ci-robot Dec 1, 2022
4833ccc
Replace restricted-access ComponentConfig design doc link with the pu…
mresvanis Dec 2, 2022
184ff74
Merge pull request #3108 from mresvanis/replace-restricted-component-…
k8s-ci-robot Dec 2, 2022
4658c5d
Merge branch 'book-v3' into release-3.8
camilamacedo86 Dec 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ body:
<summary>Code & details examples</summary>

`````markdown
Some code code written in Go:
Some code written in Go:

```go
type Manager struct {
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ body:
<summary>Code & details examples</summary>

`````markdown
Some code code written in Go:
Some code written in Go:

```go
type Manager struct {
Expand Down Expand Up @@ -75,7 +75,7 @@ body:

Does it require a particular Kubernetes version?

Is there currently another isssue associated with this (use github syntax
Is there currently another issue associated with this (use github syntax
like `#xyz` to link to it)?
validations: {required: true}

Expand Down
49 changes: 49 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:

# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
# Workflow files stored in the
# default location of `.github/workflows`
directory: "/"
schedule:
interval: "weekly"
commit-message:
prefix: ":seedling:"
labels:
- "ok-to-test"

# Maintain dependencies for go
- package-ecosystem: "gomod"
directory: "/"
schedule:
interval: "weekly"
labels:
- "ok-to-test"

# Maintain dependencies for dockerfile in the branches
- package-ecosystem: docker
directory: "/build/thirdparty/darwin"
target-branch: "tools-releases"
schedule:
interval: daily
- package-ecosystem: docker
directory: "/build/thirdparty/linux"
target-branch: "tools-releases"
schedule:
interval: "weekly"

# Maintain dependencies for dockerfile scaffold in the projects
- package-ecosystem: docker
directory: "testdata/project-v3"
schedule:
interval: daily
- package-ecosystem: docker
directory: "testdata/project-v4"
schedule:
interval: "weekly"
2 changes: 1 addition & 1 deletion .github/workflows/apidiff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
with:
go-version: "1.19"
- name: Execute go-apidiff
uses: joelanford/go-apidiff@v0.4.0
uses: joelanford/go-apidiff@v0.5.0
with:
compare-imports: true
print-compatible: true
Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
- name: Run linter
uses: golangci/golangci-lint-action@v3
with:
version: v1.49 # Always uses the latest patch version.
version: v1.50
only-new-issues: true # Show only new issues if it's a pull request
- name: Report failure
uses: nashmaniac/create-issue-action@v1.1
Expand All @@ -50,3 +50,10 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
labels: kind/bug
body: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}

yamllint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Run yamllint make target
run: make yamllint
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Fetch all tags
run: git fetch --force --tags
- name: Set up Go
uses: actions/setup-go@v2
uses: actions/setup-go@v3
with:
go-version: '~1.19'
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v2
uses: goreleaser/goreleaser-action@v3
with:
version: v1.11.2
args: release -f ./build/.goreleaser.yml --rm-dist
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests-legacy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
# Therefore, we probably will deprecate go/v2 soon since we cannot upgrade it
# to use the versions of controller-runtime > v0.9
# and controller-tools > v0.6 as k8s > 1.21 then it might not be valid we spend effort on this fix
go-version: "1.17"
go-version: "1.19"
# This step is needed as the following one tries to remove
# kustomize for each test but has no permission to do so
- name: Remove pre-installed kustomize
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
.idea/
.vscode/

WORKSPACE
# don't check in the build output of the book
docs/book/book/

# ignore auto-generated dir by `mdbook serve`
docs/book/src/docs

# Editor temp files
*~
\#*#
Expand All @@ -22,3 +25,4 @@ docs/book/book/
# skip testdata go.sum, since it may have
# different result depending on go version
/testdata/**/go.sum
/docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/bin
44 changes: 39 additions & 5 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
run:
deadline: 5m
allow-parallel-runners: true

issues:
# don't skip warning about doc comments
# don't exclude the default set of lint
Expand All @@ -13,8 +17,41 @@ linters-settings:
enable=fieldalignment: true
revive:
rules:
- name: if-return
disabled: true
# The following rules are recommended https://github.com/mgechev/revive#recommended-configuration
- name: blank-imports
- name: context-as-argument
- name: context-keys-type
- name: dot-imports
- name: error-return
- name: error-strings
- name: error-naming
- name: exported
disabled: true # TODO: Investigate if it should be enabled. Disabled for now due to many findings.
- name: if-return
disabled: true # TODO: Investigate if it should be enabled. Disabled for now due to many findings.
- name: increment-decrement
- name: var-naming
disabled: true # TODO: Investigate if it should be enabled. Disabled for now due to many findings.
- name: var-declaration
- name: package-comments
disabled: true # TODO: Investigate if it should be enabled. Disabled for now due to many findings.
- name: range
- name: receiver-naming
- name: time-naming
- name: unexported-return
- name: indent-error-flow
- name: errorf
- name: empty-block
disabled: true # TODO: Investigate if it should be enabled. Disabled for now due to many findings.
- name: superfluous-else
- name: unused-parameter
- name: unreachable-code
- name: redefines-builtin-id
#
# Rules in addition to the recommended configuration above.
#
- name: bool-literal-in-expr
- name: constant-logical-expr

linters:
disable-all: true
Expand All @@ -40,6 +77,3 @@ linters:
- unconvert
- unparam
- unused

run:
deadline: 5m
64 changes: 64 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,63 @@ Following the targets that can be used to test your changes locally.

**NOTE** To use the `make lint` is required to install `golangci-lint` locally. More info: https://github.com/golangci/golangci-lint#install

### Test Plugin

If your intended PR creates a new plugin, make sure the PR also provides test cases. Testing should include:

1. `e2e tests` to validate the behavior of the proposed plugin.
2. `sample projects` to verify the scaffolded output from the plugin.

#### 1. Plugin E2E Tests

All the plugins provided by Kubebuilder should be validated through `e2e-tests` across multiple platforms.

Current Kubebuilder provides the testing framework that includes testing code based on [ginkgo](https://github.com/onsi/ginkgo), [Github Actions](https://github.com/Kavinjsir/kubebuilder/blob/docs%2Ftest-plugin/.github/workflows/testdata.yml) for unit tests, and multiple env tests driven by [test-infra](https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes-sigs/kubebuilder/kubebuilder-presubmits.yaml).

To fully test the proposed plugin:

1. Create a new package(folder) under `test/e2e/<your-plugin>`.
2. Create [e2e_suite_test.go](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/v4/e2e_suite_test.go), which imports the necessary testing framework.
3. Create `generate_test.go` ([ref](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/v4/generate_test.go)). That should:
- Introduce/Receive a `TextContext` instance
- Trigger the plugin's bound subcommands. See [Init](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L213), [CreateAPI](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.6.0/test/e2e/utils/test_context.go#L222)
- Use [PluginUtil](https://pkg.go.dev/sigs.k8s.io/kubebuilder/v3/pkg/plugin/util) to verify the scaffolded outputs. See [InsertCode](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/pkg/plugin/util/util.go#L67), [ReplaceInFile](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.6.0/pkg/plugin/util/util.go#L196), [UncommendCode](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.6.0/pkg/plugin/util/util.go#L86)
4. Create `plugin_cluster_test.go` ([ref](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/v4/plugin_cluster_test.go)). That should:

- 4.1. Setup testing environment, e.g:

- Cleanup environment, create temp dir. See [Prepare](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L97)
- If your test will cover the provided features then, ensure that you install prerequisites CRDs: See [InstallCertManager](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L138), [InstallPrometheusManager](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.6.0/test/e2e/utils/test_context.go#L171)

- 4.2. Run the function from `generate_test.go`.

- 4.3. Further make sure the scaffolded output works, e.g:

- Execute commands in your `Makefile`. See [Make](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L240)
- Temporary load image of the testing controller. See [LoadImageToKindCluster](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L283)
- Call Kubectl to validate running resources. See [utils.Kubectl](https://pkg.go.dev/sigs.k8s.io/kubebuilder/v3/test/e2e/utils#Kubectl)

- 4.4. Delete temporary resources after testing exited, e.g:
- Uninstall prerequisites CRDs: See [UninstallPrometheusOperManager](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L183)
- Delete temp dir. See [Destroy](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/utils/test_context.go#L255)

5. Add the command in [test/e2e/plugin](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/e2e/setup.sh#L65) to run your testing code:

```shell
go test $(dirname "$0")/<your-plugin-test-folder> $flags -timeout 30m
```

#### 2. Sample Projects from the Plugin

It is also necessary to test consistency of the proposed plugin across different env and the integration with other plugins.

This is performed by generating sample projects based on the plugins. The CI workflow defined in Github Action would validate the availability and the consistency.

See:

- [test/testdata/generated.sh](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/test/testdata/generate.sh#L144)
- [make generate](https://github.com/kubernetes-sigs/kubebuilder/blob/v3.7.0/Makefile#L70)

## PR Process

See [VERSIONING.md](VERSIONING.md) for a full description. TL;DR:
Expand All @@ -82,6 +139,13 @@ changes, which don't deserve a release note. Please don't abuse it.
You can also use the equivalent emoji directly, since GitHub doesn't
render the `:xyz:` aliases in PR titles.

If the PR is "plugin" scoped, you may also append the responding plugin names in the prefix.
[For instance](https://github.com/kubernetes-sigs/kubebuilder/commit/0b36d0c4021bbf52f29d5a990157466761ec180c):

```
🐛 (kustomize/v2-alpha): Fix typo issue in the labels added to the manifests
```

Individual commits should not be tagged separately, but will generally be
assumed to match the PR. For instance, if you have a bugfix in with
a breaking change, it's generally encouraged to submit the bugfix
Expand Down
12 changes: 9 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -72,18 +72,22 @@ generate-testdata: ## Update/generate the testdata in $GOPATH/src/sigs.k8s.io/ku
./test/testdata/generate.sh

.PHONY: lint
lint: golangci-lint ## Run golangci-lint linter
lint: golangci-lint yamllint ## Run golangci-lint linter & yamllint
$(GOLANGCI_LINT) run

.PHONY: lint-fix
lint-fix: golangci-lint ## Run golangci-lint linter and perform fixes
$(GOLANGCI_LINT) run --fix

.PHONY: yamllint
yamllint:
@docker run --rm $$(tty -s && echo "-it" || echo) -v $(PWD):/data cytopia/yamllint:latest testdata -d "{extends: relaxed, rules: {line-length: {max: 120}}}" --no-warnings

GOLANGCI_LINT = $(shell pwd)/bin/golangci-lint
golangci-lint:
@[ -f $(GOLANGCI_LINT) ] || { \
set -e ;\
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell dirname $(GOLANGCI_LINT)) v1.49.0 ;\
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(shell dirname $(GOLANGCI_LINT)) v1.50.1 ;\
}

.PHONY: apidiff
Expand All @@ -92,7 +96,7 @@ apidiff: go-apidiff ## Run the go-apidiff to verify any API differences compared

.PHONY: go-apidiff
go-apidiff:
go install github.com/joelanford/go-apidiff@v0.4.0
go install github.com/joelanford/go-apidiff@v0.5.0

##@ Tests

Expand Down Expand Up @@ -139,6 +143,8 @@ test-e2e-ci: ## Run the end-to-end tests (used in the CI)`
.PHONY: test-book
test-book: ## Run the cronjob tutorial's unit tests to make sure we don't break it
cd ./docs/book/src/cronjob-tutorial/testdata/project && make test
cd ./docs/book/src/component-config-tutorial/testdata/project && make test
cd ./docs/book/src/multiversion-tutorial/testdata/project && make test

.PHONY: test-license
test-license: ## Run the license check
Expand Down
4 changes: 2 additions & 2 deletions OWNERS_ALIASES
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ aliases:
kubebuilder-admins:
- pwittrock
- camilamacedo86
- jmrodri
- varshaprasad96

# non-admin folks who can approve any PRs in the repo
kubebuilder-approvers:
- jmrodri
- varshaprasad96

# folks who can review and LGTM any PRs in the repo (doesn't include
# approvers & admins -- those count too via the OWNERS file)
Expand Down
2 changes: 1 addition & 1 deletion RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ to create a new branch. Instead, you will just need to ensure that all major fix
`release-MAJOR.MINOR` branch. To know more about versioning check https://semver.org/.

**Note:** Before `3.5.*` release this project was released based on `MAJOR`. A change to the
the process was done to ensure that we have an aligned process under the org (similar to `controller-runtime` and
process was done to ensure that we have an aligned process under the org (similar to `controller-runtime` and
`controller-tools`) and to make it easier to produce patch releases.

## How to do a release
Expand Down
12 changes: 0 additions & 12 deletions WORKSPACE

This file was deleted.

2 changes: 1 addition & 1 deletion build/.goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ builds:
- darwin_amd64
- darwin_arm64
env:
- KUBERNETES_VERSION=1.24.1
- KUBERNETES_VERSION=1.25.0
- CGO_ENABLED=0

# Only binaries of the form "kubebuilder_${goos}_${goarch}" will be released.
Expand Down
Loading