FastSchema on EKS – Install and Test
Deploy FastSchema via Argo CD on EKS and access it locally with port-forward. Uses SQLite with EBS-backed PVC. First-run setup token from pod logs.
FastSchema has no official Helm chart. This guide uses a community chart at k8sforge/fastschema-chart.
Note: This setup is for evaluation, not production-ready. For production, use external database (MySQL/PostgreSQL), configure auth providers, and follow security best practices.
1. Overview
What this guide does:
- Deploys FastSchema using the community Helm chart via an Argo CD Application
- Persists data with SQLite on EBS-backed PVC
- Uses port-forward for local access (no ingress required)
- Walks through first-run setup: token from pod logs, create admin account, verify storage
Prerequisites:
- kubectl configured for your EKS cluster
- Argo CD installed
2. Prerequisites
Before starting, ensure you have:
- kubectl configured for your EKS cluster
- Argo CD installed
3. Install FastSchema
Save the manifest below as fastschema-application.yaml and apply:
kubectl apply -f fastschema-application.yaml
Wait until the Application shows Synced in the Argo CD UI or CLI.
Manifest:
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: devops
namespace: argocd
spec:
clusterResourceWhitelist:
- group: "*"
kind: "*"
description: DevOps-managed applications
destinations:
- namespace: "*"
server: "*"
namespaceResourceWhitelist:
- group: "*"
kind: "*"
sourceRepos:
- "*"
---
apiVersion: v1
kind: Namespace
metadata:
name: fastschema
labels:
name: fastschema
owner: devops
---
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: fastschema
namespace: argocd
spec:
project: devops
source:
repoURL: https://k8sforge.github.io/fastschema-chart
chart: fastschema
targetRevision: 0.1.4
helm:
values: |
service:
type: ClusterIP
persistence:
enabled: true
size: 10Gi
storageClassName: ebs-sc
accessModes:
- ReadWriteOnce
appBaseUrl: "http://localhost:8000"
appDashUrl: "http://localhost:8000/dash"
resources:
limits:
cpu: 500m
memory: 512Mi
requests:
cpu: 100m
memory: 256Mi
destination:
server: https://kubernetes.default.svc
namespace: fastschema
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
Omit AppProject and Namespace if you already have them (e.g. via devops-apps ApplicationSet).
4. Test Access
Port-forward
kubectl port-forward svc/fastschema -n fastschema 8000:8000
Get setup token (first run)
kubectl logs -n fastschema -l app.kubernetes.io/name=fastschema --tail=30
Look for: Visit the following URL to setup the app: http://localhost:8000/dash/setup/?token=...
Setup and login
Open the URL from the logs. Complete setup to create admin account. Log in at http://localhost:8000/dash with the credentials you created.
5. Verify EBS Storage
kubectl exec -it -n fastschema deploy/fastschema -- sh
Inside the pod:
df -h /fastschema/data
ls -la /fastschema/data
echo "storage-test-$(date)" > /fastschema/data/storage-test.txt
cat /fastschema/data/storage-test.txt
Exit, then from your terminal:
kubectl delete pod -n fastschema -l app.kubernetes.io/name=fastschema
Wait for the new pod to be ready, exec in again and run:
cat /fastschema/data/storage-test.txt
If the file and content persist, the PVC is working.
6. Summary: Copy-Paste
# 1. Apply manifest
kubectl apply -f fastschema-application.yaml
# 2. Wait for sync (argocd app get fastschema)
# 3. Port-forward and get token
kubectl port-forward svc/fastschema -n fastschema 8000:8000 &
kubectl logs -n fastschema -l app.kubernetes.io/name=fastschema --tail=30
Open the setup URL from logs, create admin account, then log in at http://localhost:8000/dash.
7. Troubleshooting
Issue: No setup token in logs
Solution: Wait for pod to be ready. Token prints once on startup. If setup already done, use login at /dash with your credentials.
Issue: PVC stuck Pending
Solution: Ensure storageClassName: ebs-sc exists. Check EBS CSI driver is installed.
Issue: Service not found
Solution: kubectl get svc -n fastschema. Ensure app is synced.
8. References
- FastSchema: https://fastschema.com
- Configuration: https://fastschema.com/docs/configuration.html
- Chart: https://github.com/k8sforge/fastschema-chart
Top comments (0)