Skip to content

Add documentation for OpenShift #470

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 our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Jul 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,16 @@ updates:
commit-message:
prefix: "chore"
ignore:
# These actions deliver the latest versions by updating the
# major release tag, so handle updates manually
# These actions deliver the latest versions by updating the major
# release tag, so ignore minor and patch versions
- dependency-name: "actions/*"
update-types:
- version-update:semver-minor
- version-update:semver-patch
- dependency-name: "marocchino/sticky-pull-request-comment"
update-types:
- version-update:semver-minor
- version-update:semver-patch

- package-ecosystem: "npm"
directory: "/"
Expand All @@ -21,7 +27,10 @@ updates:
time: "06:00"
timezone: "America/Chicago"
ignore:
# Ignore major updates to Node.js types, because they need to
# correspond to the Node.js engine version
- dependency-name: "@types/node"
versions: ["15.x", "14.x", "13.x"]
update-types:
- version-update:semver-major
commit-message:
prefix: "chore"
14 changes: 14 additions & 0 deletions admin/devurls.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,3 +94,17 @@ deployment will be accessible to any authenticated Coder user.
The developer, however, can choose to set a stricter permission level (e.g.,
allowing only those in their organization to use the dev URL). Developers cannot
choose a more permissive option.

## Authentication with apps requiring a single callback URL

If you're using GitHub credentials to sign in to an application, and your GitHub
OAuth app has the authorization callback URL set to `localhost`, you will need
to work around the fact that GitHub enforces a single callback URL (since each
workspace gets a unique dev URL).

To do so, you can either:

