- terraform >= 1.0.0
- AWS role configured and assumed(Route53 is used for TSB MP FQDN)
- (optional) Azure role configured and assumed
- (optional) GCP role configured and assumed
gcloud auth application-default login
Deploys Argo CD for gitops demo
# Deploys Argocd on all Clusters
make argocd
argocd
is exposed using LoadBalancer type kubectl get svc -n argocd argo-cd-argocd-server
, the username is admin
and the password can be found in the outputs/terraform_outputs/terraform-argocd-<cloud>-<cluster_id>.json
file
(defaults to the tsb_password
if set).
For details about the deployed applications, take a look at the manifests in the applications
folder.
Deploys Flux CD for gitops demo
# Deploys Argocd on all Clusters
make fluxcd
For details about the deployed applications, take a look at the manifests in the applications
folder.
Deploys the TSB monitoring stack to have metrics and dashboards showing the operational status of the different TSB components.
# Deploys the TSB monitoring stack in the management plane cluster
make tsb-monitoring
grafana
is exposed using ClusterIP type. It can be accessed by port-forwarding port 3000 to the grafana
pod
in the tsb-monitoring
namespace. The username is admin
and the password can be found in the
outputs/terraform_outputs/terraform-tsb-monitoring.json
file (defaults to the tsb_password
if set).
Deploys external-dns per k8s cluster, where the DNS domain equals to $var.cluster_name
.$var.external_dns_$cloud_dns_zone
.
For example, where the cluster name is gke-r161rc1p1-us-east1-0
and var.external_dns_gcp_dns_zone
is set to gcp.sandbox.tetrate.io
- the DNS domain will equal to gke-r161rc1p1-us-east1-0.gcp.sandbox.tetrate.io
, and the sample DNS record will equal to test3.gke-r161rc1p1-us-east1-0.gcp.sandbox.tetrate.io
.
variable "external_dns_annotation_filter" {
default = ""
}
variable "external_dns_label_filter" {
default = ""
}
variable "external_dns_sources" {
default = "service"
}
variable "external_dns_interval" {
default = "5s"
}
variable "external_dns_gcp_dns_zone" {
default = "gcp.sandbox.tetrate.io"
}
variable "external_dns_azure_dns_zone" {
default = "azure.sandbox.tetrate.io"
}
Based on the cloud external_dns_$cloud_dns_zone
variable have to be set or overwritten in terraform.tfvars
file.
NOTE: AWS does not have a default external-dns zone set.
terraform.tfvars.json:
...
"external_dns_aws_dns_zone": "aws.sandbox.tetrate.io"
...
make external_dns
or per cloud, for example GCP:
make external_dns_gcp
make destroy_external_dns
or per cloud, for example GCP:
make destroy_external_dns_gcp
- Deploys ArgoCD
- bookinfo demo app using ArgoCD with related TSB components.
- grpc demo app using ArgoCD with related TSB components.
- eshop demo app using ArgoCD with related TSB components.
- Deploys the TSB monitoring stack.
- prometheus configured to scrape all the TSB and XCP components.
- grafana with TSB operational dashboards preloaded and configured.