Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Cloud redo #260

Merged
merged 16 commits into from
Aug 20, 2024
Merged
Show file tree
Hide file tree
Changes from 13 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
10 changes: 7 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
name: CI

on:
- pull_request
on: [pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v3
Expand All @@ -19,3 +18,8 @@ jobs:

- name: Lint
run: yarn lint

- name: Check for Broken Links
run: |
yarn global add mintlify
mintlify broken-links
markphelps marked this conversation as resolved.
Show resolved Hide resolved
2 changes: 1 addition & 1 deletion .github/workflows/vale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ jobs:
name: Vale
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- uses: errata-ai/vale-action@reviewdog
1 change: 1 addition & 0 deletions .vale.ini
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Microsoft.Foreign = warning
Microsoft.URLFormat = warning
Microsoft.RangeFormat = warning
Microsoft.Contractions = warning
Microsoft.Dashes = warning

Openly.A11Y = warning
Openly.Punctuation = warning
Expand Down
3 changes: 3 additions & 0 deletions .vale/styles/Flipt/spelling-exceptions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum
flagd
flipt
flipt's
git's
Gitlab
gitops
googlecloud
Expand All @@ -43,6 +44,8 @@ linux
memcached
Minio
mintlify
monorepo
multi-repo
namespace
namespaced
namespaces
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ We also use a [custom style](https://docs.errata.ai/vale/styles) to lint our doc

### Spelling Errors

If Vale detects a spelling error, it will output it as an error to the console. If you want to ignore a spelling error, you can add the word to the [spelling-execeptions](./vale/styles/Flipt/spelling-exceptions.txt) file in our custom style.
If Vale detects a spelling error, it will output it as an error to the console. If you want to ignore a spelling error, you can add the word to the spelling-execeptions (`.vale/styles/Flipt/spelling-exceptions.txt`) file in our custom style.
markphelps marked this conversation as resolved.
Show resolved Hide resolved

ℹ The words in this file are case-insensitive, please add the word in lowercase and in alphabetical order.

Expand Down
37 changes: 0 additions & 37 deletions cli/commands/cloud/login.mdx

This file was deleted.

31 changes: 0 additions & 31 deletions cli/commands/cloud/logout.mdx

This file was deleted.

89 changes: 89 additions & 0 deletions cloud/architecture.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
---
title: Architecture
description: Learn about the architecture of Flipt Managed Cloud and how it scales to meet your needs
mode: "wide"
---

This section describes the high-level architecture of Flipt Managed Cloud and how you can also run you own Flipt instances for evaluation purposes while still leveraging the managed service.

## Overview

Each Flipt Managed Cloud instance is a fully managed Flipt instance that is hosted and operated by the Flipt team.

Each organization gets a dedicated Flipt instance, eliminating the noisy neighbor problem.

Each environment is a logical grouping of feature flags and namespaces that share the same backend Flipt instance.

Feature flags in each environment are isolated from each other, preventing naming conflicts and improving organization. You have the option to have multiple environments share the same underlying Git repository, allowing you to manage your feature flags in a single location, or have each environment have its own Git repository.

This allows Flipt Managed Cloud to work for both monorepo and multi-repo architectures.

<img
className="block dark:hidden"
src="/images/cloud/architecture/overview-light.svg"
/>
<img
className="hidden dark:block"
src="/images/cloud/architecture/overview-dark.svg"
/>

## Control Plane

Flipt Managed Cloud operates as a control plane for your Flipt environments, providing a single point of entry for all of your feature flagging needs. You login to the Flipt Managed Cloud UI and create and manage your feature flags through the UI. Feature flag data is stored in the Git repository you specify in the Flipt Managed Cloud UI.

Flipt Managed Cloud also handles authentication and authorization for your Flipt environments. Flipt managed Cloud works with many popular identity and single sign-on providers, including Google, Okta, and Auth0.

## Data Plane

Each Flipt environment is backed by a Flipt instance. The Flipt instance is hosted and operated by the Flipt team. This means you don't need to deploy or manage Flipt instances yourself.

These environments act as the data plane to serve feature flag data to your applications. When you create a feature flag in the Flipt Managed Cloud UI, it is stored in the Git repository you specify in the Flipt Managed Cloud UI. When you make a request to evaluate a feature flag, the Flipt instance in the Flipt Managed Cloud environment serves the feature flag data to your application.

Each Flipt environment gets its own unique URL that you use to serve feature flag data to your applications. Our SDKs and API clients use this URL to connect to the Flipt instance in the Flipt Managed Cloud environment.

## Evaluation

Flipt Managed Cloud supports evaluation for our [client-side SDKs](/integration/client) out of the box. These SDKs are available for many popular programming languages, including JavaScript, TypeScript, Go, Java, Ruby, Python, and more. These client-side SDKs are designed with performance in mind, and store feature flag data in memory to serve feature flag evaluations quickly.

<img
className="block dark:hidden"
src="/images/cloud/architecture/client-evaluation-cloud-light.svg"
/>
<img
className="hidden dark:block"
src="/images/cloud/architecture/client-evaluation-cloud-dark.svg"
/>

[Server-side SDKs](/integration/server) including [OpenFeature SDKs](/integration/openfeature) are also supported, but currently require you to run your own Flipt instances.

### Self-Hosted Flipt

[Open Source Flipt](/) is available for self-hosting and can mirror your feature flag configurations from Flipt Managed Cloud. This is useful if you want to use Flipt Managed Cloud for configuring and managing your feature flags, while still using your own Flipt instances for evaluation, allowing you to maintain control over your own data and infrastructure.
markphelps marked this conversation as resolved.
Show resolved Hide resolved

### Server-Side Evaluation

To scale evaluation requests and serve feature flag evaluations via our server-side SDKs, you can deploy Flipt Open Source and configure it to source flag data from your Git repository.

<img
className="block dark:hidden"
src="/images/cloud/architecture/server-evaluation-self-hosted-light.svg"
/>
<img
className="hidden dark:block"
src="/images/cloud/architecture/server-evaluation-self-hosted-dark.svg"
/>

### Client-Side Evaluation

You can also run your own Flipt Open Source instances and configure our client-side SDKs to connect to your Flipt instances. This again allows you to use Flipt Managed Cloud for managing your feature flags, while still using your own Flipt instances for evaluation for performance and/or security reasons.
markphelps marked this conversation as resolved.
Show resolved Hide resolved

<img
className="block dark:hidden"
src="/images/cloud/architecture/client-evaluation-self-hosted-light.svg"
/>
<img
className="hidden dark:block"
src="/images/cloud/architecture/client-evaluation-self-hosted-dark.svg"
/>

For more information on how to deploy Flipt Open Source and configure it to source flag data from your Git repository, please refer to the [Moving to Production](/cloud/guides/production) guide.
91 changes: 0 additions & 91 deletions cloud/architecture/overview.mdx

This file was deleted.

Loading
Loading