provider.tf 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. terraform {
  2. required_version = ">= 0.13.0"
  3. required_providers {
  4. cloudflare = {
  5. source = "cloudflare/cloudflare"
  6. version = "~> 3.0"
  7. }
  8. civo = {
  9. source = "civo/civo"
  10. version = "~> 1.0.13"
  11. }
  12. kubernetes = {
  13. source = "hashicorp/kubernetes"
  14. version = "2.8.0"
  15. }
  16. helm = {
  17. source = "hashicorp/helm"
  18. version = "2.4.1"
  19. }
  20. kubectl = {
  21. source = "gavinbunney/kubectl"
  22. version = "1.13.1"
  23. }
  24. }
  25. }
  26. provider "civo" {
  27. token = var.civo_token
  28. # (Optional) switch datacenter region
  29. # region = "FRA1"
  30. }
  31. provider "cloudflare" {
  32. email = var.cloudflare_email
  33. api_key = var.cloudflare_api_key
  34. }
  35. provider "kubernetes" {
  36. host = "${yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.server}"
  37. client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-certificate-data)}"
  38. client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-key-data)}"
  39. cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
  40. }
  41. provider "helm" {
  42. kubernetes {
  43. host = "${yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.server}"
  44. client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-certificate-data)}"
  45. client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-key-data)}"
  46. cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
  47. }
  48. }
  49. provider "kubectl" {
  50. host = "${yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.server}"
  51. client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-certificate-data)}"
  52. client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-key-data)}"
  53. cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
  54. load_config_file = false
  55. }