You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25Lines changed: 25 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,8 +9,11 @@
9
9
# terraform-github-repository
10
10
11
11
A [Terraform] module for creating a public or private repository on [Github].
12
+
12
13
**_This module supports Terraform v1.x and is compatible with the Official Terraform GitHub Provider v4.20 and above from `integrations/github`._**
14
+
13
15
**Attention: This module is incompatible with the Hashicorp GitHub Provider! The latest version of this module supporting `hashicorp/github` provider is `~> 0.10.0`**
16
+
14
17
** Note: Versions 5.3.0, 5.4.0, and 5.5.0 of the Terraform Github Provider have broken branch protections support and should not be used.**
15
18
16
19
@@ -59,22 +62,26 @@ rollouts** and **rollbacks**. It's a comprehensive, ready-to-use blueprint
59
62
maintained by our team of platform engineering experts and saves
60
63
companies such as yours tons of time by building on top of a pre-configured
61
64
solution instead of building and maintaining it yourself.
65
+
62
66
For details please see [https://mineiros.io/github-as-code][github-as-code].
63
67
64
68
## Module Features
65
69
66
70
In contrast to the plain `github_repository` resource this module enables various other
67
71
features like Branch Protection or Collaborator Management.
72
+
68
73
-**Default Security Settings**:
69
74
This module creates a `private` repository by default,
70
75
Deploy keys are `read-only` by default
76
+
71
77
-**Standard Repository Features**:
72
78
Setting basic Metadata,
73
79
Merge Strategy,
74
80
Auto Init,
75
81
License Template,
76
82
Gitignore Template,
77
83
Template Repository
84
+
78
85
-**Extended Repository Features**:
79
86
Branches,
80
87
Branch Protection,
@@ -85,6 +92,7 @@ features like Branch Protection or Collaborator Management.
85
92
Deploy Keys,
86
93
Projects,
87
94
Repository Webhooks
95
+
88
96
-_Features not yet implemented_:
89
97
Project Columns support,
90
98
Actions,
@@ -93,10 +101,12 @@ features like Branch Protection or Collaborator Management.
93
101
## Getting Started
94
102
95
103
Most basic usage creating a new private github repository.
104
+
96
105
```hcl
97
106
module "repository" {
98
107
source = "mineiros-io/repository/github"
99
108
version = "~> 0.18.0"
109
+
100
110
name = "terraform-github-repository"
101
111
license_template = "apache-2.0"
102
112
gitignore_template = "Terraform"
@@ -607,9 +617,12 @@ This is due to some terraform limitation and we will update the module once terr
This map allows you to create and manage secrets for repositories in your organization.
892
+
879
893
Each element in the map is considered a secret to be managed, being the key map the secret name and the value the corresponding secret in plain text:
894
+
880
895
When applied, a secret with the given key and value will be created in the repositories.
896
+
881
897
The value of the secrets must be given in plain text, GitHub provider is in charge of encrypting it.
898
+
882
899
**Attention:** You should treat state as sensitive always. It is also advised that you do not store plaintext values in your code but rather populate the encrypted_value using fields from a resource, data source or variable as, while encrypted in state, these will be easily accessible in your code. See below for an example of this abstraction.
883
900
884
901
Default is `{}`.
@@ -895,7 +912,9 @@ This is due to some terraform limitation and we will update the module once terr
This map allows you to create and manage encrypted secrets for repositories in your organization.
915
+
898
916
Each element in the map is considered a secret to be managed, being the key map the secret name and the value the corresponding encrypted value of the secret using the Github public key in Base64 format.b
917
+
899
918
When applied, a secret with the given key and value will be created in the repositories.
900
919
901
920
Default is `{}`.
@@ -1044,7 +1063,9 @@ The following attributes are exported by the module:
1044
1063
## Module Versioning
1045
1064
1046
1065
This Module follows the principles of [Semantic Versioning (SemVer)].
1066
+
1047
1067
Given a version number `MAJOR.MINOR.PATCH`, we increment the:
1068
+
1048
1069
1.`MAJOR` version when we make incompatible changes,
1049
1070
2.`MINOR` version when we add functionality in a backwards compatible manner, and
1050
1071
3.`PATCH` version when we make backwards compatible bug fixes.
@@ -1058,8 +1079,10 @@ Given a version number `MAJOR.MINOR.PATCH`, we increment the:
1058
1079
1059
1080
[Mineiros][homepage] is a remote-first company headquartered in Berlin, Germany
1060
1081
that solves development, automation and security challenges in cloud infrastructure.
1082
+
1061
1083
Our vision is to massively reduce time and overhead for teams to manage and
1062
1084
deploy production-grade and secure cloud infrastructure.
1085
+
1063
1086
We offer commercial support for all of our modules and encourage you to reach out
1064
1087
if you have any questions or need help. Feel free to email us at [hello@mineiros.io] or join our
1065
1088
[Community Slack channel][slack].
@@ -1081,8 +1104,10 @@ Run `make help` to see details on each available target.
1081
1104
## License
1082
1105
1083
1106
[![license][badge-license]][apache20]
1107
+
1084
1108
This module is licensed under the Apache License Version 2.0, January 2004.
Copy file name to clipboardExpand all lines: README.tfdoc.hcl
+26-1Lines changed: 26 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -38,8 +38,11 @@ section {
38
38
toc=true
39
39
content=<<-END
40
40
A [Terraform] module for creating a public or private repository on [Github].
41
+
41
42
**_This module supports Terraform v1.x and is compatible with the Official Terraform GitHub Provider v4.20 and above from `integrations/github`._**
43
+
42
44
**Attention: This module is incompatible with the Hashicorp GitHub Provider! The latest version of this module supporting `hashicorp/github` provider is `~> 0.10.0`**
45
+
43
46
** Note: Versions 5.3.0, 5.4.0, and 5.5.0 of the Terraform Github Provider have broken branch protections support and should not be used.**
44
47
END
45
48
@@ -57,6 +60,7 @@ section {
57
60
maintained by our team of platform engineering experts and saves
58
61
companies such as yours tons of time by building on top of a pre-configured
59
62
solution instead of building and maintaining it yourself.
63
+
60
64
For details please see [https://mineiros.io/github-as-code][github-as-code].
61
65
END
62
66
}
@@ -66,16 +70,19 @@ section {
66
70
content=<<-END
67
71
In contrast to the plain `github_repository` resource this module enables various other
68
72
features like Branch Protection or Collaborator Management.
73
+
69
74
- **Default Security Settings**:
70
75
This module creates a `private` repository by default,
71
76
Deploy keys are `read-only` by default
77
+
72
78
- **Standard Repository Features**:
73
79
Setting basic Metadata,
74
80
Merge Strategy,
75
81
Auto Init,
76
82
License Template,
77
83
Gitignore Template,
78
84
Template Repository
85
+
79
86
- **Extended Repository Features**:
80
87
Branches,
81
88
Branch Protection,
@@ -86,6 +93,7 @@ section {
86
93
Deploy Keys,
87
94
Projects,
88
95
Repository Webhooks
96
+
89
97
- _Features not yet implemented_:
90
98
Project Columns support,
91
99
Actions,
@@ -97,10 +105,12 @@ section {
97
105
title="Getting Started"
98
106
content=<<-END
99
107
Most basic usage creating a new private github repository.
108
+
100
109
```hcl
101
110
module "repository" {
102
111
source = "mineiros-io/repository/github"
103
112
version = "~> 0.18.0"
113
+
104
114
name = "terraform-github-repository"
105
115
license_template = "apache-2.0"
106
116
gitignore_template = "Terraform"
@@ -786,9 +796,12 @@ section {
786
796
default=[]
787
797
description=<<-END
788
798
This resource allows you to configure v4 branch protection for repositories in your organization.
799
+
789
800
Each element in the list is a branch to be protected and the value the corresponding to the desired configuration for the branch.
801
+
790
802
When applied, the branch will be protected from forced pushes and deletion.
791
803
Additional constraints, such as required status checks or restrictions on users and teams, can also be configured.
804
+
792
805
**_NOTE:_** May conflict with v3 branch protections if used for the same branch.
793
806
END
794
807
@@ -1162,9 +1175,13 @@ section {
1162
1175
default={}
1163
1176
description=<<-END
1164
1177
This map allows you to create and manage secrets for repositories in your organization.
1178
+
1165
1179
Each element in the map is considered a secret to be managed, being the key map the secret name and the value the corresponding secret in plain text:
1180
+
1166
1181
When applied, a secret with the given key and value will be created in the repositories.
1182
+
1167
1183
The value of the secrets must be given in plain text, GitHub provider is in charge of encrypting it.
1184
+
1168
1185
**Attention:** You should treat state as sensitive always. It is also advised that you do not store plaintext values in your code but rather populate the encrypted_value using fields from a resource, data source or variable as, while encrypted in state, these will be easily accessible in your code. See below for an example of this abstraction.
1169
1186
END
1170
1187
@@ -1181,7 +1198,9 @@ section {
1181
1198
default={}
1182
1199
description=<<-END
1183
1200
This map allows you to create and manage encrypted secrets for repositories in your organization.
1201
+
1184
1202
Each element in the map is considered a secret to be managed, being the key map the secret name and the value the corresponding encrypted value of the secret using the Github public key in Base64 format.b
1203
+
1185
1204
When applied, a secret with the given key and value will be created in the repositories.
1186
1205
END
1187
1206
@@ -1401,7 +1420,9 @@ section {
1401
1420
title="Module Versioning"
1402
1421
content=<<-END
1403
1422
This Module follows the principles of [Semantic Versioning (SemVer)].
1423
+
1404
1424
Given a version number `MAJOR.MINOR.PATCH`, we increment the:
1425
+
1405
1426
1. `MAJOR` version when we make incompatible changes,
1406
1427
2. `MINOR` version when we add functionality in a backwards compatible manner, and
1407
1428
3. `PATCH` version when we make backwards compatible bug fixes.
@@ -1421,8 +1442,10 @@ section {
1421
1442
content=<<-END
1422
1443
[Mineiros][homepage] is a remote-first company headquartered in Berlin, Germany
1423
1444
that solves development, automation and security challenges in cloud infrastructure.
1445
+
1424
1446
Our vision is to massively reduce time and overhead for teams to manage and
1425
1447
deploy production-grade and secure cloud infrastructure.
1448
+
1426
1449
We offer commercial support for all of our modules and encourage you to reach out
1427
1450
if you have any questions or need help. Feel free to email us at [hello@mineiros.io] or join our
1428
1451
[Community Slack channel][slack].
@@ -1456,8 +1479,10 @@ section {
1456
1479
title="License"
1457
1480
content=<<-END
1458
1481
[![license][badge-license]][apache20]
1482
+
1459
1483
This module is licensed under the Apache License Version 2.0, January 2004.
0 commit comments