Skip to content

docs(oidc): add self-signed certificates configuration guide#443

Merged
IvanHunters merged 3 commits intomainfrom
docs/oidc-self-signed-certificates
Mar 6, 2026
Merged

docs(oidc): add self-signed certificates configuration guide#443
IvanHunters merged 3 commits intomainfrom
docs/oidc-self-signed-certificates

Conversation

@IvanHunters
Copy link
Contributor

@IvanHunters IvanHunters commented Mar 6, 2026

Summary

  • Add documentation for configuring OIDC authentication with Keycloak when using self-signed certificates
  • Cover Talos machine configuration with certificate mounting and host entries
  • Include kubelogin setup instructions and troubleshooting section

Test plan

  • Verify documentation renders correctly in Hugo
  • Check all links work properly

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guides for configuring Kubernetes OIDC authentication with self-signed certificates, covering prerequisites, Talos control plane configuration, kubelogin setup, kubectl credential configuration, and troubleshooting steps.

@netlify
Copy link

netlify bot commented Mar 6, 2026

Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 11753cf
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/69aacb373916690008a2984a
😎 Deploy Preview https://deploy-preview-443--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 6, 2026

📝 Walkthrough

Walkthrough

Two new documentation files added covering OIDC configuration with self-signed certificates for Kubernetes, providing step-by-step guides for both v0 and v1 implementations including certificate retrieval, control plane configuration, and kubelogin setup.

Changes

Cohort / File(s) Summary
OIDC Self-Signed Certificates Documentation
content/en/docs/v0/operations/oidc/self-signed-certificates.md, content/en/docs/v1/operations/oidc/self-signed-certificates.md
New documentation guides for configuring Kubernetes OIDC with self-signed certificates, including certificate retrieval from Keycloak, Talos control plane node configuration with CA cert mounting, kubelogin installation and setup, kubectl credential configuration, and troubleshooting steps.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 Two guides we've crafted with care, ✨
For certificates signed without despair,
From Keycloak to kubectl's command,
OIDC flows now clearly planned! 🔐

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: adding documentation for OIDC self-signed certificate configuration, which matches the two new documentation files added to v0 and v1 directories.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docs/oidc-self-signed-certificates

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the Cozystack documentation by introducing a detailed guide for configuring OIDC authentication with self-signed certificates, a crucial feature for environments with custom CAs. Concurrently, it updates the core configuration documentation to introduce and explain the new Package-based configuration model for Cozystack v1.x, providing a clear transition path from the older ConfigMap approach and improving the overall clarity and structure of the configuration guides.

Highlights

  • OIDC Self-Signed Certificates Guide: Added a new documentation guide detailing how to configure OIDC authentication with Keycloak when using self-signed certificates.
  • Talos Configuration: Included instructions for configuring Talos machine nodes, covering certificate mounting and host entries for Keycloak.
  • Kubelogin Setup & Troubleshooting: Provided setup instructions for kubelogin and a dedicated troubleshooting section for OIDC authentication issues.
  • Package-based Configuration Update: Updated the Cozystack installation guide to reflect the new Package-based configuration model for v1.x.
  • ConfigMap Documentation Clarification: Modified the existing ConfigMap documentation to clearly state it applies to v0.x and linked to the new v1.x Package configuration.
  • New Package Configuration Guide: Introduced a comprehensive documentation guide for the Cozystack v1.x Package configuration, including migration steps from v0.x.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • content/en/docs/operations/oidc/self-signed-certificates.md
    • Added a new guide for configuring OIDC authentication with Keycloak using self-signed certificates.
    • Included steps for retrieving certificates, configuring Talos control plane nodes, and setting up kubelogin.
    • Provided troubleshooting tips for common OIDC issues.
  • content/en/docs/v1/getting-started/install-cozystack.md
    • Updated the installation guide to use the new Package resource instead of ConfigMap for Cozystack v1.x configuration.
    • Modified configuration examples and action points to align with the Package model.
  • content/en/docs/v1/operations/configuration/configmap.md
    • Renamed the title and link title to specify it's for "v0.x".
    • Added an alert box to clarify that this guide applies to v0.x and directed users to the new Package configuration for v1.x.
    • Updated the introductory text to reflect the v0.x context.
  • content/en/docs/v1/operations/configuration/package.md
    • Added a new comprehensive documentation page for Cozystack v1.x Package configuration.
    • Detailed key changes from v0.x, provided minimal and full configuration examples, and a complete configuration reference.
    • Included sections on runtime configuration changes, viewing current configuration, and migration steps from v0.x ConfigMap.
    • Added troubleshooting tips and related documentation links.
