This repository contains the essential Kubernetes (K8s) configuration and Helm chart manifests for deploying a foundational cluster infrastructure for AppifyHub's suite of services. This is a companion repository to AppifyHub's Terraform repository.
⚠️ This setup, unchanged, is not scalable enough for production workloads.
The guide is broken up over several charts, all of which are listed below. Each chart has its own README file with detailed instructions on how to install and use it.
Prerequisites:
- Set up a K8s cluster, for example using Appify Hub's minimal configuration from the Terraform repository – or create and host your own cluster any other way
- Install Helm 3 on your local machine (
helm
CLI) - Install the K8s command-line tool on your local machine (
kubectl
CLI)
It's also strongly recommended that you install k9s
for monitoring and managing your K8s cluster – it's an excellent tool that will make your life way easier.
Once you're connected to your K8s cluster, you can use the charts from this repository to install apps and services into it. If you're using AppifyHub's Terraform configuration, there's a connect
script located in this directory – you can use it to quickly configure your K8s context and make sure kubectl
works only with your desired cluster.
In order to get these local charts directly available in your Helm CLI, you can add this repository to your local Helm configuration:
# Add the AppifyHub Helm repository
helm repo add appifyhub https://charts.appifyhub.com
# Update the local Helm repository cache
helm repo update
To list all available charts in this repository, you can run:
# List all available charts in the AppifyHub Helm repository
helm search repo appifyhub
Here's a summary of which additional tools this repository offers:
- Ingress Controller and Load Balancer: A straightforward way to expose services to the Internet using Traefik
- PostgreSQL Cluster: A database cluster with a CloudNativePG operator
- Continuous Deployment: A GitOps-based continuous deployment setup using ArgoCD
- Vault - Secrets Manager: (not recommended) An advanced secrets manager for storing sensitive configuration data
- Echo Test: A simple HTTP Echo server for testing connectivity
- Persistence Test: A simple database server for testing persistence
- Secrets Test (using Doppler): A simple pod that helps verify Doppler and plain secrets injection
- AppifyHub's Monolith API: The API service from the AppifyHub Monolith repository
- The Agent's API: The service from The Agent repository