- Notifications
You must be signed in to change notification settings - Fork925
docs: add new doc on how to deploy Coder on Rancher#16534
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
Merged
Uh oh!
There was an error while loading.Please reload this page.
Merged
Changes fromall commits
Commits
Show all changes
10 commits Select commitHold shift + click to select a range
f41b95d
init rancher doc
EdwardAngert0262af7
Merge remote-tracking branch 'origin/main' into deploy-on-rancher
EdwardAngertfae0a0c
version numbers
EdwardAngert87280cf
update from gdoc
EdwardAngert735e221
Apply suggestions from code review
EdwardAngert5412a0c
values.yaml step and small edits
EdwardAngertb9edbcb
copy edit
EdwardAngert26ca647
Merge remote-tracking branch 'origin/main' into deploy-on-rancher
EdwardAngerte16a879
update icon
EdwardAngert2e8c09b
add rancher screenshot
EdwardAngertFile filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
5 changes: 5 additions & 0 deletionsdocs/images/icons/rancher.svg
Loading
Sorry, something went wrong.Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file addeddocs/images/install/coder-rancher.png
Loading
Sorry, something went wrong.Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
161 changes: 161 additions & 0 deletionsdocs/install/rancher.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,161 @@ | ||
# Deploy Coder on Rancher | ||
You can deploy Coder on Rancher as a | ||
[Workload](https://ranchermanager.docs.rancher.com/getting-started/quick-start-guides/deploy-workloads/workload-ingress). | ||
## Requirements | ||
- [SUSE Rancher Manager](https://ranchermanager.docs.rancher.com/getting-started/installation-and-upgrade/install-upgrade-on-a-kubernetes-cluster) running Kubernetes (K8s) 1.19+ with [SUSE Rancher Prime distribution](https://documentation.suse.com/cloudnative/rancher-manager/latest/en/integrations/kubernetes-distributions.html) (Rancher Manager 2.10+) | ||
- Helm 3.5+ installed | ||
- Workload Kubernetes cluster for Coder | ||
## Overview | ||
Installing Coder on Rancher involves four key steps: | ||
1. Create a namespace for Coder | ||
1. Set up PostgreSQL | ||
1. Create a database connection secret | ||
1. Install the Coder application via Rancher UI | ||
## Create a namespace | ||
Create a namespace for the Coder control plane. In this tutorial, we call it `coder`: | ||
```shell | ||
kubectl create namespace coder | ||
``` | ||
## Set up PostgreSQL | ||
Coder requires a PostgreSQL database to store deployment data. | ||
We recommend that you use a managed PostgreSQL service, but you can use an in-cluster PostgreSQL service for non-production deployments: | ||
<div class="tabs"> | ||
### Managed PostgreSQL (Recommended) | ||
For production deployments, we recommend using a managed PostgreSQL service: | ||
- [Google Cloud SQL](https://cloud.google.com/sql/docs/postgres/) | ||
- [AWS RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/) | ||
- [Azure Database for PostgreSQL](https://docs.microsoft.com/en-us/azure/postgresql/) | ||
- [DigitalOcean Managed PostgreSQL](https://www.digitalocean.com/products/managed-databases-postgresql) | ||
Ensure that your PostgreSQL service: | ||
- Is running and accessible from your cluster | ||
- Is in the same network/project as your cluster | ||
- Has proper credentials and a database created for Coder | ||
### In-Cluster PostgreSQL (Development/PoC) | ||
For proof-of-concept deployments, you can use Bitnami Helm chart to install PostgreSQL in your Kubernetes cluster: | ||
```console | ||
helm repo add bitnami https://charts.bitnami.com/bitnami | ||
helm install coder-db bitnami/postgresql \ | ||
--namespace coder \ | ||
--set auth.username=coder \ | ||
--set auth.password=coder \ | ||
--set auth.database=coder \ | ||
--set persistence.size=10Gi | ||
``` | ||
After installation, the cluster-internal database URL will be: | ||
```text | ||
postgres://coder:coder@coder-db-postgresql.coder.svc.cluster.local:5432/coder?sslmode=disable | ||
``` | ||
For more advanced PostgreSQL management, consider using the | ||
[Postgres operator](https://github.com/zalando/postgres-operator). | ||
</div> | ||
## Create the database connection secret | ||
Create a Kubernetes secret with your PostgreSQL connection URL: | ||
```shell | ||
kubectl create secret generic coder-db-url -n coder \ | ||
--from-literal=url="postgres://coder:coder@coder-db-postgresql.coder.svc.cluster.local:5432/coder?sslmode=disable" | ||
``` | ||
> [!Important] | ||
> If you're using a managed PostgreSQL service, replace the connection URL with your specific database credentials. | ||
## Install Coder through the Rancher UI | ||
EdwardAngert marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
 | ||
1. In the Rancher Manager console, select your target Kubernetes cluster for Coder. | ||
1. Navigate to **Apps** > **Charts** | ||
1. From the dropdown menu, select **Partners** and search for `Coder` | ||
1. Select **Coder**, then **Install** | ||
1. Select the `coder` namespace you created earlier and check **Customize Helm options before install**. | ||
Select **Next** | ||
1. On the configuration screen, select **Edit YAML** and enter your Coder configuration settings: | ||
<details> | ||
<summary>Example values.yaml configuration</summary> | ||
```yaml | ||
coder: | ||
# Environment variables for Coder | ||
env: | ||
- name: CODER_PG_CONNECTION_URL | ||
valueFrom: | ||
secretKeyRef: | ||
name: coder-db-url | ||
key: url | ||
# For production, uncomment and set your access URL | ||
# - name: CODER_ACCESS_URL | ||
# value: "https://coder.example.com" | ||
# For TLS configuration (uncomment if needed) | ||
#tls: | ||
# secretNames: | ||
# - my-tls-secret-name | ||
``` | ||
For available configuration options, refer to the [Helm chart documentation](https://github.com/coder/coder/blob/main/helm#readme) | ||
or [values.yaml file](https://github.com/coder/coder/blob/main/helm/coder/values.yaml). | ||
</details> | ||
1. Select a Coder version: | ||
- **Mainline**: `2.20.x` | ||
- **Stable**: `2.19.x` | ||
Learn more about release channels in the [Releases documentation](./releases.md). | ||
1. Select **Next** when your configuration is complete. | ||
1. On the **Supply additional deployment options** screen: | ||
1. Accept the default settings | ||
1. Select **Install** | ||
1. A Helm install output shell will be displayed and indicates the installation status. | ||
## Manage your Rancher Coder deployment | ||
To update or manage your Coder deployment later: | ||
1. Navigate to **Apps** > **Installed Apps** in the Rancher UI. | ||
1. Find and select Coder. | ||
1. Use the options in the **⋮** menu for upgrade, rollback, or other operations. | ||
## Next steps | ||
- [Create your first template](../tutorials/template-from-scratch.md) | ||
- [Control plane configuration](../admin/setup/index.md) |
6 changes: 6 additions & 0 deletionsdocs/manifest.json
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Oops, something went wrong.
Uh oh!
There was an error while loading.Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.