An open API service indexing awesome lists of open source software.

https://github.com/okdp/okdp-sandbox


https://github.com/okdp/okdp-sandbox

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

[![ci](https://github.com/okdp/okdp-sandbox/actions/workflows/ci.yml/badge.svg)](https://github.com/okdp/okdp-sandbox/actions/workflows/ci.yml)
[![Release](https://img.shields.io/github/v/release/okdp/okdp-sandbox)](https://github.com/okdp/okdp-sandbox/releases/latest)
[![Kubernetes](https://img.shields.io/badge/kubernetes-1.28+-blue.svg)](https://kubernetes.io/)
[![Flux](https://img.shields.io/badge/flux-latest-purple.svg)](https://fluxcd.io/)

[![Kind](https://img.shields.io/badge/kind-latest-orange.svg)](https://kind.sigs.k8s.io/)
[![KuboCD](https://img.shields.io/badge/kubocd-v0.2.1-green.svg)](https://github.com/kubocd/kubocd)
[![License Apache2](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0)


# OKDP Sandbox

A complete sandbox environment for testing and evaluating OKDP (Open Kubernetes Data Platform) components.

## What is OKDP Sandbox?

OKDP Sandbox provides a ready-to-use data platform environment that includes:
- Identity management (Keycloak)
- Object storage (MinIO)
- Data processing (Spark History Server)
- Notebooking (JupyterHub)
- Data visualization (Apache Superset)
- Platform management (OKDP Server & UI)

## Prerequisites

### System Requirements

- **Minimum**: 16GB RAM and 4 CPUs
- **Docker/Podman allocation**: 8GB RAM and 2 CPUs minimum

### Software Dependencies

- [Docker](https://docs.docker.com/get-docker/)
- [Kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation)
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
- [Flux CLI](https://fluxcd.io/flux/installation/)

## Installation

### 1. Clone the Repository

**Shell:**
```bash
# Clone the repository
git clone https://github.com/okdp/okdp-sandbox.git
cd okdp-sandbox
```

**PowerShell:**
```powershell
# Clone the repository
git clone https://github.com/okdp/okdp-sandbox.git
cd okdp-sandbox
```

### 2. Create Kubernetes Cluster

**Shell:**
```bash
# Create cluster configuration
cat > /tmp/okdp-sandbox-config.yaml < okdp-sandbox-ca.crt
```

**PowerShell:**
```powershell
# Import okdp-sandbox-ca.crt into your system's or browser's certificate store
kubectl get secret default-issuer -n cert-manager -o jsonpath='{.data.ca\.crt}' | ForEach-Object { [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($_)) } | Out-File -FilePath "okdp-sandbox-ca.crt" -Encoding ASCII
```

**Option 2**: Ignore certificate warnings
- **First, connect to Keycloak** (https://keycloak.okdp.sandbox) and accept the self-signed certificate in your browser.
- This step is **mandatory** for all OKDP services (UI, MinIO, etc.) to communicate properly with Keycloak.

## Quick Start Guide

1. **Access OKDP UI**: https://okdp-ui.okdp.sandbox
2. **Login credentials**: Default authentication via Keycloak (login/password: adm/adm)

## Cleanup

**Shell:**
```bash
kind delete cluster --name okdp-sandbox
rm /tmp/okdp-sandbox-config.yaml
```

**PowerShell:**
```powershell
kind delete cluster --name okdp-sandbox
Remove-Item "$env:TEMP\okdp-sandbox-config.yaml" -Force
```

---

**Built for the OKDP Community** 🚀