gateway icon indicating copy to clipboard operation
gateway copied to clipboard

Docs Publishing Strategy

Open danehans opened this issue 3 years ago • 15 comments

Should Envoy Gateway's documentation be separate from Envoy's official docs or integrate with https://github.com/envoyproxy/envoy-website

danehans avatar Apr 23 '22 20:04 danehans

cc @phlax. I think it would be fine to integrate this into the main site eventually but I would discuss with Ryan. It needs some thinking about flow and placement.

mattklein123 avatar Apr 24 '22 16:04 mattklein123

i think we can start building here, and then integrate once we are ready to do so

using sphinx/rst, we can link between docs sites so it should be fairly straightforward to start linking to stuff in the main site and then merge

i guess the first step is getting some ci up and running so that we have something to start dropping docs into

i guess the main question re merging is whether they will (always) be released together - if not it might be better to just host on the envoy website but with a different path - eg /docs/envoy-gateway/latest etc

phlax avatar Apr 24 '22 20:04 phlax

@phlax thanks for all the great feedback. I prefer that the gateway project syncs releases with Envoy. I will discuss this with the community and update this issue accordingly.

xref: https://github.com/envoyproxy/gateway/issues/15

danehans avatar Apr 25 '22 16:04 danehans

i guess the main question re merging is whether they will (always) be released together - if not it might be better to just host on the envoy website but with a different path - eg /docs/envoy-gateway/latest etc

Initial feedback during this week's community meeting is that Gateway will not be released with Envoy.

cc: @youngnick @LukeShu

danehans avatar Apr 29 '22 18:04 danehans

trying to summarize this discussion regarding docs, please correct me if im wrong

  • Envoy Gateway will use its own doc publishing pipeline to generate html content.
  • This content will be pushed to https://github.com/envoyproxy/envoy-website under docs/envoy-gateway/<version>
  • And will use a CI workflow in Envoy Gateway that raises PRs in https://github.com/envoyproxy/envoy-website every time new doc content is generated
  • Envoy Gateway content will be available under a tab similar to https://www.envoyproxy.io/docs

arkodg avatar May 04 '22 16:05 arkodg

cc @phlax on ^. I think we have moved away from pushing to envoy-website on every change. I would look at how we do it in Envoy now and model it on that.

mattklein123 avatar May 04 '22 18:05 mattklein123

so an explanation of how docs are/were built in Envoy

what we did

  • PRs build/test html generation
  • commits to main - pushed built docs to "latest" on website repo
  • releases - pushed built docs to version on website repo

the problems

altho very litte changed in the docs from commit to commit - the commit hash did and this led to a diff with 1000s of changes on every main commit to the repo -> website-repo

over time the website repo became pretty much unusable - it was huge, and cloning/fetching was prone to failing

eventually i stripped out all the hash/main commits and removed the latest docs from the repo

what we do now

  • PRs - build/test html in CI and publish to (gcloud) ci-local storage
  • commits to main - publish rst to (gcloud) ci-local storage and trigger netlify, which in turns fetches the rst and builds the html from that
  • release commits - publish built html

this has made the website alot easier to work with

the repo is still pretty large as there are a lot of historical versions, so we are currently looking at the possibility of moving some of these to a separate docs archive repo

phlax avatar May 06 '22 12:05 phlax

thanks for sharing the details @phlax ! so my takeaway is - Envoy Gateway will need a CI workflow similar to what Envoy has when it wants to publish html content, and should ensure it publishes only during a tagged release / or merge to main( for latest) to reduce size of the website repo

Also based on https://github.com/envoyproxy/gateway/issues/50 it looks like Envoy Gateway will generate its html using Kubebuilder docs .

arkodg avatar May 06 '22 17:05 arkodg

This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions.

github-actions[bot] avatar Jul 01 '22 04:07 github-actions[bot]

This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions.

github-actions[bot] avatar Jul 08 '22 08:07 github-actions[bot]

I'll take this on, although it seems not possible to assign me right now. 😂

kflynn avatar Aug 09 '22 21:08 kflynn

@mattklein123 @phlax @lizan I'm unable to assign @kflynn to the issue. Can someone advise?

danehans avatar Aug 09 '22 21:08 danehans

I added explicit read access for the assignable team. I think that fixed it. Assigned.

mattklein123 avatar Aug 09 '22 22:08 mattklein123

Thanks @mattklein123! #203 is a bare-bones first cut here.

kflynn avatar Aug 16 '22 00:08 kflynn

xref

  • updating contrib guide: https://github.com/envoyproxy/gateway/issues/295
  • quickstart guide: https://github.com/envoyproxy/gateway/issues/275

danehans avatar Aug 30 '22 21:08 danehans

Summary of the current state of the world: we're using Sphinx to generate HTML from RST docs, and (for the moment) we're using GitHub Actions to publish said HTML to GitHub Pages (cf https://envoyproxy.github.io/gateway/).

@phlax Shall we just submit an Envoy PR to link out to the GitHub Pages version for now? Otherwise, we still need help getting everything published to GCS and hooked up with the Envoy docs...

kflynn avatar Oct 06 '22 16:10 kflynn

i would say lets link it in initially - not sure exactly how/where - but i think that will be easiest

phlax avatar Oct 06 '22 17:10 phlax

@danehans @kflynn are we keeping this issue open to track eventually linking https://gateway.envoyproxy.io/v0.2.0/ to https://www.envoyproxy.io/docs ?

arkodg avatar Jan 06 '23 23:01 arkodg

Let's keep our current strategy of using GH Pages to publish EG docs. If anyone disagrees, feel free to reopen.

danehans avatar Jan 07 '23 00:01 danehans