@@ -34,47 +34,15 @@ Templates often contain _parameters_. In Coder, there are two types of parameter
34
34
to each workspace, often personalization settings such as "preferred region"
35
35
or "workspace image".
36
36
37
- ## Best Practices
37
+ ## Change Management
38
38
39
- ### Template Changes
39
+ We recommend source controlling your templates as you would other code.
40
40
41
- We recommend source controlling your templates.
42
-
43
- ### Authentication & Secrets
44
-
45
- <blockquote class =" danger " >
46
- <p >
47
- Do not store secrets in templates. Assume every user has cleartext access
48
- to every template.
49
- </p >
50
- </blockquote >
51
-
52
- Coder's provisioner process needs to authenticate with cloud provider APIs to provision
53
- workspaces. You can either pass credentials to the provisioner as parameters or execute Coder
54
- in an environment that is authenticated with the cloud provider.
55
-
56
- We encourage the latter where supported. This approach simplifies the template, keeps cloud
57
- provider credentials out of Coder's database (making it a less valuable target for attackers),
58
- and is compatible with agent-based authentication schemes (that handle credential rotation
59
- and/or ensure the credentials are not written to disk).
60
-
61
- Cloud providers for which the Terraform provider supports authenticated environments include:
62
-
63
- - [ Google Cloud] ( https://registry.terraform.io/providers/hashicorp/google/latest/docs )
64
- - [ Amazon Web Services] ( https://registry.terraform.io/providers/hashicorp/aws/latest/docs )
65
- - [ Microsoft Azure] ( https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs )
66
- - [ Kubernetes] ( https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs )
67
-
68
- Additional providers may be supported; check the
69
- [ documentation of the Terraform provider] ( https://registry.terraform.io/browse/providers ) for
70
- details.
71
-
72
- The way these generally work is via the credentials being available to Coder either in some
73
- well-known location on disk (e.g. ` ~/.aws/credentials ` for AWS on posix systems), or via
74
- environment variables. It is usually sufficient to authenticate using the CLI or SDK for the
75
- cloud provider before running Coder for this to work, but check the Terraform provider
76
- documentation for details.
41
+ CI is as simple as running ` coder templates update ` with the appropriate
42
+ credentials.
77
43
78
44
---
79
45
80
46
Next: [ Workspaces] ( ./workspaces.md )
47
+
48
+ Next: [ Authentication & Secrets] ( ./authentication.md )
0 commit comments