docs: Generate version 2.0 of platform documentation (#68102)
## What Generates version 2.0 of the Airbyte platform documentation using Docusaurus's built-in versioning system. This creates a frozen snapshot of the current documentation that users can reference. Requested by ian.alton@airbyte.io via [Slack thread](https://airbytehq-team.slack.com/archives/D08FX8EC9L0/p1760490197805979?thread_ts=1760490197.805979). Link to Devin run: https://app.devin.ai/sessions/689693593bac44f4903f476aa17b872e ## How - Ran `pnpm run docusaurus docs:version:platform 2.0` in the docusaurus directory - This automatically: - Created `platform_versioned_docs/version-2.0/` containing a snapshot of all current platform docs - Created `platform_versioned_sidebars/version-2.0-sidebars.json` with the sidebar navigation structure - Updated `platform_versions.json` to add "2.0" to the version list - Ran prettier to format the JSON files - Verified the documentation builds successfully locally (build completed in ~3 minutes with only pre-existing broken anchor warnings) ## Review guide 1. **Verify timing**: Confirm this is the correct time to release version 2.0 of the documentation 2. **Version order**: Check `docusaurus/platform_versions.json` - verify "2.0" is first in the array (newest version first) 3. **Build verification**: Ensure CI/Vercel builds pass without errors 4. **Spot check**: Optionally review 2-3 files in `docusaurus/platform_versioned_docs/version-2.0/` to ensure content looks reasonable Note: This is a standard Docusaurus versioning operation that creates a frozen snapshot of the current "next" documentation. The generated files are extensive (500+ files) but follow Docusaurus conventions. ## User Impact Users will see version 2.0 available in the version dropdown on docs.airbyte.com. This provides a stable reference point for platform documentation at this point in time. Existing versions (1.6, 1.7, 1.8) remain unchanged. ## Can this PR be safely reverted and rolled back? - [x] YES 💚 This is an additive change that doesn't modify existing versioned docs. Reverting would simply remove version 2.0 from the version list and delete the associated documentation files. Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: ian.alton@airbyte.io <ian.alton@airbyte.io>
@@ -0,0 +1,47 @@
|
||||
---
|
||||
products: oss-enterprise, cloud-teams
|
||||
---
|
||||
|
||||
# Role-based access control (RBAC)
|
||||
|
||||
Role Based Access Control allows a user with Administrative access to apply roles to users, granting different levels of permission within an organization or workspace.
|
||||
|
||||
:::info
|
||||
**Self-Managed Enterprise** instances have an `Instance Admin` role in addition to the other roles outlined in this document. The first user who logs on to Airbyte in a Self-Managed Enterprise instance will be assigned this role. This user will have all permissions listed below for all workspaces and all organizations associated with their Enterprise account. To update this assignment, enterprise customers should contact [Airbyte support](https://support.airbyte.com/hc/en-us).
|
||||
:::
|
||||
|
||||
## Organization roles
|
||||
|
||||
When you assign an organization role, Airbyte scopes permissions to the entire organization, which includes all workspaces in that organization.
|
||||
|
||||
| Permissions | Member | Reader | Runner | Editor | Admin |
|
||||
| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :----: | :----: | :----: | :----: | :---: |
|
||||
| **Read Organization**<br /><ul><li>Read individual organizations</li></ul> | X | X | X | X | X |
|
||||
| **Create Workspace**<br /><ul><li>Create new workspace within a specified organization</li><li>Delete a workspace</li></ul> | | | | X | X |
|
||||
| **Update Organization**<br /><ul><li>Modify organization settings, including billing, PbA, SSO</li><li>Modify user roles within the organization</li></ul> | | | | | X |
|
||||
|
||||
## Workspace roles
|
||||
|
||||
In a workspace role, Airbyte scopes permissions to that specific workspace. You can override an organization role by assigning someone a higher role in a workspace. However, you can't assign a role that's more restricted than the role that person holds in the organization. For example, an organization admin must also be a workspace admin. However, an organization reader can be a workspace reader, editor, or admin.
|
||||
|
||||
| Permissions | Reader | Runner | Editor | Admin |
|
||||
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :----: | :----: | :----: | :---: |
|
||||
| **Read Workspace**<br /><ul><li>List the connections in a workspace</li><li>Read individual connections</li><li>Read workspace settings (data residency, users, connector versions, notification settings)</li></ul> | X | X | X | X |
|
||||
| **Sync Connection**<br /><ul><li>Start/cancel syncs and refreshes</li></ul> | | X | X | X |
|
||||
| **Modify Connector Settings**<br /><ul><li>Create, modify, delete sources and destinations in a workspace</li></ul> | | | X | X |
|
||||
| **Update Connection**<br /><ul><li>Modify a connection, including name, replication settings, normalization, DBT</li><li>Clear connection data</li><li>Create/Delete a connection</li><li> Create/Update/Delete connector builder connectors</li></ul> | | | X | X |
|
||||
| **Update Workspace**<br /><ul><li> Update workspace settings (data residency, users, connector versions, notification settings)</li><li> Modify workspace connector versions</li></ul> | | | | X |
|
||||
|
||||
## Best practices for assigning roles
|
||||
|
||||
- At the organization level, assign the lowest level of permission necessary.
|
||||
- At the workspace level, assign higher roles for individual workspaces as needed to override organization role within that workspace.
|
||||
- Don't assign admin roles frivolously. Once someone is an admin, you can't demote them.
|
||||
|
||||
## Setting roles
|
||||
|
||||
<Arcade id="pYZ3aHWlV4kJatJG2dJN" title="Organization Permissions" paddingBottom="calc(61.37931034482759% + 41px)" />
|
||||
|
||||
1. In the navigation bar, click **Workspace settings** or **Organization settings** > **Members**.
|
||||
|
||||
2. In the table, under **Workspace role**, click the current role and then select a new role.
|
||||
@@ -0,0 +1,133 @@
|
||||
---
|
||||
products: oss-enterprise, cloud-teams
|
||||
---
|
||||
|
||||
# RBAC Role Mapping
|
||||
|
||||
Role-Based Access Control (RBAC) role mapping allows automatic assignment of specific permissions to Airbyte users based on existing roles in your organization. It ensures users have appropriate Airbyte access without manual oversight. RBAC functionality is only available in Airbyte Teams and Self-Managed Enterprise.
|
||||
|
||||
Enabling role mapping in Airbyte requires use of the Airbyte API. The Airbyte API exposes endpoints that allow you to retrieve and update user permissions. These endpoints can be used to build automation that manages user access to different workspaces. This functionality is currently limited to the Airbyte API, and is not available in the Terraform Provider.
|
||||
|
||||
To enable the Airbyte API in Airbyte Teams or Self-Managed Enterprise, follow these [prerequisites](../enterprise-setup/api-access-config.md).
|
||||
|
||||
## Relevant API Endpoints
|
||||
|
||||
Organization-wide permissions and each set of workspace permissions each count as their own permission object. For example, if an Airbyte user is an 'Organization Member' and has 'Workspace Editor' access in 3 distinct workspaces, this user has 4 permissions in total.
|
||||
|
||||
1. [Get a list of current Airbyte users in your organization](https://reference.airbyte.com/reference/listuserswithinanorganization).
|
||||
2. [Get a list of current Airbyte workspaces](https://reference.airbyte.com/reference/listworkspaces).
|
||||
2. [Create a permission for an Airbyte user to access to a new workspace](https://reference.airbyte.com/reference/createpermission).
|
||||
3. [Get a list of a user's current permissions](https://reference.airbyte.com/reference/listpermissions).
|
||||
3. [Modify permission scope or level of access](https://reference.airbyte.com/reference/updatepermission).
|
||||
4. [Delete a permission](https://reference.airbyte.com/reference/deletepermission).
|
||||
|
||||
## Script Example
|
||||
|
||||
### Prerequisites
|
||||
|
||||
1. A mapping of user emails to your company-specific roles (e.g. `finance-team`, `security-team`, `us-employee`, etc.):
|
||||
|
||||
```yaml
|
||||
{
|
||||
"user1@company.com": ["companyGroup1", "companyGroup2"],
|
||||
"user1@company.com": ["companyGroup2", "companyGroup3"]
|
||||
}
|
||||
```
|
||||
|
||||
2. A mapping of your company-specific roles to desired Airbyte permissions:
|
||||
|
||||
```yaml
|
||||
{
|
||||
"companyGroup1": [
|
||||
{
|
||||
"scope": "workspace",
|
||||
"scopeId": "11111111-11111111-11111111-11111111",
|
||||
"permissionType": "workspace_admin"
|
||||
},
|
||||
{
|
||||
"scope": "workspace",
|
||||
"scopeId": "22222222-22222222-22222222-22222222",
|
||||
"permissionType": "workspace_reader"
|
||||
}
|
||||
],
|
||||
"companyGroup2": [
|
||||
{
|
||||
"scope": "workspace",
|
||||
"scopeId": "33333333-33333333-33333333-33333333",
|
||||
"permissionType": "workspace_reader"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Notes:
|
||||
- `scope` must be set to either 'workspace' or 'organization'.
|
||||
- `scopeId` must the identifier of scope access is granted for. It is a GUID and for organization scope is always '00000000-00000000-00000000-00000000'. For workspace, refer to the UI and the output of a list workspace to identify your workspaceId.
|
||||
- `permissionType` must be set to a valid value, e.g. 'workspace_admin', 'workspace_reader', 'organization_admin', etc. All valid values are listed [here](https://github.com/airbytehq/airbyte-api-python-sdk/blob/main/src/airbyte_api/models/publicpermissiontype.py).
|
||||
|
||||
### Complete Python Script
|
||||
|
||||
Below is an example Python script using the above prerequisite files and the `airbyte-api` Python package to set user roles programmatically:
|
||||
|
||||
<details>
|
||||
<summary>RBAC Role Mapping Python Example</summary>
|
||||
|
||||
```python
|
||||
import json
|
||||
import airbyte_api
|
||||
from airbyte_api import api, models
|
||||
|
||||
usersGroupsFile = open('usersGroups.json')
|
||||
usersGroups = json.load(usersGroupsFile)
|
||||
groupPermissionsFile = open('groupPermissions.json')
|
||||
groupPermissions = json.load(groupPermissionsFile)
|
||||
|
||||
# 0. - Enter your own credentials to use Airbyte API.
|
||||
s = airbyte_api.AirbyteAPI(
|
||||
security=models.Security(
|
||||
bearer_auth='...'
|
||||
),
|
||||
)
|
||||
|
||||
# 1. - List all users in your organization. Find your organization ID in the Airbyte settings page.
|
||||
res = s.users.list_users(request=api.ListUsersRequest(
|
||||
api.ListUsersRequest(organization_id='00000000-00000000-00000000-00000000')
|
||||
))
|
||||
|
||||
allAirbyteUsers = res.users_response.data
|
||||
print("all users: ", allAirbyteUsers)
|
||||
|
||||
# 2. grant permissions
|
||||
# for each user
|
||||
for airbyteUserResponse in allAirbyteUsers:
|
||||
if airbyteUserResponse.email in usersGroups:
|
||||
userGroups = usersGroups[airbyteUserResponse.email]
|
||||
# for each group where user belongs to
|
||||
for group in userGroups:
|
||||
if group in groupPermissions:
|
||||
permissionsToGrant = groupPermissions[group]
|
||||
# for each permission to create
|
||||
for permission in permissionsToGrant:
|
||||
print("permission to grant: ", permission)
|
||||
if permission["scope"] == "workspace":
|
||||
# create workspace level permission
|
||||
permissionCreated = s.permissions.create_permission(
|
||||
request=models.PermissionCreateRequest(
|
||||
permission_type=permission["permissionType"],
|
||||
user_id=airbyteUserResponse.user_id,
|
||||
workspace_id=permission["scopeId"]
|
||||
))
|
||||
elif permission["scope"] == "organization":
|
||||
# create organization permission
|
||||
permissionCreated = s.permissions.create_permission(
|
||||
request=models.PermissionCreateRequest(
|
||||
permission_type=permission["permissionType"],
|
||||
user_id=airbyteUserResponse.user_id,
|
||||
organization_id=permission["scopeId"]
|
||||
))
|
||||
else:
|
||||
print("permission scope not supported!")
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
Please feel free to add your own logging and error-handling workflow in the example script, and you are free to configure it on a CRON job to run at the frequency of your choice.
|
||||
|
After Width: | Height: | Size: 151 KiB |
@@ -0,0 +1,285 @@
|
||||
---
|
||||
sidebar_label: Entra ID
|
||||
products: cloud-teams, oss-enterprise
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
# Set up single sign on using Entra ID
|
||||
|
||||
This guide shows you how to set up Microsoft Entra ID (formerly Azure ActiveDirectory) and Airbyte so your users can log into Airbyte using your organization's identity provider (IdP) using OpenID Connect (OIDC).
|
||||
|
||||
## Overview
|
||||
|
||||
This guide is for administrators. It assumes you have:
|
||||
|
||||
- Basic knowledge of Entra ID, OIDC, and Airbyte
|
||||
- The permissions to manage Entra ID in your organization
|
||||
- Organization admin permissions for Airbyte
|
||||
|
||||
The exact process differs between the Cloud or Self-Managed versions of Airbyte. Steps for both are below.
|
||||
|
||||
## Cloud Teams with Entra ID OIDC
|
||||
|
||||
:::warning
|
||||
For security purposes, Airbyte disables existing [applications](/platform/enterprise-setup/api-access-config) used to access the Airbyte API once the user who owns the application signs in with SSO for the first time. Replace any Application secrets that were previously in use to ensure your integrations don't break.
|
||||
:::
|
||||
|
||||
Before you can proceed, you require your **Company Identifier** so you can properly fill in these values. Your contact at Airbyte gives this to you.
|
||||
|
||||
### Set up SSO in Airbyte for the first time
|
||||
|
||||
#### Create an application in Entra ID
|
||||
|
||||
Create a new [Entra ID application](https://learn.microsoft.com/en-us/entra/identity/enterprise-apps/what-is-application-management).
|
||||
|
||||
1. Log into the [Azure Portal](https://portal.azure.com/) and search for the Entra ID service.
|
||||
|
||||
2. From the Entra ID overview page, click **Add** > **App registration** at the top of the screen.
|
||||
|
||||
3. Specify any name you want (for example, "Airbyte").
|
||||
|
||||
4. Configure a **Redirect URI** with the type **Web** and the following value: `https://cloud.airbyte.com/auth/realms/<your-company-identifier>/broker/default/endpoint`
|
||||
|
||||
5. Click **Register** to create the application.
|
||||
|
||||
#### Create client credentials in Entra ID
|
||||
|
||||
Create client credentials so Airbyte can talk to your application.
|
||||
|
||||
1. On your application details page, click **Certificates & Secrets**.
|
||||
|
||||
2. Click the **Client secrets** tab.
|
||||
|
||||
3. Click **New client secret**. Specify any description you want and any expiry date you want.
|
||||
|
||||
:::tip
|
||||
Choose an expiry date at least 12 months in the future, if you can. When a client secret expires, you need to give Airbyte the new one or people won't be able to log in.
|
||||
:::
|
||||
|
||||
4. Copy the **Value** (the client secret itself) immediately after you create it. You won't be able to view this later.
|
||||
|
||||
#### Configure SSO in Airbyte
|
||||
|
||||
1. In Airbyte, click **Organization settings** > **General**.
|
||||
|
||||
:::info
|
||||
Currently, this portion of the setup requires an Airbyte employee. Contact Support to proceed.
|
||||
:::
|
||||
|
||||
2. Click **Set up SSO**, then input the following information.
|
||||
|
||||
- **Email domain**: The full email domain of users who sign in to Entra ID. For example, `airbyte.io`.
|
||||
|
||||
:::note
|
||||
If you use multiple email domains, only enter one domain here. Contact Airbyte's [support team](https://support.airbyte.com) to have them add additional domains after you're done.
|
||||
:::
|
||||
|
||||
- **Client ID**: Find this in the Essentials section of your Entra ID application's homepage.
|
||||
|
||||
- **Client secret**: The client secret you created in the preceding section.
|
||||
|
||||
- **Discovery URL**: Your OpenID Connect metadata endpoint. The format is similar to `https://login.microsoftonline.com/{tenant_id}/v2.0/.well-known/openid-configuration`.
|
||||
|
||||
- **SSO subdomain**: Your company identifier, which users enter to access Airbyte.
|
||||
|
||||
- It must be a unique.
|
||||
|
||||
- It must be consistent with the company identifier you used in the redirect URI you defined in Entra ID.
|
||||
|
||||
- It's often your organization name or domain. For example, `airbyte`.
|
||||
|
||||
3. Click **Save changes**.
|
||||
|
||||
4. Test SSO to make sure people can access Airbyte. **Stay logged in so you don't lock yourself out** and ask a colleague to complete the following steps.
|
||||
|
||||
1. Sign out of Airbyte.
|
||||
|
||||
2. On the Airbyte login page, click **Continue with SSO**, enter your company identifier, and click **Continue with SSO**. The Entra ID sign in page appears.
|
||||
|
||||
3. Sign into Entra ID. Entra ID then forwards you back to Airbyte, which logs you in.
|
||||
|
||||
:::note
|
||||
If you were already logged into your company’s IdP somewhere else, you might not see a login screen. In this case, Airbyte forwards you directly to Airbyte's logged-in area.
|
||||
:::
|
||||
|
||||
If you successfully set up SSO, but your users can't log into Airbyte, verify that they have access to the Airbyte application you created in Entra ID.
|
||||
|
||||
### Update or delete SSO configurations
|
||||
|
||||
To prevent a situation where you could lock yourself out of Airbyte, we require that you contact Airbyte's [support team](https://support.airbyte.com) if you need to change or remove SSO in your Cloud organization.
|
||||
|
||||
## Self-Managed Enterprise with Entra ID OIDC
|
||||
|
||||
### Create application
|
||||
|
||||
You will need to create a new Entra ID application for Airbyte. Log into the [Azure Portal](https://portal.azure.com/) and search for the Entra ID service.
|
||||
|
||||
From the overview page of Entra ID, press **Add** > **App registration** on the top of the screen. The name you select is your app integration name. Once chosen, **choose who can use the application, typically set to "Accounts in this organization directory only" for specific access,** and configure a **Redirect URI** of type **Web** with the following value:
|
||||
|
||||
```text
|
||||
<your-airbyte-domain>/auth/realms/airbyte/broker/<app-integration-name>/endpoint
|
||||
```
|
||||
|
||||
Hit **Register** to create the application.
|
||||
|
||||
### Create client credentials
|
||||
|
||||
To create client credentials for Airbyte to interface with your application, head to **Certificates & Secrets** on the detail screen of your application and select the **Client secrets** tab. Then:
|
||||
|
||||
1. Click **New client secret**, and enter the expiry date of your choosing. You'll need to pass in the new client secret every time the old one expires to continue being able to log in via Entra ID.
|
||||
2. Copy the **Value** (the client secret itself) immediately after creation. You won't be able to view this later on.
|
||||
|
||||
:::caution
|
||||
Depending on the default "Admin consent require' value for your organization you may need to manually provide Admin consent within the **API Permissions** menu. To do so click **API Permissions** and then click **Grant admin consent for Airbtyte** (see image below.)
|
||||
:::
|
||||
|
||||
<img width="928" alt="Admin Consent Option" src="https://github.com/airbytehq/airbyte/assets/156025126/30818c10-de4f-4411-ba1d-8d82b74326fd" />
|
||||
|
||||
### Setup information needed
|
||||
|
||||
Once your Microsoft Entra ID app is set up, you're ready to deploy Airbyte Self-Managed Enterprise with SSO. Take note of the following configuration values, as you will need them to configure Airbyte to use your new SSO app integration:
|
||||
|
||||
* OpenID Connect metadata document: You'll find this in the list of endpoints found in the **Endpoints** panel, which you can open from the top bar of the **Overview** page. This will be used to populate the `Domain` field in your `airbyte.yml`.
|
||||
* App Integration Name: The name of the Entra ID application created in the first step.
|
||||
* Client ID: You'll find this in the **Essentials** section on the **Overview** page of the application you created.
|
||||
* Client Secret: The client secret you copied in the previous step.
|
||||
|
||||
Use this information to configure the auth details of your `airbyte.yml` for your Self-Managed Enterprise deployment. To learn more on deploying Self-Managed Enterprise, see our [implementation guide](/platform/enterprise-setup/implementation-guide).
|
||||
|
||||
## Self-Managed Enterprise with Entra ID Generic OIDC
|
||||
|
||||
To set up single sign on for Airbyte Self-Managed Enterprise, complete the following steps.
|
||||
|
||||
- [Create an Entra ID application for Airbyte](#sme-entra-id-app)
|
||||
- [Create client credentials](#sme-credentials)
|
||||
- [Update Airbyte's values.yaml file](#sme-update-values)
|
||||
- [Redeploy Airbyte](#sme-deploy)
|
||||
|
||||
:::note
|
||||
You can only use generic OIDC after you migrate to Helm chart V2.
|
||||
<!-- [Helm chart V2](../../enterprise-setup/chart-v2-enterprise). -->
|
||||
:::
|
||||
|
||||
### Create application {#sme-entra-id-app}
|
||||
|
||||
To start, you create a new Entra ID application for Airbyte.
|
||||
|
||||
1. Log into the [Azure Portal](https://portal.azure.com/), search for the Entra ID service, and go to the Entra ID overview page.
|
||||
|
||||
2. Click **Add** > **App registration**.
|
||||
|
||||
3. Fill out the Register an application form.
|
||||
|
||||
- **Name**: Enter a descriptive integration name.
|
||||
|
||||
- **Supported account types**: Choose "Accounts in this organizational directory only" unless you have a reason to choose a different one.
|
||||
|
||||
- **Redirect URI**: Choose **Single-page application (SPA)** and enter the domain depends of your Airbyte installation location, but the URI should look similar to `https://airbyte.example.com`.
|
||||
|
||||
4. Click **Register**. You are taken to your application's overview page.
|
||||
|
||||
5. Click **Endpoints**.
|
||||
|
||||
6. Copy the URL for **OpenID Connect metadata document** and open it in a new tab. You need some of these values later, so set it aside for a moment.
|
||||
|
||||
### Create client credentials {#sme-credentials}
|
||||
|
||||
You need to complete several steps to properly authenticate.
|
||||
|
||||
#### Expose an API
|
||||
|
||||
1. Click **Manage** > **Expose an API** > **Add a scope**.
|
||||
|
||||
2. Click **Save and continue**.
|
||||
|
||||
3. Fill out the form.
|
||||
|
||||
- **Who can consent?**: Set to **Admins and users**.
|
||||
|
||||
- **Admin content display name**: Provide a name like "Airbyte access".
|
||||
|
||||
- **Admin content description**: Provide a description like "Allow access to Airbyte".
|
||||
|
||||
- **State**: Enabled.
|
||||
|
||||
- Set other fields as you like.
|
||||
|
||||
4. Click **Add scope**.
|
||||
|
||||
5. Click **Add a client application**. Fill out the form to link your client application and your scope.
|
||||
|
||||
#### Make yourself an owner
|
||||
|
||||
1. Click **Manage** > **Owners** > **Add owners**.
|
||||
|
||||
2. Add yourself as an owner and click **Select**.
|
||||
|
||||
#### Grant API permissions
|
||||
|
||||
1. Click **Manage** > **API permissions** > **Add a permission**
|
||||
|
||||
2. Click **My APIs**.
|
||||
|
||||
3. Click your Airbyte application.
|
||||
|
||||
4. Grant your "Airbyte access" permission you created earlier.
|
||||
|
||||
5. **Delete** any **Microsoft Graph** permissions.
|
||||
|
||||
### Update Airbyte's values.yaml file {#sme-update-values}
|
||||
|
||||
Once you have an app integration for Airbyte, update the values.yaml file you use when you deploy Airbyte. This section is where you need information from the well-known endpoint you opened earlier.
|
||||
|
||||
Under `global`, add a new `auth` section and fill in the following data.
|
||||
|
||||
```yaml title="values.yaml"
|
||||
global:
|
||||
|
||||
edition: "enterprise"
|
||||
airbyteUrl: "airbyte.example.com"
|
||||
|
||||
enterprise:
|
||||
secretName: "airbyte-license"
|
||||
licenseKeySecretKey: "LICENSE_KEY"
|
||||
|
||||
# Add this new auth section. See below for help populating these values.
|
||||
auth:
|
||||
identityProvider:
|
||||
type: generic-oidc
|
||||
genericOidc:
|
||||
clientId: YOUR_CLIENT_ID
|
||||
audience: YOUR_AUDIENCE
|
||||
extraScopes: YOUR_EXTRA_SCOPES
|
||||
issuer: YOUR_ISSUER
|
||||
endpoints:
|
||||
authorizationServerEndpoint: YOUR_AUTH_ENDPOINT
|
||||
jwksEndpoint: YOUR_JWKS_ENDPOINT
|
||||
```
|
||||
|
||||
You collect these values from Microsoft in the locations shown below.
|
||||
|
||||
- `clientId`: In Entra ID, on your application page, use the **Application (client) ID**.
|
||||
|
||||
- `audience`: Same as `clientId`.
|
||||
|
||||
- `extraScopes`: If you've defined extra scopes in your app registration, you can reference them here. Extra scopes are included in the authorization code flow and are sometimes required to provide web apps like Airbyte with valid JSON web tokens. In the Azure portal, **Entra ID** > **App registrations** > your app > **Expose an API**. The format looks like `api://12345678-90ab-cdef-1234-567890abcdef/<SCOPE_NAME>`. Microsoft Graph API scopes and optional claims aren't supported.
|
||||
|
||||
- `issuer`: In your well-known endpoint, use `issuer`.
|
||||
|
||||
- `authorizationServerEndpoint`: Same as `issuer`.
|
||||
|
||||
- `jwksEndpoint`: In your well-known endpoint, use `jwks_uri`.
|
||||
|
||||
### Redeploy Airbyte {#sme-deploy}
|
||||
|
||||
In your command-line tool, deploy Airbyte using your updated values file.
|
||||
|
||||
```bash
|
||||
helm upgrade airbyte-enterprise airbyte-v2/airbyte \
|
||||
--namespace airbyte-v2 \ # Target Kubernetes namespace
|
||||
--values ./values.yaml \ # Custom configuration values
|
||||
--version 2.0.3 \ # Helm chart version to use
|
||||
--set global.image.tag=1.7.0 # Airbyte version to use
|
||||
```
|
||||
@@ -0,0 +1,305 @@
|
||||
---
|
||||
sidebar_label: Okta
|
||||
products: oss-enterprise, cloud-teams
|
||||
---
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
# Set up single sign on using Okta
|
||||
|
||||
This guide shows you how to set up Okta and Airbyte so your users can log into Airbyte using your organization's identity provider (IdP).
|
||||
|
||||
## Overview
|
||||
|
||||
This guide is for administrators. It assumes you have:
|
||||
|
||||
- Basic knowledge of Okta, OpenID Connect (OIDC), and Airbyte
|
||||
- The permissions to manage Okta in your organization
|
||||
- Organization admin permissions for Airbyte
|
||||
|
||||
The exact process differs between the Cloud or Self-Managed versions of Airbyte. Steps for both are below.
|
||||
|
||||
## Cloud Teams with Okta OIDC
|
||||
|
||||
Follow the steps below to set up single sign on with Okta.
|
||||
|
||||
:::warning
|
||||
For security purposes, when a user who owns [applications](/platform/enterprise-setup/api-access-config) logs in with SSO for the first time, Airbyte disables their existing applications. Those users must replace any application secrets that were previously in use to ensure API and Terraform integrations don't break.
|
||||
:::
|
||||
|
||||
### Set up SSO for the first time
|
||||
|
||||
Follow these steps to set up SSO in Airbyte Cloud.
|
||||
|
||||
#### Create a new Okta application
|
||||
|
||||
1. In Okta, create a new Okta OIDC App Integration for Airbyte. For help, see [Okta's documentation](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_oidc.htm). Create an app integration with the following options.
|
||||
|
||||
- **Sign-in method**: OIDC - OpenID Connect
|
||||
|
||||
- **Application type**: Web application
|
||||
|
||||

|
||||
|
||||
2. Click **Next**.
|
||||
|
||||
3. Set the following parameters for your app integration.
|
||||
|
||||
- **App integration name**: `Airbyte` (or something similar)
|
||||
|
||||
- **Grant type**: `Authorization code`
|
||||
|
||||
- **Sign-in redirect URIs**: `https://cloud.airbyte.com/auth/realms/<your-company-identifier>/broker/default/endpoint`
|
||||
|
||||
- **Sign-out redirect URIs**: `https://cloud.airbyte.com/auth/realms/<your-company-identifier>/broker/default/endpoint/logout_response`
|
||||
|
||||
- **Trusted origins**: Leave empty.
|
||||
|
||||
- **Assignments > Controlled access**: Depending on your needs, choose either `Limit access to selected groups` or `Allow everyone in your organization to access`.
|
||||
|
||||
- Leave other values as defaults unless you have a reason to change them.
|
||||
|
||||
4. Click **Save**.
|
||||
|
||||
#### Configure SSO in Airbyte
|
||||
|
||||
1. In Airbyte, click **Organization settings** > **General**.
|
||||
|
||||
:::info
|
||||
Currently, this portion of the setup can only be done by an Airbyte employee. Contact Support to proceed.
|
||||
:::
|
||||
|
||||
2. Click **Set up SSO**, then input the following information.
|
||||
|
||||
- **Email domain**: The full email domain of users who sign in to Okta. For example, `airbyte.io`.
|
||||
|
||||
:::note
|
||||
If you use multiple email domains, only enter one domain here. Contact Airbyte's [support team](https://support.airbyte.com) to have them add additional domains after you're done.
|
||||
:::
|
||||
|
||||
- **Client ID**: In Okta's administrator panel, **Applications** > **Applications** > **Airbyte** > **General** tab > **Client ID**.
|
||||
|
||||
- **Client secret**: Your client secret from your Okta application.
|
||||
|
||||
- **Discovery URL**: Your OpenID Connect (OIDC) metadata endpoint. It's similar to `https://<yourOktaDomain>/.well-known/openid-configuration`.
|
||||
|
||||
- **SSO subdomain**: Your company identifier, which Airbyte users use to access Airbyte.
|
||||
|
||||
- It must be a unique.
|
||||
|
||||
- It must be consistent with the company identifier you used in the redirect URI you defined in Okta.
|
||||
|
||||
- It's often your organization name or domain. For example, `airbyte`.
|
||||
|
||||
3. Click **Save changes**.
|
||||
|
||||
4. Test SSO to make sure people can access Airbyte. **Stay logged in so you don't lock yourself out** and ask a colleague to complete the following steps.
|
||||
|
||||
1. Sign out of Airbyte.
|
||||
|
||||
2. On the Airbyte login page, click **Continue with SSO**, enter your company identifier, and click **Continue with SSO**. The Okta sign in page appears.
|
||||
|
||||
3. Sign into Okta. Okta then forwards you back to Airbyte, which logs you in.
|
||||
|
||||
:::note
|
||||
If you were already logged into your company’s IdP somewhere else, you might not see a login screen. In this case, Airbyte forwards you directly to Airbyte's logged-in area.
|
||||
:::
|
||||
|
||||
If you successfully set up SSO, but your users can't log into Airbyte, verify that they have access to the Airbyte application you created in Okta.
|
||||
|
||||
### Update or delete SSO configurations
|
||||
|
||||
To prevent a situation where you could lock yourself out of Airbyte, we require that you contact Airbyte's [support team](https://support.airbyte.com) if you need to change or remove SSO in your Cloud organization.
|
||||
|
||||
## Self-Managed Enterprise with Okta OIDC
|
||||
|
||||
You need to create a new Okta OIDC App Integration for Airbyte. Documentation on how to do this in Okta can be found [here](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_oidc.htm). You should create an app integration with **OIDC - OpenID Connect** as the sign-in method and **Web Application** as the application type:
|
||||
|
||||

|
||||
|
||||
Before you can proceed, you require your **Company Identifier** so you can properly fill in these values. Your contact at Airbyte gives this to you.
|
||||
|
||||
Create the application with the following parameters:
|
||||
|
||||
<dl>
|
||||
<dt>**App integration name**</dt>
|
||||
<dd>Please choose a URL-friendly app integration name without spaces or special characters, such as `my-airbyte-app`. Screenshot of Okta app integration name Spaces or special characters in this field could result in invalid redirect URIs.</dd>
|
||||
<dt>**Logo** (optional)</dt>
|
||||
<dd>You can upload an Airbyte logo, which you can find at https://airbyte.com/company/press</dd>
|
||||
<dt>**Grant type**</dt>
|
||||
<dd>Only **Authorization Code** should be selected</dd>
|
||||
<dt>**Sign-in redirect URIs**</dt>
|
||||
<dd>
|
||||
```
|
||||
<your-airbyte-domain>/auth/realms/airbyte/broker/<app-integration-name>/endpoint
|
||||
```
|
||||
|
||||
`<your-airbyte-domain>` refers to the domain you access your Airbyte instance at, e.g. `https://airbyte.internal.mycompany.com`
|
||||
|
||||
`<app-integration-name>` refers to the value you entered in the **App integration name** field
|
||||
</dd>
|
||||
<dt>**Sign-out redirect URIs**</dt>
|
||||
<dd>
|
||||
```
|
||||
<your-airbyte-domain>/auth/realms/airbyte/broker/<app-integration-name>/endpoint/logout_response
|
||||
```
|
||||
</dd>
|
||||
<dt>**Trusted Origins**</dt>
|
||||
<dd>Leave empty</dd>
|
||||
<dt>**Assignments > Controlled Access**</dt>
|
||||
<dd>You can control whether everyone in your Okta organization should be able to access Airbyte using their Okta account or limit it only to a subset of your users by selecting specific groups who should get access.</dd>
|
||||
</dl>
|
||||
|
||||
Once your Okta app is set up, you're ready to deploy Airbyte with SSO. Take note of the following configuration values, as you will need them to configure Airbyte to use your new Okta SSO app integration:
|
||||
|
||||
* Okta domain ([How to find your Okta domain](https://developer.okta.com/docs/guides/find-your-domain/main/))
|
||||
* App Integration Name
|
||||
* Client ID
|
||||
* Client Secret
|
||||
|
||||
Visit the [implementation guide](../../enterprise-setup/implementation-guide.md) for instructions on how to deploy Airbyte Enterprise using `kubernetes`, `kubectl` and `helm`.
|
||||
|
||||
## Self-Managed Enterprise with Okta Generic OIDC
|
||||
|
||||
To set up single sign using generic OIDC for Airbyte Self-Managed Enterprise, complete the following steps.
|
||||
|
||||
- [Create an Okta application for Airbyte](#sme-create-okta-app)
|
||||
- [Add an authorization server (optional)](#sme-auth-server)
|
||||
- [Add a policy for Airbyte](#sme-policy)
|
||||
- [Update Airbyte's values.yaml file](#sme-values)
|
||||
- [Redeploy Airbyte](#sme-deploy)
|
||||
|
||||
:::note
|
||||
You can only use generic OIDC after you migrate to Helm chart V2.
|
||||
<!-- [Helm chart V2](../../enterprise-setup/chart-v2-enterprise). -->
|
||||
:::
|
||||
|
||||
### Create an Okta app for Airbyte {#sme-create-okta-app}
|
||||
|
||||
Follow these steps to set up an Okta app integration for Airbyte. If you need more help setting up an app integration, see [Okta's documentation](https://help.okta.com/en-us/content/topics/apps/apps_app_integration_wizard_oidc.htm).
|
||||
|
||||
1. Log into your Okta administrator dashboard. For example: `example.okta.com/admin/dashboard`.
|
||||
|
||||
2. Click **Applications** > **Applications**.
|
||||
|
||||
3. Click **Create App Integration**, then choose the following values.
|
||||
|
||||
- **Sign-in method**: OIDC - OpenID Connect
|
||||
|
||||
- **Application type**: Single-Page Application
|
||||
|
||||
4. Click **Next**.
|
||||
|
||||
5. Choose the following options:
|
||||
|
||||
- **App integration name**: Airbyte
|
||||
|
||||
- **Grant type**: Authorization Code, Refresh Token
|
||||
|
||||
- **Sign-in redirect URIs**: The domain depends of your Airbyte installation location, but the URI should look similar to `https://airbyte.example.com`.
|
||||
|
||||
- **Sign-out redirect URIs**: Set it to your base Airbyte site. For example: `https://airbyte.example.com`.
|
||||
|
||||
- **Controlled access**: Depending on your needs, choose either `Limit access to selected groups` or `Allow everyone in your organization to access`.
|
||||
|
||||
- Leave other values as defaults unless you have a reason to change them.
|
||||
|
||||
6. Click **Save**. Okta takes you to your app page.
|
||||
|
||||
7. On the app page, make sure you have **Require PKCE as additional verification** enabled. Leave other values as defaults.
|
||||
|
||||
### Add an authorization server {#sme-auth-server}
|
||||
|
||||
You need an authorization server, but you probably already have one. If you do, you can use it for Airbyte too. If you need to create a new one, follow these steps.
|
||||
|
||||
1. Click **Security** > **API**.
|
||||
|
||||
2. Click **Add Authorization Server**.
|
||||
|
||||
3. Give your authorization server a name, audience, and description. Then, click **Save**. For demonstration purposes, this guide assumes you name your authorization server `webapps`.
|
||||
|
||||
:::tip
|
||||
Before continuing, go to your authorization server's page in Okta and open the **Issuer Metadata URL** link in a new tab. This is your well-known endpoint. You need some of these values later, so set it aside for a moment.
|
||||
:::
|
||||
|
||||
### Add an access policy {#sme-policy}
|
||||
|
||||
Add an access policy to your authorization server.
|
||||
|
||||
1. Click **Security** > **API** > choose your authorization server > **Access Policies** > **Add Policy**.
|
||||
|
||||
2. Give your policy a name and description. Under **Assign to**, choose **The following clients**, then search for your Airbyte application (you probably called it Airbyte). Okta shows you your new policy.
|
||||
|
||||
3. Click **Create Policy**.
|
||||
|
||||
4. Click **Add rule**.
|
||||
|
||||
5. Fill out the form.
|
||||
|
||||
- Give your rule a descriptive name, like "Log into Airbyte".
|
||||
|
||||
- Grant **Authorization Code** and **Token exchange**. Don't grant anything else unless you have a reason to.
|
||||
|
||||
- Choose **Any user assigned the app**.
|
||||
|
||||
- Choose **Any scopes**.
|
||||
|
||||
- Click **Create rule**.
|
||||
|
||||
- Leave other values as defaults unless you have a reason to change them.
|
||||
|
||||
### Update your values.yaml file {#sme-values}
|
||||
|
||||
Once you have an app integration for Airbyte, update the values.yaml file you use when you deploy Airbyte. This section is where you need information from the well-known endpoint you opened earlier.
|
||||
|
||||
Under `global`, add a new `auth` section and fill in the following data.
|
||||
|
||||
```yaml title="values.yaml"
|
||||
global:
|
||||
edition: "enterprise"
|
||||
airbyteUrl: "airbyte.example.com"
|
||||
enterprise:
|
||||
secretName: "airbyte-license"
|
||||
licenseKeySecretKey: "LICENSE_KEY"
|
||||
# Add this new auth section. See below for help populating these values.
|
||||
auth:
|
||||
identityProvider:
|
||||
type: generic-oidc
|
||||
genericOidc:
|
||||
clientId: YOUR_CLIENT_ID
|
||||
audience: YOUR_AUDIENCE
|
||||
extraScopes: YOUR_EXTRA_SCOPES
|
||||
issuer: YOUR_ISSUER
|
||||
endpoints:
|
||||
authorizationServerEndpoint: YOUR_AUTH_ENDPOINT
|
||||
jwksEndpoint: YOUR_JWKS_ENDPOINT
|
||||
```
|
||||
|
||||
You collect these values from Okta in the locations shown below.
|
||||
|
||||
- `clientId`: In Okta's administrator panel, **Applications** > **Applications** > **Airbyte** > **General** tab > **Client ID**.
|
||||
|
||||
- `audience`: In Okta's administrator panel, **Security** > **API** > **Authorization Servers** tab > **Audience**. Choose the audience for the authorization server you're using with Airbyte.
|
||||
|
||||
- `extraScopes`: If you've defined extra scopes in your authorization server, you can reference them here. Extra scopes are included in the authorization code flow and are sometimes required to provide web apps like Airbyte with valid JSON web tokens. In Okta's administrator panel, **Security** > **API** > **Authorization Servers** tab > your authorization server > **Scopes**.
|
||||
|
||||
- `issuer`: In your well-known endpoint, use the `issuer`.
|
||||
|
||||
- `authorizationServerEndpoint`: In your well-known endpoint, use the `authorization_endpoint`, but omit the `/v1/authorize` portion. For example, `https://example.okta.com/oauth2/default/`.
|
||||
|
||||
- `jwksEndpoint`: In your well-known endpoint, use the `jwks_uri`.
|
||||
|
||||
### Deploy Airbyte {#sme-deploy}
|
||||
|
||||
In your command-line tool, deploy Airbyte using your updated values file. The examples here may not reflect your actual Airbyte version and namespace conventions, so make sure you use the settings that are appropriate for your environment.
|
||||
|
||||
```bash title="Example using a namespace called 'airbyte'"
|
||||
helm upgrade -i \
|
||||
--namespace airbyte \
|
||||
--values ./values.yaml \
|
||||
airbyte \
|
||||
airbyte-v2/airbyte \
|
||||
--version 2.0.3 \
|
||||
--set global.image.tag=1.7.0
|
||||
```
|
||||
@@ -0,0 +1,45 @@
|
||||
---
|
||||
products: oss-enterprise, cloud-teams
|
||||
---
|
||||
|
||||
# Single sign on (SSO)
|
||||
|
||||
import Tabs from "@theme/Tabs";
|
||||
import TabItem from "@theme/TabItem";
|
||||
|
||||
Use Open ID Connect (OIDC) to log into Airbyte using an Identity Provider (IdP) like Okta or Entra ID/Active Directory.
|
||||
|
||||
## Set up single sign on
|
||||
|
||||
Administrators must set up SSO before your organization can use it. The steps differ slightly depending on which IdP you use and whether you're on the Cloud or Self-Managed version of Airbyte. To get started, choose your identity provider below.
|
||||
|
||||
```mdx-code-block
|
||||
import DocCardList from '@theme/DocCardList';
|
||||
|
||||
<DocCardList />
|
||||
```
|
||||
|
||||
## Log into Airbyte using single sign on
|
||||
|
||||
<Tabs groupId="product">
|
||||
<TabItem value="cloud" label="Cloud">
|
||||
|
||||
1. Visit [Airbyte Cloud](https://cloud.airbyte.com) and click **Continue with SSO**.
|
||||
|
||||
2. Type your **Company identifier**, then click **Continue with SSO**. Airbyte forwards you to your identity provider's login page.
|
||||
|
||||
3. Log into your work account. Your IdP forwards you back to Airbyte Cloud, which logs you in.
|
||||
|
||||
</TabItem>
|
||||
<TabItem value="self-managed" label="Self-Managed">
|
||||
|
||||
1. Access your self-managed instance of Airbyte at the URL your organization has set up. Airbyte automatically forwards you to your identity provider's login page.
|
||||
|
||||
2. Log into your IdP. Your IdP forwards you back to Airbyte, which logs you in.
|
||||
|
||||
</TabItem>
|
||||
</Tabs>
|
||||
|
||||
:::note
|
||||
If you were already logged into your company’s IdP somewhere else, you might not see a login screen. In this case, Airbyte forwards you directly to Airbyte's logged-in area.
|
||||
:::
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
products: all
|
||||
---
|
||||
|
||||
# API documentation
|
||||
|
||||
The Airbyte API provides a way for developers to programmatically interact with Airbyte. It is available for all Airbyte products: Airbyte OSS, Cloud & Self-Hosted Enterprise.
|
||||
|
||||
Our API is a reliable, easy-to-use interface for programmatically controlling the Airbyte platform. It can be extended to:
|
||||
|
||||
- Enable users to control Airbyte programmatically and use with Orchestration tools (ex: Airflow)
|
||||
- Enable [Airbyte Embedded](https://airbyte.com/ai)
|
||||
|
||||
## Configuring API Access
|
||||
|
||||
View our documentation [here](using-airbyte/configuring-api-access.md) to learn how to start using the Airbyte API.
|
||||
|
||||
## Using the Airbyte API
|
||||
|
||||
Navigate to our full API documentation to learn how to retrieve your access token, make API requests, and manage resources like sources, destinations, and workspaces.
|
||||
|
||||
Our full API documentation is located here: [reference.airbyte.com](https://reference.airbyte.com/reference/getting-started).
|
||||
|
||||
:::note
|
||||
Only for OSS users, to access the API in the OSS edition, you need to use the `/api/public/v1` path prefix. (ex: retrieve list of workspaces with `curl http://localhost:8000/api/public/v1/workspaces`)
|
||||
:::
|
||||
|
||||
## Configuration API (Deprecated)
|
||||
|
||||
The configuration API is now deprecated and no longer supported. It is an internal API that is designed for communications between different Airbyte components rather than managing your Airbyte workspace.
|
||||
|
||||
Users utilize the Config API at their own risk. This API is utilized internally by the Airbyte Engineering team and may be modified in the future if the need arises.
|
||||
|
After Width: | Height: | Size: 254 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 185 KiB |
|
After Width: | Height: | Size: 304 KiB |
|
After Width: | Height: | Size: 236 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 386 KiB |
|
After Width: | Height: | Size: 194 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/1.png
Normal file
|
After Width: | Height: | Size: 775 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 307 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/11.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 364 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/12.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/13.png
Normal file
|
After Width: | Height: | Size: 203 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/14.png
Normal file
|
After Width: | Height: | Size: 214 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/15.png
Normal file
|
After Width: | Height: | Size: 272 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/16.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/17.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 648 KiB |
|
After Width: | Height: | Size: 376 KiB |
|
After Width: | Height: | Size: 378 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/21.png
Normal file
|
After Width: | Height: | Size: 291 KiB |
|
After Width: | Height: | Size: 551 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/22.png
Normal file
|
After Width: | Height: | Size: 289 KiB |
|
After Width: | Height: | Size: 379 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/23.png
Normal file
|
After Width: | Height: | Size: 301 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/24.png
Normal file
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 415 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/25.png
Normal file
|
After Width: | Height: | Size: 285 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/26.png
Normal file
|
After Width: | Height: | Size: 367 KiB |
|
After Width: | Height: | Size: 374 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/27.png
Normal file
|
After Width: | Height: | Size: 367 KiB |
|
After Width: | Height: | Size: 493 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/28.png
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/29.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/3.png
Normal file
|
After Width: | Height: | Size: 605 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/30.png
Normal file
|
After Width: | Height: | Size: 421 KiB |
|
After Width: | Height: | Size: 476 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/31.png
Normal file
|
After Width: | Height: | Size: 418 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/32.png
Normal file
|
After Width: | Height: | Size: 410 KiB |
|
After Width: | Height: | Size: 504 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/33.png
Normal file
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 505 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/34.png
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/35.png
Normal file
|
After Width: | Height: | Size: 452 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/36.png
Normal file
|
After Width: | Height: | Size: 342 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/37.png
Normal file
|
After Width: | Height: | Size: 421 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/38.png
Normal file
|
After Width: | Height: | Size: 408 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/39.png
Normal file
|
After Width: | Height: | Size: 552 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/40.png
Normal file
|
After Width: | Height: | Size: 640 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/41.png
Normal file
|
After Width: | Height: | Size: 106 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/42.png
Normal file
|
After Width: | Height: | Size: 489 KiB |
BIN
docusaurus/platform_versioned_docs/version-2.0/assets/6.png
Normal file
|
After Width: | Height: | Size: 397 KiB |
|
After Width: | Height: | Size: 226 KiB |
|
After Width: | Height: | Size: 244 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 368 KiB |
|
After Width: | Height: | Size: 286 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 183 KiB |
|
After Width: | Height: | Size: 227 KiB |
|
After Width: | Height: | Size: 242 KiB |
|
After Width: | Height: | Size: 135 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 97 KiB |
|
After Width: | Height: | Size: 109 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 52 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 348 KiB |
|
After Width: | Height: | Size: 729 KiB |
|
After Width: | Height: | Size: 249 KiB |
@@ -0,0 +1,16 @@
|
||||
<svg width="1000" height="237" viewBox="0 0 1000 237" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M388.57 115V158.38C388.57 165.91 384.35 170.43 377.27 170.43C370.34 170.43 366.12 165.91 366.12 158.38V141.22H316.42V158.69C316.42 166.07 312.2 170.44 305.42 170.44C298.49 170.44 294.42 166.07 294.42 158.69V115C294.42 84.12 311.42 66.8 341.42 66.8C371.42 66.8 388.57 84.13 388.57 115ZM366.12 114.1C366.12 96.62 357.39 87.29 341.27 87.29C325.15 87.29 316.42 96.62 316.42 114.1V121H366.12V114.1Z" fill="#36348F"/>
|
||||
<path d="M438.89 79.77V158.39C438.89 165.92 434.67 170.44 427.75 170.44C420.67 170.44 416.45 165.92 416.45 158.39V79.77C416.45 72.23 420.67 67.71 427.75 67.71C434.67 67.71 438.89 72.23 438.89 79.77Z" fill="#36348F"/>
|
||||
<path d="M553.82 151.61C555.55 153.799 556.503 156.5 556.53 159.29C556.53 166.22 552.01 170.44 545.08 170.44C541.17 170.44 538.15 168.63 535.74 165.44L512.25 134.26H490.56V158.51C490.56 165.89 486.34 170.41 479.41 170.41C472.33 170.41 468.11 165.89 468.11 158.51V80.67C468.11 73.14 472.63 68.67 480.16 68.67H520.68C543.43 68.67 555.68 79.52 555.68 100.15C555.68 115.51 549.05 125.45 536.54 129.67V129.97L553.82 151.61ZM518.27 113.81C527.61 113.81 532.73 109.29 532.73 101.45C532.73 93.61 527.61 89.11 518.27 89.11H490.56V113.81H518.27Z" fill="#36348F"/>
|
||||
<path d="M657.61 118.48C667.4 122.39 672.52 130.07 672.52 141.22C672.52 160.65 661.83 169.54 638.63 169.54H593.75C586.21 169.54 581.75 165.02 581.75 157.54V80.67C581.75 73.14 586.26 68.67 593.75 68.67H635.62C658.81 68.67 669.51 77.56 669.51 96.84C669.51 106.63 665.44 114.01 657.61 118.22V118.48ZM634.72 109.29C642.72 109.29 646.92 106.12 646.92 99.35C646.92 92.58 642.7 89.11 634.72 89.11H604.14V109.29H634.72ZM637.13 149.05C645.26 149.05 649.48 145.59 649.48 138.66C649.48 131.88 645.26 128.57 637.13 128.57H604.13V149.05H637.13Z" fill="#36348F"/>
|
||||
<path d="M761.1 72.08C762.157 70.7262 763.507 69.6297 765.048 68.8728C766.59 68.1159 768.283 67.7183 770 67.71C776.47 67.71 781 71.93 781 78.56C781.02 81.7383 779.837 84.8066 777.69 87.15L743 128.87V158.39C743 165.92 738.79 170.44 731.86 170.44C724.78 170.44 720.56 165.92 720.56 158.39V128.87L686.22 87.87C683.81 84.87 682.6 82.45 682.6 79.13C682.6 72.05 687.43 67.68 693.91 67.68C697.82 67.68 700.68 69.68 703.24 72.81L732 108.08L761.1 72.08Z" fill="#36348F"/>
|
||||
<path d="M880.65 68.62C887.43 68.62 891.5 72.53 891.5 78.86C891.5 85.19 887.43 89.11 880.65 89.11H854V158.39C854 165.92 849.78 170.44 842.85 170.44C835.77 170.44 831.56 165.92 831.56 158.39V89.11H804.89C798.11 89.11 794.04 85.19 794.04 78.86C794.04 72.53 798.11 68.62 804.89 68.62H880.65Z" fill="#36348F"/>
|
||||
<path d="M982 149.05C988.78 149.05 992.85 152.97 992.85 159.29C992.85 165.61 988.78 169.54 982 169.54H918.47C910.94 169.54 906.42 165.02 906.42 157.54V80.67C906.42 73.14 910.94 68.67 918.47 68.67H982C988.78 68.67 992.85 72.58 992.85 78.91C992.85 85.24 988.81 89.11 982 89.11H928.86V108.84H971.19C977.96 108.84 981.73 112.6 981.73 118.78C981.73 124.96 977.96 128.72 971.19 128.72H928.86V149.05H982Z" fill="#36348F"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M123.831 9.39048C140.887 5.95043 158.599 8.13269 174.31 15.61C184.301 20.3922 193.196 27.1874 200.438 35.5693C207.679 43.9511 213.11 53.7388 216.391 64.3186C219.672 74.8983 220.731 86.0418 219.502 97.0501C218.273 108.058 214.783 118.694 209.25 128.29L157.08 218.51C154.154 223.54 149.355 227.206 143.732 228.705C138.109 230.204 132.122 229.415 127.08 226.51L190.24 117.24C195.587 107.975 198.285 97.4179 198.037 86.7232C197.79 76.0285 194.607 65.6077 188.837 56.5997C183.067 47.5918 174.931 40.3435 165.32 35.647C155.708 30.9506 144.99 28.9868 134.338 29.9703C123.686 30.9538 113.509 34.8467 104.92 41.2235C96.3309 47.6004 89.6601 56.2158 85.6368 66.1279C81.6134 76.04 80.3925 86.8674 82.1073 97.4267C83.8221 107.986 88.4067 117.87 95.36 126C97.0216 127.942 98.8124 129.769 100.72 131.47L63.83 195.37C60.9041 200.4 56.1046 204.066 50.482 205.565C44.8595 207.064 38.8719 206.275 33.83 203.37L73.83 134C68.0833 125.733 63.9539 116.453 61.66 106.65L37.13 149.25C34.2041 154.28 29.4046 157.946 23.782 159.445C18.1595 160.944 12.1719 160.155 7.13 157.25L70.56 47.38C73.1974 42.8673 76.2614 38.6178 79.71 34.69C91.2943 21.7075 106.775 12.8305 123.831 9.39048ZM168.793 93.9926C169.492 100.732 168.038 107.519 164.64 113.38L103.81 218.51C100.884 223.54 96.0845 227.206 90.462 228.705C84.8395 230.204 78.8519 229.415 73.81 226.51L130.29 128.67C123.661 127.272 117.644 123.81 113.105 118.781C108.565 113.751 105.736 107.413 105.023 100.676C104.309 93.9381 105.748 87.1478 109.134 81.2792C112.52 75.4106 117.677 70.7654 123.867 68.0103C130.057 65.2551 136.96 64.5317 143.586 65.9438C150.213 67.3558 156.221 70.8308 160.75 75.87C165.279 80.9092 168.094 87.2536 168.793 93.9926ZM130.805 89.4241C129.76 90.2299 128.885 91.2345 128.23 92.38C127.25 94.0942 126.799 96.0602 126.935 98.0301C127.07 100 127.786 101.886 128.992 103.45C130.198 105.013 131.839 106.185 133.71 106.817C135.581 107.449 137.596 107.514 139.504 107.002C141.411 106.49 143.124 105.425 144.426 103.941C145.729 102.457 146.563 100.62 146.824 98.6631C147.084 96.7058 146.76 94.7151 145.89 92.9421C145.021 91.169 143.647 89.693 141.94 88.7C140.799 88.0364 139.539 87.6051 138.231 87.431C136.923 87.2569 135.593 87.3433 134.319 87.6854C133.044 88.0275 131.85 88.6184 130.805 89.4241Z" fill="url(#paint0_linear)"/>
|
||||
<defs>
|
||||
<linearGradient id="paint0_linear" x1="121.387" y1="65.2397" x2="121.387" y2="229.448" gradientUnits="userSpaceOnUse">
|
||||
<stop stop-color="#9579FD"/>
|
||||
<stop offset="1" stop-color="#6966FF"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -0,0 +1,11 @@
|
||||
<svg width="1000" height="237" viewBox="0 0 1000 237" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M174.31 15.61C158.599 8.13269 140.887 5.95043 123.831 9.39048C106.775 12.8305 91.2943 21.7075 79.71 34.69C76.2614 38.6178 73.1974 42.8673 70.56 47.38L7.13 157.25C12.1719 160.155 18.1595 160.944 23.782 159.445C29.4046 157.946 34.2041 154.28 37.13 149.25L61.66 106.65C63.9539 116.453 68.0833 125.733 73.83 134L33.83 203.37C38.8719 206.275 44.8595 207.064 50.482 205.565C56.1046 204.066 60.9041 200.4 63.83 195.37L100.72 131.47C98.8124 129.769 97.0216 127.942 95.36 126C88.4067 117.87 83.8221 107.986 82.1073 97.4267C80.3925 86.8674 81.6134 76.04 85.6368 66.1279C89.6601 56.2158 96.3309 47.6004 104.92 41.2235C113.509 34.8467 123.686 30.9537 134.338 29.9703C144.99 28.9868 155.708 30.9506 165.32 35.647C174.931 40.3435 183.067 47.5918 188.837 56.5997C194.607 65.6077 197.79 76.0285 198.037 86.7232C198.285 97.4179 195.587 107.975 190.24 117.24L127.08 226.51C132.122 229.415 138.109 230.204 143.732 228.705C149.355 227.206 154.154 223.54 157.08 218.51L209.25 128.29C214.783 118.694 218.273 108.058 219.502 97.0501C220.731 86.0418 219.672 74.8983 216.391 64.3186C213.11 53.7389 207.679 43.9511 200.438 35.5693C193.196 27.1874 184.301 20.3922 174.31 15.61V15.61Z" fill="#36348F"/>
|
||||
<path d="M164.64 113.38C168.038 107.519 169.492 100.732 168.793 93.9926C168.094 87.2536 165.279 80.9092 160.75 75.87C156.221 70.8308 150.213 67.3558 143.586 65.9438C136.96 64.5317 130.057 65.2552 123.867 68.0103C117.677 70.7655 112.52 75.4107 109.134 81.2793C105.748 87.1479 104.309 93.9381 105.023 100.676C105.736 107.413 108.565 113.751 113.105 118.781C117.644 123.81 123.661 127.272 130.29 128.67L73.81 226.51C78.8519 229.415 84.8395 230.204 90.462 228.705C96.0845 227.206 100.884 223.54 103.81 218.51L164.64 113.38ZM128.23 92.38C128.885 91.2345 129.76 90.2299 130.805 89.4242C131.85 88.6184 133.044 88.0275 134.319 87.6854C135.593 87.3433 136.923 87.2569 138.231 87.431C139.539 87.6051 140.799 88.0364 141.94 88.7V88.7C143.647 89.693 145.021 91.169 145.89 92.9421C146.76 94.7152 147.084 96.7058 146.824 98.6632C146.563 100.62 145.729 102.457 144.426 103.941C143.124 105.425 141.411 106.49 139.504 107.002C137.597 107.514 135.581 107.449 133.71 106.817C131.839 106.185 130.198 105.013 128.992 103.45C127.786 101.886 127.07 100 126.935 98.0301C126.799 96.0602 127.25 94.0942 128.23 92.38V92.38Z" fill="#36348F"/>
|
||||
<path d="M388.57 115V158.38C388.57 165.91 384.35 170.43 377.27 170.43C370.34 170.43 366.12 165.91 366.12 158.38V141.22H316.42V158.69C316.42 166.07 312.2 170.44 305.42 170.44C298.49 170.44 294.42 166.07 294.42 158.69V115C294.42 84.12 311.42 66.8 341.42 66.8C371.42 66.8 388.57 84.13 388.57 115ZM366.12 114.1C366.12 96.62 357.39 87.29 341.27 87.29C325.15 87.29 316.42 96.62 316.42 114.1V121H366.12V114.1Z" fill="#36348F"/>
|
||||
<path d="M438.89 79.77V158.39C438.89 165.92 434.67 170.44 427.75 170.44C420.67 170.44 416.45 165.92 416.45 158.39V79.77C416.45 72.23 420.67 67.71 427.75 67.71C434.67 67.71 438.89 72.23 438.89 79.77Z" fill="#36348F"/>
|
||||
<path d="M553.82 151.61C555.55 153.799 556.503 156.5 556.53 159.29C556.53 166.22 552.01 170.44 545.08 170.44C541.17 170.44 538.15 168.63 535.74 165.44L512.25 134.26H490.56V158.51C490.56 165.89 486.34 170.41 479.41 170.41C472.33 170.41 468.11 165.89 468.11 158.51V80.67C468.11 73.14 472.63 68.67 480.16 68.67H520.68C543.43 68.67 555.68 79.52 555.68 100.15C555.68 115.51 549.05 125.45 536.54 129.67V129.97L553.82 151.61ZM518.27 113.81C527.61 113.81 532.73 109.29 532.73 101.45C532.73 93.61 527.61 89.11 518.27 89.11H490.56V113.81H518.27Z" fill="#36348F"/>
|
||||
<path d="M657.61 118.48C667.4 122.39 672.52 130.07 672.52 141.22C672.52 160.65 661.83 169.54 638.63 169.54H593.75C586.21 169.54 581.75 165.02 581.75 157.54V80.67C581.75 73.14 586.26 68.67 593.75 68.67H635.62C658.81 68.67 669.51 77.56 669.51 96.84C669.51 106.63 665.44 114.01 657.61 118.22V118.48ZM634.72 109.29C642.72 109.29 646.92 106.12 646.92 99.35C646.92 92.58 642.7 89.11 634.72 89.11H604.14V109.29H634.72ZM637.13 149.05C645.26 149.05 649.48 145.59 649.48 138.66C649.48 131.88 645.26 128.57 637.13 128.57H604.13V149.05H637.13Z" fill="#36348F"/>
|
||||
<path d="M761.1 72.08C762.157 70.7262 763.507 69.6297 765.048 68.8728C766.59 68.1159 768.283 67.7183 770 67.71C776.47 67.71 781 71.93 781 78.56C781.02 81.7383 779.837 84.8066 777.69 87.15L743 128.87V158.39C743 165.92 738.79 170.44 731.86 170.44C724.78 170.44 720.56 165.92 720.56 158.39V128.87L686.22 87.87C683.81 84.87 682.6 82.45 682.6 79.13C682.6 72.05 687.43 67.68 693.91 67.68C697.82 67.68 700.68 69.68 703.24 72.81L732 108.08L761.1 72.08Z" fill="#36348F"/>
|
||||
<path d="M880.65 68.62C887.43 68.62 891.5 72.53 891.5 78.86C891.5 85.19 887.43 89.11 880.65 89.11H854V158.39C854 165.92 849.78 170.44 842.85 170.44C835.77 170.44 831.56 165.92 831.56 158.39V89.11H804.89C798.11 89.11 794.04 85.19 794.04 78.86C794.04 72.53 798.11 68.62 804.89 68.62H880.65Z" fill="#36348F"/>
|
||||
<path d="M982 149.05C988.78 149.05 992.85 152.97 992.85 159.29C992.85 165.61 988.78 169.54 982 169.54H918.47C910.94 169.54 906.42 165.02 906.42 157.54V80.67C906.42 73.14 910.94 68.67 918.47 68.67H982C988.78 68.67 992.85 72.58 992.85 78.91C992.85 85.24 988.81 89.11 982 89.11H928.86V108.84H971.19C977.96 108.84 981.73 112.6 981.73 118.78C981.73 124.96 977.96 128.72 971.19 128.72H928.86V149.05H982Z" fill="#36348F"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 4.4 MiB |
|
After Width: | Height: | Size: 42 MiB |
|
After Width: | Height: | Size: 663 KiB |
@@ -0,0 +1,5 @@
|
||||
<svg width="369" height="100" viewBox="0 0 369 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.7479 12.1327C43.3713 0.113465 60.9635 -3.41237 75.4265 3.52532C94.6425 12.744 101.653 36.2274 91.1907 54.3421L67.6555 95.0475C66.3401 97.3221 64.1758 98.9817 61.6378 99.6619C59.0998 100.342 56.3957 99.9873 54.1191 98.6755L82.6129 49.3849C90.2034 36.2377 85.1263 19.1962 71.1946 12.4865C60.7415 7.45229 47.9629 9.96715 40.2407 18.6248C35.9811 23.3777 33.5896 29.514 33.5099 35.8958C33.4301 42.2776 35.6675 48.4718 39.807 53.3296C40.5509 54.2014 41.3514 55.0232 42.2034 55.7897L25.569 84.6166C24.9185 85.7435 24.0524 86.7313 23.0201 87.5235C21.9879 88.3157 20.8097 88.8969 19.5529 89.2338C18.296 89.5706 16.9852 89.6567 15.6951 89.487C14.405 89.3172 13.161 88.8951 12.034 88.2445L30.0925 56.9487C27.4986 53.2091 25.6358 49.0124 24.6024 44.5801L13.5364 63.7961C12.221 66.0706 10.0567 67.7302 7.51875 68.4104C4.98079 69.0906 2.27663 68.7359 0 67.4241L28.6167 17.8566C29.8078 15.8211 31.1912 13.9043 32.7479 12.1327ZM65.7771 27.9101C72.6689 31.8904 75.0491 40.742 71.0614 47.6308L43.62 95.0416C42.3046 97.3162 40.1403 98.9758 37.6023 99.656C35.0644 100.336 32.3602 99.9814 30.0836 98.6696L55.5637 54.53C53.5193 54.0997 51.5926 53.2308 49.9167 51.9833C48.2408 50.7359 46.8556 49.1395 45.8567 47.3045C44.8578 45.4695 44.2691 43.4396 44.1312 41.355C43.9933 39.2703 44.3094 37.1805 45.0578 35.2299C45.8062 33.2793 46.969 31.5144 48.4659 30.057C49.9629 28.5996 51.7583 27.4844 53.7282 26.7884C55.6981 26.0925 57.7956 25.8324 59.8759 26.026C61.9561 26.2197 63.9695 26.8625 65.7771 27.9101ZM55.7957 36.8202C55.324 37.1822 54.9283 37.6337 54.6312 38.1487H54.6297C54.1821 38.9243 53.9745 39.8152 54.0332 40.7088C54.0919 41.6023 54.4142 42.4585 54.9594 43.1689C55.5046 43.8792 56.2482 44.412 57.0962 44.6998C57.9443 44.9876 58.8586 45.0175 59.7235 44.7856C60.5885 44.5538 61.3653 44.0707 61.9557 43.3974C62.5462 42.7241 62.9237 41.8909 63.0406 41.003C63.1575 40.1152 63.0084 39.2126 62.6124 38.4095C62.2163 37.6063 61.591 36.9386 60.8155 36.4908C60.3006 36.1935 59.7322 36.0005 59.1427 35.9229C58.5532 35.8453 57.9542 35.8846 57.3799 36.0386C56.8056 36.1926 56.2673 36.4581 55.7957 36.8202Z" fill="#615EFF"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M32.7479 12.1327C43.3713 0.113465 60.9635 -3.41237 75.4265 3.52532C94.6425 12.744 101.653 36.2274 91.1907 54.3421L67.6555 95.0475C66.3401 97.3221 64.1758 98.9817 61.6378 99.6619C59.0998 100.342 56.3957 99.9873 54.1191 98.6755L82.6129 49.3849C90.2034 36.2377 85.1263 19.1962 71.1946 12.4865C60.7415 7.45229 47.9629 9.96715 40.2407 18.6248C35.9811 23.3777 33.5896 29.514 33.5099 35.8958C33.4301 42.2776 35.6675 48.4718 39.807 53.3296C40.5509 54.2014 41.3514 55.0232 42.2034 55.7897L25.569 84.6166C24.9185 85.7435 24.0524 86.7313 23.0201 87.5235C21.9879 88.3157 20.8097 88.8969 19.5529 89.2338C18.296 89.5706 16.9852 89.6567 15.6951 89.487C14.405 89.3172 13.161 88.8951 12.034 88.2445L30.0925 56.9487C27.4986 53.2091 25.6358 49.0124 24.6024 44.5801L13.5364 63.7961C12.221 66.0706 10.0567 67.7302 7.51875 68.4104C4.98079 69.0906 2.27663 68.7359 0 67.4241L28.6167 17.8566C29.8078 15.8211 31.1912 13.9043 32.7479 12.1327ZM65.7771 27.9101C72.6689 31.8904 75.0491 40.742 71.0614 47.6308L43.62 95.0416C42.3046 97.3162 40.1403 98.9758 37.6023 99.656C35.0644 100.336 32.3602 99.9814 30.0836 98.6696L55.5637 54.53C53.5193 54.0997 51.5926 53.2308 49.9167 51.9833C48.2408 50.7359 46.8556 49.1395 45.8567 47.3045C44.8578 45.4695 44.2691 43.4396 44.1312 41.355C43.9933 39.2703 44.3094 37.1805 45.0578 35.2299C45.8062 33.2793 46.969 31.5144 48.4659 30.057C49.9629 28.5996 51.7583 27.4844 53.7282 26.7884C55.6981 26.0925 57.7956 25.8324 59.8759 26.026C61.9561 26.2197 63.9695 26.8625 65.7771 27.9101ZM55.7957 36.8202C55.324 37.1822 54.9283 37.6337 54.6312 38.1487H54.6297C54.1821 38.9243 53.9745 39.8152 54.0332 40.7088C54.0919 41.6023 54.4142 42.4585 54.9594 43.1689C55.5046 43.8792 56.2482 44.412 57.0962 44.6998C57.9443 44.9876 58.8586 45.0175 59.7235 44.7856C60.5885 44.5538 61.3653 44.0707 61.9557 43.3974C62.5462 42.7241 62.9237 41.8909 63.0406 41.003C63.1575 40.1152 63.0084 39.2126 62.6124 38.4095C62.2163 37.6063 61.591 36.9386 60.8155 36.4908C60.3006 36.1935 59.7322 36.0005 59.1427 35.9229C58.5532 35.8453 57.9542 35.8846 57.3799 36.0386C56.8056 36.1926 56.2673 36.4581 55.7957 36.8202Z" fill="#615EFF"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M114 76L134.566 23.2656H146.625L167.191 76H155.695L151.266 64.1875H129.926L125.496 76H114ZM147.75 54.6953C146.344 50.5703 145.09 46.8789 143.988 43.6211C142.887 40.3633 141.762 37 140.613 33.5312C139.465 37 138.328 40.3633 137.203 43.6211C136.102 46.8789 134.848 50.5703 133.441 54.6953H147.75ZM170.672 28.8906C170.672 27.2031 171.188 25.8438 172.219 24.8125C173.25 23.7812 174.609 23.2656 176.297 23.2656C177.984 23.2656 179.344 23.7812 180.375 24.8125C181.406 25.8438 181.922 27.2031 181.922 28.8906C181.922 30.5781 181.406 31.9375 180.375 32.9688C179.344 34 177.984 34.5156 176.297 34.5156C174.609 34.5156 173.25 34 172.219 32.9688C171.188 31.9375 170.672 30.5781 170.672 28.8906ZM171.234 76V40.8438H181.359V76H171.234ZM189.938 40.8438V76H200.062V60.4961C200.062 56.793 200.895 53.9453 202.559 51.9531C204.223 49.9375 206.414 48.9297 209.133 48.9297C210.445 48.9297 211.781 49.1523 213.141 49.5977L214.547 40.8438C212.93 40.375 211.359 40.1406 209.836 40.1406C205.359 40.1406 201.844 42.0508 199.289 45.8711V40.8438H189.938ZM218.414 76V23.2656H228.539V44.3242C230.016 43.0117 231.703 41.9922 233.602 41.2656C235.5 40.5156 237.551 40.1406 239.754 40.1406C243.059 40.1406 246 40.9375 248.578 42.5312C251.156 44.1016 253.184 46.2695 254.66 49.0352C256.137 51.7773 256.875 54.9062 256.875 58.4219C256.875 61.9375 256.137 65.0781 254.66 67.8438C253.184 70.5859 251.156 72.7539 248.578 74.3477C246 75.918 243.059 76.7031 239.754 76.7031C237.48 76.7031 235.359 76.3164 233.391 75.543C231.422 74.7461 229.699 73.6328 228.223 72.2031L227.977 76H218.414ZM238.469 67.9141C241.047 67.9141 243.18 67.0117 244.867 65.207C246.555 63.4023 247.398 61.1406 247.398 58.4219C247.398 55.7031 246.555 53.4414 244.867 51.6367C243.18 49.832 241.047 48.9297 238.469 48.9297C235.891 48.9297 233.758 49.832 232.07 51.6367C230.383 53.4414 229.539 55.7031 229.539 58.4219C229.539 61.1406 230.383 63.4023 232.07 65.207C233.758 67.0117 235.891 67.9141 238.469 67.9141ZM273.793 58.0352L265.566 40.8438H254.984L271.367 74.2422L263.352 93.5781H274.004L295.871 40.8438H285.184L275.691 63.7656C275.457 62.6172 275.176 61.5625 274.848 60.6016C274.52 59.6406 274.168 58.7852 273.793 58.0352ZM297.242 40.8438H303.043V32.0547H313.168V40.8438H321.711V49.6328H313.168V62.5703C313.168 64.2344 313.695 65.5469 314.75 66.5078C315.828 67.4453 317.188 67.9141 318.828 67.9141C320.047 67.9141 321.301 67.6445 322.59 67.1055V75.4023C320.363 76.2695 318.172 76.7031 316.016 76.7031C311.844 76.7031 308.633 75.5898 306.383 73.3633C304.156 71.1133 303.043 67.9023 303.043 63.7305V49.6328H297.242V40.8438ZM340.906 66.1914C339.219 64.9727 338.059 63.3906 337.426 61.4453H364.848V58.3867C364.848 54.8477 364.051 51.707 362.457 48.9648C360.863 46.2227 358.684 44.0664 355.918 42.4961C353.176 40.9258 350.035 40.1406 346.496 40.1406C342.934 40.1406 339.746 40.9375 336.934 42.5312C334.145 44.1016 331.941 46.2578 330.324 49C328.707 51.7188 327.898 54.8242 327.898 58.3164C327.898 61.8555 328.742 65.0195 330.43 67.8086C332.117 70.5742 334.449 72.7539 337.426 74.3477C340.402 75.918 343.836 76.7031 347.727 76.7031C350.164 76.7031 352.707 76.3047 355.355 75.5078C358.027 74.7109 360.723 73.2461 363.441 71.1133L357.324 63.8008C356.012 65.043 354.547 66.0625 352.93 66.8594C351.336 67.6328 349.32 68.0195 346.883 68.0195C344.609 68.0195 342.617 67.4102 340.906 66.1914ZM353.827 54C353.267 52.7547 352.464 51.6974 351.418 50.8281C349.895 49.5625 348.066 48.9297 345.934 48.9297C343.777 48.9297 341.902 49.5742 340.309 50.8633C339.24 51.7406 338.421 52.7862 337.852 54H353.827Z" fill="#1A194D"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.8 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 95 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 205 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 31 KiB |