Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita052493

Browse files
committed
chore: update readme, add version warnings, examples
1 parenta776da3 commita052493

File tree

14 files changed

+136
-71
lines changed

14 files changed

+136
-71
lines changed

‎README.md

Lines changed: 14 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,33 @@
1-
#Coderd Terraform Provider
1+
#terraform-provider-coderd
22

3-
#⚠️ WORK IN PROGRESS - DO NOT USE ⚠️
3+
`terraform-provider-coderd` enables managing a[Coder](https://github.com/coder/coder) deployment using[Terraform](https://github.com/hashicorp/terraform) IaC.
44

5-
_This template repository is built on the[Terraform Plugin Framework](https://github.com/hashicorp/terraform-plugin-framework). The template repository built on the[Terraform Plugin SDK](https://github.com/hashicorp/terraform-plugin-sdk) can be found at[terraform-provider-scaffolding](https://github.com/hashicorp/terraform-provider-scaffolding). See[Which SDK Should I Use?](https://developer.hashicorp.com/terraform/plugin/framework-benefits) in the Terraform documentation for additional information._
6-
7-
This repository is a*template* for a[Terraform](https://www.terraform.io) provider. It is intended as a starting point for creating Terraform providers, containing:
8-
9-
- A resource and a data source (`internal/provider/`),
10-
- Examples (`examples/`) and generated documentation (`docs/`),
11-
- Miscellaneous meta files.
12-
13-
These files contain boilerplate code that you will need to edit to create your own Terraform provider. Tutorials for creating Terraform providers can be found on the[HashiCorp Developer](https://developer.hashicorp.com/terraform/tutorials/providers-plugin-framework) platform._Terraform Plugin Framework specific guides are titled accordingly._
14-
15-
Please see the[GitHub template repository documentation](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template) for how to create a new repository from this template on GitHub.
16-
17-
Once you've written your provider, you'll want to[publish it on the Terraform Registry](https://developer.hashicorp.com/terraform/registry/providers/publishing) so that others can use it.
5+
The provider currently supports resources and data sources for:
6+
- Users
7+
- Templates + Template Versions
8+
- Groups
9+
- Workspace Proxies
10+
- Organizations (Data Source only)
1811

1912
##Requirements
2013

2114
-[Terraform](https://developer.hashicorp.com/terraform/downloads) >= 1.0
2215
-[Go](https://golang.org/doc/install) >= 1.21
2316

24-
##Building The Provider
25-
26-
1. Clone the repository
27-
1. Enter the repository directory
28-
1. Build the provider using the Go`install` command:
29-
30-
```shell
31-
go install
32-
```
33-
34-
##Adding Dependencies
35-
36-
This provider uses[Go modules](https://github.com/golang/go/wiki/Modules).
37-
Please see the Go documentation for the most up to date information about using Go modules.
38-
39-
To add a new dependency`github.com/author/dependency` to your Terraform provider:
40-
41-
```shell
42-
go get github.com/author/dependency
43-
go mod tidy
44-
```
45-
46-
Then commit the changes to`go.mod` and`go.sum`.
47-
48-
##Using the provider
17+
##Usage
4918

50-
Fill this in for each provider
19+
See the[`examples`](examples) and the[documentation](https://registry.terraform.io/providers/coder/coderd/latest/docs).
5120

5221
##Developing the Provider
5322

5423
If you wish to work on the provider, you'll first need[Go](http://www.golang.org) installed on your machine (see[Requirements](#requirements) above).
5524

5625
To compile the provider, run`go install`. This will build the provider and put the provider binary in the`$GOPATH/bin` directory.
5726

58-
To generate or update documentation, run`go generate`.
27+
To generate or update documentation, run`make gen`.
5928

60-
In order to run the full suite ofAcceptancetests, run`make testacc`.
29+
###TerraformAcceptanceTests
6130

62-
*Note:*Acceptance testscreate real resources, and often cost money torun.
31+
Acceptance testsare run against a live Coder deployment in a local Docker container. Torun the full suite of Acceptance tests, run`make testacc`.
6332

64-
```shell
65-
make testacc
66-
```
33+
>**Note:** our[CI workflow](./github/workflows/test.yml) runs a test matrix against multiple Terraform versions.

‎docs/data-sources/group.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
page_title:"coderd_group Data Source - terraform-provider-coderd"
44
subcategory:""
55
description:|-
6-
An existing group on thecoder deployment.
6+
An existing group on theCoder deployment.
77
---
88

99
#coderd_group (Data Source)
1010

11-
An existing group on thecoder deployment.
11+
An existing group on theCoder deployment.
1212

1313

1414

‎docs/data-sources/organization.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,17 @@
33
page_title:"coderd_organization Data Source - terraform-provider-coderd"
44
subcategory:""
55
description:|-
6-
An existing organization on the coder deployment.
6+
An existing organization on the Coder deployment.
7+
~> Warning
8+
This data source is only compatible with Coder version 2.13.0 https://github.com/coder/coder/releases/tag/v2.13.0 and above.
79
---
810

911
#coderd_organization (Data Source)
1012

11-
An existing organization on the coder deployment.
13+
An existing organization on the Coder deployment.
14+
15+
~>**Warning**
16+
This data source is only compatible with Coder version[2.13.0](https://github.com/coder/coder/releases/tag/v2.13.0) and above.
1217

1318

1419

‎docs/data-sources/user.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
page_title:"coderd_user Data Source - terraform-provider-coderd"
44
subcategory:""
55
description:|-
6-
An existing user on thecoder deployment
6+
An existing user on theCoder deployment
77
---
88

99
#coderd_user (Data Source)
1010

11-
An existing user on thecoder deployment
11+
An existing user on theCoder deployment
1212

1313

1414

‎docs/index.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,7 @@ description: |-
1010

1111

1212

13-
##Example Usage
1413

15-
```terraform
16-
provider "coderd" {
17-
# example configuration here
18-
}
19-
```
2014

2115
<!-- schema generated by tfplugindocs-->
2216
##Schema

‎examples/data-sources/coderd_example/data-source.tf

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎examples/provider/provider.tf

Lines changed: 0 additions & 3 deletions
This file was deleted.

‎examples/resources/coderd_example/resource.tf

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
terraform {
2+
required_providers {
3+
coderd={
4+
source="coder/coderd"
5+
}
6+
}
7+
}
8+
9+
// Provider populated from environment variables
10+
provider"coderd" {}
11+
12+
resource"coderd_user""coder1" {
13+
username="coder1"
14+
name="Coder One"
15+
email="coder1@coder.com"
16+
}
17+
18+
resource"coderd_user""coder2" {
19+
username="coder2"
20+
name="Coder One"
21+
email="coder2@coder.com"
22+
}
23+
24+
// Add two users to the group by their ID.
25+
resource"coderd_group""group1" {
26+
name="group1"
27+
members=[
28+
coderd_user.coder1.id,
29+
coderd_user.coder2.id
30+
]
31+
}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
terraform {
2+
required_providers {
3+
coderd={
4+
source="coder/coderd"
5+
}
6+
}
7+
}
8+
9+
// Provider populated from environment variables
10+
provider"coderd" {}
11+
12+
// Get the commit SHA of the configuration's git repository
13+
variable"TFC_CONFIGURATION_VERSION_GIT_COMMIT_SHA" {
14+
type=string
15+
}
16+
17+
resource"coderd_user""coder1" {
18+
username="coder1"
19+
name="Coder One"
20+
email="coder1@coder.com"
21+
}
22+
23+
resource"coderd_template""ubuntu-main" {
24+
name="ubuntu-main"
25+
description="The main template for developing on Ubuntu."
26+
versions=[
27+
{
28+
name="stable-${var.TFC_CONFIGURATION_VERSION_GIT_COMMIT_SHA}"
29+
description="The stable version of the template."
30+
directory="./stable-template"
31+
},
32+
{
33+
name="staging-${var.TFC_CONFIGURATION_VERSION_GIT_COMMIT_SHA}"
34+
description="The staging version of the template."
35+
directory="./staging-template"
36+
}
37+
]
38+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
terraform {
2+
required_providers {
3+
coderd={
4+
source="coder/coderd"
5+
}
6+
}
7+
}
8+
9+
// Provider populated from environemnt variables
10+
provider"coderd" {}
11+
12+
// Create a bot user for Jenkins
13+
resource"coderd_user""jenkins" {
14+
username="jenkins"
15+
name="Jenkins CI/CD"
16+
email="ci@example.com"
17+
roles=["template-admin"]
18+
login_type="none"
19+
}
20+
21+
// Keep the password of a user account up to date from an external source
22+
resource"coderd_user""audit" {
23+
username="auditor"
24+
name="Auditor"
25+
email="security@example.com"
26+
roles=["auditor"]
27+
login_type="password"
28+
password=data.vault_password.auditor.value
29+
}
30+
31+
// Ensure the admin account is suspended
32+
resource"coderd_user""admin" {
33+
username="admin"
34+
suspended=true
35+
}

‎internal/provider/group_data_source.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func (d *GroupDataSource) Metadata(ctx context.Context, req datasource.MetadataR
5656

5757
func (d*GroupDataSource)Schema(ctx context.Context,req datasource.SchemaRequest,resp*datasource.SchemaResponse) {
5858
resp.Schema= schema.Schema{
59-
MarkdownDescription:"An existing group on thecoder deployment.",
59+
MarkdownDescription:"An existing group on theCoder deployment.",
6060

6161
Attributes:map[string]schema.Attribute{
6262
"id": schema.StringAttribute{

‎internal/provider/organization_data_source.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,11 @@ func (d *OrganizationDataSource) Metadata(ctx context.Context, req datasource.Me
4646

4747
func (d*OrganizationDataSource)Schema(ctx context.Context,req datasource.SchemaRequest,resp*datasource.SchemaResponse) {
4848
resp.Schema= schema.Schema{
49-
MarkdownDescription:"An existing organization on the coder deployment.",
49+
MarkdownDescription:`An existing organization on the Coder deployment.
50+
51+
~> **Warning**
52+
This data source is only compatible with Coder version [2.13.0](https://github.com/coder/coder/releases/tag/v2.13.0) and above.
53+
`,
5054

5155
Attributes:map[string]schema.Attribute{
5256
"id": schema.StringAttribute{

‎internal/provider/user_data_source.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (d *UserDataSource) Metadata(ctx context.Context, req datasource.MetadataRe
5050

5151
func (d*UserDataSource)Schema(ctx context.Context,req datasource.SchemaRequest,resp*datasource.SchemaResponse) {
5252
resp.Schema= schema.Schema{
53-
MarkdownDescription:"An existing user on thecoder deployment",
53+
MarkdownDescription:"An existing user on theCoder deployment",
5454

5555
// Validation handled by ConfigValidators
5656
Attributes:map[string]schema.Attribute{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp