本文へ移動
cccskills
無料GitHub で公開

local:full-test

Run full end-to-end test workflows for Rossoctl. Supports Kind and HyperShift clusters with automated setup and testing.

日本語の概要は準備中です。原文の説明を表示しています。

rossoctl/rossoctlスター 303(GitHub 303 + cccskills 0)
連携ツールAWSDockerKubernetes

実行スコア 未検証

インストール方法を見る

含まれるファイル(1)

  • SKILL.md7.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Local Full Test Skill

Run complete end-to-end test workflows that create clusters, deploy Rossoctl, and run tests.

When to Use

  • Running full CI-like workflow locally
  • Testing before submitting PR
  • Validating changes on real clusters
  • User asks "run full test", "test everything", or "validate deployment"

Quick Start

Kind (Local Docker)

# Full test with Kind cluster
./.github/scripts/local-setup/kind-full-test.sh

OpenShift (Standard RHOCP)

# Login to any OpenShift cluster
oc login https://api.your-cluster.example.com:6443 -u kubeadmin -p <password>

# Full test (no AWS/.env needed)
./.github/scripts/local-setup/openshift-full-test.sh

# Show help
./.github/scripts/local-setup/openshift-full-test.sh --help

HyperShift (AWS OpenShift)

# Setup first (one-time)
./.github/scripts/hypershift/preflight-check.sh
./.github/scripts/hypershift/setup-hypershift-ci-credentials.sh
./.github/scripts/hypershift/local-setup.sh

# Full test with HyperShift cluster (keeps cluster after)
source .env.rossoctl-hypershift-custom
./.github/scripts/local-setup/hypershift-full-test.sh --skip-cluster-destroy

# With custom suffix
./.github/scripts/local-setup/hypershift-full-test.sh pr123 --skip-cluster-destroy

# Include cleanup after test
./.github/scripts/local-setup/hypershift-full-test.sh --include-cluster-destroy

# Show help
./.github/scripts/local-setup/hypershift-full-test.sh --help

Kind Full Test Workflow

The kind-full-test.sh script runs:

  1. Cleanup - Remove existing cluster (optional)
  2. Create Cluster - Create Kind cluster
  3. Deploy Platform - Deploy Rossoctl platform
  4. Deploy Agents - Build and deploy demo agents
  5. Run E2E Tests - Execute test suite
  6. Show Access - Display UI access information

Options

# Keep cluster after test (default)
./.github/scripts/local-setup/kind-full-test.sh

# Destroy cluster after test
./.github/scripts/local-setup/kind-full-test.sh --include-cluster-destroy

# Skip specific phases
SKIP_DEPLOY=true ./.github/scripts/local-setup/kind-full-test.sh
SKIP_TESTS=true ./.github/scripts/local-setup/kind-full-test.sh

HyperShift Full Test Workflow

The hypershift-full-test.sh script runs:

  1. Create Cluster - Create HyperShift cluster on AWS (~15 min)
  2. Deploy Platform - Deploy Rossoctl platform
  3. Wait for CRDs - Wait for Rossoctl CRDs
  4. Apply Pipelines - Apply Tekton pipeline templates
  5. Build Tools - Build weather tool via Tekton
  6. Deploy Agents - Deploy weather agent and tool
  7. Run E2E Tests - Execute test suite
  8. Cleanup (optional) - Destroy cluster

Options

# With custom cluster suffix
./.github/scripts/local-setup/hypershift-full-test.sh pr529

# Keep cluster (default with --skip-cluster-destroy)
./.github/scripts/local-setup/hypershift-full-test.sh --skip-cluster-destroy

# Destroy cluster after test
./.github/scripts/local-setup/hypershift-full-test.sh --include-cluster-destroy

Manual Step-by-Step

Kind Workflow

# 1. Create cluster
./.github/scripts/kind/create-cluster.sh

# 2. Deploy platform
./.github/scripts/kind/deploy-platform.sh

# 3. Run E2E tests
./.github/scripts/kind/run-e2e-tests.sh

# 4. Access UI
./.github/scripts/kind/access-ui.sh

HyperShift Workflow

# 1. Create cluster
./.github/scripts/hypershift/create-cluster.sh