Activity
  • The author has outlined a test plan to verify that the documentation renders correctly in Hugo and that all links work properly.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

ohotnikov.ivan added 2 commits March 6, 2026 15:33
Add documentation for configuring OIDC authentication with Keycloak
when using self-signed certificates (default in Cozystack). Covers
Talos machine configuration, certificate mounting, and kubelogin setup.

Signed-off-by: ohotnikov.ivan <[email protected]>
…y approach

Address review feedback: use --certificate-authority flag as the default
approach instead of --insecure-skip-tls-verify, clarify that LetsEncrypt
is the default in Cozystack (not self-signed), and document insecure
skip as a temporary workaround only.

Signed-off-by: ohotnikov.ivan <[email protected]>
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a comprehensive guide for configuring OIDC with self-signed certificates and updates existing documentation to align with the new Package-based configuration model in Cozystack v1.x. The new documentation is well-structured and the updates are necessary. My review focuses on improving the clarity and robustness of the documentation to prevent potential user errors, particularly around the usage of kubectl patch which can have unintended consequences if not explained clearly.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment on lines +252 to +265
```bash
kubectl patch package cozystack.cozystack-platform -n cozy-system --type merge -p '{
"spec": {
"components": {
"platform": {
"values": {
"publishing": {
"exposedServices": ["api", "dashboard", "keycloak"]
}
}
}
}
}
}'
Copy link
Contributor

Choose a reason for hiding this comment

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

high

The section title "Add Keycloak to exposed services" is misleading. The provided kubectl patch command uses --type merge, which replaces the entire exposedServices array rather than adding to it. This could cause users to unintentionally remove other essential services like vm-exportproxy and cdi-uploadproxy. Please clarify that this is a replacement operation and advise users to include all services they want to expose in the command. A better title would be "Update Exposed Services".


```bash
# Save the certificate to a file (e.g., ~/.kube/oidc-ca.pem)
cat > ~/.kube/oidc-ca.pem <<EOF
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The command cat > ~/.kube/oidc-ca.pem will fail if the ~/.kube directory does not exist, which can happen on a new machine. To make the guide more robust for all users, it's best to ensure the directory is created before attempting to write a file into it. Please consider adding a mkdir -p ~/.kube command before this line.

joinCIDR: "100.64.0.0/16"
publishing:
host: "example.org"
apiServerEndpoint: "https://192.168.1.10:6443"
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The minimal configuration example uses an IP address for apiServerEndpoint. However, the installation guide (install-cozystack.md) and general best practices recommend using a fully-qualified domain name (FQDN). Using an FQDN here would improve consistency across the documentation and reduce potential user confusion.

Suggested change
apiServerEndpoint: "https://192.168.1.10:6443"
apiServerEndpoint: "https://api.example.org:6443"

Comment on lines +292 to +305
```bash
kubectl patch package cozystack.cozystack-platform -n cozy-system --type merge -p '{
"spec": {
"components": {
"platform": {
"values": {
"bundles": {
"disabledPackages": ["clickhouse"]
}
}
}
}
}
}'
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

Similar to the exposedServices patch, this command to disable a package replaces the entire disabledPackages array. If a user has already disabled other packages, running this command will re-enable them unless they are also included in the new list. Please clarify that this is a replacement operation and advise users to include all packages they wish to keep disabled in the command.

Comment on lines +318 to +320
```bash
kubectl get package cozystack.cozystack-platform -n cozy-system \
-o jsonpath='{.spec.components.platform.values}' | yq
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

This command relies on the yq utility to parse the YAML output. This tool is not standard on all systems and may not be installed. It would be helpful to add a note mentioning that yq is a prerequisite for this command and provide a link to its installation instructions to improve the user experience.

Move the guide from the unversioned docs/operations/oidc/ path
to both v0 and v1 versioned directories, matching the existing
OIDC documentation structure. Add aliases for old paths.

Co-Authored-By: Claude <[email protected]>
Signed-off-by: ohotnikov.ivan <[email protected]>
Copy link
Contributor

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
content/en/docs/v1/getting-started/install-cozystack.md (2)

