Skip to content

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 a team and mike-zorn 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

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.

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

@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 and others added 3 commits February 27, 2025 15:42
Co-authored-by: Mike Zorn <mike@launchdarkly.com>
Co-authored-by: Mike Zorn <mike@launchdarkly.com>
@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.

3 participants