I think the feature stages page should be co-located with releases and not at the entrance of the docs. [preview](https://coder.com/docs/@move-feature-stages/install/releases/feature-stages) --------- Co-authored-by: EdwardAngert <17991901+EdwardAngert@users.noreply.github.com>
5.1 KiB
Deploy Coder on Rancher
You can deploy Coder on Rancher as a Workload.
Requirements
- SUSE Rancher Manager running Kubernetes (K8s) 1.19+ with SUSE Rancher Prime distribution (Rancher Manager 2.10+)
- Helm 3.5+ installed
- Workload Kubernetes cluster for Coder
Overview
Installing Coder on Rancher involves four key steps:
- Create a namespace for Coder
- Set up PostgreSQL
- Create a database connection secret
- 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
:
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:
Managed PostgreSQL (Recommended)
For production deployments, we recommend using a managed PostgreSQL service:
- Google Cloud SQL
- AWS RDS for PostgreSQL
- Azure Database for PostgreSQL
- DigitalOcean Managed 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:
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:
postgres://coder:coder@coder-db-postgresql.coder.svc.cluster.local:5432/coder?sslmode=disable
For more advanced PostgreSQL management, consider using the Postgres operator.
Create the database connection secret
Create a Kubernetes secret with your PostgreSQL connection URL:
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
-
In the Rancher Manager console, select your target Kubernetes cluster for Coder.
-
Navigate to Apps > Charts
-
From the dropdown menu, select Partners and search for
Coder
-
Select Coder, then Install
-
Select the
coder
namespace you created earlier and check Customize Helm options before install.Select Next
-
On the configuration screen, select Edit YAML and enter your Coder configuration settings:
Example values.yaml configuration
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 or values.yaml file.
-
Select a Coder version:
- Mainline:
2.20.x
- Stable:
2.19.x
Learn more about release channels in the Releases documentation.
- Mainline:
-
Select Next when your configuration is complete.
-
On the Supply additional deployment options screen:
- Accept the default settings
- Select Install
-
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:
- Navigate to Apps > Installed Apps in the Rancher UI.
- Find and select Coder.
- Use the options in the ⋮ menu for upgrade, rollback, or other operations.