website icon indicating copy to clipboard operation
website copied to clipboard

Update quickstart and new user workflows

Open dwelsch-esi opened this issue 1 year ago • 7 comments

Overview

~Rename to "Quick start" (two words)~. Add a "Prerequisites" section and revise the "What's next" section to focus on two separate paths, Development and Operations. Write separate "Getting started" workflows for Developer and Operator users. For the developer path, link to the "Set up a local cluster" page rather than the install page.

Audience: All

Type: Task

The existing documentation might contain helpful source material that you can pull into this doc change. See recommendations for the existing (at the time of the CNCF tech doc analysis) etcd technical documentation pages: https://github.com/cncf/techdocs/blob/main/assessments/0010-etcd/etcd-implementation.md/#general-reorganization

🎤 Context

This issue tracks recommended changes resulting from an analysis of the etcd documentation commissioned by CNCF. The analysis and supporting documents are here: https://github.com/cncf/techdocs/tree/main/assessments/0010-etcd/

✌️ Possible Implementation

Related material in the current doc:

  • https://github.com/etcd-io/website/blob/main/content/en/docs/v3.5/quickstart.md

dwelsch-esi avatar Mar 08 '24 23:03 dwelsch-esi

Usage varies, but the Etc docs have used Quickstart (one word) from the start (or at least for a while now), as do other sites like GH, see:

chalin avatar Feb 27 '25 17:02 chalin

If we break down the opening comment guidance, I see these tasks:

  • (1) ~Rename to "Quick start" (two words).~ See https://github.com/etcd-io/website/issues/782#issuecomment-2688630047.
  • (2) Add a "Prerequisites" section
  • (3) Revise the "What's next" section to focus on two separate paths, Development and Operations

And:

  • (4) Write separate "Getting started" workflows for Developer and Operator users.
    • For the developer path, link to the "Set up a local cluster" page rather than the install page.

I'm assuming that the separate "Getting started" workflows refer to separate pages, not to be crammed into the single Quickstart page, right @dwelsch-esi?

/cc @nate-double-u

chalin avatar Feb 27 '25 17:02 chalin

Ah, I'm recalling why there wasn't a separate "Prerequisites" section. If you look at the current Quickstart, it is sooo simple, that it didn't make sense at the time to separate out the Prerequisites from the steps.

Also, @dwelsch-esi, have you outlined somewhere how you see the separate "Getting started" workflows taking shape?

chalin avatar Feb 27 '25 18:02 chalin

  • (4) Write separate "Getting started" workflows for Developer and Operator users.

    • For the developer path, link to the "Set up a local cluster" page rather than the install page.

I'm assuming that the separate "Getting started" workflows refer to separate pages, not to be crammed into the single Quickstart page, right @dwelsch-esi?

Just my two cents, if they were to be separate pages, then the "Quickstart" should still refer to those pages, no? Maybe have the "What's next" section refer to the "Getting started" pages, one located at the beginning of each flow?

So one for dev-guide and one for op-guide

NotAwar avatar Feb 27 '25 18:02 NotAwar

@dwelsch-esi I would like to ask a few clarifications:

  1. To my understanding, the current bullet points in the What's next can be removed to be replaced with only the 2 paths mentionned (Developer and Operator users). Correct?
  2. Are there any acceptance criteria or templates for the Prequisites sections?

/assign

ronaldngounou avatar Apr 11 '25 04:04 ronaldngounou

@ronaldngounou :

@dwelsch-esi I would like to ask a few clarifications:

1. To my understanding, the current bullet points in the What's next can be removed to be replaced with only the 2 paths mentionned (Developer and Operator users). Correct?

2. Are there any acceptance criteria or templates for the Prequisites sections?

/assign

  1. Yes, though if there really are more things that the user might want to do from this point, one solution would be to create sub-lists:
    - If you're a developer:
        - Explore the gRPC API
        - Find language bindings and tools
   - If you're an operator or admin:
       - Set up a multi-machine cluster
       - Learn how to configure etcd
       - Use TLS to secure an etcd cluster
       - Tune etcd

I'm a little dubious that all of these would be equally relevant to a new user, though. The goal is to guide the user to what is probably the next important step in their learning process. For the operator especially, I don't think they'll be interested in TLS, for example, until they've set up a cluster. At that point I'm sure they can find TLS in the User/Admin Guide.

  1. I don't have any templates for Prereq sections. That's a good idea, though. If you write one, I'd format it as a checklist of items to consider including. It's not entirely cut and dried; sometimes an item can go in the prereqs or in the procedure. Here are some guidelines for what to consider including:

    • Hardware requirements, if any, including minimum specs for performance, and any peripherals required
    • Platform: OS, including version; installed languages; and software dependencies, including versions
    • Security requirements, including certificates or keys, if they're not part of the task
    • Environment, including paths and configurations that should already be set up
    • Processes that must be running, including daemons, clusters, agents, and servers
    • Installed software required to perform the steps of the task, including CLIs, APIs, and IDEs

Again, some of these things might be part of the task; in a lot of cases that's a judgement call. For example, I'd include a path variable in the prereqs if it were required for a dependency (so it should be there already), but if it directly supported the task in question I'd include it as a step in the procedure.

If you want to take things to the next level, another way to think about this is to imagine things that could go wrong with your procedure and try to head them off with prerequisites. A lot of times as a developer you might miss prerequisites because they're already so ingrained in your routine or buried in your environment. Look for where you say things like "Of course that will already be installed ..." or "No one would set this up without ..." or the classic "It works in my environment."

dwelsch-esi avatar Apr 11 '25 18:04 dwelsch-esi

dwelsch-esi For the second task, to my understanding, that should summarize the commands to be able to launch "etcd or etcdctl in a virtual environment.

That would include all the set up steps between between 1. and 2. on this Quickstart ? I am thinking about doing similar to 01-prerequisities and 02-jumpbox but I am not sure if it is what you are looking for.

I would appreciate if you could provide additional examples on the Prerequisites step.

  1. These changes should be done in v3.5 or v3.6 ?

ronaldngounou avatar Apr 11 '25 23:04 ronaldngounou