Skip to content

Commit

Permalink
enterprise upgrades (#33551)
Browse files Browse the repository at this point in the history
  • Loading branch information
Hesperide authored Dec 18, 2023
1 parent 22caddd commit 109ce42
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 11 deletions.
8 changes: 4 additions & 4 deletions docs/enterprise-setup/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Airbyte Enterprise
# Airbyte Self-Managed Enterprise

[Airbyte Enterprise](https://airbyte.com/product/airbyte-enterprise) is the best way to run Airbyte yourself. You get all 300+ pre-built connectors, data never leaves your environment, and Airbyte becomes self-serve in your organization with new tools to manage multiple users, and multiple teams using Airbyte all in one place.
[Airbyte Self-Managed Enterprise](https://airbyte.com/product/airbyte-enterprise) is the best way to run Airbyte yourself. You get all 300+ pre-built connectors, data never leaves your environment, and Airbyte becomes self-serve in your organization with new tools to manage multiple users, and multiple teams using Airbyte all in one place.

A valid license key is required to get started with Airbyte Enterprise. [Talk to sales](https://airbyte.com/company/talk-to-sales) to receive your license key.
A valid license key is required to get started with Airbyte Self-Managed Enterprise. [Talk to sales](https://airbyte.com/company/talk-to-sales) to receive your license key.

The following pages outline how to:
1. [Deploy Airbyte Enterprise using Kubernetes](./implementation-guide.md)
2. [Configure Okta for Single Sign-On (SSO) with Airbyte Enterprise](./sso.md)
2. [Configure Okta for Single Sign-On (SSO) with Airbyte Self-Managed Enterprise](./sso.md)

| Feature | Description |
|---------------------------|--------------------------------------------------------------------------------------------------------------|
Expand Down
14 changes: 8 additions & 6 deletions docs/enterprise-setup/implementation-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,13 @@ import TabItem from '@theme/TabItem';

# Implementation Guide

[Airbyte Enterprise](./README.md) is in an early access stage for select priority users. Once you [are qualified for an Airbyte Enterprise license key](https://airbyte.com/company/talk-to-sales), you can deploy Airbyte with the following instructions.
[Airbyte Self-Managed Enterprise](./README.md) is in an early access stage for select priority users. Once you [are qualified for a Self-Managed Enterprise license key](https://airbyte.com/company/talk-to-sales), you can deploy Airbyte with the following instructions.

Airbyte Enterprise must be deployed using Kubernetes. This is to enable Airbyte's best performance and scale. The core components \(api server, scheduler, etc\) run as deployments while the scheduler launches connector-related pods on different nodes.
Airbyte Self-Managed Enterprise must be deployed using Kubernetes. This is to enable Airbyte's best performance and scale. The core components \(api server, scheduler, etc\) run as deployments while the scheduler launches connector-related pods on different nodes.

## Prerequisites

There are three prerequisites to deploying Enterprise: installing [helm](https://helm.sh/docs/intro/install/), a Kubernetes cluster, and having configured `kubectl` to connect to the cluster.
There are three prerequisites to deploying: installing [helm](https://helm.sh/docs/intro/install/), a Kubernetes cluster, and having configured `kubectl` to connect to the cluster.

For production, we recommend deploying to EKS, GKE or AKS. If you are doing some local testing, follow the cluster setup instructions outlined [here](/deploying-airbyte/on-kubernetes-via-helm.md#cluster-setup).

Expand Down Expand Up @@ -57,7 +57,7 @@ Follow these instructions to add the Airbyte helm repository:
cp configs/airbyte.sample.yml configs/airbyte.yml
```

3. Add your Airbyte Enterprise license key to your `airbyte.yml`.
3. Add your Airbyte Self-Managed Enterprise license key to your `airbyte.yml`.

4. Add your [auth details](/enterprise-setup/sso) to your `airbyte.yml`. Auth configurations aren't easy to modify after Airbyte is installed, so please double check them to make sure they're accurate before proceeding.

Expand Down Expand Up @@ -185,7 +185,7 @@ global:
gcs:
bucket: airbyte-dev-logs # GCS bucket name that you've created.
credentials: "" ## ???
credentials: ""
credentialsJson: "" ## Base64 encoded json GCP credentials file contents
```

Expand All @@ -204,7 +204,9 @@ To access the Airbyte UI, you will need to manually attach an ingress configurat
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: enterprise-demo
name: # ingress name, example: enterprise-demo
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- host: # host, example: enterprise-demo.airbyte.com
Expand Down
101 changes: 101 additions & 0 deletions docs/enterprise-setup/upgrading-from-community.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Existing Instance Upgrades

This page supplements the [Self-Managed Enterprise implementation guide](./implementation-guide.md). It highlights the steps to take if you are currently using Airbyte Self-Managed Community, our free open source offering, and are ready to upgrade to [Airbyte Self-Managed Enterprise](./README.md).

A valid license key is required to get started with Airbyte Enterprise. [Talk to sales](https://airbyte.com/company/talk-to-sales) to receive your license key.

These instructions are for you if:
* You want your Self-Managed Enterprise instance to inherit state from your existing deployment.
* You are currently deploying Airbyte on Kubernetes.
* You are comfortable with an in-place upgrade. This guide does not dual-write to a new Airbyte deployment.

### Step 1: Update Airbyte Open Source

You must first update to the latest Open Source community release. We assume you are running the following steps from the root of the `airbytehq/airbyte-platform` cloned repo.

1. Determine your current helm release name by running `helm list`. This will now be referred to as `[RELEASE_NAME]` for the rest of this guide.
2. Upgrade to the latest Open Source community release. The output will now be refered to as `[RELEASE_VERSION]` for the rest of this guide:

```sh
helm upgrade [RELEASE_NAME] airbyte/airbyte
```

### Step 2: Configure Self-Managed Enterprise

At this step, please create and fill out the `airbyte.yml` as explained in the [Self-Managed Enterprise implementation guide](./implementation-guide.md#clone--configure-airbyte) in the `configs` directory. You should avoid making any changes to your Airbyte database or log storage at this time. When complete, you should have a completed file matching the following skeleton:

<details>
<summary>Configuring your airbyte.yml file</summary>

```yml
webapp-url: # example: localhost:8080

initial-user:
email:
first-name:
last-name:
username: # your existing Airbyte instance username
password: # your existing Airbyte instance password

license-key:

auth:
identity-providers:
- type: okta
domain:
app-name:
client-id:
client-secret:
```
</details>
### Step 3: Deploy Self-Managed Enterprise
1. You can now run the following command to upgrade your instance to Self-Managed Enterprise. If you previously included additional `values` files on your existing deployment, be sure to add these here as well:

```sh
helm upgrade [RELEASE_NAME] airbyte/airbyte \
--version [RELEASE_VERSION] \
--set-file airbyteYml=./configs/airbyte.yml \
--values ./charts/airbyte/airbyte-pro-values.yaml [... additional --values]
```

2. Once this is complete, you will need to upgrade your ingress to include the new `/auth` path. The following is a skimmed down definition of an ingress resource you could use for Self-Managed Enterprise:

<details>
<summary>Configuring your Airbyte ingress</summary>

```yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: # ingress name, example: enterprise-demo
annotations:
ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- host: # host, example: enterprise-demo.airbyte.com
http:
paths:
- backend:
service:
# format is ${RELEASE_NAME}-airbyte-webapp-svc
name: airbyte-pro-airbyte-webapp-svc
port:
number: # service port, example: 8080
path: /
pathType: Prefix
- backend:
service:
# format is ${RELEASE_NAME}-airbyte-keycloak-svc
name: airbyte-pro-airbyte-keycloak-svc
port:
number: # service port, example: 8180
path: /auth
pathType: Prefix
```

</details>

All set! When you log in, you should expect all connections, sources and destinations to be present, and configured as prior.
3 changes: 2 additions & 1 deletion docusaurus/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -490,13 +490,14 @@ module.exports = {
deployAirbyte,
{
type: "category",
label: "Airbyte Enterprise",
label: "Self-Managed Enterprise",
link: {
type: "doc",
id: "enterprise-setup/README",
},
items: [
"enterprise-setup/implementation-guide",
"enterprise-setup/upgrading-from-community",
"enterprise-setup/sso",
]
},
Expand Down

0 comments on commit 109ce42

Please sign in to comment.