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: adds intro #930

Merged
merged 2 commits into from
Sep 22, 2023
Merged
Changes from 1 commit
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
25 changes: 23 additions & 2 deletions web-docs/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

_flagd_ is a _feature flag evaluation engine_.
Think of it as a ready-made, open source, OpenFeature-compliant feature flag backend system.
It allows you to dynamically evaluate feature flags.

With flagd you can:

Expand All @@ -11,8 +10,30 @@ With flagd you can:
* use context-sensitive rules to target specific users or user-traits
* perform pseudorandom assignments for experimentation
* perform progressive roll-outs of new features
* aggregate flag definitions from multiple sources
* aggregate flag definitions from multiple sources

It doesn't include a UI, management console or a persistence layer.
It's configurable entirely via a POSIX-style CLI.
Thanks to it's minimalism, it's _extremely flexible_; you can leverage flagd as a sidecar alongside your application, an engine running in your application process, or as a central service evaluating thousands of flags per second.

# How can deploy flagd?

flagd is designed to fit well into a variety of infrastructures, and can run on various architectures.
It run as a separate process or directly in your application.
It's distributed as a binary, container image, and various libraries.
If you're already leveraging containers in your infrastructure, you can extend the docker image with your required configuration.
You can also run flagd as a service on a VM or a "bare-metal" host.
If you'd prefer not to run an additional process at all, you can run the flagd evaluation engine directly in your application.
No matter how you run flagd, you will need to supply it with feature flags.
The flag definitions supplied to flagd (*sources*) are monitored for changes which will be immediately reflected in flagd's evaluations.
Currently supported sources include files, HTTP endpoints, Kubernetes custom resources, and proto-compliant gRPC services.

<!-- Should we add some simple diagrams here to illustrate the deployment options and sources? -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could add a Grid section linking out the various deployment sections.

https://squidfunk.github.io/mkdocs-material/reference/grids

I wouldn't recommend adding an image here.

Copy link
Member Author

@toddbaert toddbaert Sep 22, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will convert this comment into a TODO comment to link to the deployment scenario as you describe.

<!-- Do we want to add links here? or is there value in keeping this entirely self-contained to keep things focused? -->

# How to I use flagd?

flagd is fully OpenFeature compliant.
To leverage it in your application you must use the OpenFeature SDK and flagd provider for your language.
You can configure the provider to connect to a flagd instance you deployed earlier (evaluating flags over gRPC) or use the in-process evaluation engine to do flag evaluations directly in your application.
Once you've configured the OpenFeature SDK, you can start evaluating the feature flags configured in your flagd definitions.
Loading