daml/infra/bazel_cache.tf

44 lines
1.3 KiB
Terraform
Raw Normal View History

2019-08-13 19:23:03 +03:00
# Copyright (c) 2019 The DAML Authors. All rights reserved.
2019-04-04 11:33:38 +03:00
# SPDX-License-Identifier: Apache-2.0
// Setup the Bazel Bucket + CDN
locals {
bazel_cache_name = "daml-bazel-cache"
// see main.tf for additional locals
}
module "bazel_cache" {
source = "./modules/gcp_cdn_bucket"
labels = "${local.labels}"
name = "${local.bazel_cache_name}"
project = "${local.project}"
region = "${local.region}"
ssl_certificate = "${local.ssl_certificate}"
cache_retention_days = 60
}
// provide a index.html file, so accessing the document root yields something
// nicer than just a 404.
resource "google_storage_bucket_object" "index_bazel_cache" {
name = "index.html"
bucket = "${module.bazel_cache.bucket_name}"
content = "${file("${path.module}/files/index_bazel_cache.html")}"
content_type = "text/html"
depends_on = ["module.nix_cache"]
}
// allow rw access for CI writer (see writer.tf)
2019-04-04 11:33:38 +03:00
resource "google_storage_bucket_iam_member" "bazel_cache_writer" {
bucket = "${module.bazel_cache.bucket_name}"
# https://cloud.google.com/storage/docs/access-control/iam-roles
role = "roles/storage.objectAdmin"
member = "serviceAccount:${google_service_account.writer.email}"
}
output "bazel_cache_ip" {
value = "${module.bazel_cache.external_ip}"
}