53 lines
1.3 KiB
Terraform
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/${data.contabo_instance.microk8s.mac_address}.key"
|
||
|
|
|
||
|
|
content_base64 = base64encode(var.encryption_key)
|
||
|
|
}
|