๐Ÿ“ฆ henrichter / k8splay

A platform for experimenting with fullstack applications using various technologies.

โ˜… 0 stars โ‘‚ 0 forks ๐Ÿ‘ 0 watching
๐Ÿ“ฅ Clone https://github.com/henrichter/k8splay.git
HTTPS git clone https://github.com/henrichter/k8splay.git
SSH git clone git@github.com:henrichter/k8splay.git
CLI gh repo clone henrichter/k8splay
h3nryc0ding h3nryc0ding feat: add warning for archiving 2213db7 9 months ago ๐Ÿ“ History
๐Ÿ“‚ main View all commits โ†’
๐Ÿ“ .devcontainer
๐Ÿ“ .github
๐Ÿ“ .k8s
๐Ÿ“ backend
๐Ÿ“ frontend
๐Ÿ“„ .gitignore
๐Ÿ“„ README.md
๐Ÿ“„ README.md

โš ๏ธ Archived โš ๏ธ

This repository is archived and no longer maintained. It was a playground for me to experiment with Kubernetes and its ecosystem.

The project will be rewritten to use fluxcd and bitnami helm charts as dependencies. The new repository will be

github.com/h3nryc0ding/livechat

Motivation

This repository is a playground for me to experiment with Kubernetes and its ecosystem. It is a full stack application with a Spring Boot backend, a SvelteKit frontend, and a Keycloak server for authentication.

Features

  • GraphQL API
  • SSO Authentication
  • SSL Encryption using Let's Encrypt and cert-manager
  • WebSocket based live chat

Backend

Deployed at api.k8splay.xyz

  • Reactive Spring Boot with WebFlux and Kotlin
  • Persistence with R2DBC and MongoDB
  • Authentication and Authorization using Keycloak and oAuth2
  • GraphiQL available at /graphiql

Frontend

Deployed at k8splay.xyz

  • SvelteKit
  • ShadCN and TailwindCSS for styling
  • Houdini GraphQL client for SSR
  • Authenticated routes
  • All pages support SSR with in-cluster backend requests

Keycloak

Deployed at accounts.k8splay.xyz

  • Optimized Docker image
  • Persistence with PostgreSQL
  • Custom theme

DevOps

Deployed at <PR>.test.k8splay.xyz. Please replace <PR> with the PR number, e.g. pr-1.test.k8splay.xyz. The API is deployed at api.<PR>.test.k8splay.xyz. The deployment is automatically deleted when the PR is closed.

Implemented using GitHub Actions:

  • Automated prod deployment
  • Automated test deployments on pull requests
  • Automated linting and testing