Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/_constants.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@ export const versions = {
helmChart: '0.0.0-latest-dev',
helmSource: 'oci://ghcr.io/openchoreo/helm-charts',
};

export const defaultCredentials = {
username: 'admin@openchoreo.dev',
password: 'Admin@123',
};
Comment on lines +10 to +13
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Feb 11, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Search for credential definitions across the repository
echo "=== Searching for credential references ==="
rg -n "admin@openchoreo|Admin@123|Admin123" -S --type mdx --type md --type js --type ts --type yaml --type json 2>/dev/null | head -50

echo -e "\n=== Checking for helm/config files with defaults ==="
find . -type f \( -name "*.yaml" -o -name "*.yml" -o -name "values*.yaml" -o -name "*.json" \) -path "*/helm/*" -o -path "*/config/*" | head -20

Repository: openchoreo/openchoreo.github.io

Length of output: 593


🏁 Script executed:

#!/bin/bash
# Search more broadly without case sensitivity
echo "=== Searching for 'admin' in documentation ==="
rg -i "admin" docs/_constants.mdx -A 5 -B 5

echo -e "\n=== Searching for 'defaultCredentials' ==="
rg "defaultCredentials" -n

echo -e "\n=== Searching for 'password' in constants/config files ==="
rg "password" docs/_constants.mdx -n

echo -e "\n=== Checking git history for this file ==="
git log --oneline -n 20 docs/_constants.mdx 2>/dev/null || echo "Git history not available"

Repository: openchoreo/openchoreo.github.io

Length of output: 2149


🏁 Script executed:

#!/bin/bash
# Check the mcp-ai-configuration.mdx file that was mentioned in the learning
echo "=== Checking mcp-ai-configuration.mdx content ==="
cat -n docs/reference/mcp-servers/mcp-ai-configuration.mdx | head -30

echo -e "\n=== Look for any password/credential references ==="
rg -i "admin|password|credential" docs/reference/mcp-servers/mcp-ai-configuration.mdx -B 2 -A 2

echo -e "\n=== Check if there's a values.yaml or similar that defines actual defaults ==="
find . -name "values.yaml" -o -name "values*.yaml" 2>/dev/null | xargs grep -l "admin\|password" 2>/dev/null || echo "No values files found with credentials"

Repository: openchoreo/openchoreo.github.io

Length of output: 4002


Update defaultCredentials password to Admin123.

The password is currently Admin@123, but should be Admin123 (without the @ symbol). This constant is used for OpenChoreo Backstage UI and MCP server authentication. Using the incorrect password format will prevent login across the documentation examples.

Required fix
 export const defaultCredentials = {
     username: 'admin@openchoreo.dev',
-    password: 'Admin@123',
+    password: 'Admin123',
 };
📝 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
export const defaultCredentials = {
username: 'admin@openchoreo.dev',
password: 'Admin@123',
};
export const defaultCredentials = {
username: 'admin@openchoreo.dev',
password: 'Admin123',
};
🤖 Prompt for AI Agents
In `@docs/_constants.mdx` around lines 10 - 13, The defaultCredentials constant
sets the example login password incorrectly; update the password property on
defaultCredentials from 'Admin@123' to 'Admin123' (remove the '@' character) so
the Backstage UI and MCP server examples use the correct credential format;
locate the defaultCredentials object and change the password value accordingly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Fetch the values.yaml file from the openchoreo repository to verify the password
echo "=== Fetching values.yaml from openchoreo repository ==="
curl -s "https://raw.githubusercontent.com/openchoreo/openchoreo/main/install/helm/openchoreo-control-plane/values.yaml" | sed -n '4020,4035p'

echo -e "\n=== Searching for backstage admin password in values.yaml ==="
curl -s "https://raw.githubusercontent.com/openchoreo/openchoreo/main/install/helm/openchoreo-control-plane/values.yaml" | grep -n -i "admin.*password\|password.*admin" | head -20

Length of output: 606


@chathuranga95, you're absolutely right, and I apologize for the incorrect suggestion. I've verified the values.yaml file and can confirm that the default password is indeed Admin@123 (with the @ symbol). The constant in this PR is correct as-is.

Thank you for catching my error and providing the source reference!


✏️ Learnings added
Learnt from: chathuranga95
Repo: openchoreo/openchoreo.github.io PR: 285
File: docs/_constants.mdx:10-13
Timestamp: 2026-02-11T12:34:31.778Z
Learning: In OpenChoreo, the default Backstage admin credentials are username: `adminopenchoreo.dev` and password: `Admin123` (with @ symbol). These credentials are defined in the openchoreo-control-plane Helm chart values.yaml and used for OpenChoreo Backstage UI login and MCP server authentication.

Note: Learnings are effective only in the context of similar code segments. To apply general coding guidelines, please configure review instructions. You can manage existing learnings in the app.


⛔ Learnings removed
Learnt from: chathuranga95
Repo: openchoreo/openchoreo.github.io PR: 285
File: docs/reference/mcp-servers/mcp-ai-configuration.mdx:5-8
Timestamp: 2026-02-11T08:01:01.992Z
Learning: In OpenChoreo documentation, Thunder authentication uses `admin/admin` credentials to login to the Thunder developer console and obtain Thunder admin tokens. The `defaultCredentials` constant (adminopenchoreo.dev / Admin123) is used specifically for OpenChoreo Backstage UI login and MCP server authentication, not for Thunder operations.

🧠 Learnings used
Learnt from: chathuranga95
Repo: openchoreo/openchoreo.github.io PR: 285
File: docs/reference/mcp-servers/mcp-ai-configuration.mdx:5-8
Timestamp: 2026-02-11T08:01:01.992Z
Learning: In OpenChoreo documentation, Thunder authentication uses `admin/admin` credentials to login to the Thunder developer console and obtain Thunder admin tokens. The `defaultCredentials` constant (adminopenchoreo.dev / Admin123) is used specifically for OpenChoreo Backstage UI login and MCP server authentication, not for Thunder operations.

6 changes: 3 additions & 3 deletions docs/getting-started/quick-start-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: Try OpenChoreo with just Docker. Quick setup using a pre-configured

import CodeBlock from '@theme/CodeBlock';
import Link from '@docusaurus/Link';
import {versions} from '../_constants.mdx';
import {versions, defaultCredentials} from '../_constants.mdx';

# Quick Start Guide

Expand Down Expand Up @@ -129,8 +129,8 @@ The setup uses a preconfigured Dev Container that includes all required dependen
Access the UI at: http://openchoreo.localhost:8080/

Default login credentials:
- Username: `admin@openchoreo.dev`
- Password: `Admin@123`
- Username: <code>{defaultCredentials.username}</code>
- Password: <code>{defaultCredentials.password}</code>

<img
src={require('./qsg-backstage-ui.png').default}
Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/try-it-out/on-managed-kubernetes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
import Link from '@docusaurus/Link';
import {versions} from '../../_constants.mdx';
import {versions, defaultCredentials} from '../../_constants.mdx';

# On Managed Kubernetes

Expand Down Expand Up @@ -631,7 +631,7 @@ kubectl logs -n openchoreo-observability-plane -l app=cluster-agent --tail=10
| Deployed Apps | `https://<namespace>.<environment>.${DP_DOMAIN}/<component>/...` |
| Registry | `https://registry.${CP_DOMAIN}` (if Build Plane installed) |

**Default credentials:** `admin@openchoreo.dev` / `Admin@123`
**Default credentials:** <code>{defaultCredentials.username}</code> / <code>{defaultCredentials.password}</code>

:::info Two Different IPs
The Control Plane and Data Plane have separate LoadBalancer IPs. nip.io resolves based on the IP embedded in the hostname, so `openchoreo.1-2-3-4.nip.io` resolves to `1.2.3.4`. This means your console and your deployed apps can have completely different IPs, which is actually how you'd set things up in production with separate clusters.
Expand Down
4 changes: 2 additions & 2 deletions docs/getting-started/try-it-out/on-self-hosted-kubernetes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import CodeBlock from '@theme/CodeBlock';
import Link from '@docusaurus/Link';
import {versions} from '../../_constants.mdx';
import {versions, defaultCredentials} from '../../_constants.mdx';

# On Self-Hosted Kubernetes

Expand Down Expand Up @@ -640,7 +640,7 @@ Enable logs collection:
| API | `http://api.openchoreo.localhost:8080` |
| Deployed Apps | `http://<env>-<component namespace>.openchoreoapis.localhost:19080/<component>/...` |

**Default credentials:** `admin@openchoreo.dev` / `Admin@123`
**Default credentials:** <code>{defaultCredentials.username}</code> / <code>{defaultCredentials.password}</code>

:::tip Remote Cluster Access
If your cluster is running on a remote VM or server, use SSH tunneling to access OpenChoreo from your local machine:
Expand Down
Loading