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
What would you like to be added:
Improve the way the errors are logged.
ability to suppress the diff output. sometimes I would prefer to just have a block of failed assertions ie. spec.name mismatch expected "name" != actual "wrong name"
reduce what is shown in the diff output. I don't need to see a diff with all the k8s generated fields
log all failed assertions. As of now, it only will show the first mismatch found.
Add ability to enable colorized output
When a resource is not found, the error message is a little bit confusing. The template it uses is gvk but if there is no name or namespace specified it formats the string with Kind:/. I think a better implementation would be to just output the top half off the resource by using a go template like
apiVersion: example.api/v1Kind: ExampleKindmetdata:
name: (if it exists)namespace: (if it exists)labels: (if they exists)
Here is an example of the output that I think would make it more clear
Error: Comparison Failed for Object:
--- Account (Expected)
+++ Account (Actual)
@@ -4,22 +4,27 @@
annotations:
crossplane.io/composition-resource-name: account
crossplane.io/external-name: teststageeudemo
labels:
crossplane.io/claim-namespace: test-stage-eu
+ crossplane.io/composite: test-storage-account
+ ice.devops.essentials.sap/external-name: teststageeudemo
spec:
forProvider:
accountKind: StorageV2
- accountReplicationType: Standard
+ accountReplicationType: GRS
accountTier: Standard
- allowNestedItemsToBePublic: true
blobProperties:
- containerDeleteRetentionPolicy:
- - days: 60
+ - days: 30
deleteRetentionPolicy:
- days: 30
versioningEnabled: true
enableHttpsTrafficOnly: true
location: westeurope
+ minTlsVersion: TLS1_2
resourceGroupNameSelector:
matchLabels:
crossplane.io/claim-namespace: test-stage-eu
@@ -29,7 +34,7 @@
tags:
sec-by-def-public-storage-exception: enabled
providerConfigRef:
- name: test-stage-eu-azure
+ name: test-stage-us-azure
writeConnectionSecretToRef:
name: test-stage-eu-demo-connection-secret
namespace: test-stage-eu
apiVersion: storage.azure.upbound.io/v1beta1
kind: Account
metadata:
labels:
crossplane.io/claim-namespace: test-stage-eu
- spec.forProvider.accountReplicationType: value mismatch, expected: Standard != actual: GRS
- spec.forProvider.blobProperties.[0].containerDeleteRetentionPolicy.[0].days: value mismatch, expected: 60 != actual: 30
- spec.forProvider.allowNestedItemsToBePublic: key is missing from map
- spec.providerConfigRef.name: value mismatch, expected: test-stage-eu-azure != actual: test-stage-us-azure
Error: the following resource was expected but no match was found:
apiVersion: storage.azure.upbound.io/v1beta1
kind: Container
metadata:
labels:
crossplane.io/claim-name: test-storage-account
crossplane.io/claim-namespace: test-stage-eu
Error: the following resource was expected but no match was found:
apiVersion: storage.azure.upbound.io/v1beta1
kind: Container
metadata:
labels:
crossplane.io/claim-name: test-storage-account
crossplane.io/claim-namespace: test-stage-eu
Why is this needed:
The way errors are currently logged make it difficult to parse.
The text was updated successfully, but these errors were encountered:
What would you like to be added:
Improve the way the errors are logged.
spec.name mismatch expected "name" != actual "wrong name"
Here is an example of the output that I think would make it more clear
Why is this needed:
The way errors are currently logged make it difficult to parse.
The text was updated successfully, but these errors were encountered: