This Kubernetes playground is currently undergoing significant upgrades and will not be available for a few weeks as I rewrite the deployment pipeline using FluxCD.
Please check back later for updates! Thank you for your understanding! 🙏
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.
- GraphQL API
- SSO Authentication
- SSL Encryption using Let's Encrypt and cert-manager
- WebSocket based live chat
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
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
Deployed at accounts.k8splay.xyz
- Optimized Docker image
- Persistence with PostgreSQL
- Custom theme
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