Skip to content

Commit c100473

Browse files
Have a generic example for users to be able to adapt (#61)
1 parent fa85960 commit c100473

File tree

1 file changed

+40
-30
lines changed

1 file changed

+40
-30
lines changed

examples/main.tf

Lines changed: 40 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -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

5868
output "org_team_output" {
59-
value = resource.docker_org_team.terraform-team
69+
value = resource.docker_org_team.team
6070
}
6171

6272
output "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

Comments
 (0)