608-621: ⚠️ Potential issue | 🟠 Major

The dashboard fallback still uses the removed ConfigMap flow.

This tutorial now defines service exposure via publishing.exposedServices, so the fallback here should patch the Package as well. As written, a user who omitted dashboard from the initial Package will be told to modify cm/cozystack, which no longer matches the v1.x install path.

Suggested doc fix
-If you left this line in the ConfigMap, Cozystack Dashboard must be already available at this moment:
+If your initial Package already includes `dashboard` in `publishing.exposedServices`, Cozystack Dashboard should already be available:

-```yaml
-data:
-  expose-services: "dashboard,api"
+```yaml
+spec:
+  components:
+    platform:
+      values:
+        publishing:
+          exposedServices:
+            - dashboard
+            - api

-If the initial configmap did not have this line, patch it with the following command:
+If the initial Package did not include dashboard, patch it with the following command:

-kubectl patch -n cozy-system cm cozystack --type=merge -p '{"data":{
-    "expose-services": "dashboard"
-    }}'
+kubectl patch package cozystack.cozystack-platform -n cozy-system --type=merge -p '{
+  "spec": {
+    "components": {
+      "platform": {
+        "values": {
+          "publishing": {
+            "exposedServices": ["dashboard"]
+          }
+        }
+      }
+    }
+  }
+}'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/en/docs/v1/getting-started/install-cozystack.md` around lines 608 -
621, The docs currently instruct patching the ConfigMap key
`data.expose-services` but v1 uses
`spec.components.platform.values.publishing.exposedServices`; update the YAML
example to show spec.components.platform.values.publishing.exposedServices:
["dashboard","api"] (replacing the ConfigMap fragment) and replace the kubectl
patch command to target the Package resource `cozystack.cozystack-platform` in
the `cozy-system` namespace, merging a payload that sets
spec.components.platform.values.publishing.exposedServices to include
"dashboard"; ensure the text change says "If the initial Package did not include
`dashboard`, patch it with the following command" and remove references to
`cm/cozystack`.

468-476: ⚠️ Potential issue | 🟠 Major

Use the Package as the source of truth for external IP exposure.

This section still patches the legacy cozystack ConfigMap and the generated ingress resource directly, but the rest of this guide has already moved to v1.x Package-based configuration. In v1.x, these instructions should update spec.components.platform.values.publishing.externalIPs on package/cozystack.cozystack-platform; otherwise the change can be ignored or reconciled away later.

