https://github.com/morningstarxcdcode/k3sultrastarter
K3sUltraStarter is a lightweight Kubernetes setup project featuring a sample React frontend and FastAPI backend. It provides easy deployment, management, and validation of a full-stack app on Kubernetes, streamlining development and testing workflows.
https://github.com/morningstarxcdcode/k3sultrastarter
css html javascript physics shell typrescript
Last synced: 9 months ago
JSON representation
K3sUltraStarter is a lightweight Kubernetes setup project featuring a sample React frontend and FastAPI backend. It provides easy deployment, management, and validation of a full-stack app on Kubernetes, streamlining development and testing workflows.
- Host: GitHub
- URL: https://github.com/morningstarxcdcode/k3sultrastarter
- Owner: morningstarxcdcode
- Created: 2025-05-22T09:55:21.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-06-29T03:59:38.000Z (9 months ago)
- Last Synced: 2025-06-29T04:34:03.364Z (9 months ago)
- Topics: css, html, javascript, physics, shell, typrescript
- Language: TypeScript
- Homepage:
- Size: 830 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# K3sUltraStarter
K3sUltraStarter is a lightweight Kubernetes starter project designed to help developers quickly set up a Kubernetes environment with a sample full-stack application. It includes a React frontend and a FastAPI backend, along with Kubernetes manifests and deployment scripts to streamline your development and deployment workflow.
## Why Use K3sUltraStarter?
- **Quick Kubernetes Setup:** Get a minimal yet functional Kubernetes environment up and running fast.
- **Full-Stack Sample App:** Explore a practical example with a React frontend and FastAPI backend.
- **Deployment Ready:** Includes Kubernetes manifests, Helm charts, and deployment scripts.
- **Extensible:** Easily customize and extend the sample app and Kubernetes setup to fit your needs.
- **Learning Resource:** Great for developers new to Kubernetes, React, or FastAPI to learn by example.
## Features
- React frontend with modern tooling and testing setup.
- FastAPI backend with REST API endpoints and integration tests.
- Kubernetes manifests for ingress, storage, deployment, and services.
- CI/CD workflow configured with GitHub Actions.
- Installation and uninstall scripts for easy environment management.
## Getting Started
### Prerequisites
- Docker
- Kubernetes cluster (e.g., k3s, minikube, or any cloud provider)
- kubectl CLI configured to access your cluster
- Node.js and npm/yarn for frontend development
- Python 3.8+ for backend development
### Installation
1. Clone the repository:
```bash
git clone https://github.com/morningstarxcdcode/K3sUltraStarter.git
cd K3sUltraStarter
```
2. Deploy Kubernetes manifests:
```bash
kubectl apply -f K3sUltraStarter/k8s-manifests/
```
3. Build and run the backend:
```bash
cd K3sUltraStarter/sample-app/backend
pip install -r requirements.txt
uvicorn main:app --reload
```
4. Build and run the frontend:
```bash
cd ../frontend
npm install
npm run dev
```
### Running Tests
- Backend tests:
```bash
cd K3sUltraStarter/sample-app/backend
pytest
```
- Frontend tests:
```bash
cd K3sUltraStarter/sample-app/frontend
npm test
```
## Project Structure
```
.
├── K3sUltraStarter/ # Main project directory
│ ├── k8s-manifests/ # Kubernetes manifests for deployment
│ ├── sample-app/
│ │ ├── backend/ # FastAPI backend source and tests
│ │ └── frontend/ # React frontend source and tests
│ ├── docs/ # Project documentation
│ ├── install-scripts/ # Scripts to install/uninstall environment
│ ├── tests/ # Additional test scripts
│ ├── .github/ # GitHub workflows and CI/CD
│ ├── course/ # Course materials
│ ├── landing-page/ # Landing page files
│ ├── Makefile # Build and deployment helper commands
│ └── README.md # Project documentation README
├── cli/ # CLI scripts
├── public/ # Public assets
├── src/ # Source code for frontend app
├── README.md # This file
├── package.json # Frontend package manifest
├── package-lock.json # Frontend package lock
├── tsconfig.json # TypeScript config
└── vite.config.ts # Vite config file
```
└── vite.config.ts # Vite config file
## Contributing
Contributions are welcome! Please open issues or submit pull requests for improvements or bug fixes.
## License
This project is licensed under the MIT License.
---
For detailed documentation, visit the [docs folder](K3sUltraStarter/docs/README.md).
Happy Kubernetes journey!