外部依存
| Technology | Description | License |
|---|---|---|
| Bitbucket/GitHub/GitHub Enterprise/GitLab | Source Control Management System。ユーザーはサポートしているSCMのどれか一つにアクセスできなければなりません。 | |
| Docker | executor-k8s もしくは executor-dockerで利用します。 SD in a boxを動作させるためにも必要です。 | Commercial |
| Ember.js | Screwdriver UI | MIT |
| Golang | Launcher や log-serviceはGo言語で書かれています。 | License |
| Habitat | ビルドコンテナが持つツールを最小の要求とするために、Launcherコンテナ内のcurlなどの依存関係のパッケージングに利用しています。 | Apache 2.0 |
| Hapi.js | APIやStoreといったWebサーバはHapiをベースにしています。 | License |
| Helm (Optional) | Screwdriverをk8sにデプロイするために利用しています。 | |
| HyperContainer (Optional) | Hypervisor-agnostic Docker runtime. executor-k8s-vmで利用しています。 | Apache 2.0 |
| Jenkins (Optional) | executor-jenkinsで利用しています。 | MIT |
| JWT | 認証認可で利用しています。 | MIT |
| Kubernetes | Screwdriverをexecutor-k8sを使って大規模に動作させるために利用しています。 | Apache 2.0 |
| MariaDB (Optional) | Databaseの選択肢の一つです。 | GPL Licence |
| MySQL (Optional) | Databaseの選択肢の一つです。 | GPL or Commercial |
| Node.js | ほぼ全てのアプリケーションコンポーネントははnode.jsで動作しています。 | MIT |
| Postgres (Optional) | Databaseの選択肢の一つです。 | PostgreSQL Licence |
| RabbitMQ | ビルドをビルドクラスタにキューイングするために利用しています。 | Mozilla Public License |
| Redis | ワークフローのユースケース(例えばperiodic builds)のハンドリングで利用しています。 | Three clause BSD license |
| S3 (Optional) | アーティファクトストレージの選択肢の一つです。 | Commercial |
| Sequelize | Node.jsで利用できるMulti SQL dialect ORMです。 | MIT |
| SonarQube (Optional) | coverage-sonar bookendでコード分析をするために利用しています。 | GNU V3 |
| Swagger | APIのdocumentationに利用しています。 | Apache 2.0 |
| Prometheus (Optional) | メトリクスベースのモニタリングに利用します | Apache 2.0 |
| Prometheus Pushgateway (Optional) | ビルドメトリクスの取得に利用します | Apache 2.0 |