Skip to content
cccskills
FreePublished on GitHub

rossoctl:operator

Deploy and manage Rossoctl operator, agents, and tools on Kubernetes. Handles installer, CRDs, pipelines, and demo deployments.

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

rossoctl/rossoctl302 stars(GitHub 302 + cccskills 0)
Works withKubernetes

Run score Not tested

See how to install

Files included (1)

  • SKILL.md6.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Rossoctl Operator Skill

Deploy and manage Rossoctl operator, agents, and tools on Kubernetes clusters.

Context-Safe Execution (MANDATORY)

Deploy/build commands produce large output. Always redirect to files:

export LOG_DIR="${LOG_DIR:-${WORKSPACE_DIR:-/tmp}/rossoctl-deploy}"
mkdir -p "$LOG_DIR"

# Pattern: redirect build/deploy output
command > $LOG_DIR/<name>.log 2>&1; echo "EXIT:$?"
# On failure: Task(subagent_type='Explore') with Grep to find errors

When to Use

  • Deploying Rossoctl platform to a cluster
  • Building and deploying agents/tools
  • Running E2E tests
  • User asks "deploy rossoctl", "build agent", or "run e2e tests"

Quick Deploy (Kind)

# Deploy everything to Kind cluster
./.github/scripts/operator/30-run-installer.sh

# Wait for CRDs and apply pipeline template
./.github/scripts/operator/41-wait-crds.sh

Quick Deploy (OpenShift/HyperShift)

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

# Deploy with OCP values
./.github/scripts/operator/30-run-installer.sh --env ocp

# Wait for CRDs and apply pipeline template
./.github/scripts/operator/41-wait-crds.sh

Deploy Demo Agents

Full demo deployment workflow:

# 1. Setup team1 namespace (if not exists)
./.github/scripts/operator/70-setup-team1-namespace.sh

# 2. Build weather tool (Tekton pipeline)
./.github/scripts/operator/71-build-weather-tool.sh

# 3. Deploy weather tool
./.github/scripts/operator/72-deploy-weather-tool.sh

# 5. Deploy weather agent
./.github/scripts/operator/74-deploy-weather-agent.sh

Run E2E Tests

# Set agent URL (Kind)
export AGENT_URL="http://localhost:8000"
kubectl port-forward -n team1 svc/weather-service 8000:8000 &

# Set agent URL (OpenShift)
export AGENT_URL="https://$(oc get route -n team1 weather-service -o jsonpath='{.spec.host}')"

# Set config file
export ROSSOCTL_CONFIG_FILE=deployments/envs/dev_values.yaml  # Kind
export ROSSOCTL_CONFIG_FILE=deployments/envs/ocp_values.yaml  # OpenShift

# Run tests
./.github/scripts/operator/90-run-e2e-tests.sh

Script Reference

Core Deployment

ScriptDescription
30-run-installer.shRun platform installer
41-wait-crds.shWait for Rossoctl CRDs to be available

Namespace Setup

ScriptDescription
70-setup-team1-namespace.shSetup team1 namespace with required resources

Agent/Tool Deployment

ScriptDescription
71-build-weather-tool.shBuild weather tool via Tekton pipeline
72-deploy-weather-tool.shDeploy weather tool Component CR
74-deploy-weather-agent.shDeploy weather agent Component CR
75-deploy-weather-tool-shipwright.shAlternative: deploy with Shipwright

Testing

ScriptDescription
90-run-e2e-tests.shRun E2E test suite

Environment Variables

Installer

VariableDefaultDescription
--envdevEnvironment (dev, ocp, test)
KUBECONFIG~/.kube/configKubernetes config

E2E Tests

VariableDefaultDescription
AGENT_URLrequiredAgent endpoint URL
ROSSOCTL_CONFIG_FILErequiredValues file for config
PHOENIX_URL(optional)Phoenix observability URL

Installer Options

# View all options
./.github/scripts/operator/30-run-installer.sh --help

# Common options:
./.github/scripts/operator/30-run-installer.sh --env dev     # Kind/local
./.github/scripts/operator/30-run-installer.sh --env ocp     # OpenShift
./.github/scripts/operator/30-run-installer.sh --env test    # CI testing

Debugging

Check Operator Status

# Operator pods
kubectl get pods -n rossoctl-system -l app=rossoctl-operator

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

# CRDs
kubectl get crd | grep rossoctl

Check Agent/Tool Status

# All components
kubectl get components -A

# Shipwright builds
kubectl get builds -A
kubectl get buildruns -A

# Deployments
kubectl get deployments -n team1

Check Shipwright/Tekton Pipelines

# Pipeline runs
kubectl get pipelineruns -n team1

# Task runs
kubectl get taskruns -n team1

# Pipeline logs
tkn pipelinerun logs -n team1 <pipeline-run-name>

Check Routes/Ingress

# Kind (HTTPRoutes)
kubectl get httproutes -A

# OpenShift (Routes)
oc get routes -A

Troubleshooting

Installer Fails

# Check installer logs
# (Logs are output during run)

# Check namespace
kubectl get ns rossoctl-system

# Check pods
kubectl get pods -n rossoctl-system

CRDs Not Available

# Check CRD installation
kubectl get crd | grep rossoctl

# Re-run wait script
./.github/scripts/operator/41-wait-crds.sh

Build Fails

# Check Tekton pipeline run
kubectl get pipelineruns -n team1

# View pipeline logs
kubectl logs -n team1 -l tekton.dev/pipelineRun=<run-name>

# Check Tekton controller
kubectl logs -n tekton-pipelines deployment/tekton-pipelines-controller --tail=100

Agent Not Responding

# Check pod status
kubectl get pods -n team1 -l app=weather-service

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

# Check service
kubectl get svc -n team1 weather-service

# Test connectivity
kubectl port-forward -n team1 svc/weather-service 8000:8000
curl http://localhost:8000/.well-known/agent.json

Related Skills

  • kind:cluster: Manage Kind clusters
  • hypershift:cluster: Manage HyperShift clusters
  • k8s:pods: Debug pod issues
  • k8s:logs: Query logs

Related Documentation

  • deployments/README.md - Deployment guide
  • docs/getting-started/install.md - Installation guide
  • docs/components.md - Component details

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/rossoctl302Updated 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/rossoctl302Updated 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/rossoctl302Updated Oct 25, 2026

Configure OpenTelemetry Collector with OAuth2 authentication for trace export

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

rossoctl/rossoctl302Updated 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/rossoctl302Updated 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/rossoctl302Updated Oct 25, 2026

See all skills by rossoctl

Report a problem with this skill