local: make platform detection a module (#69)

This commit is contained in:
David Dollar 2020-01-13 10:50:13 -05:00 committed by GitHub
parent 2e7b2de757
commit a3bf903f0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 33 additions and 15 deletions

View File

@ -0,0 +1,27 @@
provider "local" {
version = "~> 1.4"
}
provider "null" {
version = "~> 2.1"
}
locals {
filename = pathexpand("/tmp/convox.platform")
}
resource "null_resource" "platform" {
triggers = {
hash = fileexists(local.filename) ? filebase64(local.filename) : "none"
}
provisioner "local-exec" {
command = "mkdir -p ${dirname(local.filename)} && uname -s > ${local.filename}"
}
}
data "local_file" "platform" {
depends_on = [null_resource.platform]
filename = local.filename
}

View File

@ -0,0 +1,3 @@
output "name" {
value = data.local_file.platform.content
}

View File

@ -10,10 +10,6 @@ provider "kubernetes" {
version = "~> 1.10"
}
locals {
platform_filename = "/tmp/convox.platform"
}
data "http" "releases" {
url = "https://api.github.com/repos/convox/convox/releases"
}
@ -23,16 +19,8 @@ locals {
release = coalesce(var.release, local.current)
}
resource "null_resource" "platform" {
provisioner "local-exec" {
command = "uname -s > ${local.platform_filename}"
}
}
data "local_file" "platform" {
depends_on = [null_resource.platform]
filename = local.platform_filename
module "platform" {
source = "../../platform"
}
module "rack" {
@ -43,6 +31,6 @@ module "rack" {
}
name = var.name
platform = trimspace(data.local_file.platform.content)
platform = module.platform.name
release = local.release
}