跳到正文
cccskills
免费在 GitHub 公开

local:testing

Test Rossoctl platform locally using Kind. Scripts for deploy, test, and access.

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl星标 303(GitHub 303 + cccskills 0)
集成工具DockerKubernetes

实测评分 未实测

查看安装方法

包含的文件(1)

  • SKILL.md4.7 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Local Testing Skill

This skill helps you test Rossoctl platform locally using Kind (Kubernetes in Docker).

Overview

The local-testing/ directory contains scripts that mirror the GitHub Actions CI workflow, allowing you to:

  • Deploy the full Rossoctl platform locally
  • Run E2E tests with Ollama LLM integration
  • Access the Rossoctl UI and services
  • Debug agent and tool deployments

Prerequisites

Ensure you have:

  • Docker Desktop/Rancher Desktop/Podman (12GB RAM, 4 cores minimum)
  • Kind, kubectl, helm installed
  • Python 3.11+ with uv
  • jq for JSON parsing

Available Scripts

1. Cleanup Cluster

Wipes the existing Kind cluster completely:

./local-testing/cleanup-cluster.sh

Use this when you want a fresh start or cluster is in a bad state.

2. Deploy Platform

Deploys the full Rossoctl platform (takes ~15-20 minutes):

./local-testing/deploy-platform.sh

This script:

  • Creates Kind cluster via bash installer
  • Deploys all platform components (Keycloak, PostgreSQL, Istio, SPIRE)
  • Installs Ollama and pulls qwen2.5:0.5b model
  • Deploys weather agent and tool

3. Run E2E Tests

Runs the E2E test suite:

./local-testing/run-e2e-tests.sh

Validates:

  • Platform deployment health
  • Agent conversation via A2A protocol
  • Ollama LLM integration
  • MCP tool invocation

4. Access UI

Shows access information and port-forward commands:

./local-testing/access-ui.sh

Then run the suggested command:

kubectl port-forward -n rossoctl-system svc/http-istio 8080:80

Visit: http://rossoctl-ui.localtest.me:8080

Typical Workflow

Full Redeploy and Test

# 1. Clean up existing cluster
./local-testing/cleanup-cluster.sh

# 2. Deploy platform (wait ~15-20 minutes)
./local-testing/deploy-platform.sh

# 3. Run E2E tests
./local-testing/run-e2e-tests.sh

# 4. Access UI
./local-testing/access-ui.sh

Quick Test Iteration

If platform is already deployed and you just want to rerun tests:

./local-testing/run-e2e-tests.sh

Development Cycle

  1. Make code changes
  2. Run ./local-testing/deploy-platform.sh to redeploy
  3. Run ./local-testing/run-e2e-tests.sh to validate
  4. Use ./local-testing/access-ui.sh to get UI access

Debugging Commands

View Logs

# Agent logs
kubectl logs -n team1 deployment/weather-service --tail=100 -f

# Tool logs
kubectl logs -n team1 deployment/weather-tool --tail=100 -f

# Platform operator
kubectl logs -n rossoctl-system deployment/rossoctl-platform-operator --tail=100 -f

Check Pod Status

# All pods
kubectl get pods -A

# Specific namespace
kubectl get all -n team1
kubectl get all -n rossoctl-system

View Events

# Recent events in team1 namespace
kubectl get events -n team1 --sort-by='.lastTimestamp' | tail -30

# All events
kubectl get events -A --sort-by='.lastTimestamp' | tail -50

Ollama Status

# Check if running
ps aux | grep ollama

# Check models
ollama list

# Test directly
curl http://localhost:11434/api/tags

Troubleshooting

Platform Not Ready

If deployment times out or components aren't ready:

# Check pod status
kubectl get pods -A

# Check recent events
kubectl get events -A --sort-by='.lastTimestamp' | tail -50

# Retry deployment
./local-testing/cleanup-cluster.sh
./local-testing/deploy-platform.sh

Test Failures

If E2E tests fail:

  1. Check agent logs: kubectl logs -n team1 deployment/weather-service --tail=100
  2. Check tool logs: kubectl logs -n team1 deployment/weather-tool --tail=100
  3. Verify Ollama is running: ps aux | grep ollama
  4. Check Ollama has model: ollama list | grep qwen2.5

UI Access Issues

If UI doesn't load:

  1. Verify pod is running: kubectl get pods -n rossoctl-system -l app=rossoctl-ui
  2. Check Istio gateway: kubectl get pods -n rossoctl-system -l app=http-istio
  3. Restart port-forward: kubectl port-forward -n rossoctl-system svc/http-istio 8080:80

Notes

  • These scripts are for local development only (not committed to repo)
  • Scripts are in .gitignore to avoid accidental commits
  • Deployment uses same installer as CI
  • Cluster name is rossoctl (matches CI workflow)
  • Secrets used are test values (not production)

Files Location

All scripts are in: local-testing/

  • cleanup-cluster.sh - Wipe cluster
  • deploy-platform.sh - Deploy platform
  • run-e2e-tests.sh - Run tests
  • access-ui.sh - Access information
  • README.md - Full documentation

Related Skills

  • local:full-test - Complete test workflows for Kind and HyperShift
  • kind:cluster - Create/destroy Kind clusters
  • rossoctl:deploy - Deploy platform

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

auth

免费

Authentication and authorization patterns for Rossoctl services

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

Create confidential OAuth2 clients in Keycloak for server-to-service authentication

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

Configure MLflow with mlflow-oidc-auth plugin for Keycloak OIDC authentication

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

Configure OpenTelemetry Collector with OAuth2 authentication for trace export

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

ci

免费

CI pipeline monitoring, status checks, and PR validation workflows

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

Monitor running CI jobs, wait for completion, create tasks for results

中文简介正在准备中。当前显示原文说明。

rossoctl/rossoctl3032026年10月25日 更新

查看 rossoctl 的全部技能

报告此技能的问题