External Dependencies
| Technology | Description | License |
|---|---|---|
| Bitbucket/GitHub/GitHub Enterprise/GitLab | Source Control Management System. Users must have access to one of the supported SCMs | |
| Docker | Used with executor-k8s & executor-docker. Also required for running Screwdriver with SD in a box | Commercial |
| Ember.js | Screwdriver UI | MIT |
| Golang | Launcher & log-service are written in Golang | License |
| Habitat | For packaging dependencies like curl in the Launcher container so that build containers have minimal required tooling | Apache 2.0 |
| Hapi.js | API & Store web servers are based on Hapi | License |
| Helm (Optional) | For deploying Screwdriver into k8s | Apache 2.0 |
| HyperContainer (Optional) | Hypervisor-agnostic Docker runtime. Used with executor-k8s-vm | Apache 2.0 |
| Jenkins (Optional) | Used in executor-jenkins | MIT |
| JWT | For authentication & authorization | MIT |
| Kubernetes | For running Screwdriver at scale using executor-k8s | Apache 2.0 |
| MariaDB (Optional) | One of the options for Database | GPL Licence |
| MySQL (Optional) | One of the options for Database | GPL or Commercial |
| Node.js | Most application components are running in node.js | MIT |
| Postgres (Optional) | One of the options for Database | PostgreSQL Licence |
| RabbitMQ | For queueing builds to build clusters | Mozilla Public License |
| Redis | For handling workflow use-cases(e.g.: periodic builds) | Three clause BSD license |
| S3 (Optional) | One of the options for artifact storage | Commercial |
| Sequelize | Multi SQL dialect ORM for Node.js | MIT |
| SonarQube (Optional) | For providing code analysis via coverage-sonar bookend | GNU V3 |
| Swagger | For API documentation | Apache 2.0 |
| Prometheus (Optional) | For metrics based monitoring | Apache 2.0 |
| Prometheus Pushgateway (Optional) | For build metrics | Apache 2.0 |