Suggested doc direction
-First, patch the ConfigMap with IPs to expose:
+First, patch the Cozystack Package with the external IPs to expose:

 ```bash
-kubectl patch -n cozy-system configmap cozystack --type=merge -p '{
-  "data": {
-    "expose-external-ips": "192.168.100.11,192.168.100.12,192.168.100.13"
-  }
+kubectl patch package cozystack.cozystack-platform -n cozy-system --type=merge -p '{
+  "spec": {
+    "components": {
+      "platform": {
+        "values": {
+          "publishing": {
+            "externalIPs": [
+              "192.168.100.11",
+              "192.168.100.12",
+              "192.168.100.13"
+            ]
+          }
+        }
+      }
+    }
+  }
 }'

-Next, enable ingress for the root tenant:
+Next, enable ingress for the root tenant:
...
-Finally, add external IPs to the externalIPs list in the Ingress configuration:

-```bash
-kubectl patch -n tenant-root ingresses.apps.cozystack.io ingress --type=merge -p '{

  • "spec":{
  • "externalIPs": [
  •  "192.168.100.11",
    
  •  "192.168.100.12",
    
  •  "192.168.100.13"
    
  • ]
  • }
    -}'
    -```
    +The Package change above is the declarative source of truth, so there should be no extra manual patch against the generated ingress resource here.
</details>




Also applies to: 488-499

<details>
<summary>🤖 Prompt for AI Agents</summary>

Verify each finding against the current code and only fix it if needed.

In @content/en/docs/v1/getting-started/install-cozystack.md around lines 468 -
476, The docs currently patch the legacy ConfigMap named cozystack and then the
generated Ingress; instead update the Package resource package
cozystack.cozystack-platform by setting
spec.components.platform.values.publishing.externalIPs to the array of IPs
(replace the kubectl patch of ConfigMap cozystack), and remove the separate
manual patch step against the generated ingresses.apps.cozystack.io ingress
resource since the Package is the declarative source of truth.


</details>

</blockquote></details>

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

Outside diff comments:
In `@content/en/docs/v1/getting-started/install-cozystack.md`:
- Around line 608-621: The docs currently instruct patching the ConfigMap key
`data.expose-services` but v1 uses
`spec.components.platform.values.publishing.exposedServices`; update the YAML
example to show spec.components.platform.values.publishing.exposedServices:
["dashboard","api"] (replacing the ConfigMap fragment) and replace the kubectl
patch command to target the Package resource `cozystack.cozystack-platform` in
the `cozy-system` namespace, merging a payload that sets
spec.components.platform.values.publishing.exposedServices to include
"dashboard"; ensure the text change says "If the initial Package did not include
`dashboard`, patch it with the following command" and remove references to
`cm/cozystack`.
- Around line 468-476: The docs currently patch the legacy ConfigMap named
cozystack and then the generated Ingress; instead update the Package resource
package cozystack.cozystack-platform by setting
spec.components.platform.values.publishing.externalIPs to the array of IPs
(replace the kubectl patch of ConfigMap cozystack), and remove the separate
manual patch step against the generated ingresses.apps.cozystack.io ingress
resource since the Package is the declarative source of truth.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 6cd74601-1eea-421b-b594-7af357b90db0

📥 Commits

Reviewing files that changed from the base of the PR and between 4e210dd and a7a20e4.

📒 Files selected for processing (4)
  • content/en/docs/operations/oidc/self-signed-certificates.md
  • content/en/docs/v1/getting-started/install-cozystack.md
  • content/en/docs/v1/operations/configuration/configmap.md
  • content/en/docs/v1/operations/configuration/package.md

@IvanHunters IvanHunters force-pushed the docs/oidc-self-signed-certificates branch from a7a20e4 to 11753cf Compare March 6, 2026 12:40
Copy link
Contributor

@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: 2

🧹 Nitpick comments (1)
content/en/docs/v0/operations/oidc/self-signed-certificates.md (1)

1-6: Add aliases for backward compatibility.

The v0 documentation files typically include aliases to maintain backward compatibility. Based on sibling pages like enable_oidc.md and users_and_roles.md, this page should include aliases for /docs/v0/oidc/self-signed-certificates, /docs/operations/oidc/self-signed-certificates, and /docs/oidc/self-signed-certificates.

📝 Proposed fix to add aliases
 ---
 title: "Self-Signed Certificates"
 linkTitle: "Self-Signed Certificates"
 description: "How to configure OIDC with self-signed certificates"
 weight: 60
+aliases:
+  - /docs/v0/oidc/self-signed-certificates
+  - /docs/operations/oidc/self-signed-certificates
+  - /docs/oidc/self-signed-certificates
 ---
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/en/docs/v0/operations/oidc/self-signed-certificates.md` around lines
1 - 6, Add an "aliases" entry to the frontmatter of the Self-Signed Certificates
page so it remains backward-compatible; update the frontmatter block (near
title/linkTitle/description/weight) to include aliases for
"/docs/v0/oidc/self-signed-certificates",
"/docs/operations/oidc/self-signed-certificates", and
"/docs/oidc/self-signed-certificates" using the aliases key so the page resolves
from the older paths.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@content/en/docs/v0/operations/oidc/self-signed-certificates.md`:
- Line 113: Remove the unsupported "--exec-interactive-mode=IfAvailable" flag
from the kubelogin examples and explanations (specifically the kubectl config
set-credentials usage) so docs no longer suggest interactive mode; locate
occurrences of the flag string "--exec-interactive-mode" in the Markdown under
content/en/docs (including the example line shown) and delete them, and update
any surrounding text referring to interactive mode to state that interactive
mode is not supported for kubelogin.

In `@content/en/docs/v1/operations/oidc/self-signed-certificates.md`:
- Line 116: Remove the unsupported "--exec-interactive-mode=IfAvailable"
argument from the kubelogin usage example and any other occurrences in the doc;
update the kubectl config set-credentials examples that referenced kubelogin to
omit this flag entirely and add a brief note that interactive mode is not
supported for kubelogin so no --exec-interactive-mode option should be used.

---

Nitpick comments:
In `@content/en/docs/v0/operations/oidc/self-signed-certificates.md`:
- Around line 1-6: Add an "aliases" entry to the frontmatter of the Self-Signed
Certificates page so it remains backward-compatible; update the frontmatter
block (near title/linkTitle/description/weight) to include aliases for
"/docs/v0/oidc/self-signed-certificates",
"/docs/operations/oidc/self-signed-certificates", and
"/docs/oidc/self-signed-certificates" using the aliases key so the page resolves
from the older paths.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 12a75905-65dd-4950-8d16-bef3e85a0f7d

📥 Commits

Reviewing files that changed from the base of the PR and between a7a20e4 and 11753cf.

📒 Files selected for processing (2)
  • content/en/docs/v0/operations/oidc/self-signed-certificates.md
  • content/en/docs/v1/operations/oidc/self-signed-certificates.md

```bash
kubectl config set-credentials oidc \
--exec-api-version=client.authentication.k8s.io/v1 \
--exec-interactive-mode=IfAvailable \
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Remove unsupported --exec-interactive-mode flag.

