@@ -5,48 +5,58 @@ terraform {
55 version = " ~> 0.2"
66 }
77 }
8+ }
9+
10+ # Initialize provider
11+ provider "docker" {}
812
9- required_version = " ~>1.9"
13+ # Define local variables for customization
14+ locals {
15+ namespace = " my-docker-namespace"
16+ repo_name = " my-docker-repo"
17+ org_name = " my-docker-org"
18+ team_name = " my-team"
19+ my_team_users = [" user1" , " user2" ]
20+ token_label = " my-pat-token"
21+ token_scopes = [" repo:read" , " repo:write" ]
22+ permission = " admin"
1023}
1124
12- provider "docker" {
13- host = " hub-stage.docker.com"
25+ # Create repository
26+ resource "docker_hub_repository" "org_hub_repo" {
27+ namespace = local. namespace
28+ name = local. repo_name
29+ description = " This is a generic Docker repository."
30+ full_description = " Full description for the repository."
1431}
1532
16- # Resources Demo
1733# Create team
18- resource "docker_org_team" "terraform- team" {
19- org_name = " dockerterraform "
20- team_name = " terraformhackk "
21- team_description = " Terraform Hackathon Demo - 2024 "
34+ resource "docker_org_team" "team" {
35+ org_name = local . org_name
36+ team_name = local . team_name
37+ team_description = " Team description goes here. "
2238}
2339
2440# Team association
25- resource "docker_org_team_member" "example_association" {
26- org_name = " dockerterraform"
27- team_name = resource. docker_org_team . terraform-team . team_name
28- user_name = " username-placeholder"
29- }
41+ resource "docker_org_team_member" "team_membership" {
42+ for_each = toset (local. my_team_users )
3043
31- # Create repository
32- resource "docker_hub_repository" "org_hub_repo" {
33- namespace = " dockerterraform"
34- name = " docker-terraform-repo-demo"
35- description = " This is a repo demo"
36- full_description = " Lorem ipsum"
44+ org_name = local. org_name
45+ team_name = docker_org_team. team . team_name
46+ user_name = each. value
3747}
3848
3949# Create repository team permission
40- resource "docker_hub_repository_team_permission" "test " {
50+ resource "docker_hub_repository_team_permission" "repo_permission " {
4151 repo_id = docker_hub_repository. org_hub_repo . id
42- team_id = docker_org_team. terraform- team. id
43- permission = " admin "
52+ team_id = docker_org_team. team . id
53+ permission = local . permission
4454}
4555
4656# Create access token
47- resource "docker_access_token" "new_token_v2 " {
48- token_label = " terraform-created PAT-v2 "
49- scopes = [ " repo:read " , " repo:write " ]
57+ resource "docker_access_token" "access_token " {
58+ token_label = local . token_label
59+ scopes = local . token_scopes
5060}
5161
5262
@@ -56,14 +66,14 @@ output "repo_output" {
5666}
5767
5868output "org_team_output" {
59- value = resource. docker_org_team . terraform- team
69+ value = resource. docker_org_team . team
6070}
6171
6272output "org_team_association_output" {
63- value = resource. docker_org_team_member . example_association
73+ value = resource. docker_org_team_member . team_membership
6474}
6575
66- # output "access_tokens_uuids_output" {
67- # value = resource.docker_access_token.new_token .uuid
68- # }
76+ output "access_tokens_uuids_output" {
77+ value = resource. docker_access_token . access_token . uuid
78+ }
6979
0 commit comments