Overview
DeepSource Enterprise Server is the self-hosted version of DeepSource for customers who have compliance or security needs that require them to operate within their firewall, in a private cloud (AWS, GCP, Azure), or in a data center. DeepSource Enterprise Server can be setup in approximately 20 minutes.
Enterprise Server provides the same features as DeepSource’s cloud offering, but operates within your private cloud.
Note: A license key is required for on-premise deployments. Please schedule a demo with us to setup a pilot.
Installation
DeepSource Enterprise can be installed either in a Standalone Cluster or into an Existing Kubernetes Cluster.
Standalone
The standalone installation method is the quickest to install DeepSource Enterprise Server. If you have the required permissions, you should be able to run your first analysis within 20 minutes. No prior knowledge of bootstrapping Kubernetes is required for this method as it has an embedded, production-ready Kubernetes disribution packaged with it.
Note: For pilot deployments, we recommend using a standalone cluster for a quick installation.
You can follow this document for more detailed instructions on setting up a standalone cluster.
Existing K8s Cluster
DeepSource Enteprise Server can be installed into your existing Kubernetes cluster. Existing cluster installation method is recommended if you already have a Kubernetes cluster running in production and would like to deploy DeepSource Enterprise Server to it. You can follow this document for more detailed instructions on setting up a standalone cluster.
Architecture
Core Services
| Service/Component | Description | |
|---|---|---|
| bifrost | Frontend server | |
| asgard-api | Backend for the DeepSource GraphQL API service. | |
| asgard-celery-* | Celery worker pools for asynchronous tasks. | |
| atlas | Orchestrator service that integrates with Kubernetes control plane for analysis, trasnsformer and autofix jobs. | |
| janus | Websocket server for realtime notifcations. | |
| mater | Watches for webhook failures from Github and retries them. | |
| minio | Object storage | |
| pgbouncer | Connection pooler for PostgreSQL database connections. | |
| RabbitmQ | Message queue. | |
| Redis | Cache database |
KOTS Services
| Service/Component | Description |
|---|---|
| kotsadm | Admin console |
| kurl-proxy | Proxy service for kotsadm. |
| kotsadm-minio | This is used for caching container images. |
| kotsadm-postgres | PostgreSQL database service for KOTS admin console. |