quorate/terraform/internal/versitygw/zot.tf

54 lines
1.1 KiB
Terraform
Raw Normal View History

ephemeral "vault_kv_secret_v2" "zot_user" {
mount = "secret"
name = var.zot_vault_secret_path
}
locals {
zot_secret_access_key = ephemeral.vault_kv_secret_v2.zot_user.data["secretAccessKey"]
}
resource "versitygw_user" "zot" {
access_key_id = var.zot_principal
secret_access_key = local.zot_secret_access_key
role = "user"
}
resource "minio_s3_bucket" "zot" {
bucket = var.zot_bucket_name
}
resource "minio_s3_bucket_policy" "zot" {
bucket = minio_s3_bucket.zot.bucket
depends_on = [
versitygw_user.zot,
]
policy = jsonencode({
Version = "2012-10-17"
Statement = [
{
Sid = "ZotBucketAccess"
Effect = "Allow"
Principal = var.zot_principal
Action = [
"s3:*",
]
Resource = [
"arn:aws:s3:::${var.zot_bucket_name}",
]
},
{
Sid = "ZotObjectAccess"
Effect = "Allow"
Principal = var.zot_principal
Action = [
"s3:*",
]
Resource = [
"arn:aws:s3:::${var.zot_bucket_name}/*",
]
},
]
})
}