Skip to content

NO-ISSUE: Add DNS' core-rbac-proxy args and template TLS Cipher Suites & Min Version#6368

Open
pmtk wants to merge 3 commits intoopenshift:mainfrom
pmtk:dns-pod-kube-rbac-proxy-fix-args
Open

NO-ISSUE: Add DNS' core-rbac-proxy args and template TLS Cipher Suites & Min Version#6368
pmtk wants to merge 3 commits intoopenshift:mainfrom
pmtk:dns-pod-kube-rbac-proxy-fix-args

Conversation

@pmtk
Copy link
Member

@pmtk pmtk commented Mar 17, 2026

No description provided.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 17, 2026
@openshift-ci-robot
Copy link

@pmtk: This pull request explicitly references no jira issue.

Details

In response to this:

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@coderabbitai
Copy link

coderabbitai bot commented Mar 17, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

This PR bumps nightly OpenShift release versions and many image SHA256 digests to 2026-03-17, adds TLSCipherSuites and TLSMinVersion to render parameters, centralizes kube-rbac-proxy TLS args in the DNS daemonset templating, and fixes hosts-related Helm templating for DNS.

Changes

Cohort / File(s) Summary
Version Files
Makefile.version.aarch64.var, Makefile.version.x86_64.var
Bumped OCP_VERSION nightly timestamps to 2026-03-17 for aarch64 and x86_64.
Multus Manifests
assets/components/multus/kustomization.aarch64.yaml, assets/components/multus/kustomization.x86_64.yaml, assets/components/multus/release-multus-aarch64.json, assets/components/multus/release-multus-x86_64.json
Updated multus-cni-microshift and containernetworking-plugins-microshift image digests.
OLM Manifests
assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml, assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml, assets/optional/operator-lifecycle-manager/release-olm-aarch64.json, assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
Replaced SHA256 digests for olm, operator-registry, and kube-rbac-proxy; updated corresponding env/patch image refs.
Release Catalogs
assets/release/release-aarch64.json, assets/release/release-x86_64.json
Updated base release tags to 2026-03-17 and refreshed multiple image digests (cli, coredns, haproxy-router, kube-rbac-proxy, ovn-kubernetes-microshift, pod, service-ca-operator, csi-snapshot-controller).
DNS DaemonSet / Helm patch
assets/components/openshift-dns/dns/daemonset.yaml, scripts/auto-rebase/manifests_patches/020-dns-daemonset.patch
Replaced hard-coded kube-rbac-proxy TLS args with a templated TLS args block (includes cipher suites and min version); fixed HostsEnabled conditional spacing and added conditional hosts volume and ConfigMap mount.
Render Logic
pkg/components/render.go
Added getTLSMinVersion helper and injected TLSCipherSuites and TLSMinVersion into render parameters for templates.
CRI-O Configs
packaging/crio.conf.d/10-microshift_amd64.conf, packaging/crio.conf.d/10-microshift_arm64.conf
Updated pause_image SHA256 digests for amd64 and arm64.
Go Module
etcd/go.mod
Adjusted github.com/openshift/api requirement and rebalanced indirect dependencies (otel/otlp and golang.org/x/* entries added/removed).
Automation / Rebase scripts
scripts/auto-rebase/commits.txt, scripts/auto-rebase/last_rebase.sh, scripts/auto-rebase/rebase.sh
Updated component commit SHAs and nightly tags to 2026-03-17; extended yq operations in rebase to set DNS container args to the full TLS args list and removed an extra comment match.
Other asset manifests
assets/... (various JSON/YAML files referenced above)
Multiple digest and base tag updates across asset manifests to align with new nightly images.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot requested review from jerpeter1 and jogeo March 17, 2026 15:46
@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 17, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@scripts/auto-rebase/rebase.sh`:
- Line 766: The arg entry in the yq invocation currently embeds quotes around
the TLS cipher placeholder; update the args array in the yq command that sets
containers[1].args (the line containing '--tls-cipher-suites=\"{{
.TLSCipherSuites }}\"') to use an unquoted placeholder '--tls-cipher-suites={{
.TLSCipherSuites }}' instead, and make the same change in the checked-in
manifest assets/components/openshift-dns/dns/daemonset.yaml (the daemonset args
line around the TLS cipher setting) so kube-rbac-proxy does not receive literal
quote characters.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 1434d150-12c0-499e-99e5-81f7e6fb4fac

📥 Commits

Reviewing files that changed from the base of the PR and between 4061c3a and fbcf67c.

⛔ Files ignored due to path filters (5)
  • etcd/go.sum is excluded by !**/*.sum
  • etcd/vendor/github.com/openshift/api/config/v1/types_apiserver.go is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**
  • etcd/vendor/modules.txt is excluded by !**/vendor/**
📒 Files selected for processing (21)
  • Makefile.version.aarch64.var
  • Makefile.version.x86_64.var
  • assets/components/multus/kustomization.aarch64.yaml
  • assets/components/multus/kustomization.x86_64.yaml
  • assets/components/multus/release-multus-aarch64.json
  • assets/components/multus/release-multus-x86_64.json
  • assets/components/openshift-dns/dns/daemonset.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
  • assets/release/release-aarch64.json
  • assets/release/release-x86_64.json
  • etcd/go.mod
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • pkg/components/render.go
  • scripts/auto-rebase/changelog.txt
  • scripts/auto-rebase/commits.txt
  • scripts/auto-rebase/last_rebase.sh
  • scripts/auto-rebase/rebase.sh

@pmtk pmtk force-pushed the dns-pod-kube-rbac-proxy-fix-args branch from fbcf67c to 5f80861 Compare March 17, 2026 15:55
@pmtk pmtk changed the title NO-ISSUE: Add DNS' core-rbac-proxy args and template TLS Cipher Suites NO-ISSUE: Add DNS' core-rbac-proxy args and template TLS Cipher Suites & Min Version Mar 17, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
scripts/auto-rebase/rebase.sh (1)

766-766: ⚠️ Potential issue | 🔴 Critical

Remove embedded quotes from templated TLS flag values.

At Line 766, --tls-cipher-suites=\"{{ .TLSCipherSuites }}\" and --tls-min-version=\"{{ .TLSMinVersion }}\" pass literal " characters in argv; kube-rbac-proxy may treat these as invalid flag values.

Proposed fix
-yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites=\"{{ .TLSCipherSuites }}\"", "--tls-min-version=\"{{ .TLSMinVersion }}\"", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml
+yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites={{ .TLSCipherSuites }}", "--tls-min-version={{ .TLSMinVersion }}", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml
-            - --tls-cipher-suites="{{ .TLSCipherSuites }}"
-            - --tls-min-version="{{ .TLSMinVersion }}"
+            - --tls-cipher-suites={{ .TLSCipherSuites }}
+            - --tls-min-version={{ .TLSMinVersion }}

As per coding guidelines, "-Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path

checks = {
    "scripts/auto-rebase/rebase.sh": [
        '--tls-cipher-suites=\\"{{ .TLSCipherSuites }}\\"',
        '--tls-min-version=\\"{{ .TLSMinVersion }}\\"',
    ],
    "assets/components/openshift-dns/dns/daemonset.yaml": [
        '--tls-cipher-suites="{{ .TLSCipherSuites }}"',
        '--tls-min-version="{{ .TLSMinVersion }}"',
    ],
}

bad = False
for path, needles in checks.items():
    text = Path(path).read_text()
    for needle in needles:
        if needle in text:
            print(f"BAD  {path}: found quoted TLS placeholder: {needle}")
            bad = True
        else:
            print(f"OK   {path}: not found {needle}")

if bad:
    raise SystemExit(1)
PY
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/auto-rebase/rebase.sh` at line 766, The yq command is inserting
literal quote characters into the kube-rbac-proxy argv for the container; update
the args array assignment in the yq invocation so the TLS placeholders are not
wrapped in embedded quotes—replace "--tls-cipher-suites=\"{{ .TLSCipherSuites
}}\"" and "--tls-min-version=\"{{ .TLSMinVersion }}\"" with unquoted flag values
like "--tls-cipher-suites={{ .TLSCipherSuites }}" and "--tls-min-version={{
.TLSMinVersion }}" (leave the rest of the args and the containers[1].args
assignment intact).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@scripts/auto-rebase/rebase.sh`:
- Line 766: The yq command is inserting literal quote characters into the
kube-rbac-proxy argv for the container; update the args array assignment in the
yq invocation so the TLS placeholders are not wrapped in embedded quotes—replace
"--tls-cipher-suites=\"{{ .TLSCipherSuites }}\"" and "--tls-min-version=\"{{
.TLSMinVersion }}\"" with unquoted flag values like "--tls-cipher-suites={{
.TLSCipherSuites }}" and "--tls-min-version={{ .TLSMinVersion }}" (leave the
rest of the args and the containers[1].args assignment intact).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: c3cb03e1-0cb9-4cbf-8b7a-970769dd21d5

📥 Commits

Reviewing files that changed from the base of the PR and between fbcf67c and 5f80861.

⛔ Files ignored due to path filters (5)
  • etcd/go.sum is excluded by !**/*.sum
  • etcd/vendor/github.com/openshift/api/config/v1/types_apiserver.go is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**
  • etcd/vendor/modules.txt is excluded by !**/vendor/**
📒 Files selected for processing (21)
  • Makefile.version.aarch64.var
  • Makefile.version.x86_64.var
  • assets/components/multus/kustomization.aarch64.yaml
  • assets/components/multus/kustomization.x86_64.yaml
  • assets/components/multus/release-multus-aarch64.json
  • assets/components/multus/release-multus-x86_64.json
  • assets/components/openshift-dns/dns/daemonset.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
  • assets/release/release-aarch64.json
  • assets/release/release-x86_64.json
  • etcd/go.mod
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • pkg/components/render.go
  • scripts/auto-rebase/changelog.txt
  • scripts/auto-rebase/commits.txt
  • scripts/auto-rebase/last_rebase.sh
  • scripts/auto-rebase/rebase.sh
🚧 Files skipped from review as they are similar to previous changes (11)
  • assets/components/multus/release-multus-x86_64.json
  • Makefile.version.aarch64.var
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • assets/release/release-aarch64.json
  • assets/components/multus/kustomization.x86_64.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/components/multus/kustomization.aarch64.yaml
  • pkg/components/render.go
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml

Copy link
Contributor

@pacevedom pacevedom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 17, 2026
@pmtk pmtk force-pushed the dns-pod-kube-rbac-proxy-fix-args branch from 5f80861 to 51bd19c Compare March 18, 2026 07:06
@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 18, 2026
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
scripts/auto-rebase/rebase.sh (1)

766-766: ⚠️ Potential issue | 🔴 Critical

Remove embedded quotes from TLS flag values (still unresolved).

On Line 766, the templated values are wrapped in quotes inside the arg strings. These quotes are passed literally to kube-rbac-proxy, which can break TLS flag parsing (tls-cipher-suites / tls-min-version). This also propagates to assets/components/openshift-dns/dns/daemonset.yaml (Line 86-87).

Proposed fix
diff --git a/scripts/auto-rebase/rebase.sh b/scripts/auto-rebase/rebase.sh
@@
-    yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites=\"{{ .TLSCipherSuites }}\"", "--tls-min-version=\"{{ .TLSMinVersion }}\"", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml
+    yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites={{ .TLSCipherSuites }}", "--tls-min-version={{ .TLSMinVersion }}", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml

diff --git a/assets/components/openshift-dns/dns/daemonset.yaml b/assets/components/openshift-dns/dns/daemonset.yaml
@@
-            - --tls-cipher-suites="{{ .TLSCipherSuites }}"
-            - --tls-min-version="{{ .TLSMinVersion }}"
+            - --tls-cipher-suites={{ .TLSCipherSuites }}
+            - --tls-min-version={{ .TLSMinVersion }}
#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path

checks = {
    "scripts/auto-rebase/rebase.sh": [
        '--tls-cipher-suites=\\"{{ .TLSCipherSuites }}\\"',
        '--tls-min-version=\\"{{ .TLSMinVersion }}\\"',
    ],
    "assets/components/openshift-dns/dns/daemonset.yaml": [
        '--tls-cipher-suites="{{ .TLSCipherSuites }}"',
        '--tls-min-version="{{ .TLSMinVersion }}"',
    ],
}

bad = []
for path, needles in checks.items():
    text = Path(path).read_text()
    for needle in needles:
        if needle in text:
            bad.append((path, needle))
            print(f"BAD  {path}: found {needle}")
        else:
            print(f"OK   {path}: {needle} not found")

if bad:
    raise SystemExit(1)
PY
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/auto-rebase/rebase.sh` at line 766, The yq command that sets
.spec.template.spec.containers[1].args includes embedded quoted templated values
for --tls-cipher-suites and --tls-min-version (the --tls-cipher-suites=\"{{
.TLSCipherSuites }}\" and --tls-min-version=\"{{ .TLSMinVersion }}\" strings);
remove the inner quotes so the args become --tls-cipher-suites={{
.TLSCipherSuites }} and --tls-min-version={{ .TLSMinVersion }} in the yq
invocation (the same change must be applied where these flags end up in the
daemonset.yaml) to avoid passing literal quotes to kube-rbac-proxy.
🧹 Nitpick comments (1)
assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml (1)

19-24: Consider reducing digest duplication in patch env values.

These values repeat digests already defined in images; using a single source during generation would reduce future drift risk.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml` around
lines 19 - 24, The patch is duplicating image digests in the env value for
OLM_IMAGE instead of referencing the canonical entry in the images section;
update the kustomization so the OLM_IMAGE env var is generated from (or
references) the single source of truth used in the images list (remove the
hard-coded digest under path /spec/template/spec/containers/0/env/- and set
OLM_IMAGE to use the image name/entry from images), ensuring the env variable
points to that image entry rather than repeating the sha256 string.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@scripts/auto-rebase/rebase.sh`:
- Line 766: The yq command that sets .spec.template.spec.containers[1].args
includes embedded quoted templated values for --tls-cipher-suites and
--tls-min-version (the --tls-cipher-suites=\"{{ .TLSCipherSuites }}\" and
--tls-min-version=\"{{ .TLSMinVersion }}\" strings); remove the inner quotes so
the args become --tls-cipher-suites={{ .TLSCipherSuites }} and
--tls-min-version={{ .TLSMinVersion }} in the yq invocation (the same change
must be applied where these flags end up in the daemonset.yaml) to avoid passing
literal quotes to kube-rbac-proxy.

---

Nitpick comments:
In `@assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml`:
- Around line 19-24: The patch is duplicating image digests in the env value for
OLM_IMAGE instead of referencing the canonical entry in the images section;
update the kustomization so the OLM_IMAGE env var is generated from (or
references) the single source of truth used in the images list (remove the
hard-coded digest under path /spec/template/spec/containers/0/env/- and set
OLM_IMAGE to use the image name/entry from images), ensuring the env variable
points to that image entry rather than repeating the sha256 string.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 9d00cb19-210f-4bbc-9444-e8a4de66f69e

📥 Commits

Reviewing files that changed from the base of the PR and between 5f80861 and 51bd19c.

⛔ Files ignored due to path filters (5)
  • etcd/go.sum is excluded by !**/*.sum
  • etcd/vendor/github.com/openshift/api/config/v1/types_apiserver.go is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**
  • etcd/vendor/modules.txt is excluded by !**/vendor/**
📒 Files selected for processing (22)
  • Makefile.version.aarch64.var
  • Makefile.version.x86_64.var
  • assets/components/multus/kustomization.aarch64.yaml
  • assets/components/multus/kustomization.x86_64.yaml
  • assets/components/multus/release-multus-aarch64.json
  • assets/components/multus/release-multus-x86_64.json
  • assets/components/openshift-dns/dns/daemonset.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
  • assets/release/release-aarch64.json
  • assets/release/release-x86_64.json
  • etcd/go.mod
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • pkg/components/render.go
  • scripts/auto-rebase/changelog.txt
  • scripts/auto-rebase/commits.txt
  • scripts/auto-rebase/last_rebase.sh
  • scripts/auto-rebase/manifests_patches/020-dns-daemonset.patch
  • scripts/auto-rebase/rebase.sh
🚧 Files skipped from review as they are similar to previous changes (11)
  • assets/components/multus/kustomization.x86_64.yaml
  • Makefile.version.aarch64.var
  • pkg/components/render.go
  • assets/components/multus/release-multus-aarch64.json
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml
  • assets/release/release-aarch64.json
  • assets/components/multus/kustomization.aarch64.yaml
  • Makefile.version.x86_64.var
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • packaging/crio.conf.d/10-microshift_amd64.conf

@pmtk pmtk force-pushed the dns-pod-kube-rbac-proxy-fix-args branch from 51bd19c to bfcedff Compare March 18, 2026 07:47
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
scripts/auto-rebase/rebase.sh (1)

766-766: ⚠️ Potential issue | 🟠 Major

Drop embedded quotes in TLS placeholder args.

kube-rbac-proxy gets args verbatim; these escaped quotes produce literal " around templated TLS values, which can break flag parsing or enforce unintended TLS settings.

Proposed fix
-    yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites=\"{{ .TLSCipherSuites }}\"", "--tls-min-version=\"{{ .TLSMinVersion }}\"", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml
+    yq -i '.spec.template.spec.containers[1].args = ["--logtostderr", "--secure-listen-address=:9154", "--tls-cipher-suites={{ .TLSCipherSuites }}", "--tls-min-version={{ .TLSMinVersion }}", "--upstream=http://127.0.0.1:9153/", "--tls-cert-file=/etc/tls/private/tls.crt", "--tls-private-key-file=/etc/tls/private/tls.key"]' "${REPOROOT}"/assets/components/openshift-dns/dns/daemonset.yaml

Verification (should fail now, pass after fix in both files):

#!/bin/bash
set -euo pipefail

python3 - <<'PY'
from pathlib import Path

checks = {
    "scripts/auto-rebase/rebase.sh": [
        '--tls-cipher-suites=\\"{{ .TLSCipherSuites }}\\"',
        '--tls-min-version=\\"{{ .TLSMinVersion }}\\"',
    ],
    "assets/components/openshift-dns/dns/daemonset.yaml": [
        '--tls-cipher-suites="{{ .TLSCipherSuites }}"',
        '--tls-min-version="{{ .TLSMinVersion }}"',
    ],
}

bad = False
for path, needles in checks.items():
    text = Path(path).read_text()
    for needle in needles:
        if needle in text:
            print(f"BAD  {path}: found quoted placeholder -> {needle}")
            bad = True
        else:
            print(f"OK   {path}: not found -> {needle}")

if bad:
    raise SystemExit(1)
PY

As per coding guidelines, "Focus on major issues impacting performance, readability, maintainability and security. Avoid nitpicks and avoid verbosity."

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@scripts/auto-rebase/rebase.sh` at line 766, The kube-rbac-proxy args include
escaped/embedded quotes around templated TLS placeholders which cause literal
quotes to be passed; update the yq args invocation that currently sets
"--tls-cipher-suites=\"{{ .TLSCipherSuites }}\"" and "--tls-min-version=\"{{
.TLSMinVersion }}\"" to remove the embedded quotes (use --tls-cipher-suites={{
.TLSCipherSuites }} and --tls-min-version={{ .TLSMinVersion }}), and make the
matching change in the daemonset YAML so the args are --tls-cipher-suites="{{
.TLSCipherSuites }}" and --tls-min-version="{{ .TLSMinVersion }}" without extra
escaping, ensuring the final rendered flags do not contain literal " characters.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@scripts/auto-rebase/rebase.sh`:
- Line 766: The kube-rbac-proxy args include escaped/embedded quotes around
templated TLS placeholders which cause literal quotes to be passed; update the
yq args invocation that currently sets "--tls-cipher-suites=\"{{
.TLSCipherSuites }}\"" and "--tls-min-version=\"{{ .TLSMinVersion }}\"" to
remove the embedded quotes (use --tls-cipher-suites={{ .TLSCipherSuites }} and
--tls-min-version={{ .TLSMinVersion }}), and make the matching change in the
daemonset YAML so the args are --tls-cipher-suites="{{ .TLSCipherSuites }}" and
--tls-min-version="{{ .TLSMinVersion }}" without extra escaping, ensuring the
final rendered flags do not contain literal " characters.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: ed641a11-c8df-47b8-ab69-c9f5c3801c7b

📥 Commits

Reviewing files that changed from the base of the PR and between 51bd19c and bfcedff.

⛔ Files ignored due to path filters (5)
  • etcd/go.sum is excluded by !**/*.sum
  • etcd/vendor/github.com/openshift/api/config/v1/types_apiserver.go is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml is excluded by !**/vendor/**
  • etcd/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go is excluded by !**/vendor/**
  • etcd/vendor/modules.txt is excluded by !**/vendor/**
📒 Files selected for processing (22)
  • Makefile.version.aarch64.var
  • Makefile.version.x86_64.var
  • assets/components/multus/kustomization.aarch64.yaml
  • assets/components/multus/kustomization.x86_64.yaml
  • assets/components/multus/release-multus-aarch64.json
  • assets/components/multus/release-multus-x86_64.json
  • assets/components/openshift-dns/dns/daemonset.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.aarch64.yaml
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • assets/optional/operator-lifecycle-manager/release-olm-aarch64.json
  • assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
  • assets/release/release-aarch64.json
  • assets/release/release-x86_64.json
  • etcd/go.mod
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • packaging/crio.conf.d/10-microshift_arm64.conf
  • pkg/components/render.go
  • scripts/auto-rebase/changelog.txt
  • scripts/auto-rebase/commits.txt
  • scripts/auto-rebase/last_rebase.sh
  • scripts/auto-rebase/manifests_patches/020-dns-daemonset.patch
  • scripts/auto-rebase/rebase.sh
🚧 Files skipped from review as they are similar to previous changes (11)
  • packaging/crio.conf.d/10-microshift_amd64.conf
  • pkg/components/render.go
  • assets/components/multus/release-multus-x86_64.json
  • assets/components/multus/kustomization.aarch64.yaml
  • assets/components/multus/release-multus-aarch64.json
  • scripts/auto-rebase/last_rebase.sh
  • assets/components/openshift-dns/dns/daemonset.yaml
  • assets/optional/operator-lifecycle-manager/release-olm-x86_64.json
  • assets/optional/operator-lifecycle-manager/kustomization.x86_64.yaml
  • scripts/auto-rebase/manifests_patches/020-dns-daemonset.patch
  • Makefile.version.aarch64.var

Copy link
Contributor

@pacevedom pacevedom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 18, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: pacevedom, pmtk

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@pacevedom
Copy link
Contributor

/test test-rebase

@openshift-ci openshift-ci bot removed the lgtm Indicates that a PR is ready to be merged. label Mar 18, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

New changes are detected. LGTM label has been removed.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@assets/components/openshift-dns/dns/daemonset.yaml`:
- Around line 83-90: The --tls-cipher-suites argument is currently quoted
(`--tls-cipher-suites="{{ .TLSCipherSuites }}"`) which embeds literal double
quotes into the value passed to kube-rbac-proxy; remove the embedded quotes so
the arg reads `--tls-cipher-suites={{ .TLSCipherSuites }}` to pass the cipher
names raw. Locate the args block (the list containing --secure-listen-address,
--tls-min-version, etc.) and update the `--tls-cipher-suites` entry accordingly;
no other changes to surrounding args are needed.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Pro

Run ID: 662e6115-442c-46cd-a895-45b6971acb47

📥 Commits

Reviewing files that changed from the base of the PR and between bfcedff and 3f0d198.

📒 Files selected for processing (2)
  • assets/components/openshift-dns/dns/daemonset.yaml
  • scripts/auto-rebase/rebase.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/auto-rebase/rebase.sh

@pmtk pmtk force-pushed the dns-pod-kube-rbac-proxy-fix-args branch from 3f0d198 to 6d4927a Compare March 18, 2026 09:21
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 18, 2026

@pmtk: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/test-rebase 6d4927a link false /test test-rebase

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants