auth
무료Authentication and authorization patterns for Rossoctl services
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Debug failing Playwright demo steps - selectors, auth, timing, and alignment issues
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Troubleshoot and fix failing steps in Playwright demo walkthrough tests.
[demo] log lines — identify which step failedlocal_experiments/test-results/<test-dir>/test-failed-1.pngpython3 local_experiments/validate-alignment.py
Symptom: element not visible or timeout waiting for selector
Screenshot the page to see actual DOM:
cd rossoctl/ui-v2 && NODE_PATH=node_modules node -e "
const { chromium } = require('@playwright/test');
(async () => {
const b = await chromium.launch();
const p = await b.newPage({ ignoreHTTPSErrors: true });
await p.goto('TARGET_URL', { waitUntil: 'networkidle', timeout: 30000 });
await p.screenshot({ path: '/tmp/rossoctl/debug.png', fullPage: true });
const els = await p.evaluate(() =>
Array.from(document.querySelectorAll('a, button, [role=tab]')).map(e => ({
tag: e.tagName, text: e.textContent?.trim()?.substring(0, 50), href: e.href
}))
);
console.log(JSON.stringify(els, null, 2));
await b.close();
})();
"
Symptom: Validation shows Section [name] has no markStep() timestamp
Fix: The markStep() call is inside a conditional block that didn't execute. Move it outside:
// WRONG - inside conditional
if (await element.isVisible()) {
markStep('section_name');
await element.click();
}
// RIGHT - outside conditional
markStep('section_name');
if (await element.isVisible()) {
await element.click();
}
Symptom: Page redirects to Keycloak after clicking sidebar link
Fix: Use SPA sidebar clicks (client-side routing), not page.goto():
// WRONG - full reload loses Keycloak tokens
await page.goto(`${UI_URL}/agents`);
// RIGHT - SPA navigation preserves tokens
const link = page.locator('nav a').filter({ hasText: /^Agents$/ });
await demoClick(link.first(), 'Agents sidebar');
Symptom: MLflow shows login page or "User not allowed"
MLflow uses 2-stage auth:
/oidc/ui/auth — click SSO buttonAfter login, navigate to ${MLFLOW_URL}/#/experiments (hash routing).
Symptom: OpenShift login page shown
Kiali uses OpenShift OAuth — needs kubeadmin credentials (separate from Keycloak). Script auto-discovers from <kubeconfig-dir>/kubeadmin-password.
Symptom: Multiple voices playing simultaneously
Cause: Missing timestamps → audio segments placed at wrong positions
Fix: Ensure ALL markStep() calls fire unconditionally. Run validation:
python3 local_experiments/validate-alignment.py
Check for NO TIMESTAMP errors. Fix those first.
On invocation:
playwright-demos | <cluster> | ad-hoc | debug | | <issue description>playwright-demo — Main demo recording workflowrossoctl:ui-debug — Debug Rossoctl UI issuesk8s:health — Check platform health아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Authentication and authorization patterns for Rossoctl services
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create confidential OAuth2 clients in Keycloak for server-to-service authentication
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Configure OpenTelemetry Collector with OAuth2 authentication for trace export
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
CI pipeline monitoring, status checks, and PR validation workflows
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Monitor running CI jobs, wait for completion, create tasks for results
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.