- Notifications
You must be signed in to change notification settings - Fork928
docs: API tokens & CI automation#4510
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes fromall commits
8b6f2c2
c9d4298
c27b289
5a0d820
c065ddd
463f884
File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -67,7 +67,7 @@ func createToken() *cobra.Command { | ||
cmd.Println(cliui.Styles.Code.Render(strings.TrimSpace(res.Key))) | ||
cmd.Println() | ||
cmd.Println(cliui.Styles.Wrap.Render( | ||
fmt.Sprintf("You can use this token by setting the --%s CLI flag, the %s environment variable, or the %q HTTP header.", varToken, envSessionToken, codersdk.SessionCustomHeader), | ||
bpmct marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
)) | ||
return nil | ||
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Automation | ||
We recommend automating Coder deployments through the CLI. Examples include [updating templates via CI/CD pipelines](../templates/change-management.md). | ||
## Tokens | ||
Long-lived tokens can be generated to perform actions on behalf of your user account: | ||
```sh | ||
coder tokens create | ||
``` | ||
## CLI | ||
You can use tokens with the CLI by setting the `--token` CLI flag or the `CODER_SESSION_TOKEN` | ||
environment variable. | ||
```sh | ||
export CODER_URL=https://coder.example.com | ||
export CODER_SESSION_TOKEN=***** | ||
coder workspaces ls | ||
``` | ||
## REST API | ||
You can use tokens with the Coder's REST API using the `Coder-Session-Token` HTTP header. | ||
```sh | ||
curl 'https://dev.coder.com/api/v2/workspaces' \ | ||
-H 'Coder-Session-Token: *****' | ||
``` | ||
> At this time, we do not publish an API reference. However, [codersdk](https://github.com/coder/coder/tree/main/codersdk) can be grepped to find the necessary routes and payloads. | ||
## Golang SDK | ||
Coder publishes a public [Golang SDK](https://pkg.go.dev/github.com/coder/coder@main/codersdk) for Coder. This is consumed by the [CLI package](https://github.com/coder/coder/tree/main/cli). |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# Template Change Management | ||
We recommend source controlling your templates as you would other code. [Install Coder](../install/) in CI/CD pipelines to push new template versions. | ||
```sh | ||
# Install the Coder CLI | ||
curl -L https://coder.com/install.sh | sh | ||
# curl -L https://coder.com/install.sh | sh -s -- --version=0.x | ||
# To create API tokens, use `coder tokens create`. | ||
# These variables are consumed by Coder | ||
export CODER_URL=https://coder.example.com | ||
export CODER_SESSION_TOKEN=***** | ||
# Template details | ||
export CODER_TEMPLATE_NAME=kubernetes | ||
export CODER_TEMPLATE_DIR=.coder/templates/kubernetes | ||
export CODER_TEMPLATE_VERSION=$(git rev-parse --short HEAD) | ||
coder templates push --yes $CODER_TEMPLATE_NAME \ | ||
--directory $CODER_TEMPLATE_DIR \ | ||
--name=$CODER_TEMPLATE_VERSION # Version name is optional | ||
``` | ||
Comment on lines +3 to +23 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others.Learn more. I'm really bought into this being the way we suggest customers manage these - at least until we hear feedback otherwise. |