Files
a13labs.infra/terraform/iac/buckets.tf
T
alexandre.pires 1f060541c3 Refactor playbook_microk8s.yml and ansible-apply.yaml
Simplify playbook_microk8s.yml by removing duplicate lines and whitespace changes.
Update ansible-apply.yaml to include a scheduled job for Terraform Apply.
2024-09-28 21:27:24 +02:00

53 lines
1.3 KiB
Terraform

resource "scaleway_object_bucket" "infra_assets" {
name = "a13labs-infra-${var.bucket_suffix}"
project_id = var.scaleway_project_id
region = "fr-par"
}
resource "scaleway_object_bucket_policy" "policy" {
bucket = scaleway_object_bucket.infra_assets.name
policy = jsonencode({
Version = "2023-04-17",
Id = "AllowMachineDownload",
Statement = [
{
Effect = "Allow"
Action = [
"s3:ListBucket",
"s3:GetObject",
]
Principal = "*"
Resource = [
scaleway_object_bucket.infra_assets.name,
"${scaleway_object_bucket.infra_assets.name}/*",
]
Condition = {
IpAddress = {
"aws:SourceIp" = local.instance_ips
}
},
},
{
Effect = "Allow"
Action = [
"s3:*",
]
Principal = {
SCW = "user_id:${var.scaleway_user_id}"
}
Resource = [
scaleway_object_bucket.infra_assets.name,
"${scaleway_object_bucket.infra_assets.name}/*",
]
},
]
})
}
resource "scaleway_object" "encryption_key" {
bucket = scaleway_object_bucket.infra_assets.id
key = "keys/${replace(data.contabo_instance.microk8s.mac_address, ":", "_")}.key"
content_base64 = base64encode(var.encryption_key)
}