diff --git a/plugins/crossplane.yaml b/plugins/crossplane.yaml index 8ad69ac0..8bdc7bba 100644 --- a/plugins/crossplane.yaml +++ b/plugins/crossplane.yaml @@ -1,21 +1,37 @@ plugins: - # List all the resources managed by a Composite Resource - kube-lineage: - shortCut: Ctrl-U + # crossplane-trace list all the relationships with a resource (Claim, Composite, or Managed Resource) + # Requires 'crossplane' cli binary installed + crossplane-trace: + shortCut: t confirm: false - description: "Kube Lineage" + description: "Crossplane Trace" scopes: - all command: sh background: false args: - -c - - >- - kubectl lineage - -d 6 - --exclude-types Event,ProviderConfigUsage.aws.upbound.io,ProviderConfigUsage.kubernetes.crossplane.io - --show-group - --context $CONTEXT - $RESOURCE_NAME - $NAME - | less -K + - | + if [ -n "$NAMESPACE" ]; then + crossplane beta trace --context $CONTEXT -n $NAMESPACE $RESOURCE_NAME.$RESOURCE_GROUP $NAME -owide | less -K + else + crossplane beta trace --context $CONTEXT $RESOURCE_NAME.$RESOURCE_GROUP $NAME -owide | less -K + fi + # crossplane-watch requires 'crossplane' cli and 'viddy' binaries installed + # 'viddy' is a modern implementation of 'watch' command written in rust. Read more on https://github.com/sachaos/viddy. + crossplane-watch: + shortCut: w + confirm: false + description: "Crossplane Watch" + scopes: + - all + command: sh + background: false + args: + - -c + - | + if [ -n "$NAMESPACE" ]; then + viddy -pw 'crossplane beta trace --context $CONTEXT -n $NAMESPACE $RESOURCE_NAME.$RESOURCE_GROUP $NAME -owide' + else + viddy -pw 'crossplane beta trace --context $CONTEXT $RESOURCE_NAME.$RESOURCE_GROUP $NAME -owide' + fi