2ba4a62a0d
* feat: HA tailnet coordinator * fixup! feat: HA tailnet coordinator * fixup! feat: HA tailnet coordinator * remove printlns * close all connections on coordinator * impelement high availability feature * fixup! impelement high availability feature * fixup! impelement high availability feature * fixup! impelement high availability feature * fixup! impelement high availability feature * Add replicas * Add DERP meshing to arbitrary addresses * Move packages to highavailability folder * Move coordinator to high availability package * Add flags for HA * Rename to replicasync * Denest packages for replicas * Add test for multiple replicas * Fix coordination test * Add HA to the helm chart * Rename function pointer * Add warnings for HA * Add the ability to block endpoints * Add flag to disable P2P connections * Wow, I made the tests pass * Add replicas endpoint * Ensure close kills replica * Update sql * Add database latency to high availability * Pipe TLS to DERP mesh * Fix DERP mesh with TLS * Add tests for TLS * Fix replica sync TLS * Fix RootCA for replica meshing * Remove ID from replicasync * Fix getting certificates for meshing * Remove excessive locking * Fix linting * Store mesh key in the database * Fix replica key for tests * Fix types gen * Fix unlocking unlocked * Fix race in tests * Update enterprise/derpmesh/derpmesh.go Co-authored-by: Colin Adler <colin1adler@gmail.com> * Rename to syncReplicas * Reuse http client * Delete old replicas on a CRON * Fix race condition in connection tests * Fix linting * Fix nil type * Move pubsub to in-memory for twenty test * Add comment for configuration tweaking * Fix leak with transport * Fix close leak in derpmesh * Fix race when creating server * Remove handler update * Skip test on Windows * Fix DERP mesh test * Wrap HTTP handler replacement in mutex * Fix error message for relay * Fix API handler for normal tests * Fix speedtest * Fix replica resend * Fix derpmesh send * Ping async * Increase wait time of template version jobd * Fix race when closing replica sync * Add name to client * Log the derpmap being used * Don't connect if DERP is empty * Improve agent coordinator logging * Fix lock in coordinator * Fix relay addr * Fix race when updating durations * Fix client publish race * Run pubsub loop in a queue * Store agent nodes in order * Fix coordinator locking * Check for closed pipe Co-authored-by: Colin Adler <colin1adler@gmail.com> |
||
---|---|---|
.devcontainer | ||
.github | ||
.vscode | ||
agent | ||
buildinfo | ||
cli | ||
cmd | ||
coderd | ||
codersdk | ||
cryptorand | ||
docs | ||
dogfood | ||
enterprise | ||
examples | ||
helm | ||
provisioner | ||
provisionerd | ||
provisionersdk | ||
pty | ||
scripts | ||
site | ||
tailnet | ||
testutil | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.golangci.yaml | ||
ADOPTERS.md | ||
Dockerfile | ||
LICENSE | ||
LICENSE.enterprise | ||
Makefile | ||
README.md | ||
coder.env | ||
coder.service | ||
docker-compose.yaml | ||
flake.lock | ||
flake.nix | ||
go.mod | ||
go.sum | ||
install.sh | ||
preinstall.sh | ||
shell.nix | ||
yarn.lock |
README.md
Coder
Coder creates remote development machines so your team can develop from anywhere.
Manage less
- Ensure your entire team is using the same tools and resources
- Rollout critical updates to your developers with one command
- Automatically shut down expensive cloud resources
- Keep your source code and data behind your firewall
Code more
- Build and test faster
- Leveraging cloud CPUs, RAM, network speeds, etc.
- Access your environment from any place on any client (even an iPad)
- Onboard instantly then stay up to date continuously
Getting Started
Note: Coder is in a beta state. Report issues here.
The easiest way to install Coder is to use our install script for Linux and macOS.
To install, run:
curl -L https://coder.com/install.sh | sh
You can preview what occurs during the install process:
curl -L https://coder.com/install.sh | sh -s -- --dry-run
You can modify the installation process by including flags. Run the help command for reference:
curl -L https://coder.com/install.sh | sh -s -- --help
See install for additional methods.
Once installed, you can start a production deployment1 with a single command:
# Automatically sets up an external access URL on *.try.coder.app
coder server
# Requires a PostgreSQL instance and external access URL
coder server --postgres-url <url> --access-url <url>
1 The embedded database is great for trying out Coder with small deployments, but do consider using an external database for increased assurance and control.
Use coder --help
to get a complete list of flags and environment variables. Use our quickstart guide for a full walkthrough.
Documentation
Visit our docs here.
Comparison
Please file an issue if any information is out of date. Also refer to: What Coder is not.
Tool | Type | Delivery Model | Cost | Environments |
---|---|---|---|---|
Coder | Platform | OSS + Self-Managed | Pay your cloud | All Terraform resources, all clouds, multi-architecture: Linux, Mac, Windows, containers, VMs, amd64, arm64 |
code-server | Web IDE | OSS + Self-Managed | Pay your cloud | Linux, Mac, Windows, containers, VMs, amd64, arm64 |
Coder (Classic) | Platform | Self-Managed | Pay your cloud + license fees | Kubernetes Linux Containers |
GitHub Codespaces | Platform | SaaS | 2x Azure Compute | Linux containers |
Last updated: 5/27/22
Community and Support
Join our community on Discord and Twitter!
Suggest improvements and report problems
Contributing
If you're using Coder in your organization, please try to add your company name to the ADOPTERS.md. It really helps the project to gain momentum and credibility. It's a small contribution back to the project with a big impact.
Read the contributing docs.
Find our list of contributors here.