Skip to content

Commit 08d9299

Browse files
authored
Merge pull request #4484 from kubernetes-sigs/conflicts-metrics-md
📖 Update docs with release v4.4.0
2 parents f7f8bbe + 484a6d2 commit 08d9299

File tree

698 files changed

+12847
-3265
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

698 files changed

+12847
-3265
lines changed

.github/SECURITY.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Security Policy
2+
3+
## Security Announcements
4+
5+
Join the [kubernetes-security-announce] group for security and vulnerability announcements related to the Kubernetes ecosystem.
6+
7+
You can also subscribe to an RSS feed of these announcements using [this link][kubernetes-security-announce-rss].
8+
9+
## Reporting a Vulnerability
10+
11+
Instructions for reporting a vulnerability can be found on the [Kubernetes Security and Disclosure Information] page.
12+
13+
## Supported Versions
14+
15+
Kubebuilder is tested against the latest three Kubernetes releases, in alignment with the [Kubernetes version and version skew support policy](https://kubernetes.io/docs/setup/release/version-skew-policy/).
16+
17+
However, each version is only tested with the dependencies used for its release. For detailed information, please refer to the [compatibility and support policy on GitHub][compatibility-policy].
18+
19+
## Release Policy
20+
21+
Kubebuilder maintains a policy of releasing updates for the latest CLI version (currently v4). Older versions (v1, v2, v3) are no longer supported, and no releases will be produced for them. It is recommended to ensure that any project scaffolded by Kubebuilder remains aligned with the latest release.
22+
23+
## Automated Vulnerability Scanning
24+
25+
Kubebuilder employs automated scanning via Dependabot and GitHub Actions within its CI/CD pipeline. This process detects vulnerabilities in dependencies and configurations, generating daily or weekly reports prioritized for the latest supported versions.
26+
27+
- **Dependabot Configuration**: You can review the setup in `.github/dependabot.yml`.
28+
- **Security Checks**: Security checks are enabled in the Kubebuilder repository settings.
29+
- **Code Scanning**: The `.github/workflows/codeql.yml` workflow scans the `master` and `book-v4` branches, which typically contain the latest release code. Other release branches may not be scanned.
30+
31+
## Production-Grade Security
32+
33+
Projects generated by Kubebuilder are designed for ease of development and are **not** configured with production-grade security settings. For example, default configurations do not enable cert-manager or perform proper certificate validation, which may not be suitable for production environments. Ensure that you make the necessary adjustments to security settings before releasing your solution for production.
34+
35+
[kubernetes-security-announce]: https://groups.google.com/forum/#!forum/kubernetes-security-announce
36+
[kubernetes-security-announce-rss]: https://groups.google.com/forum/feed/kubernetes-security-announce/msgs/rss_v2_0.xml?num=50
37+
[Kubernetes version and version skew support policy]: https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
38+
[Kubernetes Security and Disclosure Information]: https://kubernetes.io/docs/reference/issues-security/security/#report-a-vulnerability
39+
[compatibility-policy]: ./../README.md#versions-compatibility-and-supportability
40+
[project-upgrade-assistant]: https://book.kubebuilder.io/reference/rescaffold
41+
[testdata-directory]: https://github.com/kubernetes-sigs/kubebuilder/tree/master/testdata
42+
[kubebuilder-releases]: https://github.com/kubernetes-sigs/kubebuilder/releases

.github/workflows/apidiff.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Setup Go
2323
uses: actions/setup-go@v5
2424
with:
25-
go-version: "~1.22"
25+
go-version-file: go.mod
2626
- name: Execute go-apidiff
2727
uses: joelanford/[email protected]
2828
with:

.github/workflows/codeql.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: Setup Go
2626
uses: actions/setup-go@v5
2727
with:
28-
go-version: '1.22'
28+
go-version-file: go.mod
2929

3030
- name: Build and install Kubebuilder CLI
3131
run: make install

.github/workflows/external-plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Go
2727
uses: actions/setup-go@v5
2828
with:
29-
go-version: '1.22.3'
29+
go-version-file: docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1/go.mod
3030

3131
- name: Build Sample External Plugin
3232
working-directory: docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1

.github/workflows/legacy-webhook-path.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
- name: Setup Go
2727
uses: actions/setup-go@v5
2828
with:
29-
go-version: '1.22.3'
29+
go-version-file: go.mod
3030
- name: Run make test-legacy
3131
run: make test-legacy
3232

.github/workflows/lint-sample.yml

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,34 @@ on:
1111
jobs:
1212
lint-samples:
1313
runs-on: ubuntu-latest
14+
strategy:
15+
matrix:
16+
folder: [
17+
"testdata/project-v4",
18+
"testdata/project-v4-with-plugins",
19+
"testdata/project-v4-multigroup"
20+
]
1421
if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
1522
steps:
1623
- name: Clone the code
1724
uses: actions/checkout@v4
1825
- name: Setup Go
1926
uses: actions/setup-go@v5
2027
with:
21-
go-version: '~1.22'
28+
go-version-file: go.mod
29+
- name: Prepare ${{ matrix.folder }}
30+
working-directory: ${{ matrix.folder }}
31+
run: go mod tidy
32+
- name: Check linter configuration
33+
working-directory: ${{ matrix.folder }}
34+
run: make lint-config
2235
- name: Run linter
2336
uses: golangci/golangci-lint-action@v6
2437
with:
25-
version: v1.59
26-
working-directory: testdata/project-v4
27-
args: --config .golangci.yml ./...
28-
- name: Run linter
29-
uses: golangci/golangci-lint-action@v6
30-
with:
31-
version: v1.59
32-
working-directory: testdata/project-v4-with-plugins
38+
version: v1.62.2
39+
working-directory: ${{ matrix.folder }}
3340
args: --config .golangci.yml ./...
41+
- name: Run linter via makefile target
42+
working-directory: ${{ matrix.folder }}
43+
run: make lint
44+

.github/workflows/lint.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,18 @@ jobs:
1515
# Pull requests from the same repository won't trigger this checks as they were already triggered by the push
1616
if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
1717
steps:
18+
- name: Clone the code
19+
uses: actions/checkout@v4
1820
- name: Setup Go
1921
uses: actions/setup-go@v5
2022
with:
21-
go-version: '~1.22'
22-
- name: Clone the code
23-
uses: actions/checkout@v4
23+
go-version-file: go.mod
24+
- name: Check linter configuration
25+
run: make lint-config
2426
- name: Run linter
2527
uses: golangci/golangci-lint-action@v6
2628
with:
27-
version: v1.61
29+
version: v1.62.2
2830

2931
yamllint:
3032
runs-on: ubuntu-latest

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Set up Go
2222
uses: actions/setup-go@v5
2323
with:
24-
go-version: '~1.22'
24+
go-version-file: go.mod
2525
- name: Clean dist directory
2626
run: rm -rf dist || true
2727
- name: Install Syft to generate SBOMs

.github/workflows/test-devcontainer.yaml renamed to .github/workflows/test-devcontainer.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ jobs:
1515
- name: Checkout repository
1616
uses: actions/checkout@v4
1717

18-
- name: Setup Go 1.22.x
18+
- name: Setup Go
1919
uses: actions/setup-go@v5
2020
with:
21-
go-version: "1.22.x"
21+
go-version-file: go.mod
2222

2323
- name: Setup NodeJS 20.x
2424
uses: actions/setup-node@v4

.github/workflows/test-e2e-book.yml

Lines changed: 10 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,16 @@ on:
1515
- '.github/workflows/test-e2e-book.yml'
1616

1717
jobs:
18-
e2e-getting-started:
18+
e2e:
1919
runs-on: ubuntu-latest
2020
strategy:
2121
fail-fast: true
22+
matrix:
23+
folder: [
24+
"docs/book/src/getting-started/testdata/project",
25+
"docs/book/src/cronjob-tutorial/testdata/project",
26+
"docs/book/src/multiversion-tutorial/testdata/project"
27+
]
2228
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
2329
steps:
2430
- name: Checkout repository
@@ -27,7 +33,7 @@ jobs:
2733
- name: Setup Go
2834
uses: actions/setup-go@v5
2935
with:
30-
go-version: '~1.22'
36+
go-version-file: go.mod
3137

3238
- name: Install the latest version of kind
3339
run: |
@@ -41,67 +47,6 @@ jobs:
4147
- name: Create kind cluster
4248
run: kind create cluster
4349

44-
- name: Running make test-e2e for Getting Started tutorial sample
45-
working-directory: docs/book/src/getting-started/testdata/project
50+
- name: Running make test-e2e for ${{ matrix.folder }}
51+
working-directory: ${{ matrix.folder }}
4652
run: make test-e2e
47-
48-
e2e-cronjob-tutorial:
49-
runs-on: ubuntu-latest
50-
strategy:
51-
fail-fast: true
52-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
53-
steps:
54-
- name: Checkout repository
55-
uses: actions/checkout@v4
56-
57-
- name: Setup Go
58-
uses: actions/setup-go@v5
59-
with:
60-
go-version: '~1.22'
61-
62-
- name: Install the latest version of kind
63-
run: |
64-
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
65-
chmod +x ./kind
66-
sudo mv ./kind /usr/local/bin/kind
67-
68-
- name: Verify kind installation
69-
run: kind version
70-
71-
- name: Create kind cluster
72-
run: kind create cluster
73-
74-
- name: Running make test-e2e for Cronjob tutorial sample
75-
working-directory: docs/book/src/cronjob-tutorial/testdata/project
76-
run: make test-e2e
77-
78-
e2e-multiversion-tutorial:
79-
runs-on: ubuntu-latest
80-
strategy:
81-
fail-fast: true
82-
if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
83-
steps:
84-
- name: Checkout repository
85-
uses: actions/checkout@v4
86-
87-
- name: Setup Go
88-
uses: actions/setup-go@v5
89-
with:
90-
go-version: '~1.22'
91-
92-
- name: Install the latest version of kind
93-
run: |
94-
curl -Lo ./kind https://kind.sigs.k8s.io/dl/latest/kind-linux-amd64
95-
chmod +x ./kind
96-
sudo mv ./kind /usr/local/bin/kind
97-
98-
- name: Verify kind installation
99-
run: kind version
100-
101-
- name: Create kind cluster
102-
run: kind create cluster
103-
104-
- name: Running make test-e2e for Multiversion tutorial sample
105-
working-directory: docs/book/src/multiversion-tutorial/testdata/project
106-
run: make test-e2e
107-

0 commit comments

Comments
 (0)