Skip to content

Commit 93054a5

Browse files
Merge branch 'master' into feat-aws-tags-batching
* master: (33 commits) docs(proposal): support multiple replicas with leader election (kubernetes-sigs#5051) feat(chart): automate helm json schema (kubernetes-sigs#5075) test(aws): introduce first fixture-based (kubernetes-sigs#5092) chore(makefile): add helper and document targets feat: Updated chart for v1.15.2 release chore(makefile): add helper and document targets chore(filter-tags): pre-process filter tags chore(filter-tags): pre-process filter tags chore(filter-tags): pre-process filter tags chore(deps): bump the dev-dependencies group across 1 directory with 21 updates test(domain-filter): simple filters on domain exclusion (kubernetes-sigs#5064) chore(deps): bump nosborn/github-action-markdown-cli ci(docs): add markdown linters and editorconfig (kubernetes-sigs#5055) Address PR comments docs: update and refactor contribution part (kubernetes-sigs#5073) fix(chart): update rbac for F5 transportserver source (kubernetes-sigs#5066) fix(chart): non-string types on svcaccount annotations (kubernetes-sigs#5067) Update aws.md fix: expand tabs in ClouDNS entry fix alignment ...
2 parents 65dc7fc + 003d0f5 commit 93054a5

File tree

118 files changed

+6798
-1164
lines changed

Some content is hidden

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

118 files changed

+6798
-1164
lines changed

.editorconfig

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# EditorConfig helps developers define and maintain consistent
2+
# coding styles between different editors and IDEs
3+
# editorconfig.org
4+
5+
root = true
6+
7+
[*]
8+
9+
# Change these settings to your own preference
10+
indent_style = space
11+
indent_size = 2
12+
13+
# We recommend you to keep these unchanged
14+
end_of_line = lf
15+
charset = utf-8
16+
trim_trailing_whitespace = true
17+
insert_final_newline = true
18+
19+
[Makefile]
20+
indent_style = tab

.github/ISSUE_TEMPLATE/---bug-report.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ assignees: ''
2020
**Anything else we need to know?**:
2121

2222
**Environment**:
23+
2324
- External-DNS version (use `external-dns --version`):
2425
- DNS provider:
2526
- Others:

.github/workflows/json-yaml-validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: json-yaml-validate
1+
name: json-yaml-validate
22
on:
33
push:
44
branches: [ master ]

.github/workflows/lint-test-chart.yaml

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,25 @@ jobs:
1818
with:
1919
fetch-depth: 0
2020

21+
- name: Install Helm
22+
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
23+
with:
24+
token: ${{ github.token }}
25+
version: latest
26+
27+
- name: Run Helm Schema check
28+
working-directory: charts/external-dns
29+
run: |
30+
set -euo pipefail
31+
32+
helm plugin install https://github.com/losisin/helm-values-schema-json.git
33+
helm schema
34+
if [[ -n "$(git status --porcelain --untracked-files=no)" ]]
35+
then
36+
echo "Schema not up to date. Please run helm schema and commit changes!" >&2
37+
exit 1
38+
fi
39+
2140
- name: Install Helm Docs
2241
uses: action-stars/install-tool-from-github-release@ece2623611b240002e0dd73a0d685505733122f6 # v0.2.4
2342
with:
@@ -52,12 +71,6 @@ jobs:
5271
- name: Run Artifact Hub lint
5372
run: ah lint --kind helm || exit 1
5473

55-
- name: Install Helm
56-
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
57-
with:
58-
token: ${{ github.token }}
59-
version: latest
60-
6174
- name: Install Python
6275
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
6376
with:

.github/workflows/lint.yaml

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,27 @@
11
name: Lint
22

33
on:
4-
push:
5-
branches: [ master ]
64
pull_request:
75
branches: [ master ]
86

9-
permissions:
10-
contents: read # to fetch code (actions/checkout)
11-
checks: write
12-
137
jobs:
14-
15-
build:
8+
lint:
9+
name: Markdown, Go and OAS
10+
runs-on: ubuntu-latest
1611
permissions:
1712
contents: read # to fetch code (actions/checkout)
18-
checks: write # to create a new check based on the results (shogo82148/actions-goveralls)
19-
20-
name: Build
21-
runs-on: ubuntu-latest
13+
checks: write
2214
steps:
2315

2416
- name: Check out code into the Go module directory
2517
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2618

19+
- name: Lint markdown
20+
uses: nosborn/[email protected]
21+
with:
22+
files: '.'
23+
config_file: ".markdownlint.json"
24+
2725
- name: Set up Go 1.x
2826
uses: actions/setup-go@v5
2927
with:

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,6 @@ docs/code-of-conduct.md
6060
docs/CONTRIBUTING.md
6161
docs/index.md
6262
docs/redirect
63-
site
63+
site
64+
_scratch
65+
Pipfile

.markdownlint.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
{
2+
"default": true,
3+
"MD010": { "code_blocks": false },
4+
"MD013": { "line_length": "300" },
5+
"MD033": false,
6+
"MD036": false,
7+
"MD024": false,
8+
"MD041": false,
9+
"MD029": false,
10+
"MD034": false,
11+
"MD038": false,
12+
"MD046": false
13+
}

.pre-commit-config.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
default_language_version:
3+
node: system
4+
5+
repos:
6+
- repo: https://github.com/pre-commit/pre-commit-hooks
7+
rev: v4.5.0
8+
hooks:
9+
- id: check-added-large-files
10+
- id: check-case-conflict
11+
- id: check-executables-have-shebangs
12+
- id: check-merge-conflict
13+
- id: check-shebang-scripts-are-executable
14+
- id: check-symlinks
15+
- id: destroyed-symlinks
16+
- id: end-of-file-fixer
17+
- id: fix-byte-order-marker
18+
- id: forbid-new-submodules
19+
- id: mixed-line-ending
20+
- id: trailing-whitespace
21+
22+
- repo: https://github.com/igorshubovych/markdownlint-cli
23+
rev: v0.44.0
24+
hooks:
25+
- id: markdownlint
26+
27+
minimum_pre_commit_version: !!str 3.2

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Welcome to Kubernetes. We are excited about the prospect of you joining our [community](https://git.k8s.io/community)! The Kubernetes community abides by the CNCF [code of conduct](code-of-conduct.md). Here is an excerpt:
44

5-
_As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities._
5+
_In the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or other activities._
66

77
## Getting Started
88

Makefile

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
# cover-html creates coverage report for whole project excluding vendor and opens result in the default browser
15+
#? cover: Creates coverage report for whole project excluding vendor and opens result in the default browser
1616
.PHONY: cover cover-html
1717
.DEFAULT_GOAL := build
1818

@@ -24,11 +24,11 @@ cover:
2424
gocovmerge `ls *.coverprofile` > cover.out
2525
rm *.coverprofile
2626

27+
#? cover-html: Run tests with coverage and open coverage report in the browser
2728
cover-html: cover
2829
go tool cover -html cover.out
2930

30-
# find or download controller-gen
31-
# download controller-gen if necessary
31+
#? controller-gen: download controller-gen if necessary
3232
controller-gen:
3333
ifeq (, $(shell which controller-gen))
3434
@{ \
@@ -40,15 +40,16 @@ else
4040
CONTROLLER_GEN=$(shell which controller-gen)
4141
endif
4242

43+
#? golangci-lint: Install golangci-lint tool
4344
golangci-lint:
4445
@command -v golangci-lint > /dev/null || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.63.4
4546

46-
# Run the golangci-lint tool
47+
#? go-lint: Run the golangci-lint tool
4748
.PHONY: go-lint
4849
go-lint: golangci-lint
4950
golangci-lint run --timeout=30m ./...
5051

51-
# Run the licensecheck script to check for license headers
52+
#? licensecheck: Run the to check for license headers
5253
.PHONY: licensecheck
5354
licensecheck:
5455
@echo ">> checking license header"
@@ -60,25 +61,25 @@ licensecheck:
6061
exit 1; \
6162
fi
6263

63-
# Requires to install spectral. See https://github.com/stoplightio/spectral
64+
#? oas-lint: Requires to install spectral. See github.com/stoplightio/spectral
6465
oas-lint:
6566
spectral lint api/*.yaml
6667

67-
# Run all the linters
68+
#? lint: Run all the linters
6869
.PHONY: lint
6970
lint: licensecheck go-lint oas-lint
7071

71-
# generates CRD using controller-gen
72+
#? crd: Generates CRD using controller-gen
7273
.PHONY: crd
7374
crd: controller-gen
7475
${CONTROLLER_GEN} crd:crdVersions=v1 paths="./endpoint/..." output:crd:stdout > docs/contributing/crd-source/crd-manifest.yaml
7576

76-
# The verify target runs tasks similar to the CI tasks, but without code coverage
77+
#? test: The verify target runs tasks similar to the CI tasks, but without code coverage
7778
.PHONY: test
7879
test:
7980
go test -race -coverprofile=profile.cov ./...
8081

81-
# The build targets allow to build the binary and container image
82+
#? build: The build targets allow to build the binary and container image
8283
.PHONY: build
8384

8485
BINARY ?= external-dns
@@ -148,9 +149,9 @@ clean:
148149
@rm -rf build
149150
@go clean -cache
150151

151-
# Builds and push container images to the staging bucket.
152-
.PHONY: release.staging
153152

153+
.PHONY: release.staging
154+
#? release.staging: Builds and push container images to the staging bucket.
154155
release.staging: test
155156
IMAGE=$(IMAGE_STAGING) $(MAKE) build.push/multiarch
156157

@@ -161,7 +162,25 @@ release.prod: test
161162
ko:
162163
scripts/install-ko.sh
163164

164-
# generate-flags-documentation: Generate documentation (docs/flags.md)
165-
.PHONE: generate-flags-documentation
165+
.PHONY: generate-flags-documentation
166+
#? generate-flags-documentation: Generate documentation (docs/flags.md)
166167
generate-flags-documentation:
167168
go run internal/gen/docs/flags/main.go
169+
170+
#? pre-commit-install: Install pre-commit hooks
171+
pre-commit-install:
172+
@pre-commit install
173+
@pre-commit gc
174+
175+
#? pre-commit-uninstall: Uninstall pre-commit hooks
176+
pre-commit-uninstall:
177+
@pre-commit uninstall
178+
179+
#? pre-commit-validate: Validate files with pre-commit hooks
180+
pre-commit-validate:
181+
@pre-commit run --all-files
182+
183+
.PHONY: help
184+
#? help: Get more info on available commands
185+
help: Makefile
186+
@sed -n 's/^#?//p' $< | column -t -s ':' | sort | sed -e 's/^/ /'

0 commit comments

Comments
 (0)