Helm Chart for DreamFactory 7.x
Get Started Guide ∙ Try Online ∙ Contribute ∙ Community Support ∙ Docs
cd ~/repos (or wherever you want the clone of the repo to be)
git clone https://github.com/dreamfactorysoftware/df-helm.git
cd df-helm
Update the MySQL root password value to a secure password
helm install dreamfactory .
kubectl get pods
You can expect to see 2 DreamFactory pods, 1 MySQL pod for system config storage, and 1 Redis pod for caching.
kubectl port-forward svc/dreamfactory-dreamfactory 8080:80
Go to 127.0.0.1:8080 in your browser. It will take some time upon building, but you will be asked to create your first admin user.
To access DreamFactory through an ingress controller, update the ingress section in your values.yaml:
dreamfactory:
ingress:
enabled: true
ingressClass: nginx # or your preferred ingress controller
annotations:
# Add any required annotations for your ingress controller
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod # if using cert-manager
hosts:
- your-domain.example.com
tls: trueThen apply the configuration (if dreamfactory has already been installed):
helm upgrade dreamfactory . -f values.yamlExample configurations for common use cases:
dreamfactory:
ingress:
enabled: true
ingressClass: nginx
hosts:
- df.example.com
tls: false
pathType: Prefixdreamfactory:
ingress:
enabled: true
ingressClass: nginx
annotations:
cert-manager.io/cluster-issuer: letsencrypt-issuer-name
hosts:
- df.example.com
tls: true
pathType: PrefixAWS ALB Setup (AWS Load Balancer Controller needs to be installed) ( Instructions Here)
dreamfactory:
ingress:
enabled: true
ingressClass: alb
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/ssl-redirect: '443'
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
alb.ingress.kubernetes.io/certificate-arn: '' #Certificate needs to exist in AWS Certificate Manager, ALB does not work with letsencrypt
# ALB also does auto discovery which should be supported out of the box with the ingress definition based on the documentation found at https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/cert_discovery/
hosts:
- df.example.com
tls: false
pathType: Prefixdreamfactory:
ingress:
enabled: true
ingressClass: contour
annotations:
ingress.kubernetes.io/force-ssl-redirect: "true"
projectcontour.io/max-connections: "1024"
projectcontour.io/response-timeout: 30s
projectcontour.io/websocket-routes: /
hosts:
- df.example.com
tls: true
pathType: Prefix (could be ImplementationSpecific depends on your setup)dreamfactory:
ingress:
enabled: true
ingressClass: gce
annotations:
kubernetes.io/ingress.global-static-ip-name: "dreamfactory-ip" # Optional: if you want a static IP
# Still need frontend config for SSL redirect
networking.gke.io/v1beta1.FrontendConfig: "dreamfactory-ssl-redirect"
networking.gke.io/managed-certificates: "dreamfactory-cert"
hosts:
- df.example.com
tls: false
pathType: Prefixdreamfactory:
ingress:
enabled: true
ingressClass: gce
annotations:
kubernetes.io/ingress.global-static-ip-name: "dreamfactory-ip" # Optional: if you want a static IP
# Still need frontend config for SSL redirect
networking.gke.io/v1beta1.FrontendConfig: "dreamfactory-ssl-redirect"
cert-manager.io/cluster-issuer: letsencrypt-issuer-name
hosts:
- df.example.com
tls: true
pathType: PrefixAfter applying the configuration:
- Wait for the ingress to be created:
kubectl get ingress - Ensure your DNS is configured to point to the ingress controller's address
- Access DreamFactory at the configured host (e.g., https://df.example.com)
Note: TLS configuration requires either cert-manager installed in your cluster or manually created TLS secrets.
After you have spun up your DreamFactory instance, take the APP_KEY value from the .env file in /opt/dreamfactory. This can be done with the following command:
kubectl exec -it <pod-name> -- env | grep APP_KEY
helm uninstall dreamfactory
This will stop and uninstall all DreamFactory pods.
Learn more about DreamFactory's many features by reading our Getting Started Guide. Additional platform documentation can be found on the DreamFactory wiki.
In need of official technical support? Desire access to REST API generators for SQL Server, Oracle, SOAP, or mobile push notifications? Require API limiting and/or auditing? Schedule a demo with our team!
Feedback is welcome on our forum or in the form of pull requests and/or issues. Contributions should follow the strategy outlined in "Contributing to a project".
