auth
무료Authentication and authorization patterns for Rossoctl services
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Deploy the weather agent and MCP tool demo via CLI (no UI required). Uses pre-built ghcr.io images, deploys to team1. Optimized for speed (~15s).
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
실행 점수 미검증
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Deploy the Weather Service agent and Weather Tool without the Rossoctl UI. Uses existing CI scripts and Kubernetes manifests for a fully CLI-driven workflow. Optimized for speed: pre-built images from ghcr.io, all commands in parallel, no waits.
scripts/kind/setup-rossoctl.sh or equivalent)kubectl configured and pointing at the target clusterllama3.2:3b-instruct-fp16 model, OR an OpenAI API keyDeploy/build commands produce large output. Use run_in_background: true on the Bash
tool to keep output out of context. Do NOT use shell redirects (> file 2>&1) as they
break permission matching.
Before running any commands, record the start time:
date +%s
Remember this value as the start timestamp. Do NOT redirect to a file.
flowchart TD
START(["/rossoctl:weather-demo"]) --> ALL["Step 1: Deploy all in parallel"]:::build
ALL --> PATCH["Step 2: Fix Ollama connectivity"]:::debug
PATCH --> DONE([Demo Running])
classDef build fill:#795548,stroke:#333,color:white
classDef debug fill:#FF9800,stroke:#333,color:white
Follow this diagram as the workflow. Do NOT add verification or testing steps beyond Step 2.
Both images are pre-built on ghcr.io/rossoctl/examples/. The namespace setup
is a no-op if team1 already exists. Launch all three as parallel Bash tool calls:
Bash call 1 — Setup team1 namespace:
./.github/scripts/operator/70-setup-team1-namespace.sh
Bash call 2 — Deploy weather-service agent:
./.github/scripts/operator/74-deploy-weather-agent.sh
Bash call 3 — Deploy weather-tool:
./.github/scripts/operator/72-deploy-weather-tool.sh
IMPORTANT: All three commands MUST be run as parallel Bash tool calls with
run_in_background: trueandtimeout: 600000(three separate Bash invocations in the same response). Then wait for all to complete using TaskOutput.
The deployment manifest defaults to LLM_API_BASE=http://dockerhost:11434/v1 which
does not resolve inside Kind. Patch directly with host.docker.internal:
kubectl patch deployment weather-service -n team1 --type=strategic -p '{"spec":{"template":{"spec":{"containers":[{"name":"agent","env":[{"name":"LLM_API_BASE","value":"http://host.docker.internal:11434/v1"},{"name":"LLM_MODEL","value":"llama3.2:3b-instruct-fp16"}]}]}}}}'
On Docker Desktop (macOS/Windows), use
host.docker.internal. On Podman, usehost.containers.internal. Do NOT wait for rollout — skipkubectl rollout statusto save time.
Then report elapsed time:
date +%s
Compute elapsed seconds by subtracting this value from the start timestamp recorded earlier. Report the difference in the completion message.
Report the elapsed time. Do NOT run any additional verification, pod checks, log checks, or end-to-end curl tests.
kubectl create secret generic openai-secret -n team1 \
--from-literal=apikey="<YOUR_OPENAI_API_KEY>"
kubectl set env deployment/weather-service -n team1 -c agent \
LLM_API_BASE="https://api.openai.com/v1" \
LLM_MODEL="gpt-4o-mini-2024-07-18"
kubectl patch deployment weather-service -n team1 --type=json -p='[
{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{
"name":"LLM_API_KEY",
"valueFrom":{"secretKeyRef":{"name":"openai-secret","key":"apikey"}}
}},
{"op":"add","path":"/spec/template/spec/containers/0/env/-","value":{
"name":"OPENAI_API_KEY",
"valueFrom":{"secretKeyRef":{"name":"openai-secret","key":"apikey"}}
}}
]'
Since both images are pulled from ghcr.io (no Shipwright builds), cleanup is just deleting the deployments and services:
kubectl delete deployment weather-service weather-tool -n team1 --ignore-not-found
kubectl delete svc weather-service weather-tool-mcp -n team1 --ignore-not-found
Or delete the entire namespace:
kubectl delete namespace team1
See Step 2: Fix Ollama Connectivity above.
| Container runtime | Hostname |
|---|---|
| Docker Desktop | host.docker.internal |
| Podman (macOS) | host.containers.internal |
| Kind default | dockerhost (usually doesn't resolve) |
kubectl get svc -n team1 | grep weather-tool
# Should show: weather-tool-mcp ClusterIP ... 8000/TCP
The default MCP_URL is http://weather-tool-mcp.team1.svc.cluster.local:8000/mcp.
rossoctl:agent - Create custom A2A agents from scratchrossoctl:operator - Deploy Rossoctl platform and demo agentsrossoctl:deploy - Deploy Kind clusterk8s:pods - Debug pod issuesk8s:logs - Query component logs아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
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
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.