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
Propagate the W3C Trace Context and other metadata across promotion stages via KeptnApp CRDs.
Technical Details
I want to Propagate W3C trace-id across KeptnApp.
Propagate context through the deployment.
Any possible refactor: e.g., split KeptnApp release-matrix from pre-post tasks.
DoD
I have a KeptnApp deployed in prod, I want to trace it back from the version that was deployed in dev, passing through hardening.
I want to have pre-post tasks added after I started with an auto-discovered KeptnApp
I want to attach metadata to the deployment of a KeptnApp and also customize that per-workload. This metadata must be:
visible in the Spans as span/event attributes.
passed to KeptnTasks and KeptnEvaluations at both: pre/post App and Workload levels.
Example:
kind: KeptnAppContextname: "my-awesome-app"# this has to be the same value of part-of labelspec:
preDeploymentTasks:
- task1
- task2postDeploymentTasks:
- task1
- task2preDeploymentEvaluations:
- eval1
- eval2postDeploymentEvaluations:
- eval1
- eval2metadata:
- key: value
- ...traceLinks:
- "w3c trace id1"
- "w3c trace id2"
---
kind: Deploymentspec:
template:
annotations:
traceparent: "w3c parent trace"keptn.sh/metadata: "myMetadataKey1=myValue1,myMetadata2=myvalue2,..."k8s.io/part-of: my-awesome-appkeptn.sh/pre-task: mytask1
Problems:
Having a CR with the context could create problems because of:
apply order: we could start taking care of a Workload before the Ctx CR is applied
different workloads might have different metadata: e.g. gitSHA could differ from each workload
Clean-up of old data is tricky since we would need to either edit the same ctx CR or track old versions
Precedence of context between App and Workload
Possible solutions:
Add metadata information to the Workload directly via annotations
metadata is customizable per-workload
each workload could get linked to a different parent trace if they are bumped individually across stages
If it would be possible to add an annotation to the deployment manifest like keptn.sh/metadata where I can store additional information (like a commit ID) which is propagated as an environment variable to the tasks, would enable me to use this information to send events to my observability platform and could also be used in the end-2-end trace.
thisthat
changed the title
[Tracking] Context Propagation
[Tracking] Context Propagation (wip)
Sep 4, 2023
Goal
Propagate the W3C Trace Context and other metadata across promotion stages via
KeptnApp
CRDs.Technical Details
I want to Propagate W3C trace-id across
KeptnApp
.Propagate context through the deployment.
Any possible refactor: e.g., split KeptnApp release-matrix from pre-post tasks.
DoD
KeptnTask
s andKeptnEvaluation
s at both: pre/post App and Workload levels.Example:
Problems:
Possible solutions:
Add metadata information to the Workload directly via annotations
in the case of the same key, workload def wins
KEP
Tasks
v1beta1
API in lifecycle-operator controllers #2575v1beta1
#2576The text was updated successfully, but these errors were encountered: