second first commit

This commit is contained in:
Zakaria
2026-09-22 08:57:00 -04:00
parent e88d7e2ff3
commit 0aef7fb2d8
4766 changed files with 1236986 additions and 0 deletions
@@ -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"]
}
@@ -0,0 +1,28 @@
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 6.0"
}
}
}
variable "endpoint" {
type = string
default = "http://localhost:4566"
}
provider "aws" {
region = "us-east-1"
access_key = "test"
secret_key = "test"
skip_credentials_validation = true
skip_metadata_api_check = true
skip_requesting_account_id = true
s3_use_path_style = true
endpoints {
codeartifact = var.endpoint
}
}