Skip to content

opszero/terraform-helm-kubespot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kubespot (Helm)

  • cert-manager
  • datadog
  • keda
  • nginx
  • prometheus
  • grafana
  • grafana loki
  • kubecost

Configuration

cert-manager

To use cert-manager add the following annotation to your Ingress

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    # add an annotation indicating the issuer to use.
    cert-manager.io/cluster-issuer: letsencrypt
  name: myIngress
  namespace: myIngress
spec:
  tls:
    - hosts:
        - https-example.foo.com
      secretName: testsecret-tls
  rules:
    - host: https-example.foo.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: service1
                port:
                  number: 80

Grafana

Grafana is installed on a ClusterIP use the following to open it locally.

kubectl port-forward -n grafana service/grafana 6891:80
open https://localhost:6891

Username: opszero
Password: opszero

Deployment

terraform init
terraform plan
terraform apply -auto-approve

Teardown

terraform destroy -auto-approve

Providers

Name Version
helm n/a
null n/a
random n/a

Inputs

Name Description Type Default Required
cert_manager_email Your email address to use for cert manager any null no
cert_manager_leader_election_namespace The namespace used for the leader election lease. Change to cert-manager for GKE Autopilot string "cert-manager" no
cert_manager_resources n/a
map(object({
cpu = string
memory = string
}))
null no
cert_manager_version The version of the Cert-Manager Helm chart to be deployed, used for automating the issuance and renewal of TLS certificates. string "1.16.3" no
datadog_api_key The API key for datadog string "" no
datadog_values Values for datadog helm chart string "" no
datadog_values_extra List of extra values for datadog helm chart list [] no
datadog_version The version of the Datadog Helm chart to be deployed, used for monitoring, security, and observability in Kubernetes environments. string "3.88.3" no
grafana_admin_password The Password of Grafana for login Dashboard string "" no
grafana_admin_user The User name of Grafana for login Dashboard string "opszero" no
grafana_datasources n/a
list(object({
name = string
type = string
url = string
access = string
isDefault = bool
}))
[] no
grafana_efs_enable Enable EFS storage for Grafana bool false no
grafana_efs_storage_class_name If EFS is needed pass EFS storage class, but make sure efs and efs driver deployed string "gp2" no
grafana_enabled Enable grafana bool false no
grafana_extra_yml Grafana Datasources as Yaml any null no
grafana_google_auth_client_id Add Google Auth client id string "" no
grafana_google_auth_client_secret Add Google Auth client secret string "" no
grafana_ingress_class_name Ingress class name for Grafana string "nginx" no
grafana_ingress_enabled Enable grafana ingress bool false no
grafana_ingress_hosts Add grafana ingress hosts list [] no
grafana_loki_bucket_name Name for the S3 bucket string "" no
grafana_loki_enabled Enable grafana loki bool false no
grafana_loki_yml_file n/a any null no
grafana_persistence_storage Enable persistence storage for Grafana bool true no
grafana_version The version of the Grafana Helm chart to be deployed, used for data visualization and monitoring dashboards. string "8.8.5" no
ingress_nginx_version The version of the Ingress-NGINX Helm chart to be deployed, used for managing ingress traffic in Kubernetes. string "4.12.1" no
keda_version The version of the KEDA Helm chart to be deployed, used for Kubernetes-based Event-Driven Autoscaling. string "2.16.1" no
kubecost_enabled A boolean to enable or disable the deployment of Kubecost, a tool for monitoring and managing Kubernetes cost and resource usage. bool false no
kubecost_version The version of the Kubecost Helm chart to be deployed, used for Kubernetes cost management and optimization. string "2.5.3" no
loki_version The version of the Loki Helm chart to be deployed, used for log aggregation and analysis. string "6.25.0" no
nginx_max_replicas Maximum number of Nginx Replicas number 11 no
nginx_min_replicas Minimum number of Nginx Replicas number 2 no
nginx_name Release name for the installed helm chart string "nginx" no
nginx_yml_file n/a any null no
opentelemetry_collector_version The version of the OpenTelemetry Collector Helm chart to be deployed, used for collecting telemetry data (logs, metrics, and traces) from various sources. string "0.115.0" no
otel_yml_file n/a any null no
prometheus_additional_scrape_configs Add additional scrape for configuration for prometheus if needed
list(object({
job_name = string
targets = list(string)
scrape_interval = string
metrics_path = string
}))
[] no
prometheus_enabled Enable prometheus bool true no
prometheus_persistence_storage Enable persistence storage for Prometheus bool false no
prometheus_version The version of the Prometheus Helm chart to be deployed, used for monitoring and alerting in Kubernetes. string "27.1.0" no
promtail_version The version of the Promtail Helm chart to be deployed, used as a log collector to send logs to Loki. string "6.16.6" no
pushgateway_ingress_host List of hosts for prometheus push gateway ingress list [] no
storage_class Storage Class to use for Persistence string "gp2" no

Resources

Name Type
helm_release.cert-manager resource
helm_release.datadog resource
helm_release.grafana resource
helm_release.keda resource
helm_release.kubecost resource
helm_release.loki resource
helm_release.nginx resource
helm_release.opentelemetry_collector resource
helm_release.prometheus resource
helm_release.promtail resource
null_resource.cert-manager-cluster-issuer resource
random_password.grafana_admin_password resource

Outputs

Name Description
grafana_admin_password n/a

πŸš€ Built by opsZero!

Since 2016 opsZero has been providing Kubernetes expertise to companies of all sizes on any Cloud. With a focus on AI and Compliance we can say we seen it all whether SOC2, HIPAA, PCI-DSS, ITAR, FedRAMP, CMMC we have you and your customers covered.

We provide support to organizations in the following ways:

We do this with a high-touch support model where you:

  • Get access to us on Slack, Microsoft Teams or Email
  • Get 24/7 coverage of your infrastructure
  • Get an accelerated migration to Kubernetes

Please schedule a call if you need support.



About

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 7

Languages