second first commit
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
# Verifies the CodeArtifact control plane: domain/repository CRUD, tags, upstream repositories,
|
||||
# and resource policies, all of which previously had no Floci support at all.
|
||||
|
||||
resource "aws_codeartifact_domain" "test" {
|
||||
domain = "floci-codeartifact-domain"
|
||||
|
||||
tags = {
|
||||
owner = "platform"
|
||||
}
|
||||
}
|
||||
|
||||
data "aws_iam_policy_document" "domain_policy" {
|
||||
statement {
|
||||
effect = "Allow"
|
||||
actions = ["codeartifact:GetDomainPermissions"]
|
||||
resources = [aws_codeartifact_domain.test.arn]
|
||||
principals {
|
||||
type = "AWS"
|
||||
identifiers = ["*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "aws_codeartifact_domain_permissions_policy" "test" {
|
||||
domain = aws_codeartifact_domain.test.domain
|
||||
policy_document = data.aws_iam_policy_document.domain_policy.json
|
||||
}
|
||||
|
||||
resource "aws_codeartifact_repository" "store" {
|
||||
domain = aws_codeartifact_domain.test.domain
|
||||
repository = "floci-codeartifact-store"
|
||||
}
|
||||
|
||||
resource "aws_codeartifact_repository" "consumer" {
|
||||
domain = aws_codeartifact_domain.test.domain
|
||||
repository = "floci-codeartifact-consumer"
|
||||
description = "consumes packages via the store repository"
|
||||
|
||||
upstream {
|
||||
repository_name = aws_codeartifact_repository.store.repository
|
||||
}
|
||||
|
||||
tags = {
|
||||
team = "data"
|
||||
}
|
||||
}
|
||||
|
||||
data "aws_iam_policy_document" "repository_policy" {
|
||||
statement {
|
||||
effect = "Allow"
|
||||
actions = ["codeartifact:ReadFromRepository"]
|
||||
resources = [aws_codeartifact_repository.consumer.arn]
|
||||
principals {
|
||||
type = "AWS"
|
||||
identifiers = ["*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "aws_codeartifact_repository_permissions_policy" "test" {
|
||||
domain = aws_codeartifact_domain.test.domain
|
||||
repository = aws_codeartifact_repository.consumer.repository
|
||||
policy_document = data.aws_iam_policy_document.repository_policy.json
|
||||
}
|
||||
|
||||
output "domain_arn" {
|
||||
value = aws_codeartifact_domain.test.arn
|
||||
}
|
||||
|
||||
output "domain_owner_tag" {
|
||||
value = aws_codeartifact_domain.test.tags["owner"]
|
||||
}
|
||||
|
||||
output "repository_arn" {
|
||||
value = aws_codeartifact_repository.consumer.arn
|
||||
}
|
||||
|
||||
output "repository_upstream" {
|
||||
value = aws_codeartifact_repository.consumer.upstream[0].repository_name
|
||||
}
|
||||
|
||||
output "repository_team_tag" {
|
||||
value = aws_codeartifact_repository.consumer.tags["team"]
|
||||
}
|
||||
Reference in New Issue
Block a user