The --exec-interactive-mode flag should be omitted entirely from kubelogin documentation as interactive mode is not supported. Based on learnings, when documenting kubelogin usage with kubectl config set-credentials, omit the --exec-interactive-mode option entirely. Do not include this flag in examples or explanations. If encountered in a doc, remove it and note that interactive mode is not supported. Apply this guideline to all Markdown docs under content to ensure consistent, accurate guidance.

🔧 Proposed fix to remove the flag
 kubectl config set-credentials oidc \
   --exec-api-version=client.authentication.k8s.io/v1 \
-  --exec-interactive-mode=IfAvailable \
   --exec-command=kubectl \
   --exec-arg=oidc-login \
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
--exec-interactive-mode=IfAvailable \
kubectl config set-credentials oidc \
--exec-api-version=client.authentication.k8s.io/v1 \
--exec-command=kubectl \
--exec-arg=oidc-login \
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/en/docs/v0/operations/oidc/self-signed-certificates.md` at line 113,
Remove the unsupported "--exec-interactive-mode=IfAvailable" flag from the
kubelogin examples and explanations (specifically the kubectl config
set-credentials usage) so docs no longer suggest interactive mode; locate
occurrences of the flag string "--exec-interactive-mode" in the Markdown under
content/en/docs (including the example line shown) and delete them, and update
any surrounding text referring to interactive mode to state that interactive
mode is not supported for kubelogin.

```bash
kubectl config set-credentials oidc \
--exec-api-version=client.authentication.k8s.io/v1 \
--exec-interactive-mode=IfAvailable \
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

Remove unsupported --exec-interactive-mode flag.

The --exec-interactive-mode flag should be omitted entirely from kubelogin documentation as interactive mode is not supported. Based on learnings, when documenting kubelogin usage with kubectl config set-credentials, omit the --exec-interactive-mode option entirely. Do not include this flag in examples or explanations. If encountered in a doc, remove it and note that interactive mode is not supported. Apply this guideline to all Markdown docs under content to ensure consistent, accurate guidance.

🔧 Proposed fix to remove the flag
 kubectl config set-credentials oidc \
   --exec-api-version=client.authentication.k8s.io/v1 \
-  --exec-interactive-mode=IfAvailable \
   --exec-command=kubectl \
   --exec-arg=oidc-login \
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
--exec-interactive-mode=IfAvailable \
kubectl config set-credentials oidc \
--exec-api-version=client.authentication.k8s.io/v1 \
--exec-command=kubectl \
--exec-arg=oidc-login \
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@content/en/docs/v1/operations/oidc/self-signed-certificates.md` at line 116,
Remove the unsupported "--exec-interactive-mode=IfAvailable" argument from the
kubelogin usage example and any other occurrences in the doc; update the kubectl
config set-credentials examples that referenced kubelogin to omit this flag
entirely and add a brief note that interactive mode is not supported for
kubelogin so no --exec-interactive-mode option should be used.

@IvanHunters IvanHunters merged commit 2d43914 into main Mar 6, 2026
6 checks passed
@IvanHunters IvanHunters deleted the docs/oidc-self-signed-certificates branch March 6, 2026 13:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants