Skip to content

Commit a052493

Browse files
committed
chore: update readme, add version warnings, examples
1 parent a776da3 commit a052493

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 of Acceptance tests, run `make testacc`.
29+
### Terraform Acceptance Tests
6130

62-
*Note:* Acceptance tests create real resources, and often cost money to run.
31+
Acceptance tests are run against a live Coder deployment in a local Docker container. To run 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 the coder deployment.
6+
An existing group on the Coder deployment.
77
---
88

99
# coderd_group (Data Source)
1010

11-
An existing group on the coder deployment.
11+
An existing group on the Coder 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 the coder deployment
6+
An existing user on the Coder deployment
77
---
88

99
# coderd_user (Data Source)
1010

11-
An existing user on the coder deployment
11+
An existing user on the Coder 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+
}

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy