Skip to content

brendangibat/terraform-provider-kubernetes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-provider-kubernetes

Currently supports pushing serialized JSON to kubernetes of :

  • Replication Controllers
  • Pods
  • Services

Operations supported:

  • Create
  • Read
  • Update
  • Delete

TODO: Pull inner objects of kubernetes definitions down in as terraform resource.

Example usage:

provider "kubernetes" {
    endpoint = "http://kube.domain.test:8080"
}

resource "kubernetes_pod" "blog-example" {
  spec {
    containers {
      image = "quay.io/kelcecil/kelcecil-com"
      name = "blog"
    }
  }
  metadata {
    labels {
      name = "blog"
      region = "us-east-1"
    }
    name = "blog"
  }
}

resource "kubernetes_replication_controller" "rc-service-example" {
    spec {
      replicas = 2
      template {
        spec {
          containers {
              image = "quay.io/kelcecil/chucksay"
              name = "chuck-as-a-service"
            }
        }
        metadata {
          labels {
            "k8s-app" = "chucksay"
            "name" = "chuck-as-a-service"
          }
          "name" = "chuck-as-a-service"
        }
      }
      selector {
        "k8s-app" = "chucksay"
        "name" = "chuck-as-a-service"
      }
    }
    metadata {
      labels {
        "k8s-app" = "chucksay"
      }
      name = "chuck-as-a-service"
    }
}

resource "kubernetes_service" "service-example" {
    spec {
      selector {
        "app" = "MyApp"
      }
      ports {
        protocol = "TCP"
        port = 80
      }
    }
    metadata {
      labels {
        "environment" = "dev"
      }
      name = "my-service"
    }
}

resource "kubernetes_namespace" "namespace-example" {
    spec {
      finalizers = ["kubernetes"]
    }
    metadata {
      labels {
        "environment" = "dev"
      }
      name = "dev"
    }
}

About

Kubernetes provider for Terraform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 96.6%
  • Makefile 3.4%