-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
[WIP] docs: Add (updated old) learn section to envoy docs #13386
Conversation
3f93bf2
to
a210fce
Compare
the old learn site (unthemed) can be seen here: |
a8d0475
to
5ad087c
Compare
the current build of the new tutorial docs can be seen here: https://387354-65214191-gh.circle-artifacts.com/0/generated/docs/tutorial/index.html it will rebuild as i make changes, so check latest if there are changes (ie click through circleci for latest url). atm the most useful thing to focus on is the pages, titles, descriptions and headings - ie the structure i was tempted to add just these without any copy, but decided against - but just to stress i have not read or formatted (beyond ci requirements) any copy yet, and probably wont until we are happy with the structure there are some "missing pages" - titles in the original suggestive of where pages should be (eg observability section) - i will probs just add these empty shortly |
@phlax can you let me know what type of review you want on this change right now? I'm not clear on the current state of the PR. /wait-any |
let me update with the skeleton pages and ill post again tomorrow
very WIP, but im thinking that ~now is the best time to think about what it should contain - esp if im going to add in some new pages and/or update old ones to better fit with other docs or current ideas |
OK sounds good just ping me back when this is updated and you want me to take a first pass. /wait |
1332ccb
to
698b433
Compare
@mattklein123 i have added the skeleton pages - so the structure - if you browse to the index page, should now resemble the old learn site. i will be updating bits through today, but current build is here https://388458-65214191-gh.circle-artifacts.com/0/generated/docs/tutorial/index.html . its quite useful moving to ill breakdown what i think we need to think about now, but things can evolve as we proceed so nothing need be set in stone. place in docsi added the learn section as "Envoy tutorial" at the top level of the doc tree, but open to suggestions on that. We might want to jiggle some things around (intro/tutorial/install, perhaps sandboxes) and/or include the tutorial in one of the other sections. (also see #13408) structure of tutorial docsbasically the pages and headings, as shown in the toc one example that im wondering about is whether we need to move "deployment on kubernetes" to it own page de/duplicationthere will inevitably be some duplication in the docs - especially i think in a tutorial section that walks through the other parts of the docs. there may be some things that are just direct dupes (i need to read through more thoroughly) - eg there is a "lifecycle of a request" page already, and one in the tutorial - likewise some of the sandbox material is very similar to material in the tutorial. i think duplication doesnt matter too much - if the "voice" and progression through is different, but we want to avoid directly duped material, or pages with the same name. additional/updated contentthe "skeleton" pages are kinda obvious in the toc as they have no subsections. if we are happy with those pages as being ones that need to be created, agreeing some rough subsections would be good. eg - for the observability - specifying what techniques and/or extensions are important to showcase in "metrics aggregation" another eg - maybe we need a page on a specific observability extension. etc likewise, if you read through the other (non-skeleton) pages and think some pages or sections need to be added/removed/renamed - lmk i think thats if for now. im gonna start working on the copy, fixing links and similar. |
Thanks @phlax for working on this. VERY excited to see this content coming back to us in a more sustainable way. Here are my high level thoughts:
Thank you!!! |
yep, agree - with the caveat that eg the sandboxes are more like a reference implementation, so i feel it may be legitimate to walk through similar steps in a tutorial, while keeping the ref docs.
my guess is that reasoning here is that kubernetes adds too many layers of complexity, and if the key docker concepts are well presented they should be transposable to kubernetes. Broadly i think i agree my only concern - i wouldnt want to excise all kubernetes docs/examples altogether. Particularly setting up kubernetes as an edge proxy outside of istio etc, it can be very useful to have an example like this one #13408 (comment) |
I think what I'm mainly suggesting is let's completely ignore K8s for right now and just focus on improving everything else. If we burn through the rest of our doc debt and there is still interest in some level of K8s docs we can discuss then? |
de6271b
to
f7c94d2
Compare
yep, cool |
7e3bb7a
to
b382e57
Compare
Signed-off-by: Ryan Northey <ryan@synca.io>
a6775cb
to
3bcc4f5
Compare
thanks @moderation ive removed (almost all) of the references - when i start working on the copy, ill have to figure out an equivalent image and set of steps to use as an example of dynamic configuration |
Signed-off-by: Ryan Northey <ryan@synca.io>
@mattklein123 im reviewing this PR again now that we have reorganized/updated existing install im wondering how best to distinguish the tutorial from sandboxes. One idea i have is to make the tutorial more like a step by step create your own sandbox the tutorial/getting-started (https://storage.googleapis.com/envoy-pr/13386/docs/start/tutorial/index.html#getting-started) has quite a bit of duplicate and useful info. Probably im thinking to carve the info on these pages out to other sections, and make it more like getting-started creating an environment for the tutorial (not using any existing sandboxes) pretty much the same with the "dynamic configuration" section https://storage.googleapis.com/envoy-pr/13386/docs/start/tutorial/index.html#dynamic-configuration i think there is some really useful info there, that could probs be more useful in relevant sections, and we can make this more like a step by step setting up an envoy with dynamic config on a related note ive been harbouring ideas about creating a "Dynamic configuration" sandbox. This is an area that i think could be better documented for users wanting dynamic config outside of istio etc. |
@mattklein123 just to update with my current plan on this my feeling was that there was some pretty big gaps in the initial user journey - ie before they got to the stage of working through a tutorial. With the dynamic sandboxes, and updates to quick-start etc im hoping we will have mostly plugged those gaps. I think if we had not tackled that first, the temptation would have been to use the tutorial to do that. i have a pretty good idea now (in my head) of how i would like to structure the tutorial, and will update in the next day or two |
Great in general sounds like a plan. Looking forward to seeing the draft! /wait |
Signed-off-by: Ryan Northey <ryan@synca.io>
so my current thinking on this is to build a step-by-step microcosmic service mesh very roughly, the steps im currently thinking about
i will re/use any techniques and concepts in the orig where relevant |
@phlax at a high level ^ makes sense to me. Is that the order that you thinking about? As I think that some of the things later in the list are more important concept wise than earlier in the list. |
by no means set in stone, but very roughly perhaps im not thinking to dwell too much on the basics, and now we have the quick-start guide updated we can point to that, but the plan i have in mind is to kinda go from zero to hero, so it will need to start with some basics im wondering about progression and testing - which ultiimately could resolve each other in a sense. by progression, im meaning that if you cut in at (eg) lesson 5, but havent done previous parts you will need a ~copy of the env so far one way im thinking to resolve this is that each page/lesson begins with the resultant config/env of the previous lesson which can be downloaded or perhaps cded to like with the sandboxes this would make it easier to test the steps too |
This pull request has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
This pull request has been automatically closed because it has not had activity in the last 37 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
Signed-off-by: Ryan Northey ryan@synca.io
Commit Message: docs: Add (updated old) learn section to envoy docs
Additional Description:
The learn section was removed from the website as it was beginning to suffer bitrot and lacked a maintainer
This PR will readd those docs into the main Envoy docs, and add some testing/validation to ensure the docs stay up to date
(atm this PR is very WIP, and is just bringing the docs into the repo tree)
Risk Level: low
Testing: yep
Docs Changes: yep
Release Notes:
[Optional Runtime guard:]
[Optional Fixes #Issue] Fix #9662
[Optional Deprecated:]