provider.tf 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. terraform {
  2. required_version = ">= 0.13.0"
  3. required_providers {
  4. civo = {
  5. source = "civo/civo"
  6. version = "~> 1.1.0"
  7. }
  8. helm = {
  9. source = "hashicorp/helm"
  10. version = "2.16.1"
  11. }
  12. kubernetes = {
  13. source = "hashicorp/kubernetes"
  14. version = "2.34.0"
  15. }
  16. kubectl = {
  17. source = "gavinbunney/kubectl"
  18. version = "1.14.0"
  19. }
  20. cloudflare = {
  21. source = "cloudflare/cloudflare"
  22. version = "~> 4.0"
  23. }
  24. }
  25. }
  26. variable "civo_token" {
  27. type = string
  28. }
  29. variable "cloudflare_email" {
  30. type = string
  31. }
  32. variable "cloudflare_api_key" {
  33. type = string
  34. }
  35. provider "civo" {
  36. token = var.civo_token
  37. # TODO: (optional) change region to your desired datacenter location
  38. # ---
  39. # region = "FRA1"
  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 "kubernetes" {
  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. }
  55. provider "kubectl" {
  56. host = "${yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.server}"
  57. client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-certificate-data)}"
  58. client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).users.0.user.client-key-data)}"
  59. cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.k8s_demo_1.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
  60. load_config_file = false
  61. }
  62. provider "cloudflare" {
  63. email = var.cloudflare_email
  64. api_key = var.cloudflare_api_key
  65. }