Skip to content

Commit 3da7ba6

Browse files
Merge branch 'main' into openshift-ci
2 parents 168bf07 + 124e38b commit 3da7ba6

File tree

179 files changed

+6278
-4487
lines changed

Some content is hidden

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

179 files changed

+6278
-4487
lines changed

Diff for: .changelog/3874.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:sync-catalog
2+
Add Endpoint health state to registered consul service
3+
```

Diff for: .changelog/4212.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
sync-catalog: expose prometheus scrape metrics on sync-catalog pods
3+
```

Diff for: .changelog/4224.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
terminating-gateways: Fix bug where namespace field was not correctly set on ACL policies if using the `Registration` CRD with the service's namespace unset.
3+
```

Diff for: .changelog/4227.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
```release-note:bug
2+
openshift: order SecurityContextConstraint volumes alphabetically to match OpenShift behavior.
3+
This ensures that diff detection tools like ArgoCD consider the source and reconciled resources to be identical.
4+
```

Diff for: .changelog/4244.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:improvement
2+
helm: Kubernetes v1.30 is now supported. Minimum tested version of Kubernetes is now v1.27.
3+
```

Diff for: .changelog/4247.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
api-gateway: fix nil pointer deref bug when the section name in a gateway policy is not specified
3+
```

Diff for: .changelog/4255.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
sync-catalog: Enable the user to purge the registered services by passing parent node and necessary filters.
3+
```

Diff for: .changelog/4256.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:improvement
2+
config-entry: add validate_clusters to mesh config entry
3+
```

Diff for: .changelog/4266.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
sync-catalog: fix infinite retry loop when the catalog fails to connect to consul-server during the sync process
3+
```

Diff for: .changelog/4277.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
control-plane: add missing `$HOST_IP` environment variable to consul-dataplane sidecar containers
3+
```

Diff for: .changelog/4287.txt

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
```release-note:enhancement
2+
docker: update go-discover binary
3+
```
4+
5+
```release-note:enhancement
6+
docker: update ubi base image to `ubi9-minimal:9.4`.
7+
```

Diff for: .changelog/4300.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
dns-proxy: add the ability to deploy a DNS proxy within the kubernetes cluster that forwards DNS requests to the consul server and can be configured with an ACL token and make partition aware DNS requests.
3+
```

