Closed mszostok closed 2 years ago
Description
After Investigate existing solutions to speed up Local Hub rewrite task, we decided to give up with Local Hub rewrite. Instead, we will implement our delegated storage in separate Go service and use gRPC in Local Hub to delegate values resolution.
values
The initial protobufs were defined in https://github.com/capactio/capact/pull/644
Steps
Q: what is the contract here? should delegated storage always return context, even if not modified or not?
createTypeInstance
createTypeInstances
value
Additional
[x] Update Local Hub GraphQL mutations and queries with backend.context property. It should be of type Any!. For example:
backend.context
Any!
mutation CreateTypeInstances { createTypeInstances( in: { typeInstances: [ { alias: "helm-release" typeRef: { path: "cap.type.helm.chart.release", revision: "0.1.0" } value: { key: "test" # same as it was } backend: { id: "123" # it's like that already. context: { # new property of type `Any!` name: "release-name", namespace: "release-namespace", } } } ] } ) { id alias } }
query GetTypeInstance($typeInstanceID: ID!) { typeInstance(id: $typeInstanceID) { id typeRef { path revision } backend { # current backend entry id abstract } lockedBy latestResourceVersion { resourceVersion createdBy metadata { attributes { path revision } } spec { value } backend { context { # new property of type `Any!` name namespace } } } } }
[x] Validate Storage TypeInstance value - Stretch, if not possible, extract to dedicated task. - extracted to: https://github.com/capactio/capact/issues/656
Integration tests are out of scope
See epic #604 for reason and use cases.
PRs:
Description
After Investigate existing solutions to speed up Local Hub rewrite task, we decided to give up with Local Hub rewrite. Instead, we will implement our delegated storage in separate Go service and use gRPC in Local Hub to delegate
values
resolution.The initial protobufs were defined in https://github.com/capactio/capact/pull/644
Steps
createTypeInstance
mutation to use thecreateTypeInstances
. If not possible, remove it and adjust all its usage.value
only for built-in storage backendsAdditional
[x] Update Local Hub GraphQL mutations and queries with
backend.context
property. It should be of typeAny!
. For example:[x] Validate Storage TypeInstance value - Stretch, if not possible, extract to dedicated task. - extracted to: https://github.com/capactio/capact/issues/656
Integration tests are out of scope
Related issues
See epic #604 for reason and use cases.