Skip to content

Commit

Permalink
Merge branch 'master' into feat-aws-tags-batching
Browse files Browse the repository at this point in the history
* 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
  ...
  • Loading branch information
ivankatliarchuk committed Feb 16, 2025
2 parents 65dc7fc + 003d0f5 commit 93054a5
Show file tree
Hide file tree
Showing 118 changed files with 6,798 additions and 1,164 deletions.
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true

[*]

# Change these settings to your own preference
indent_style = space
indent_size = 2

# We recommend you to keep these unchanged
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[Makefile]
indent_style = tab
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/---bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ assignees: ''
**Anything else we need to know?**:

**Environment**:

- External-DNS version (use `external-dns --version`):
- DNS provider:
- Others:
2 changes: 1 addition & 1 deletion .github/workflows/json-yaml-validate.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: json-yaml-validate
name: json-yaml-validate
on:
push:
branches: [ master ]
Expand Down
25 changes: 19 additions & 6 deletions .github/workflows/lint-test-chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,25 @@ jobs:
with:
fetch-depth: 0

- name: Install Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
with:
token: ${{ github.token }}
version: latest

- name: Run Helm Schema check
working-directory: charts/external-dns
run: |
set -euo pipefail
helm plugin install https://github.com/losisin/helm-values-schema-json.git
helm schema
if [[ -n "$(git status --porcelain --untracked-files=no)" ]]
then
echo "Schema not up to date. Please run helm schema and commit changes!" >&2
exit 1
fi
- name: Install Helm Docs
uses: action-stars/install-tool-from-github-release@ece2623611b240002e0dd73a0d685505733122f6 # v0.2.4
with:
Expand Down Expand Up @@ -52,12 +71,6 @@ jobs:
- name: Run Artifact Hub lint
run: ah lint --kind helm || exit 1

- name: Install Helm
uses: azure/setup-helm@fe7b79cd5ee1e45176fcad797de68ecaf3ca4814 # v4.2.0
with:
token: ${{ github.token }}
version: latest

- name: Install Python
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
with:
Expand Down
22 changes: 10 additions & 12 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -1,29 +1,27 @@
name: Lint

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

permissions:
contents: read # to fetch code (actions/checkout)
checks: write

jobs:

build:
lint:
name: Markdown, Go and OAS
runs-on: ubuntu-latest
permissions:
contents: read # to fetch code (actions/checkout)
checks: write # to create a new check based on the results (shogo82148/actions-goveralls)

name: Build
runs-on: ubuntu-latest
checks: write
steps:

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

- name: Lint markdown
uses: nosborn/[email protected]
with:
files: '.'
config_file: ".markdownlint.json"

- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,6 @@ docs/code-of-conduct.md
docs/CONTRIBUTING.md
docs/index.md
docs/redirect
site
site
_scratch
Pipfile
13 changes: 13 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"default": true,
"MD010": { "code_blocks": false },
"MD013": { "line_length": "300" },
"MD033": false,
"MD036": false,
"MD024": false,
"MD041": false,
"MD029": false,
"MD034": false,
"MD038": false,
"MD046": false
}
27 changes: 27 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
default_language_version:
node: system

repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: destroyed-symlinks
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: forbid-new-submodules
- id: mixed-line-ending
- id: trailing-whitespace

- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.44.0
hooks:
- id: markdownlint

minimum_pre_commit_version: !!str 3.2
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

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:

_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._
_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._

## Getting Started

Expand Down
47 changes: 33 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

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

Expand All @@ -24,11 +24,11 @@ cover:
gocovmerge `ls *.coverprofile` > cover.out
rm *.coverprofile

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

# find or download controller-gen
# download controller-gen if necessary
#? controller-gen: download controller-gen if necessary
controller-gen:
ifeq (, $(shell which controller-gen))
@{ \
Expand All @@ -40,15 +40,16 @@ else
CONTROLLER_GEN=$(shell which controller-gen)
endif

#? golangci-lint: Install golangci-lint tool
golangci-lint:
@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

# Run the golangci-lint tool
#? go-lint: Run the golangci-lint tool
.PHONY: go-lint
go-lint: golangci-lint
golangci-lint run --timeout=30m ./...

# Run the licensecheck script to check for license headers
#? licensecheck: Run the to check for license headers
.PHONY: licensecheck
licensecheck:
@echo ">> checking license header"
Expand All @@ -60,25 +61,25 @@ licensecheck:
exit 1; \
fi

# Requires to install spectral. See https://github.com/stoplightio/spectral
#? oas-lint: Requires to install spectral. See github.com/stoplightio/spectral
oas-lint:
spectral lint api/*.yaml

# Run all the linters
#? lint: Run all the linters
.PHONY: lint
lint: licensecheck go-lint oas-lint

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

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

# The build targets allow to build the binary and container image
#? build: The build targets allow to build the binary and container image
.PHONY: build

BINARY ?= external-dns
Expand Down Expand Up @@ -148,9 +149,9 @@ clean:
@rm -rf build
@go clean -cache

# Builds and push container images to the staging bucket.
.PHONY: release.staging

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

Expand All @@ -161,7 +162,25 @@ release.prod: test
ko:
scripts/install-ko.sh

# generate-flags-documentation: Generate documentation (docs/flags.md)
.PHONE: generate-flags-documentation
.PHONY: generate-flags-documentation
#? generate-flags-documentation: Generate documentation (docs/flags.md)
generate-flags-documentation:
go run internal/gen/docs/flags/main.go

#? pre-commit-install: Install pre-commit hooks
pre-commit-install:
@pre-commit install
@pre-commit gc

#? pre-commit-uninstall: Uninstall pre-commit hooks
pre-commit-uninstall:
@pre-commit uninstall

#? pre-commit-validate: Validate files with pre-commit hooks
pre-commit-validate:
@pre-commit run --all-files

.PHONY: help
#? help: Get more info on available commands
help: Makefile
@sed -n 's/^#?//p' $< | column -t -s ':' | sort | sed -e 's/^/ /'
Loading

0 comments on commit 93054a5

Please sign in to comment.