- Use SSH tunneling to tunnel the web app to individual developers' `localhost`
instead of dev URLs (this is also an out-of-the-box feature included with VS
Code Remote)
- Use this workaround for [multiple callback sub-URLs](https://stackoverflow.com/questions/35942009/github-oauth-multiple-authorization-callback-url/38194107#38194107)
18 changes: 9 additions & 9 deletions admin/templates.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
---
title: Templates
description: Learn how to manage your workspaces as code templates.
description: Learn how to manage your workspace templates.
---

The **Templates** tab features options that control the behavior of workspace
templates, which are the basis of [workspaces as code](../workspaces/workspaces-as-code/index.md).
The **Templates** tab features options that control the behavior of
[workspace templates](../workspaces/workspace-templates/index.md).

## Enabling workspaces as code
## Enabling workspace templates

By default, workspaces as code is an opt-in feature. The **Enable using
By default, workspace templates is an opt-in feature. The **Enable using
Workspace Templates** toggle allows you to enable or disable the creation of
[workspaces](../workspaces/index.md) using predefined templates located in Git
repositories.

To enable workspaces as code, go to **Admin > Templates** and set **Enable using
Workspace Templates** to **On**.
To enable workspace templates, go to **Admin > Templates** and set **Enable
using Workspace Templates** to **On**.

![Toggle workspaces as code](../assets/admin/wac_toggle.png)
![Toggle workspace templates](../assets/admin/wac_toggle.png)

## Template policy

Expand Down Expand Up @@ -82,7 +82,7 @@ defined by the template policy.

The **Embeddable Button** section features a form you can use for generating an
embeddable button. This button makes it easy for developers to use your
[workspace template](../workspaces/workspaces-as-code/index.md).
[workspace template](../workspaces/workspace-templates/index.md).

To create your button:

Expand Down
6 changes: 3 additions & 3 deletions admin/workspace-management/cvms.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,11 @@ Google, Azure, and Amazon to support CVMs.
To use CVMs with GKE, [create a cluster](../../setup/kubernetes/google.md) using
the following parameters:

- GKE Master version `>= 1.17`
- `node-version >= 1.17`
- GKE Master version `latest`
- `node-version = "latest"`
- `image-type = "UBUNTU"`

You can also provide `latest` instead of specific version numbers. For example:
For example:

```console
gcloud beta container clusters create "YOUR_NEW_CLUSTER" \
Expand Down
Binary file added assets/workspaces/status-chip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/workspaces/workspace-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions changelog/1.17.2.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ There are no breaking changes in 1.17.2.

### Features ✨

- Workspaces as code (**WAC**): Workspaces as code (WAC) brings the
_infrastructure as code_ paradigm to Coder environments. WAC allows you to
define and create new environments using **workspace templates**.
- Workspace templates: Workspace templates brings the _infrastructure as code_
paradigm to Coder environments by allowing you to define and create new
environments using YAML templates.
- web: New page available via **Admin** > **Templates** for creating an
embeddable quickstart button.
- web: New options available when clicking **New Environment** from the
Expand Down
6 changes: 3 additions & 3 deletions changelog/1.17.3.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ description: "Released on 04/09/2021"

### Breaking changes ❗

- infra: Removed `tolerations` from workspaces as code templates.
- infra: Removed `tolerations` from workspace templates.

### Features ✨

- web: Added a toggle to enable/disable workspaces as code on the **Manage >
Admin > Templates** page. Disabling workspaces as code has the following
- web: Added a toggle to enable/disable workspace templates on the **Manage >
Admin > Templates** page. Disabling workspace templates has the following
impact:
- New workspaces cannot be created from a template.
- Existing workspaces built from a template will continue to operate and may
Expand Down
16 changes: 8 additions & 8 deletions changelog/1.18.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,20 @@ description: "Released on 04/21/2021"

### Features ✨

- web: Added the ability to specify a workspaces as code template filepath other
than the default _coder.yaml_
- web: Added the ability to specify a workspace templates filepath other than
the default _coder.yaml_
- web: Moved _built-in_ sign-in behind a toggle so that it does not display when
OIDC is configured for authentication
- web: Updated color scheme on the sign-in page
- web: Added dev URL support in workspaces as code templates
- web: Added admin toggle for workspaces as code feature
- web: Added Bitbucket Server support for workspaces as code
- web: Added dev URL support in workspace templates
- web: Added admin toggle for workspace templates feature
- web: Added Bitbucket Server support for workspace templates
- infra: Added `CODER_WP_NAME` environment variable to workspaces
- cli: Added ability to cordon and uncordon workspace providers which will
allow/disallow new workspaces from being provisioned on a specific provider
- cli: Added ability to rename workspace providers
- web: Improved error notifications with additional details and resolutions.
Added _Tip_, _Error Type_, and enumerations for workspaces as code errors.
Added _Tip_, _Error Type_, and enumerations for workspace templates errors.
- infra: Added a background job to update templates
- web: Added a workspace status indicator in the **Switch Workspace** selector
- web: Added a tooltip with an error message for workspace status indicators
Expand All @@ -39,8 +39,8 @@ description: "Released on 04/21/2021"
**Open in Coder** buttons
- web: Fixed the inability to delete an empty organization while workspaces were
awaiting deletion in the background
- web: Improved error messages regarding attempts to import a workspaces as code
template from a repository using an SSH URI
- web: Improved error messages regarding attempts to import a workspace template
from a repository using an SSH URI
- infra: Fixed a bug that had allowed updates to be made to workspaces created
from local template

Expand Down
12 changes: 6 additions & 6 deletions changelog/1.19.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ description: "Released on 05/19/2021"
- infra: Workspace assets created by Coder that were previously located at
`/opt/coder`, such as code-server and coder-cli, have been moved to
`/var/tmp/coder`
- infra: Workspaces as code templates have been updated from version _0.1_ to
_0.2_. Existing workspaces using version _0.1_ templates can be rebuilt,
but no new workspaces can be created using the old format.
- web: The workspace as code _Open in Coder_ embeddable button flow no longer
- infra: Workspace templates have been updated from version _0.1_ to _0.2_.
Existing workspaces using version _0.1_ templates can be rebuilt, but no new
workspaces can be created using the old format.
- web: The workspace templates _Open in Coder_ embeddable button flow no longer
includes a _clone_ step; buttons created from prior versions will still work,
but Coder will not clone the project. To automate project cloning, use
[`workspace.configure.start`](../workspaces/workspaces-as-code/templates.md#workspaceconfigurestart)
- web: The embedded form for workspaces as code located at **Manage** >
[`workspace.configure.start`](../workspaces/workspace-templates/templates.md#workspaceconfigurestart)
- web: The embedded form for workspace templates located at **Manage** >
**Admin** > **Templates** no longer uses the following fields: **Project
Repository URL** and **Project Git Service**

Expand Down
4 changes: 2 additions & 2 deletions changelog/1.20.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ There are no breaking changes in 1.20.0.
the provided default.
- web: Added the `node-selector`, `tolerations`, and `annotations` fields to
workspace templates.
- other: Added a new JSON schema for writing Coder workspace as code templates
with code completion and syntax checking.
- other: Added a new JSON schema for writing Coder workspace templates with code
completion and syntax checking.
- web: Added a service banner that's displayed to all users of the system. The
message can be used with existing messages. It can be dismissed by each user
at any point and will not be shown again until there is a new message.
Expand Down
104 changes: 104 additions & 0 deletions getting-started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
title: "Getting started"
description: Get started with Coder.
icon: '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 16 16" width="16" xml:space="preserve"><path d="M1 2a1 1 0 0 1 1-1h11a1 1 0 0 1 1 1v1h.5A1.5 1.5 0 0 1 16 4.5v7a1.5 1.5 0 0 1-1.5 1.5h-.55a2.5 2.5 0 0 1-2.45 2h-8A2.5 2.5 0 0 1 1 12.5V2zm13 10h.5a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.5-.5H14v8z"/></svg>'
---

We’re excited for you to be part of the growing community of Coder users, and we
wanted to provide an onboarding guide to ensure you have a great experience.
Coder’s [documentation is publicly editable](https://github.com/cdr/docs),
so please feel free to contribute and provide feedback as you desire.

## Setup and deploy Coder

To get started with Coder, you’ll need to [deploy Coder](./setup/index.md) to a
Kubernetes cluster. We have documentation to help you [create a
cluster](./setup/kubernetes/index.md) if needed. Once you have a cluster, you
can [install Coder via Helm](./setup/installation.md).

## Configure Coder

After you deploy Coder, you’ll need to [upload your license
file](./setup/configuration.md) before you can configure the application (you
can get a trial license for free [here](https://coder.com/trial)). Once logged
in, you’ll be able to access the [administration management](./admin/index.md)
menu to set up things such as [access
controls](./admin/access-control/index.md) with OpenID Connect (OIDC),
[create organizations](./admin/organizations.md), and create an OAuth app for
your users to [connect to your Git provider](./admin/git.md).

At a minimum, you’ll want to ensure you [add a container
registry](./admin/registries/index.md) for your development environments to pull
from, and [import an image](./images/importing.md) with the tools your
developers need. You can [create custom
images](./guides/customization/custom-workspace.md) for your developer
workspaces as well.

## Provision users

With some base configuration done, you’ll want to allow your developers to begin
using Coder. You can manually create and invite users, or you can set up OpenID
Connect (OIDC) with [Azure AD](./guides/admin/oidc-azuread.md) or
[Okta](./guides/admin/oidc-okta.md). If you are using another Identity Provider
(IdP), the process should be very similar. With OIDC configured, Coder will
automatically create a user and add them to the [default
organization](./admin/organizations.md) when a developer logs in for the first
time.

## Automate

Coder has a [command-line (CLI) tool](./cli/index.md) that you and your
developers may be interested in using to interact with Coder. The CLI is
completely [open-sourced](https://github.com/cdr/coder-cli), and we always
welcome contributions. Additionally, Coder has a [public API](./guides/api.md)
that you can use to automate various tasks through code.

## Connect local IDEs

While Coder supports a [variety of IDEs in the
browser](https://coder.com/docs/coder/v1.20/workspaces/editors), such as VSCode
and the JetBrains product suite, some developers may want to use their local
installation of these tools or other IDEs with Coder. By leveraging the [Coder
CLI](./cli/index.md), developers will be able to [connect their
terminal](./cli/remote-terminal.md) to the remote environment’s terminal, and
enable [file sync](./cli/file-sync.md) to have their local directory’s tree sync
with the remote file system.

## Maintain and update

Coder maintains a public [changelog](./changelog/index.md) and [release
calendar](https://coder.com/release-calendar.ical) to help you stay in the know
on features, bug fixes, security updates, and breaking changes that are coming.
Coder releases are available on the third Wednesday of each month, and patch
releases are published and available as needed.

## Interact with Support

Coder’s standard support is included with your license. You can reach us at
[support@coder.com](mailto:support@coder.com), and one of our engineers will be
able to assist. Please include any relevant logs, error messages, or
screenshots.

Coder also has a [public community Slack](https://cdr.co/join-community) you can
join if you’d like.

Finally, Coder offers premium support through Coder Escalation Services, which
provides a faster response Service-Level Agreement (SLA). Speak to your account
executive if you’re interested in this option.

## Additional information

There are a variety of ways to follow Coder to stay up-to-date on company
updates, whitepapers, blog posts, and more.

- [Coder Blog](https://coder.com/blog)
- [Videos about Coder](https://coder.com/resources/videos)
- [Whitepapers](https://coder.com/resources/whitepapers)
- Social media accounts such as
[LinkedIn](https://www.linkedin.com/company/coderhq),
[YouTube](https://www.youtube.com/channel/UCWexK_ECcUU3vEIdb-VYkfw),
[Twitter](https://twitter.com/coderhq), and others

Finally, we encourage you to look through the various
[Guides](./guides/index.md) in our public documentation, as it contains more
detailed information on specific use cases and topics.
8 changes: 2 additions & 6 deletions guides/ssl-certificates/cloudflare.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,14 @@ you can enable HTTPS on your Coder deployment.

You must have:

- A Kubernetes cluster (v1.15 or greater) with internet connectivity
- A Kubernetes cluster [meeting Coder's
requirements](../../setup/kubernetes/index.md) with internet connectivity
- kubectl with patch version
[greater than v1.18.8, v1.17.11, or v1.16.14](https://cert-manager.io/docs/installation/upgrading/upgrading-0.15-0.16/#issue-with-older-versions-of-kubectl)

## Step 1: Add cert-manager to your Kubernetes cluster

```console
# Kubernetes 1.16+
$ kubectl apply --validate=false -f \
https://github.com/jetstack/cert-manager/releases/download/v1.0.1/cert-manager.yaml

# Kubernetes <1.16
$ kubectl apply --validate=false -f \
https://github.com/jetstack/cert-manager/releases/download/v1.0.1/cert-manager-legacy.yaml
```
Expand Down
4 changes: 2 additions & 2 deletions guides/ssl-certificates/route53.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ configure your Coder hostname and dev URLs.

You must have:

- A [Kubernetes cluster](../../setup/kubernetes/index.md) (v1.17 or greater)
with internet connectivity
- A Kubernetes cluster [meeting Coder's
requirements](../../setup/kubernetes/index.md) with internet connectivity
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)

You should also:
Expand Down
15 changes: 11 additions & 4 deletions images/configure.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,18 @@ contained.

The following steps will show you how to create and use a config file.

## Step 1: Create the config file
## Step 1: Create the configure file

Using the text editor of your choice, create a file named `configure` and add
the instructions that you want included. For example, the following file shows
how you can clone a repo at build time:
Using the text editor of your choice, create a file named `configure` and make
it executable:

```console
touch configure
chmod +x configure
```

Next, add the instructions that you want included. For example, the following
file shows how you can clone a repo at build time:

```console
#!/bin/bash
Expand Down
12 changes: 9 additions & 3 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@
}
]
},
{
"path": "getting-started.md"
},
{
"path": "./workspaces/index.md",
"children": [
Expand Down Expand Up @@ -55,13 +58,13 @@
"path": "./workspaces/ssh.md"
},
{
"path": "./workspaces/workspaces-as-code/index.md",
"path": "./workspaces/workspace-templates/index.md",
"children": [
{
"path": "./workspaces/workspaces-as-code/templates.md"
"path": "./workspaces/workspace-templates/templates.md"
},
{
"path": "./workspaces/workspaces-as-code/code-completion.md"
"path": "./workspaces/workspace-templates/code-completion.md"
}
]
}
Expand Down Expand Up @@ -139,6 +142,9 @@
},
{
"path": "./setup/kubernetes/google.md"
},
{
"path": "./setup/kubernetes/openshift.md"
}
]
},
Expand Down
Loading