Diff for: .changelog/4307.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:improvement
2+
connect-inject: remove unnecessary resource permissions from connect-inject ClusterRole
3+
```

Diff for: .changelog/4313.txt

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
```release-note:security
2+
Upgrade Go to use 1.22.7. This addresses CVE
3+
[CVE-2024-34155](https://nvd.nist.gov/vuln/detail/CVE-2024-34155)
4+
```

Diff for: .changelog/4315.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
helm: fix issue where the API Gateway GatewayClassConfig tolerations can not be parsed by the Helm chart.
3+
```

Diff for: .changelog/4316.txt

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
```release-note:bug
2+
api-gateway: `global.imagePullSecrets` are now configured on the `ServiceAccount` for `Gateways`.
3+
4+
Note: the referenced image pull Secret(s) must be present in the same namespace the `Gateway` is deployed to.
5+
```

Diff for: .changelog/4333.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:improvement
2+
helm: Exclude gke namespaces from being connect-injected when the connect-inject: default: true value is set.
3+
```

Diff for: .github/CODEOWNERS

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Helm Docs Review
2+
3+
/charts/consul/values.yaml @hashicorp/consul-docs

Diff for: .github/scripts/check_skip_ci.sh

-64
This file was deleted.

Diff for: .github/workflows/pr.yml

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ jobs:
4040
- check-name: acceptance-cni
4141
- check-name: acceptance-tproxy
4242
- check-name: Unit test helm templates
43+
- check-name: Unit test helm gen
4344
- check-name: Unit test enterprise control plane
4445
- check-name: Unit test control plane
4546
- check-name: Unit test cli

Diff for: .github/workflows/reusable-conditional-skip.yml

+51-6
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,58 @@ jobs:
1212
runs-on: ubuntu-latest
1313
name: Check whether to skip build and tests
1414
outputs:
15-
skip-ci: ${{ steps.check-changed-files.outputs.skip-ci }}
16-
env:
17-
SKIP_CHECK_BRANCH: ${{ github.head_ref || github.ref_name }}
15+
skip-ci: ${{ steps.maybe-skip-ci.outputs.skip-ci }}
1816
steps:
17+
# We only allow use of conditional skip in two scenarios:
18+
# 1. PRs
19+
# 2. Pushes (merges) to protected branches (`main`, `release/**`)
20+
#
21+
# The second scenario is the only place we can be sure that checking just the
22+
# latest change on the branch is sufficient. In PRs, we need to check _all_ commits.
23+
# The ability to do this is ultimately determined by the triggers of the calling
24+
# workflow, since `base_ref` (the target branch of a PR) is only available in
25+
# `pull_request` events, not `push`.
26+
- name: Error if conditional check is not allowed
27+
if: ${{ !github.base_ref && !github.ref_protected }}
28+
run: |
29+
echo "Conditional skip requires a PR event with 'base_ref' or 'push' to a protected branch."
30+
echo "github.base_ref: ${{ github.base_ref }}"
31+
echo "github.ref_protected: ${{ github.ref_protected }}"
32+
echo "github.ref_name: ${{ github.ref_name }}"
33+
echo "Check the triggers of the calling workflow to ensure that these requirements are met."
34+
exit 1
1935
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
2036
with:
2137
fetch-depth: 0
22-
- name: Check changed files
23-
id: check-changed-files
24-
run: ./.github/scripts/check_skip_ci.sh
38+
- name: Check for skippable file changes
39+
id: changed-files
40+
uses: tj-actions/changed-files@e9772d140489982e0e3704fea5ee93d536f1e275 # v45.0.1
41+
with:
42+
# This is a multi-line YAML string with one match pattern per line.
43+
# Do not use quotes around values, as it's not supported.
44+
# See https://github.com/tj-actions/changed-files/blob/main/README.md#inputs-%EF%B8%8F
45+
# for usage, options, and more details on match syntax.
46+
files: |
47+
.github/workflows/reusable-conditional-skip.yml
48+
LICENSE
49+
.copywrite.hcl
50+
.gitignore
51+
**.md
52+
assets/**
53+
.changelog/**
54+
- name: Print changed files
55+
env:
56+
SKIPPABLE_CHANGED_FILES: ${{ steps.changed-files.outputs.all_changed_files }}
57+
NON_SKIPPABLE_FILES: ${{ steps.changed-files.outputs.other_changed_files }}
58+
run: |
59+
echo "Skippable changed files:"
60+
for file in ${SKIPPABLE_CHANGED_FILES}; do echo " $file"; done
61+
echo
62+
echo "Non-skippable files:"
63+
for file in ${NON_SKIPPABLE_FILES}; do echo " $file"; done
64+
- name: Skip tests and build if only skippable files changed
65+
id: maybe-skip-ci
66+
if: ${{ steps.changed-files.outputs.only_changed == 'true' }}
67+
run: |
68+
echo "Skipping tests and build because only skippable files changed"
69+
echo "skip-ci=true" >> $GITHUB_OUTPUT

Diff for: .github/workflows/security-scan.yml

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# This job runs a non-blocking informational security scan on the repository.
2+
# For release-blocking security scans, see .release/security-scan.hcl.
13
name: Security Scan
24

35
on:
@@ -9,20 +11,21 @@ on:
911
branches:
1012
- main
1113
- release/**
14+
# paths-ignore only works for non-required checks.
15+
# Jobs that are required for merge must use reusable-conditional-skip.yml.
16+
paths-ignore:
17+
- 'assets/**'
18+
- '.changelog/**'
1219

1320
# cancel existing runs of the same workflow on the same ref
1421
concurrency:
1522
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
1623
cancel-in-progress: true
1724

1825
jobs:
19-
conditional-skip:
20-
uses: ./.github/workflows/reusable-conditional-skip.yml
2126

2227
get-go-version:
2328
# Cascades down to test jobs
24-
needs: [ conditional-skip ]
25-
if: needs.conditional-skip.outputs.skip-ci != 'true'
2629
uses: ./.github/workflows/reusable-get-go-version.yml
2730

2831
scan:
@@ -46,7 +49,7 @@ jobs:
4649
uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
4750
with:
4851
repository: hashicorp/security-scanner
49-
token: ${{ secrets.HASHIBOT_PRODSEC_GITHUB_TOKEN }}
52+
token: ${{ secrets.PRODSEC_SCANNER_READ_ONLY }}
5053
path: security-scanner
5154
ref: main
5255

Diff for: .github/workflows/weekly-acceptance-1-6-x.yml

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Dispatch to the consul-k8s-workflows with a weekly cron
2+
#
3+
# A separate file is needed for each release because the cron schedules are different for each release.
4+
name: weekly-acceptance-1-6-x
5+
on:
6+
schedule:
7+
# * is a special character in YAML so you have to quote this string
8+
# Run weekly on Friday at 3AM UTC/11PM EST/8PM PST
9+
- cron: '0 3 * * 6'
10+
11+
# these should be the only settings that you will ever need to change
12+
env:
13+
BRANCH: "release/1.6.x"
14+
CONTEXT: "weekly"
15+
16+
jobs:
17+
cloud:
18+
name: cloud
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: benc-uk/workflow-dispatch@25b02cc069be46d637e8fe2f1e8484008e9e9609 # v1.2.3
22+
name: cloud
23+
with:
24+
workflow: cloud.yml
25+
repo: hashicorp/consul-k8s-workflows
26+
ref: main
27+
token: ${{ secrets.ELEVATED_GITHUB_TOKEN }}
28+
inputs: '{ "context":"${{ env.CONTEXT }}", "repository":"${{ github.repository }}", "branch":"${{ env.BRANCH }}", "sha":"${{ github.sha }}", "token":"${{ secrets.ELEVATED_GITHUB_TOKEN }}" }'

Diff for: .gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ pkg/
1111
.vscode
1212
.bob/
1313
control-plane/cni/cni
14+
acceptance/tests/consul-dns/coredns-custom.yaml

Diff for: .go-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.22.5
1+
1.22.7

0 commit comments

Comments
 (0)