Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 10 additions & 1 deletion deploy/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# DSS Deployment

This documentation has been moved to [interuss.github.io/dss](https://interuss.github.io/dss/dev/).
User documentation can be found at [interuss.github.io/dss](https://interuss.github.io/dss/dev/).

## Development

The following diagram represents the resources in this repository per deployment stages and their dependencies.
![Deploy Overview](../docs/assets/generated/deploy_overview.png)

### Formatting

Terraform files must be formatted using `terraform fmt -recursive` command to pass the CI linter check.
2 changes: 1 addition & 1 deletion docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ multiple organizations to each host one DSS instance that is interoperable with
each other organization's DSS instance. A DSS pool with three participating
organizations (USSs) will have an architecture similar to the diagram below.

_**Note** that the diagrams bellow shows 2 stateful sets per DSS instance. Currently, the helm and tanka deployments produce 3 stateful sets per DSS instance. However, after Issue #481 is resolved, this is expected to be reduced to 2 stateful sets._
_**Note** that the diagrams below shows 2 stateful sets per DSS instance. Currently, the helm and tanka deployments produce 3 stateful sets per DSS instance. However, after Issue #481 is resolved, this is expected to be reduced to 2 stateful sets._

### Certificates

Expand Down
26 changes: 12 additions & 14 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,19 @@

This website provides instructions to deploy the InterUSS USS to USS Discovery and Synchronization service.

An operational DSS deployment requires a specific architecture to be compliant with [standards requirements](https://github.com/interuss/dss?tab=readme-ov-file#standards-and-regulations) and meet performance expectations as described in [architecture](./architecture.md). This page describes the deployment procedures recommended by InterUSS to achieve this compliance and meet these expectations.
An operational DSS deployment requires a specific architecture to be compliant with [standards requirements](https://github.com/interuss/dss?tab=readme-ov-file#standards-and-regulations) and meet performance expectations as described in [architecture](./architecture.md).
This page describes the deployment procedures recommended by InterUSS to achieve this compliance and meet these expectations.


## Getting started

- Review [architecture requirements](architecture.md)
- Deploy a DSS instance to [Amazon Web Services (EKS)](infrastructure/aws.md) using terraform
- Deploy a DSS instance to [Google (GKE)](infrastructure/google.md) using terraform
- Deploy a DSS instance to [Google (GKE)](infrastructure/google-manual.md) manually step by step
- Deploy a DSS instance to [Minikube](infrastructure/minikube.md)

## Deployment layers
## Tooling

The deployment of a DSS instance involves 3 stages:

Expand All @@ -25,21 +28,16 @@ The deployment of a DSS instance involves 3 stages:

![Deployment layers](assets/generated/deployment_layers.png)

As described below, InterUSS provides tooling for Kubernetes deployments on Amazon Web Services (EKS) and Google Cloud (GKE).
However, you can do this on any supported [cloud provider](https://kubernetes.io/docs/concepts/cluster-administration/cloud-providers/) or even on your own infrastructure.
Review [InterUSS pooling requirements](./architecture.md#objective) and consult the Kubernetes documentation for your chosen provider.

Depending on your level of expertise and your internal organizational practices, you should be able to use each layer independently or complementary.

## Migrations and upgrades

Information related to migrations and upgrades can be found in [the migration section](operations/migrations.md).
InterUSS offers two terraform modules to deploy the **Infrastructure**:

## Development
- [Amazon Web Services](https://github.com/interuss/dss/blob/master/deploy/infrastructure/modules/terraform-aws-dss/)
- [Google Cloud Platform](https://github.com/interuss/dss/blob/master/deploy/infrastructure/modules/terraform-google-dss/)

The following diagram represents the resources in this repository per layer.
![Deploy Overview](assets/generated/deploy_overview.png)
The **Services** are deployed using the following tools:

### Formatting
- [Tanka](https://github.com/interuss/dss/blob/master/deploy/services/tanka/)
- [Helm Chart](https://github.com/interuss/dss/blob/master/deploy/services/helm-charts/dss)

Terraform files must be formatted using `terraform fmt -recursive` command to pass the CI linter check.
See [Operate a DSS instance](operations/index.md) for more information on tools to perform the **Operations**.
24 changes: 20 additions & 4 deletions docs/infrastructure/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,18 @@
# Getting started
# Introduction

This section describes how to deploy a DSS instance on Kubernetes.

## Deployment Options

The DSS can be deployed on various platforms. Choose the method that best facilitates your needs:

| Platform | Tools | Description |
| :--- | :--- | :--- |
| **Amazon Web Services** | Terraform | [Deploy on AWS using Terraform](aws.md) to provision EKS and required resources. |
| **Google Cloud Platform** | Terraform | [Deploy on GCP using Terraform](google.md) to provision GKE and required resources. |
| **Google Cloud Platform** | Manual | [Deploy on GCP manually](google-manual.md) without Terraform. |
| **Locally** | Minikube | [Deploy locally using Minikube](minikube.md) for development and testing. |


## Glossary

Expand Down Expand Up @@ -30,7 +44,8 @@ Download & install the following tools to your workstation:
- Confirm successful installation with `tk --version`
- [Install Docker](https://docs.docker.com/get-docker/).
- Confirm successful installation with `docker --version`
- [Install CockroachDB](https://www.cockroachlabs.com/get-cockroachdb/) to
- If using CockroachDB as the datastore,
[install CockroachDB](https://www.cockroachlabs.com/get-cockroachdb/) to
generate CockroachDB certificates.
- These instructions assume CockroachDB Core.
- You may need to run `sudo chmod +x /usr/local/bin/cockroach` after
Expand Down Expand Up @@ -86,7 +101,7 @@ endpoint.

### Access to private repository

See below the description of `VAR_DOCKER_IMAGE_PULL_SECRET` to configure authentication.
See the description of `VAR_DOCKER_IMAGE_PULL_SECRET` to configure authentication [on the manual step by step guide](google-manual.md).

### Verify signature of prebuilt InterUSS Docker images

Expand All @@ -100,4 +115,5 @@ cosign verify "docker.io/interuss/dss:latest" \
--certificate-identity-regexp="https://github.com/interuss/dss/.github/workflows/dss-publish.yml@refs/*" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
```
Adapt the version specified if required.

Adapt the version specified if required.
2 changes: 0 additions & 2 deletions docs/operations/pooling.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,6 @@ following those instructions.
- use_client_to_server_encryption enabled
- node_to_node_encryption_use_client_certificates enabled
- allow_insecure_connections disabled
- The ordering of the `--locality` flag keys must be the same across all
CockroachDB nodes in the cluster.
- All DSS instances in the same cluster must point their ntpd at the same NTP
Servers.

Expand Down
Loading