paasta-playground

Test PaaSTA code changes against a local Kind Kubernetes cluster playground environment.

1.7k|251|Updated Oct 26, 2015
One-click install
npx skills add https://github.com/Yelp/paasta --skill paasta-playground
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: paasta-playground
Source: https://github.com/Yelp/paasta/tree/main/.claude/skills/paasta-playground
Command: npx skills add https://github.com/Yelp/paasta --skill paasta-playground

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Unit tests with mocks cannot catch issues in PaaSTA deployment logic, CLI commands, and API behavior that only appear against real Kubernetes pods. This Skill bridges the gap between unit tests and production by running PaaSTA against a local Kind cluster.

Core Features & Use Cases

  • End-to-end CLI testing: Run status, mark-for-deployment, wait-for-deployment, and other PaaSTA CLI commands against real pods in a Kind cluster.
  • Deployment lifecycle simulation: Manually trigger setup_kubernetes_job, cleanup_kubernetes_jobs, and generate_deployments_for_service to observe each production deploy stage in isolation.
  • Flink workload support: Deploy the flink-operator, register CRDs, and run real Flink/Streamhouse SQL jobs with AWS credential injection.
  • Use Case: After modifying mark-for-deployment logic, deploy a new version to the playground, run the CLI with --wait-for-deployment, and verify the bounce_status polling loop behaves correctly against actual ReplicaSets.

Quick Start

Run the playground-status.sh script to check what is set up, then ask the assistant to deploy the test service and run paasta status against the local Kind cluster.

Frequently Asked Questions about paasta-playground

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test PaaSTA CLI commands locally against Kubernetes?

Use the PaaSTA playground, which runs against a local Kind cluster. Set PAASTA_SYSTEM_CONFIG_DIR to etc_paasta_playground and KUBECONFIG to k8s_itests/kubeconfig, then invoke commands via python -m paasta_tools.cli.cli with the -d flag pointing to soa_config_playground.

How do I set up the PaaSTA playground Kind cluster?

Run make dev to build the tox virtualenv, then make k8s_fake_cluster to create the Kind cluster (requires interactive browser auth for registry credentials). Then run make generate_deployments_for_service and make setup-kubernetes-job to deploy workloads.

Why are playground pods stuck in ImagePullBackOff?

Registry credentials in the Kind cluster have expired because they rotate periodically. Re-run k8s_itests/scripts/set-paasta-registry-credentials.sh with your cluster name; the script is idempotent and requires interactive browser authentication.

Can I run Flink jobs in the PaaSTA playground?

Yes, run make setup-flink to deploy the flink-operator, register the Flink CRD, apply RBAC, and create Flink custom resources. Streamhouse SQL jobs additionally need app_type set to streamhouse and injected AWS credentials.

Why did my manual edits to deployments.json get overwritten?

The make setup-kubernetes-job target depends on generate_deployments_for_service, which regenerates deployments.json from git tags. Run setup_kubernetes_job directly via python -m paasta_tools.setup_kubernetes_job to preserve manual edits.

Which PaaSTA CLI commands do not work in the playground?

Commands relying on production infrastructure fail: logs (needs scribereader), rollback/start/stop/restart (need remote git tags), mesh-status (needs SmartStack/Envoy), and list-deploy-queue (deployd endpoint removed).