Skip to content
cccskills
FreePublished on GitHub

local:full-test

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

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303 stars(GitHub 303 + cccskills 0)

Run score Not tested

See how to install

Files included (1)

  • SKILL.md7.3 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

auth

Free

Authentication and authorization patterns for Rossoctl services

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

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

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

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

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

Configure OpenTelemetry Collector with OAuth2 authentication for trace export

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

ci

Free

CI pipeline monitoring, status checks, and PR validation workflows

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

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

The English summary is being prepared. Showing the original description.

rossoctl/rossoctl303Updated Oct 25, 2026

See all skills by rossoctl

Report a problem with this skill