Getting Started with CIRRUS
Deploy your research application on NCAR's cloud-native Kubernetes platform in four steps.
What Can CIRRUS Do For Your Science?
CIRRUS enables researchers to deploy scalable, production-ready applications without managing infrastructure, allowing you to focus on science instead of DevOps.
Interactive Data Visualization
Deploy Jupyter notebooks, Panel dashboards, or Bokeh applications that connect directly to NCAR's data and compute resources.
Example: Climate model output visualization with real-time updates
Automated Pipelines
Deploy GitHub Actions runner scale sets on CIRRUS with significantly more resources than GitHub's free runners, including GPU access for ML/AI workflows.
Example: Train models on GPUs or run high-memory data processing in your CI/CD
Collaborative Research Tools
Share web applications, APIs, or analysis platforms with your research team or the wider community.
Example: Custom data access portal for field campaign data
Scalable Computing
Run Dask clusters, distributed processing frameworks, or services that scale based on demand.
Example: Multi-node Dask cluster for parallel data analysis
Why Choose CIRRUS?
No Infrastructure Management
Focus on your research. CIRRUS eliminates tedious manual tasks like managing DNS and SSL certificates.
Complements Existing HPC
Host long-running services, web applications, and APIs. Read-only Glade access.
GitOps Workflows
Version-controlled, reproducible deployments using Argo CD and Helm.
Auto-Scaling
Applications scale automatically based on usage and resource needs.
Enterprise Features
Monitoring, logging, secret management, and high availability built-in.
Free for UCAR
No cloud bills. Available to UCAR employees and authorized collaborators.
Four Steps to Deploy Your Application
CIRRUS uses a GitOps workflow where your application is defined as code in a Git repository.
Containerize Your Application
Package your application as a Docker container. This makes it portable and ensures it runs consistently across environments.
Example Dockerfile for a Python Flask app:
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "app.py"]
Build and push your image to Harbor (CIRRUS container registry):
docker build -t hub.k8s.ucar.edu/your-project/your-app:v1.0 .
docker push hub.k8s.ucar.edu/your-project/your-app:v1.0
Detailed Containerization Guide
Create a Helm Chart
Define your application's Kubernetes resources using Helm, a package manager for Kubernetes. Helm charts describe what your app needs: containers, storage, networking, scaling rules, etc.
Basic Helm chart structure:
my-app/
├── Chart.yaml # Chart metadata
├── values.yaml # Configuration values
└── templates/
├── deployment.yaml # Your application pods
├── service.yaml # Network access
└── ingress.yaml # External URL (optional)
CIRRUS provides example templates to get you started:
Helm Chart DocumentationPush to Git Repository
Store your Helm chart in a Git repository (GitHub recommended). CIRRUS uses GitOps principles where your Git repository is the source of truth.
Repository structure:
your-repo/
├── src/ # Your application code
├── Dockerfile # Container definition
├── helm/ # Helm chart
│ ├── Chart.yaml
│ ├── values.yaml
│ └── templates/
└── .github/
└── workflows/ # CI/CD (optional)
Request Application Onboarding
Submit a request to the CIRRUS team with your application details. We'll review your Helm chart and deploy it to the platform.
Information to include in your request:
- Git Repository URL: Link to your repository with Helm chart
- GitHub Branch: Branch to deploy from (e.g., main, production)
- Helm Chart Folder: Path to Helm chart directory in your repo
- Application URL: Desired external URL (e.g., myapp.k8s.ucar.edu)
The CIRRUS team will:
- Review your Helm chart for best practices and security
- Set up Argo CD to automatically sync your app from Git
- Configure monitoring, logging, and alerting
- Provide your application URL and access information
Submit your request:
Additional Resources
Full Documentation
Comprehensive guides on deploying applications, managing secrets, and using platform services.
View DocsExample Applications
Ready-to-use Helm chart templates for common application patterns.
View ExamplesGet Help
Have questions? The CIRRUS team is here to help with deployment and troubleshooting.
Contact Us