Distribution tech stack
This document lists the technologies used by the Distribution team, what they are used for, and best practices for each within Distribution.
Also see internal infrasturcture and tools for specific infrastructure and tools.
Use cases: Services and applications
- Adhere to the Sourcegraph Go style guide
Use cases: Complex automation and scripting
- We use Deno as our Typescript runtime instead of Node
- Typescript is not a core part of our expertise, so Deno takes care of tooling and formatting
- Adhere to
deno fmt, add a CI workflow that validates the result of
deno fmt --check
- Avoid using third-party dependencies (try to stick to the standard library)
- Scripts should be executable (
chmod +x) and have some variation of
#!/usr/bin/env deno runas the sha-bang
Use cases: Simple automation and scripting
- Adhere to the Sourcegraph Bash style guide
Use cases: Infrastructure provisioning
- Adhere to the Sourcegraph Terraform style guide
Use cases: Deploying services
Use cases: Providing configuration for our deployment types (work in progress).