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

docs: [FUN-449] Add what is it for doc #507

Merged
merged 7 commits into from
Feb 27, 2025

Conversation

tvarney13
Copy link
Member

This PR adds the what is it for doc and makes a minor grammar correction in the main README.

@tvarney13 tvarney13 requested review from mike-zorn and a team February 26, 2025 17:11
@tvarney13 tvarney13 self-assigned this Feb 26, 2025
Comment on lines 1 to 7
## What should I use it for?

`dev-server` is intended as a replacement for creating certain kinds of environments in the LD app itself that are not part of a flag's release path e.g. Staging, UAT, QA, Production. The most common examples of this are local development environments and ephemeral CI environments.

## What should I not use this for?

You should refrain from using `dev-server` for any release path critical environments, as well as environments where complex targeting logic is required. Currently, `dev-server` only supports serving a single variation and supports no targeting logic.
Copy link
Member Author

@tvarney13 tvarney13 Feb 26, 2025

Choose a reason for hiding this comment

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

I feel like this is saying the same thing twice i.e. "don't use this for anything besides local dev and ephemeral CI environments"

While writing, I kept dreaming up weird use cases for this but I think we want to steer folks away from that kind of thing

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah. I think that there are a few points we want to make here.

  • don't ever use the dev server for a prod workload because it might not work
  • the dev server is for local dev & CI environments
    • because it's for environments with a single user, it's simpler and has fewer features
    • no targeting
  • the dev server should still guide you to shipping your code safely and minimize surprises as you get to prod
    • so you can't create flags, you have to pull them from a real environment and iterate from there

Probably also need a sentence to describe what this doc is, I think it's less of how to use the dev server, but more of like "what is it supposed to do and why".

Copy link
Member Author

Choose a reason for hiding this comment

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

@mike-zorn Okay made some pretty significant edits

@tvarney13 tvarney13 changed the title [FUN-449] Add what is it for doc docs: [FUN-449] Add what is it for doc Feb 26, 2025

We implemented it this way in order to solve a problem common both internally and amongst our userbase where an environment would get created per developer on a project as well as per CI build. As you could expect, this becomes exponentially harder to maintain as the number of environments scales both technically and from a process perspective - something has to clear out those environments after all!

Another intentional design decision was the choice not to allow the creation of local-only flags. A running `dev-server` can only pull from a real environment. From there, you can override the served value for your local environment.
Copy link
Contributor

Choose a reason for hiding this comment

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

Rewrite this without mentioning local-only flags. That's a feature we've discussed internally, but isn't something a reader of this doc will know about. I think you want to frame it as "flags must first exist in the source environment" or similar.

Copy link
Contributor

@mike-zorn mike-zorn left a comment

Choose a reason for hiding this comment

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

Some minor notes, but looks good otherwise!

@tvarney13 tvarney13 merged commit 0b78aa1 into main Feb 27, 2025
5 checks passed
@tvarney13 tvarney13 deleted the FUN-449-dev-server-what-is-it-for-doc branch February 27, 2025 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants