elastic / elastic/docs-builder
Publish `assembler.yml` and `navigation.yml`
- Dominant language
- C#
- Stars
- 24
- Forks
- 44
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 146
Description
We should publish our `assembler.yml` and `navigation.yml`.
That way environments can opt in to an assemble source
- `registry`: download from S3 bucket.
- `local`: use local if exists otherwise use registry.
Open question what do we want our production rollout of these two to be?
- Should these hit production as soon as we merge and production deploys on its cron rotation?
- Do we want to gate this somehow? E.g Staging will take `latest` of the assembler and navigation.
- Should we add a separate distinct release step for these?
- Do we upload each mutation to S3 so we can always rollback?
My answers:
- No, we should still do gated deploy for the sources and navigation.
- Yes
- While yes, separate release trains would make it easier and faster to push these kind of changes up or roll them back. However if we put them on separate release versions we have to start versioning the schema of these too so that we are sure we are not rolling back to a version that our `docs-assembler` can not read. We have to be really strict around schema changes here. It might also be a case where both need bumping to read new configuration values. So for now keeping them tied into a single release feels easiest. Staging still benefits from the publish.
- I think it'd be good to publish them under `gitref/.yml` then our build/assemble manifest can include the `gitref` it build and older builds can still utilize it.
I am okay with these continuing to live in `elastic/docs-builder` but perhaps we can put them at the root of our repository? or in a `config` folder.
Contributor guide
Assessment
This issue has not been assessed yet.