# 2. Set kubeconfig
export KUBECONFIG=~/clusters/hcp/<cluster-name>/auth/kubeconfig

# 3. Deploy platform
./.github/scripts/operator/30-run-installer.sh --env ocp
./.github/scripts/operator/41-wait-crds.sh

# 4. Deploy agents
./.github/scripts/operator/71-build-weather-tool.sh
./.github/scripts/operator/72-deploy-weather-tool.sh
./.github/scripts/operator/74-deploy-weather-agent.sh

# 5. Run E2E tests
export AGENT_URL="https://$(oc get route -n team1 weather-service -o jsonpath='{.spec.host}')"
export ROSSOCTL_CONFIG_FILE=deployments/envs/ocp_values.yaml
./.github/scripts/operator/90-run-e2e-tests.sh

# 6. Cleanup (when done)
./.github/scripts/hypershift/destroy-cluster.sh <suffix>

Show Services

# Show all deployed services and access URLs
./.github/scripts/local-setup/show-services.sh

Output includes:

  • Rossoctl UI URL
  • Keycloak URL
  • Phoenix URL
  • Kiali URL
  • Agent endpoints
  • Port-forward commands

Deploy Rossoctl Operator Only

For testing just the operator:

./.github/scripts/local-setup/deploy-rossoctl-operator.sh

Environment Variables

VariableDescription
SKIP_DEPLOYSkip platform deployment
SKIP_TESTSSkip E2E tests
SKIP_OLLAMASkip Ollama installation (Kind)
SKIP_LLAMASkip Ollama in HyperShift tests
CLUSTER_NAMECustom cluster name
KUBECONFIGKubernetes config file (management cluster for HyperShift)
HOSTED_KUBECONFIGHosted cluster kubeconfig (for running middle phases only)

HyperShift: Dual Kubeconfig

HyperShift workflows use two separate kubeconfigs:

KubeconfigPurposeLocation
Management clusterCreate/destroy hosted clustersSet via KUBECONFIG in .env.rossoctl-hypershift-custom
Hosted clusterDeploy Rossoctl, run tests~/clusters/hcp/<cluster-name>/auth/kubeconfig

The script automatically switches between them at phase boundaries.

Simplified Usage (Middle Phases Only)

When only running install/agents/test (skipping create/destroy), you can set just HOSTED_KUBECONFIG:

# No need to source .env - just set the hosted cluster kubeconfig
export HOSTED_KUBECONFIG=~/clusters/hcp/rossoctl-hypershift-custom-ladas/auth/kubeconfig
./.github/scripts/local-setup/hypershift-full-test.sh --skip-cluster-create --skip-cluster-destroy

Prerequisites

Kind

  • Docker Desktop/Rancher Desktop (12GB RAM, 4 cores)
  • Kind, kubectl, helm
  • Python 3.11+ with uv

HyperShift

  • AWS CLI with admin credentials
  • OpenShift CLI (oc)
  • HyperShift credentials configured

Debugging Failed Tests

Check Pod Status

# All namespaces
kubectl get pods -A | grep -v Running

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

View Logs

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

# Operator logs
kubectl logs -n rossoctl-system -l app=rossoctl-operator --tail=100

Check Events

kubectl get events -A --sort-by='.lastTimestamp' | tail -30

Retry Tests

# Just rerun tests (don't redeploy)
./.github/scripts/kind/run-e2e-tests.sh

# Or for HyperShift
./.github/scripts/operator/90-run-e2e-tests.sh

Comparison: Kind vs HyperShift

AspectKindHyperShift
Setup time~15 min~25 min
CostFreeAWS costs
PlatformDockerAWS
Use caseDev, quick testsReal OCP testing
CleanupInstant~5 min
ResourcesLocal machineAWS EC2

Related Skills

  • kind:cluster: Manage Kind clusters
  • hypershift:cluster: Manage HyperShift clusters
  • rossoctl:operator: Deploy Rossoctl operator
  • local:testing: Detailed local testing guide

Related Documentation

  • .github/scripts/local-setup/README.md - Local setup documentation

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。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 のスキルをすべて見る

このスキルの問題を報告する