configfacets/core-concepts
deployments
You can learn about, how to implement deployment configurations in this version.
deployment
Deployment Instructions
Example Inc - Deployment Illustration: v0.0.1
This guide outlines a standard Kubernetes application deployment setup.
Application Requirements
- SSL Certificates: Let's Encrypt & Cert Manager
- Ingress Controller: Istio
- Application Services:
- Database (PostgreSQL)
- API
- Frontend
- Logs & Metrics support
Dependencies
I have added latest versions of provider or community repositories—such as Istio, Cert Manager, PostgreSQL, Kubernetes and others — as dependencies to leverage reusable templates & configurations.
Notes
The configfacets service resource generates multiple configurations as a List, including dependent service configurations while maintaining the installation order. Check core concepts for more details.
client: k8s query param will generate Kubernetes List resource.
Offline setup
Example Inc is using Google Cloud DNS, so generating neccessary credentials.
$ gcloud iam service-accounts create cert-manager --display-name "Service Account for Cert-Manager" --project <prjname>
$ gcloud projects add-iam-policy-binding <prj_id> --member "serviceAccount:cert-manager@<prjname>.iam.gserviceaccount.com" --role "roles/dns.admin
$ gcloud iam service-accounts keys create gcp-dns-key.json --iam-account cert-manager@<prjname>.iam.gserviceaccount.com --project <prjname>
Install
curl -X POST "https://configfacets.com/apis/repos/configfacets/core-concepts/deployments/resources/services/istio-services/exec?format=json&client=k8s" -d '{"env":"prod"}' | kubectl apply -f -