You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As you observed this morning, there's definitely a bunch of redundancy between this and the changes I've been planning to do to support pull request builds. For both use cases, we want to host new metadata envelopes "in front of" a production content service. From this repo I'm pretty certain you'll be able to directly use whatever "staging" endpoints are included as part of that effort - the content from the PR build will be sent from a preparer running on a Strider PR build while the content from the web client will be sent directly from the web client. We'll just have to be careful that our URL prefixes don't collide somehow.
I wrote up the changes that I'd had in mind today:
I like using URL segments to identify the "environment" rather than hacky regexp matching. (I'm increasingly thinking that we should explicitly state the content IDs are URLs and do all the normalization, etc that's implied by that, but that's a bigger discussion I think.)
The presenter-manager is something I explicitly didn't want to do. Launching a separate presenter container for every "build" will quickly overwhelm us once we start doing builds for every commit pushed to a PR across 20-ish content repositories. I'm trying to avoid needing to reap old builds away or put time limits on them. Also, without a wildcard cert, it'll be much harder to use HTTPS for them.
I'm not certain whether we want to have separate proxy services or not. I'm currently thinking that I won't be able to do the presented path manipulation that I want to do to by just putting a proxy in front of the presenter - when I see a path of /build-whatever/foo/bar/baz/, I want to (a) use /foo/bar/baz/ to find the template and the content ID prefix, but (b) use /build-whatever/foo/bar/baz/ to construct the content ID of https://github.com/someorg/somerepo/v9000/build-whatever/foo/bar/baz/ that's used to actually find the envelope; otherwise we lose information between the presenter-proxy and the content-service-proxy. (See the point above about not running separate services for every build.) There might be a way to make this work, though?
As you observed this morning, there's definitely a bunch of redundancy between this and the changes I've been planning to do to support pull request builds. For both use cases, we want to host new metadata envelopes "in front of" a production content service. From this repo I'm pretty certain you'll be able to directly use whatever "staging" endpoints are included as part of that effort - the content from the PR build will be sent from a preparer running on a Strider PR build while the content from the web client will be sent directly from the web client. We'll just have to be careful that our URL prefixes don't collide somehow.
I wrote up the changes that I'd had in mind today:
To compare our approaches:
/build-whatever/foo/bar/baz/, I want to (a) use/foo/bar/baz/to find the template and the content ID prefix, but (b) use/build-whatever/foo/bar/baz/to construct the content ID ofhttps://github.com/someorg/somerepo/v9000/build-whatever/foo/bar/baz/that's used to actually find the envelope; otherwise we lose information between the presenter-proxy and the content-service-proxy. (See the point above about not running separate services for every build.) There might be a way to make this work, though?