docs: add proxy certificate instructions for containerized deployments#8823
docs: add proxy certificate instructions for containerized deployments#8823the-gigi-apollo wants to merge 37 commits intodevfrom
Conversation
This comment has been minimized.
This comment has been minimized.
✅ Docs preview readyThe preview is ready to be viewed. View the preview File Changes 1 new, 16 changed, 0 removedBuild ID: f61e56fb523264db75d668e6 URL: https://www.apollographql.com/docs/deploy-preview/f61e56fb523264db75d668e6 |
08542ff to
3455d3b
Compare
2bba501 to
599c74e
Compare
…t-to-router-container
Co-authored-by: Gigi Sayfan <the.gigi@gmail.com> Co-authored-by: Coenen Benjamin <benjamin.coenen@hotmail.com>
This preserves the changes in the individual files, which can be nicer for later cherry-picking or review.
…rough externalize_header_map (#8828)
EOL of serverless plans remains Feb. 1, but a grace period until Feb. 15 has been implemented. This change clarifies the language of the discontinuation notice.
Current merge policies for `@authenticated`, `@requiresScopes` and `@policy` were inconsistent. If single subgraph declared a field with one of the directives then it would restrict access to this supergraph field regardless which subgraph would resolve this field (results in AND rule for any applied auth directive, i.e. `@authenticated` AND `@policy` is required to access this field). If the same auth directive (`@requiresScopes`/`@policy`) were applied across the subgraphs then the resulting supergraph field could be resolved by fullfilling either one of the subgraph requirements (resulting in OR rule, i.e. either `@policy` 1 or `@policy` 2 has to be true to access the field). While arguably this allowed for easier schema evolution, it did result in weakening the security requirements. Since `@policy` and `@requiresScopes` values are represent boolean conditions in Disjunctive Normal Form, we can merge them conjunctively to get the final auth requirements, i.e. ```graphql type T @authenticated { # requires scopes (A1 AND A2) OR A3 secret: String @requiresScopes(scopes: [["A1", "A2"], ["A3"]]) } type T { # requires scopes B1 OR B2 secret: String @requiresScopes(scopes: [["B1"], ["B2"]] } type T @authenticated { secret: String @requiresScopes( scopes: [ ["A1", "A2", "B1"], ["A1", "A2", "B2"], ["A3", "B1"], ["A3", "B2"] ]) } ``` This algorithm also deduplicates redundant requirements, e.g. ```graphql type T { # requires A1 AND A2 scopes to access secret: String @requiresScopes(scopes: [["A1", "A2"]]) } type T { # requires only A1 scope to access secret: String @requiresScopes(scopes: [["A1"]]) } type T { # requires only A1 scope to access as A2 is redundant secret: String @requiresScopes(scopes: [["A1"]]) } ``` Partial backport of apollographql/federation#3321 and apollographql/federation#3343 Co-authored-by: Sachin D. Shinde <sachin@apollographql.com>
…satisfiability errors (#8847) This PR updates satisfiability error messaging to align more with JS code to facilitate validation. Specifically, this PR updates witness operation generation logic to include optional arguments.
) Restricts usage of `@authenticated`, `@policy` and `@requiresScopes` from being applied on interfaces, interface objects and their fields. GraphQL spec currently does not define any interface inheritance rules and developers have to explicitly redefine all interface fields on their implementations. At runtime, GraphQL servers cannot return abstract types and always return concrete output types. Due to the above, applying auth directives on the interfaces may lead to unexpected runtime behavior as they won't have any effect at runtime. Backport of apollographql/federation@faea2d1
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: abernix <841294+abernix@users.noreply.github.com> Co-authored-by: Jesse Rosenberger <git@jro.cc> Co-authored-by: Parker <parker.ragland@apollographql.com>
…ollo-rust-builder docker tag to v0.28.0 (#8691) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Correct validation to include validation of object fields and nested objects.
…t-to-router-container
|
Does proxy-certificates.mdx need to be added to the sidebar? |
faisalwaseem
left a comment
There was a problem hiding this comment.
Apologies I didn't get to this sooner. I had trouble with the init container instructions I added the comments on the file
|
|
||
| 2. Configure your deployment to use an init container that installs the certificate. | ||
|
|
||
| ```yaml title="values.yaml" |
There was a problem hiding this comment.
I tried using the instructions and running the router. If this file is intended to be used by our Helm chart, the values shouldn't be nested under router.
There was a problem hiding this comment.
Updated the Helm example to match the actual chart keys: extraVolumes, extraVolumeMounts, initContainers, and image are top-level values (not nested under router). Thanks for catching this.
Yes! added now: proxy-certificates is in the routing docs sidebar under Deployment. |
|
Closing in favour of #8947 |
ref dxm-431 instructions for adding root cert to router container