Skip to main content

Developer Guides

This directory contains comprehensive development guides for working with Rossoctl on different environments.

Choose Your Environment

EnvironmentUse CaseGuide
KindLocal development, quick iteration, no cloud resourceskind.md
HyperShiftCreate OpenShift clusters on AWS, CI testing, cloud-native featureshypershift.md
OpenShiftStandard RHOCP clusters, persistent environmentsUnder construction - see Installation Guide
Claude CodeAI-assisted development with TDD, RCA, and debugging skillsclaude-code.md
Daily CommandsQuick reference for daily/weekly Claude Code skillsclaude-code-daily-commands.md

Quick Decision Tree

Do you have an OpenShift cluster?
├─ No → Use [Kind](./kind.md) (local Docker-based Kubernetes)

└─ Yes → Do you need to create the cluster?
├─ Yes → Use [HyperShift](./hypershift.md) (hosted control plane on AWS)
└─ No → See [Installation Guide](../install.md) (OpenShift dev guide under construction)

Environment Comparison

FeatureKindOpenShiftHyperShift
Entry Scriptkind-full-test.shopenshift-full-test.shhypershift-full-test.sh
SPIREVanillaZTWIM OperatorZTWIM Operator
Values Filedev_values.yamlocp_values.yamlocp_values.yaml
Cluster LifecyclePersistentPersistentCreate/Destroy
AWS RequiredNoNoYes
Min OCP VersionN/A4.19+4.19+

Common Setup (All Environments)

Credentials Setup

Before deploying to any environment, create the secrets file:

# Copy the template
cp charts/rossoctl/.secrets_template.yaml charts/rossoctl/.secrets.yaml

# Edit with your values
vi charts/rossoctl/.secrets.yaml

Required values in .secrets.yaml:

secrets:
# Required for agent LLM features (weather-service chat, etc.)
openaiApiKey: "sk-..."

# Required for private repos and Shipwright builds
githubUser: "your-username"
githubToken: "ghp_..."

# Optional: Slack integration
slackBotToken: "xoxb-..."
adminSlackBotToken: "xoxb-..."

Alternative: Environment Variables

Instead of editing the file, you can set environment variables:

export OPENAI_API_KEY="sk-..."
export GITHUB_USER="your-username"
export GITHUB_TOKEN_VALUE="ghp_..."

# Force regeneration from env vars
rm -f charts/rossoctl/.secrets.yaml

Documentation Structure

docs/developer/
├── README.md # This file - overview and environment selection
├── kind.md # Kind (local Kubernetes) development guide
├── hypershift.md # HyperShift (hosted OpenShift on AWS) development guide
├── claude-code.md # Claude Code skills for TDD, RCA, and debugging
└── claude-code-daily-commands.md # Daily/weekly skill quick reference