diff --git a/api/v1alpha1/generated.pb.go b/api/v1alpha1/generated.pb.go index b4d2370f9..2db37e1de 100644 --- a/api/v1alpha1/generated.pb.go +++ b/api/v1alpha1/generated.pb.go @@ -1811,14 +1811,14 @@ func init() { } var fileDescriptor_e26b7f7bbc391025 = []byte{ - // 3435 bytes of a gzipped FileDescriptorProto + // 3444 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x3b, 0x4b, 0x6c, 0x24, 0xc5, 0xd9, 0xdb, 0x33, 0xe3, 0xb1, 0xe7, 0x1b, 0x3f, 0xcb, 0xde, 0xc5, 0x98, 0x7f, 0xbd, 0xab, 0x86, 0x1f, 0x41, 0x80, 0x71, 0x76, 0x17, 0xc3, 0xb2, 0x10, 0x88, 0xc7, 0xfb, 0xf2, 0x62, 0x16, 0xa7, 0xec, 0x5d, 0xc8, 0x02, 0x4a, 0xca, 0x33, 0xe5, 0x99, 0xc6, 0x33, 0xd3, 0x4d, 0x57, 0x8f, 0x17, 0x07, 0x29, 0x09, 0x49, 0x50, 0xb8, 0x04, 0x25, 0xca, 0x21, 0xe4, 0x9a, 0x44, 0x89, 0x72, 0x48, - 0x6e, 0x39, 0x44, 0x39, 0x20, 0x85, 0x0b, 0xca, 0x21, 0x42, 0x39, 0x11, 0x29, 0x5a, 0x81, 0x73, - 0x8b, 0x44, 0xb8, 0xaf, 0x14, 0x29, 0xaa, 0x47, 0x77, 0x57, 0xf7, 0xf4, 0xd8, 0xdd, 0xc3, 0xee, + 0x6e, 0x39, 0x44, 0x39, 0x20, 0x85, 0x0b, 0xca, 0x01, 0xa1, 0x9c, 0x88, 0x14, 0xad, 0xc0, 0xb9, + 0x45, 0x22, 0xb9, 0xaf, 0x14, 0x29, 0xaa, 0x47, 0x77, 0x57, 0xf7, 0xf4, 0xd8, 0xdd, 0xc3, 0xee, 0x8a, 0xdc, 0xec, 0xef, 0x59, 0xf5, 0xd5, 0x57, 0xdf, 0xab, 0x6b, 0xe0, 0xd1, 0x86, 0xe5, 0x35, 0xbb, 0x9b, 0x95, 0x9a, 0xdd, 0x5e, 0x20, 0xdb, 0x5d, 0xcb, 0xdb, 0x5d, 0xd8, 0x26, 0x6e, 0xc3, 0x5e, 0x20, 0x8e, 0xb5, 0xb0, 0x73, 0x82, 0xb4, 0x9c, 0x26, 0x39, 0xb1, 0xd0, 0xa0, 0x1d, 0xea, @@ -1855,7 +1855,7 @@ var fileDescriptor_e26b7f7bbc391025 = []byte{ 0x0d, 0x98, 0x4e, 0xe0, 0x43, 0x4f, 0xc5, 0xce, 0xf3, 0xbe, 0x9e, 0xf3, 0x44, 0x3d, 0x6c, 0xe1, 0x69, 0x3e, 0x0c, 0x23, 0x2e, 0xdd, 0xb1, 0x98, 0x65, 0x77, 0x94, 0x85, 0x27, 0x15, 0xff, 0x08, 0x56, 0x70, 0x1c, 0x50, 0xa0, 0x87, 0xa0, 0xe4, 0xff, 0xcd, 0xcd, 0x9c, 0xe7, 0xee, 0xcc, 0x0f, - 0xce, 0x27, 0x65, 0x38, 0xc4, 0x9b, 0x9f, 0x1a, 0xda, 0xe9, 0x5f, 0x71, 0xea, 0xc4, 0xa3, 0xdc, + 0xce, 0x27, 0x65, 0x38, 0xc4, 0x9b, 0x9f, 0x19, 0xda, 0xe9, 0x5f, 0x71, 0xea, 0xc4, 0xa3, 0xdc, 0x79, 0x88, 0xe3, 0x5c, 0x0e, 0x9d, 0x39, 0x70, 0x9e, 0x25, 0x09, 0xc6, 0x3e, 0x1e, 0x9d, 0x86, 0x51, 0xf5, 0xa7, 0xf4, 0x15, 0xb9, 0xba, 0xe0, 0x60, 0x96, 0x34, 0x1c, 0x8e, 0x50, 0xa2, 0x2e, 0x8c, 0x31, 0xbb, 0xeb, 0xd6, 0xa8, 0x54, 0x2a, 0x57, 0x5a, 0x3e, 0x79, 0x3a, 0xcb, 0xd9, 0xac, @@ -1868,7 +1868,7 @@ var fileDescriptor_e26b7f7bbc391025 = []byte{ 0x90, 0xe7, 0xde, 0xf0, 0x0f, 0xff, 0xd9, 0x2e, 0xf3, 0xec, 0xb6, 0xf5, 0x2d, 0x8a, 0x9a, 0x31, 0x93, 0x7c, 0x35, 0x8b, 0x49, 0x02, 0x31, 0x69, 0xec, 0xe2, 0xc2, 0x5c, 0x7f, 0xae, 0x74, 0xb6, 0x59, 0x80, 0x52, 0x97, 0xd1, 0xb3, 0x56, 0x83, 0x32, 0x4f, 0x58, 0x68, 0x24, 0x8c, 0x53, 0x57, - 0x7c, 0x04, 0x0e, 0x69, 0xcc, 0x7f, 0xe5, 0x00, 0xf5, 0xfa, 0x0e, 0xf7, 0x78, 0x97, 0x3a, 0xf6, + 0x7c, 0x04, 0x0e, 0x69, 0xcc, 0x7f, 0xe6, 0x00, 0xf5, 0xfa, 0x0e, 0xf7, 0x78, 0x97, 0x3a, 0xf6, 0x15, 0xbc, 0x1a, 0xf7, 0x78, 0x2c, 0xc1, 0xd8, 0xc7, 0xf3, 0x75, 0xd5, 0x9a, 0xc4, 0xf5, 0xe2, 0xf5, 0xc3, 0x32, 0x07, 0x62, 0x89, 0x43, 0x6b, 0x30, 0xd3, 0x15, 0x92, 0x37, 0x88, 0xdb, 0xa0, 0x9e, 0x7f, 0xf3, 0xc4, 0x19, 0x8d, 0x54, 0xff, 0x4f, 0xf1, 0xcc, 0x5c, 0x49, 0xa0, 0xc1, 0x89, @@ -1892,12 +1892,12 @@ var fileDescriptor_e26b7f7bbc391025 = []byte{ 0x31, 0x1e, 0xad, 0x0e, 0xfc, 0x3a, 0xc0, 0x7c, 0xcf, 0x80, 0xb2, 0xa2, 0x5c, 0xb5, 0x98, 0x87, 0x5e, 0xee, 0x71, 0x95, 0x4a, 0x3a, 0x57, 0xe1, 0xdc, 0xc2, 0x51, 0x82, 0x3a, 0xc2, 0x87, 0x68, 0x6e, 0x82, 0x61, 0xc8, 0xf2, 0x68, 0xdb, 0x6f, 0x3b, 0x1e, 0xc9, 0xb4, 0x13, 0x2d, 0x60, 0x73, - 0x19, 0x58, 0x8a, 0x32, 0x3f, 0x2d, 0xc0, 0xa4, 0xa2, 0xc8, 0x50, 0x39, 0x47, 0x9d, 0xb1, 0x98, + 0x19, 0x58, 0x8a, 0x32, 0x3f, 0x2b, 0xc0, 0xa4, 0xa2, 0xc8, 0x50, 0x39, 0x47, 0x9d, 0xb1, 0x98, 0xcd, 0x19, 0x73, 0xb7, 0xcf, 0x19, 0xf3, 0xb7, 0xc3, 0x19, 0x0b, 0xb7, 0xce, 0x19, 0x5f, 0x87, 0xc9, 0x1d, 0xea, 0x5a, 0x5b, 0x56, 0x4d, 0xb4, 0x60, 0x2b, 0x9d, 0x2d, 0x5b, 0x05, 0xf7, 0xc7, 0xd2, 0x89, 0xbf, 0x1a, 0xe3, 0xae, 0xce, 0xf0, 0x80, 0x16, 0x87, 0xe2, 0x1e, 0x2d, 0xe8, 0x2d, 0x03, 0xa6, 0x75, 0xe0, 0x45, 0x8b, 0x79, 0xb6, 0xbb, 0x3b, 0x3b, 0x2c, 0x36, 0x37, 0xa8, 0xf6, - 0x7b, 0xd4, 0x3e, 0xa7, 0xaf, 0xf6, 0x8a, 0xc6, 0x49, 0xfa, 0xcc, 0x7f, 0xe7, 0x61, 0x2c, 0x72, + 0x7b, 0xd4, 0x3e, 0xa7, 0xaf, 0xf6, 0x8a, 0xc6, 0x49, 0xfa, 0xcc, 0x7f, 0xe5, 0x61, 0x2c, 0x72, 0xb7, 0xd0, 0x75, 0x00, 0x49, 0x48, 0xeb, 0x2b, 0x1d, 0x55, 0xe3, 0x2c, 0x0f, 0x70, 0x49, 0xd5, 0xea, 0xb8, 0x14, 0xd9, 0x4a, 0x07, 0x31, 0x37, 0x44, 0x60, 0x4d, 0x15, 0x7a, 0x03, 0xca, 0x44, 0x75, 0x7f, 0xe7, 0x6d, 0x57, 0xb9, 0xe5, 0xd9, 0x41, 0x34, 0x2f, 0x85, 0x62, 0xe2, 0x5d, 0x7c, @@ -1930,38 +1930,38 @@ var fileDescriptor_e26b7f7bbc391025 = []byte{ 0x5b, 0x09, 0xa0, 0x58, 0xa3, 0xe8, 0x7f, 0xe1, 0x87, 0x3f, 0xc7, 0x85, 0x7f, 0x14, 0x46, 0xad, 0x4e, 0xad, 0xd5, 0xad, 0xd3, 0x35, 0xe2, 0x35, 0xd9, 0xec, 0x88, 0x58, 0xc6, 0xe4, 0xde, 0x8d, 0x63, 0xa3, 0x2b, 0x1a, 0x1c, 0x47, 0xa8, 0x38, 0x17, 0x7d, 0x5d, 0xe3, 0x2a, 0x85, 0x5c, 0xe7, - 0x5e, 0xd7, 0xb9, 0x74, 0x2a, 0xf3, 0xaf, 0x06, 0x14, 0x65, 0x50, 0x46, 0x8b, 0xb1, 0x21, 0xde, - 0xd1, 0x9e, 0x21, 0x5e, 0x39, 0x69, 0x16, 0x6b, 0x42, 0xd1, 0x62, 0xac, 0x4b, 0x65, 0x29, 0x5a, - 0x92, 0xd7, 0x6e, 0x45, 0x40, 0xb0, 0xc2, 0x20, 0x0b, 0x80, 0xf8, 0x53, 0x38, 0xbf, 0xae, 0x5c, - 0xcc, 0x3a, 0xa6, 0x8c, 0x8d, 0x28, 0x03, 0x04, 0xc3, 0x9a, 0x70, 0xf3, 0x17, 0x06, 0xdc, 0xcd, - 0x2f, 0x89, 0xa8, 0x15, 0xcf, 0x52, 0x87, 0xdf, 0xfb, 0x4e, 0x6d, 0x57, 0xc5, 0x72, 0x11, 0x4b, - 0x1d, 0x9b, 0x59, 0xa2, 0x5c, 0x33, 0xe2, 0xb1, 0xd4, 0xc7, 0x60, 0x8d, 0x2a, 0x45, 0x97, 0xbc, - 0x00, 0x25, 0x51, 0x92, 0x72, 0x93, 0x2a, 0xbf, 0x0e, 0xdc, 0x6c, 0xd9, 0x47, 0xe0, 0x90, 0xc6, - 0xfc, 0x9b, 0x01, 0x13, 0x03, 0x4d, 0xcb, 0x9e, 0x86, 0x71, 0x51, 0x0c, 0xb0, 0xf3, 0x56, 0x4b, - 0x9c, 0xa0, 0x5a, 0xd5, 0x11, 0x45, 0x3d, 0x7e, 0x35, 0x82, 0xc5, 0x31, 0x6a, 0x7f, 0xda, 0x96, - 0x3f, 0x68, 0xda, 0x56, 0x18, 0x60, 0xda, 0xf6, 0xb1, 0x01, 0x47, 0x92, 0x43, 0x17, 0x7a, 0x25, - 0x36, 0x75, 0x5b, 0x4c, 0x1f, 0x08, 0x53, 0x8c, 0xda, 0x78, 0xfa, 0x50, 0xdd, 0x85, 0x2c, 0x3b, - 0x9f, 0x49, 0x2f, 0x3e, 0xd1, 0x4d, 0xfa, 0x75, 0x1c, 0xe6, 0xef, 0x0c, 0x90, 0xe7, 0x91, 0x25, - 0xd0, 0x9e, 0x04, 0x68, 0xa8, 0x82, 0x02, 0xaf, 0xaa, 0xf3, 0x0a, 0x7c, 0xee, 0x42, 0x80, 0xc1, - 0x1a, 0x95, 0x5f, 0x6a, 0xe5, 0xfb, 0x94, 0x5a, 0xf7, 0x43, 0xb1, 0x2e, 0xa7, 0x82, 0x85, 0x68, - 0x14, 0x55, 0x23, 0x41, 0x85, 0x35, 0xdf, 0x29, 0xc0, 0x94, 0x58, 0xef, 0xa0, 0x49, 0x62, 0x90, - 0xb5, 0x3b, 0x70, 0x44, 0x9c, 0x4b, 0x6f, 0x5e, 0x91, 0xdb, 0x39, 0xad, 0xf8, 0x8f, 0xac, 0x24, - 0x52, 0xdd, 0xec, 0x8b, 0xc1, 0x7d, 0xe4, 0xfe, 0xaf, 0x24, 0x8b, 0x87, 0x61, 0xc4, 0x69, 0x11, - 0x6f, 0xcb, 0x76, 0xdb, 0xaa, 0x5c, 0x0d, 0xe6, 0x13, 0x6b, 0x0a, 0x8e, 0x03, 0x8a, 0xfe, 0xa9, - 0x65, 0x64, 0xf0, 0xd4, 0x62, 0x76, 0xe0, 0x88, 0x56, 0x34, 0xdd, 0xfe, 0x81, 0xf4, 0x5b, 0x06, - 0x1c, 0xdd, 0xb7, 0x4a, 0x43, 0xf5, 0x58, 0x68, 0x78, 0x2a, 0x73, 0xe9, 0x97, 0x66, 0x18, 0xff, - 0x8e, 0x01, 0x33, 0x83, 0xcf, 0xe1, 0x8f, 0x43, 0xc1, 0x09, 0x63, 0x6d, 0x90, 0x01, 0x44, 0x84, - 0x15, 0x98, 0xa8, 0x61, 0xf2, 0x29, 0x0c, 0xf3, 0xa6, 0x01, 0xf7, 0xec, 0x53, 0x52, 0xa2, 0xcd, - 0x98, 0x59, 0xce, 0x64, 0xac, 0x52, 0xd3, 0x18, 0xe5, 0xe7, 0x39, 0x18, 0x5e, 0x73, 0xed, 0x57, - 0x69, 0xed, 0x4e, 0x8c, 0x65, 0x9f, 0x87, 0x02, 0x73, 0x68, 0x4d, 0x35, 0xc2, 0x27, 0x52, 0x36, - 0x15, 0x72, 0x79, 0xeb, 0x0e, 0xad, 0xc9, 0xfa, 0x97, 0xff, 0x85, 0x85, 0x20, 0x6d, 0x16, 0x99, - 0xcf, 0xd2, 0x5b, 0xfb, 0x22, 0x0f, 0x9e, 0x45, 0x2a, 0xca, 0x2f, 0xec, 0x2c, 0x52, 0xad, 0xaf, - 0xcf, 0x2c, 0xf2, 0x47, 0xe1, 0x0e, 0xb8, 0xd1, 0xd0, 0xb7, 0x61, 0xca, 0xf1, 0xfd, 0x6c, 0xcd, - 0x6e, 0x59, 0x35, 0x2b, 0x6b, 0x3a, 0x5e, 0x8b, 0xb0, 0xef, 0x86, 0x5d, 0xfd, 0x5a, 0x5c, 0x2e, - 0xee, 0x55, 0x65, 0xda, 0x30, 0x16, 0x31, 0x3d, 0x3a, 0xe5, 0xbf, 0x49, 0x88, 0x96, 0x9b, 0xf2, - 0x4d, 0xc2, 0xcd, 0x1b, 0xc7, 0x46, 0x15, 0xb9, 0xfe, 0x46, 0x21, 0xcb, 0x97, 0xff, 0x5f, 0xe6, - 0xa0, 0x14, 0xac, 0xec, 0x0e, 0x38, 0xf8, 0x95, 0x88, 0x83, 0x9f, 0xca, 0x68, 0x53, 0xe1, 0xe2, - 0x41, 0x68, 0xd1, 0xdc, 0xfc, 0x95, 0x98, 0x9b, 0x67, 0x3d, 0xac, 0x03, 0x1c, 0xfd, 0x33, 0x43, + 0x5e, 0xd7, 0xb9, 0x74, 0x2a, 0xf3, 0x43, 0x03, 0x8a, 0x32, 0x28, 0xa3, 0xc5, 0xd8, 0x10, 0xef, + 0x68, 0xcf, 0x10, 0xaf, 0x9c, 0x34, 0x8b, 0x35, 0xa1, 0x68, 0x31, 0xd6, 0xa5, 0xb2, 0x14, 0x2d, + 0xc9, 0x6b, 0xb7, 0x22, 0x20, 0x58, 0x61, 0x90, 0x05, 0x40, 0xfc, 0x29, 0x9c, 0x5f, 0x57, 0x2e, + 0x66, 0x1d, 0x53, 0xc6, 0x46, 0x94, 0x01, 0x82, 0x61, 0x4d, 0xb8, 0xf9, 0x0b, 0x03, 0xee, 0xe6, + 0x97, 0x44, 0xd4, 0x8a, 0x67, 0xa9, 0xc3, 0xef, 0x7d, 0xa7, 0xb6, 0xab, 0x62, 0xb9, 0x88, 0xa5, + 0x8e, 0xcd, 0x2c, 0x51, 0xae, 0x19, 0xf1, 0x58, 0xea, 0x63, 0xb0, 0x46, 0x95, 0xa2, 0x4b, 0x5e, + 0x80, 0x92, 0x28, 0x49, 0xb9, 0x49, 0x95, 0x5f, 0x07, 0x6e, 0xb6, 0xec, 0x23, 0x70, 0x48, 0x63, + 0xfe, 0xd5, 0x80, 0x89, 0x81, 0xa6, 0x65, 0x4f, 0xc3, 0xb8, 0x28, 0x06, 0xd8, 0x79, 0xab, 0x25, + 0x4e, 0x50, 0xad, 0xea, 0x88, 0xa2, 0x1e, 0xbf, 0x1a, 0xc1, 0xe2, 0x18, 0xb5, 0x3f, 0x6d, 0xcb, + 0x1f, 0x34, 0x6d, 0x2b, 0x0c, 0x30, 0x6d, 0xfb, 0xc4, 0x80, 0x23, 0xc9, 0xa1, 0x0b, 0xbd, 0x12, + 0x9b, 0xba, 0x2d, 0xa6, 0x0f, 0x84, 0x29, 0x46, 0x6d, 0x3c, 0x7d, 0xa8, 0xee, 0x42, 0x96, 0x9d, + 0xcf, 0xa4, 0x17, 0x9f, 0xe8, 0x26, 0xfd, 0x3a, 0x0e, 0xf3, 0x77, 0x06, 0xc8, 0xf3, 0xc8, 0x12, + 0x68, 0x4f, 0x02, 0x34, 0x54, 0x41, 0x81, 0x57, 0xd5, 0x79, 0x05, 0x3e, 0x77, 0x21, 0xc0, 0x60, + 0x8d, 0xca, 0x2f, 0xb5, 0xf2, 0x7d, 0x4a, 0xad, 0xfb, 0xa1, 0x58, 0x97, 0x53, 0xc1, 0x42, 0x34, + 0x8a, 0xaa, 0x91, 0xa0, 0xc2, 0x9a, 0xef, 0x14, 0x60, 0x4a, 0xac, 0x77, 0xd0, 0x24, 0x31, 0xc8, + 0xda, 0x1d, 0x38, 0x22, 0xce, 0xa5, 0x37, 0xaf, 0xc8, 0xed, 0x9c, 0x56, 0xfc, 0x47, 0x56, 0x12, + 0xa9, 0x6e, 0xf6, 0xc5, 0xe0, 0x3e, 0x72, 0xff, 0x57, 0x92, 0xc5, 0xc3, 0x30, 0xe2, 0xb4, 0x88, + 0xb7, 0x65, 0xbb, 0x6d, 0x55, 0xae, 0x06, 0xf3, 0x89, 0x35, 0x05, 0xc7, 0x01, 0x45, 0xff, 0xd4, + 0x32, 0x32, 0x78, 0x6a, 0x31, 0x3b, 0x70, 0x44, 0x2b, 0x9a, 0x6e, 0xff, 0x40, 0xfa, 0x2d, 0x03, + 0x8e, 0xee, 0x5b, 0xa5, 0xa1, 0x7a, 0x2c, 0x34, 0x3c, 0x95, 0xb9, 0xf4, 0x4b, 0x33, 0x8c, 0x7f, + 0xc7, 0x80, 0x99, 0xc1, 0xe7, 0xf0, 0xc7, 0xa1, 0xe0, 0x84, 0xb1, 0x36, 0xc8, 0x00, 0x22, 0xc2, + 0x0a, 0x4c, 0xd4, 0x30, 0xf9, 0x14, 0x86, 0x79, 0xd3, 0x80, 0x7b, 0xf6, 0x29, 0x29, 0xd1, 0x66, + 0xcc, 0x2c, 0x67, 0x32, 0x56, 0xa9, 0x69, 0x8c, 0xf2, 0xf3, 0x1c, 0x0c, 0xaf, 0xb9, 0xf6, 0xab, + 0xb4, 0x76, 0x27, 0xc6, 0xb2, 0xcf, 0x43, 0x81, 0x39, 0xb4, 0xa6, 0x1a, 0xe1, 0x13, 0x29, 0x9b, + 0x0a, 0xb9, 0xbc, 0x75, 0x87, 0xd6, 0x64, 0xfd, 0xcb, 0xff, 0xc2, 0x42, 0x90, 0x36, 0x8b, 0xcc, + 0x67, 0xe9, 0xad, 0x7d, 0x91, 0x07, 0xcf, 0x22, 0x15, 0xe5, 0x17, 0x76, 0x16, 0xa9, 0xd6, 0xd7, + 0x67, 0x16, 0xf9, 0xa3, 0x70, 0x07, 0xdc, 0x68, 0xe8, 0xdb, 0x30, 0xe5, 0xf8, 0x7e, 0xb6, 0x66, + 0xb7, 0xac, 0x9a, 0x95, 0x35, 0x1d, 0xaf, 0x45, 0xd8, 0x77, 0xc3, 0xae, 0x7e, 0x2d, 0x2e, 0x17, + 0xf7, 0xaa, 0x32, 0x6d, 0x18, 0x8b, 0x98, 0x1e, 0x9d, 0xf2, 0xdf, 0x24, 0x44, 0xcb, 0x4d, 0xf9, + 0x26, 0xe1, 0xe6, 0x8d, 0x63, 0xa3, 0x8a, 0x5c, 0x7f, 0xa3, 0x90, 0xe5, 0xcb, 0xff, 0x2f, 0x73, + 0x50, 0x0a, 0x56, 0x76, 0x07, 0x1c, 0xfc, 0x4a, 0xc4, 0xc1, 0x4f, 0x65, 0xb4, 0xa9, 0x70, 0xf1, + 0x20, 0xb4, 0x68, 0x6e, 0xfe, 0x4a, 0xcc, 0xcd, 0xb3, 0x1e, 0xd6, 0x01, 0x8e, 0xfe, 0x6f, 0x43, 0x9c, 0x8b, 0xa4, 0x15, 0xc3, 0xcd, 0x83, 0xe7, 0xd5, 0x04, 0x86, 0xb7, 0xe4, 0xc8, 0x4e, 0x6d, 0xf6, 0xb1, 0x4c, 0x73, 0xbe, 0x60, 0x34, 0x1e, 0x1e, 0x9e, 0x8f, 0xf1, 0xe5, 0xa2, 0xaf, 0xdf, 0x9a, 0x5d, 0x43, 0xc2, 0x8e, 0xdf, 0xd7, 0x77, 0x7c, 0x07, 0x2e, 0xf7, 0x46, 0xf4, 0x72, 0x2f, @@ -1972,61 +1972,62 @@ var fileDescriptor_e26b7f7bbc391025 = []byte{ 0xd6, 0x99, 0x97, 0x90, 0xd6, 0xd5, 0x40, 0x55, 0xe0, 0xd0, 0x1a, 0xcc, 0x90, 0xae, 0x67, 0x07, 0xbc, 0xe7, 0x3a, 0x64, 0xb3, 0x45, 0xeb, 0xaa, 0xb0, 0x09, 0x3e, 0x63, 0x2f, 0x25, 0xd0, 0xe0, 0x44, 0x4e, 0xf3, 0x1b, 0x9a, 0x67, 0x89, 0xa0, 0x9b, 0x6a, 0x1d, 0x0f, 0x46, 0xaf, 0x53, 0xa9, - 0xff, 0xb5, 0x30, 0x3f, 0xcb, 0x69, 0x7b, 0x55, 0x71, 0xf4, 0x12, 0xa0, 0x16, 0x61, 0xde, 0x45, + 0xff, 0xb5, 0x30, 0x3f, 0xcc, 0x6b, 0x7b, 0x55, 0x71, 0xf4, 0x12, 0xa0, 0x16, 0x61, 0xde, 0x45, 0xd2, 0xa9, 0xf3, 0x95, 0xd1, 0x2d, 0x97, 0x32, 0x7f, 0xe4, 0x37, 0xa7, 0x24, 0xa1, 0xd5, 0x1e, 0x0a, 0x9c, 0xc0, 0x85, 0x16, 0xa3, 0x31, 0xf9, 0x58, 0x3c, 0x26, 0x8f, 0x87, 0x86, 0x1e, 0x2c, 0x2a, 0xa3, 0xd7, 0xb4, 0xbb, 0x96, 0xcf, 0xf2, 0x79, 0x22, 0xb6, 0xed, 0x8a, 0xff, 0xea, 0x4f, - 0x7e, 0x23, 0x08, 0x2e, 0xa0, 0x0f, 0x0e, 0x2f, 0xe0, 0xdc, 0x93, 0x30, 0x16, 0x21, 0xce, 0xf4, - 0x4a, 0xef, 0xef, 0x06, 0x1c, 0xdd, 0x77, 0xb4, 0xc9, 0xeb, 0x10, 0xb9, 0x01, 0x15, 0x3b, 0x1e, - 0x4f, 0x7d, 0xd3, 0xa2, 0xf3, 0x68, 0x19, 0xac, 0x24, 0x18, 0x2b, 0x91, 0x4a, 0x78, 0x8b, 0x6c, - 0xaa, 0x48, 0x9b, 0x5e, 0x78, 0x74, 0xae, 0x1d, 0x08, 0x5f, 0x25, 0x52, 0x78, 0x8b, 0x6c, 0x9a, - 0xef, 0xe6, 0x60, 0x92, 0x5f, 0xe3, 0x48, 0x77, 0xb8, 0x06, 0xf9, 0x86, 0xe5, 0xa9, 0xbd, 0x2c, - 0xa6, 0x56, 0xa7, 0xcb, 0xa8, 0x0e, 0xf3, 0x6e, 0x95, 0xc7, 0x0c, 0x2e, 0x0a, 0xbd, 0xe8, 0xd7, - 0xd8, 0x99, 0xb6, 0xd0, 0xd3, 0xb7, 0x56, 0x4b, 0x3d, 0x85, 0xf9, 0x8b, 0xfe, 0x6b, 0x95, 0x7c, - 0x16, 0xc9, 0x3d, 0x6f, 0x26, 0xa4, 0x64, 0xfd, 0x89, 0x8b, 0xf9, 0xb3, 0x1c, 0xc8, 0x4b, 0x7a, - 0x07, 0x0a, 0x87, 0xaf, 0x45, 0x0a, 0x87, 0x94, 0xf9, 0x41, 0x2c, 0xae, 0x6f, 0xd1, 0x10, 0x4f, - 0x9f, 0x27, 0xb2, 0x08, 0xdd, 0xbf, 0x60, 0xf8, 0x93, 0x01, 0x25, 0x41, 0x77, 0x07, 0x52, 0xe7, - 0x5a, 0x34, 0x75, 0x3e, 0x94, 0x61, 0x17, 0x7d, 0xd2, 0xe6, 0x4f, 0xf3, 0x6a, 0xf5, 0x41, 0x78, - 0x6e, 0x12, 0xb7, 0xae, 0xa2, 0x65, 0x18, 0x9e, 0x39, 0x10, 0x4b, 0x1c, 0x72, 0x60, 0x8c, 0x69, - 0xce, 0xc2, 0xd4, 0x3e, 0x53, 0x26, 0x54, 0xdd, 0xcf, 0x98, 0xf6, 0x8a, 0x4f, 0x07, 0xe3, 0xa8, - 0x02, 0xf4, 0x03, 0x03, 0xa6, 0x9d, 0xde, 0xdc, 0xae, 0x1c, 0xe4, 0x89, 0x8c, 0xf1, 0x32, 0x14, - 0x50, 0xbd, 0x6b, 0xef, 0xc6, 0xb1, 0xa4, 0xaa, 0x01, 0x27, 0xa9, 0x43, 0x4d, 0x18, 0xd5, 0x3f, - 0x3a, 0x2b, 0x57, 0x3a, 0x99, 0xfd, 0xeb, 0xb6, 0x9c, 0x42, 0xeb, 0x10, 0x1c, 0x91, 0x6c, 0xfe, - 0xa4, 0x08, 0x65, 0xcd, 0xf7, 0xfa, 0xa4, 0xb4, 0xf2, 0x40, 0x29, 0xed, 0x44, 0x34, 0xa5, 0xdd, - 0x13, 0x4f, 0x69, 0x20, 0x14, 0x47, 0xd2, 0x99, 0x0b, 0xe3, 0xb5, 0xae, 0xeb, 0xd2, 0x8e, 0x77, - 0xfe, 0x96, 0x94, 0xb9, 0x88, 0x97, 0x50, 0xcb, 0x11, 0x89, 0x38, 0xa6, 0x81, 0xd7, 0xd4, 0x4d, - 0xf5, 0x8a, 0x20, 0x9f, 0xe5, 0x15, 0x41, 0xff, 0x9a, 0xda, 0x7f, 0x39, 0xe0, 0xcb, 0x45, 0x6b, - 0x50, 0x94, 0x1f, 0x5b, 0xd5, 0xe7, 0xa8, 0x87, 0xd3, 0x8e, 0x49, 0x39, 0x8f, 0x4c, 0x20, 0xf2, - 0x6f, 0xac, 0xe4, 0xe8, 0x79, 0xbf, 0x74, 0x40, 0xde, 0xbf, 0x04, 0xc8, 0xde, 0x64, 0xd4, 0xdd, - 0xa1, 0xf5, 0x0b, 0xf2, 0xc7, 0x0e, 0xdc, 0xa5, 0x8a, 0xc7, 0x8d, 0x07, 0xf2, 0xe1, 0x91, 0x3e, - 0xdf, 0x43, 0x81, 0x13, 0xb8, 0x50, 0x17, 0x26, 0x95, 0xf5, 0x02, 0x5f, 0x56, 0x1f, 0xf3, 0xb2, - 0x76, 0x5d, 0xe1, 0xab, 0x8f, 0xe5, 0x98, 0x40, 0xdc, 0xa3, 0x02, 0xb5, 0x60, 0x8c, 0xfb, 0x57, - 0xa8, 0x13, 0x06, 0xd7, 0x39, 0xc5, 0x83, 0xc0, 0xaa, 0x2e, 0x0d, 0x47, 0x85, 0x9b, 0x8b, 0x30, - 0x25, 0xaf, 0x84, 0x9e, 0x9c, 0x0f, 0x7e, 0x85, 0xff, 0x47, 0x03, 0xa2, 0xc1, 0x25, 0xfa, 0xba, - 0xc8, 0x48, 0xf1, 0xba, 0xe8, 0x3a, 0x8c, 0x77, 0x1d, 0xe6, 0xb9, 0x94, 0xb4, 0xc5, 0x0a, 0xfc, - 0xf0, 0xfb, 0x78, 0x96, 0x24, 0xa2, 0xa7, 0xd7, 0xa0, 0x8d, 0xb8, 0x12, 0x11, 0x8b, 0x63, 0x6a, - 0xcc, 0xff, 0xe4, 0x20, 0x12, 0x25, 0xd0, 0xdb, 0x06, 0x4c, 0x91, 0xd8, 0x4f, 0x12, 0xfc, 0x86, - 0xe6, 0x99, 0x6c, 0xbf, 0x13, 0xe9, 0xf9, 0x45, 0x43, 0x38, 0xbe, 0x88, 0x93, 0x30, 0xdc, 0xab, - 0x54, 0xc4, 0x64, 0xd2, 0xfb, 0x9b, 0x93, 0x6c, 0x31, 0x39, 0xe1, 0x47, 0x2b, 0x32, 0x26, 0x27, - 0x20, 0x70, 0x92, 0x3a, 0xf4, 0x12, 0x14, 0x88, 0xdb, 0xf0, 0xbf, 0xa1, 0x65, 0x57, 0xeb, 0xff, - 0x94, 0x28, 0xf4, 0x9d, 0x25, 0xb7, 0xc1, 0xb0, 0x10, 0x6a, 0xfe, 0x23, 0x0f, 0x3d, 0xaf, 0x9f, - 0xd4, 0xcb, 0x91, 0x42, 0xe2, 0xcb, 0x91, 0x7b, 0x61, 0x88, 0xd4, 0xbc, 0xe0, 0xf5, 0x45, 0xf8, - 0xd4, 0x92, 0x03, 0xb1, 0xc4, 0xa1, 0x17, 0xa0, 0xc4, 0x3c, 0xe2, 0x7a, 0x1b, 0x56, 0x9b, 0xaa, - 0x27, 0x05, 0x5f, 0x4a, 0x57, 0x23, 0x70, 0x0e, 0xf9, 0x71, 0x7d, 0xdd, 0x17, 0x80, 0x43, 0x59, - 0xe8, 0x74, 0x34, 0xb2, 0x9b, 0xf1, 0xc8, 0x3e, 0xa5, 0xef, 0x65, 0xd0, 0x7e, 0xa5, 0x0d, 0x65, - 0xed, 0x1c, 0x54, 0x0e, 0x3c, 0x93, 0xd9, 0xee, 0x5a, 0x7c, 0x96, 0xbf, 0x47, 0x0a, 0x31, 0xba, - 0x7c, 0x74, 0x0d, 0x60, 0xcb, 0xea, 0x58, 0xac, 0x29, 0xac, 0x55, 0xcc, 0x6c, 0x2d, 0xf1, 0xfd, - 0xe1, 0x7c, 0x20, 0x01, 0x6b, 0xd2, 0xcc, 0x09, 0x18, 0x8b, 0xbc, 0x66, 0x12, 0x13, 0xb2, 0x20, - 0x02, 0x7c, 0x51, 0x27, 0x64, 0xc1, 0x02, 0x6f, 0xf5, 0x84, 0x2c, 0x14, 0xbc, 0x7f, 0xc1, 0xfb, - 0xbe, 0x01, 0x63, 0x01, 0xed, 0x17, 0x76, 0x5e, 0x14, 0xac, 0xb0, 0x4f, 0xe1, 0xfb, 0x5b, 0x7d, - 0x17, 0xd1, 0xe2, 0x37, 0xb7, 0x4f, 0xf1, 0xcb, 0x7a, 0x8b, 0xdf, 0x0c, 0xc5, 0x49, 0xbc, 0xb9, - 0x4c, 0x57, 0xff, 0x9a, 0xef, 0xe5, 0x60, 0x22, 0x76, 0x3a, 0x7d, 0x4a, 0xc2, 0xe2, 0x40, 0x25, - 0xa1, 0x76, 0xfd, 0xf3, 0x03, 0x95, 0x2d, 0x85, 0x81, 0xca, 0x16, 0x0b, 0xca, 0x7c, 0x31, 0x7e, - 0x4d, 0x39, 0xf4, 0xf9, 0x46, 0xa7, 0x3c, 0x8c, 0xac, 0x86, 0xe2, 0xb0, 0x2e, 0xbb, 0x7a, 0xe9, - 0x83, 0x4f, 0xe6, 0x0f, 0x7d, 0xf8, 0xc9, 0xfc, 0xa1, 0x8f, 0x3e, 0x99, 0x3f, 0xf4, 0xdd, 0xbd, - 0x79, 0xe3, 0x83, 0xbd, 0x79, 0xe3, 0xc3, 0xbd, 0x79, 0xe3, 0xa3, 0xbd, 0x79, 0xe3, 0xe3, 0xbd, - 0x79, 0xe3, 0xc7, 0xff, 0x9c, 0x3f, 0x74, 0xed, 0xbe, 0x34, 0xbf, 0xc7, 0xfd, 0x6f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x54, 0x96, 0x8c, 0x0d, 0xb6, 0x3b, 0x00, 0x00, + 0x7e, 0x23, 0x08, 0x2e, 0xa0, 0x0f, 0xd6, 0x2e, 0xe0, 0x2b, 0xa1, 0x7d, 0x87, 0x3e, 0x57, 0xb8, + 0x2a, 0x27, 0x9d, 0xc9, 0xdc, 0x93, 0x30, 0x16, 0x59, 0x4b, 0xa6, 0x47, 0x80, 0x7f, 0x33, 0xe0, + 0xe8, 0xbe, 0x93, 0x53, 0x5e, 0xe6, 0xc8, 0xd5, 0xaa, 0xd0, 0xf4, 0x78, 0xea, 0x8b, 0x1c, 0x1d, + 0x77, 0xcb, 0x58, 0x28, 0xc1, 0x58, 0x89, 0x54, 0xc2, 0x5b, 0x64, 0x53, 0x05, 0xf2, 0xf4, 0xc2, + 0xa3, 0x63, 0xf3, 0x40, 0xf8, 0x2a, 0x91, 0xc2, 0x5b, 0x64, 0xd3, 0x7c, 0x37, 0x07, 0x93, 0x3c, + 0x4a, 0x44, 0x9a, 0xcf, 0x35, 0xc8, 0x37, 0x2c, 0x4f, 0xed, 0x65, 0x31, 0xb5, 0x3a, 0x5d, 0x46, + 0x75, 0x98, 0x37, 0xc3, 0x3c, 0x24, 0x71, 0x51, 0xe8, 0x45, 0xbf, 0x84, 0xcf, 0xb4, 0x85, 0x9e, + 0xb6, 0xb8, 0x5a, 0xea, 0xa9, 0xfb, 0x5f, 0xf4, 0x1f, 0xc3, 0xe4, 0xb3, 0x48, 0xee, 0x79, 0x92, + 0x21, 0x25, 0xeb, 0x2f, 0x68, 0xcc, 0x9f, 0xe5, 0x40, 0xc6, 0x80, 0x3b, 0x50, 0x97, 0x7c, 0x2d, + 0x52, 0x97, 0xa4, 0x4c, 0x3f, 0x62, 0x71, 0x7d, 0x6b, 0x92, 0x78, 0x76, 0x3e, 0x91, 0x45, 0xe8, + 0xfe, 0xf5, 0xc8, 0x9f, 0x0c, 0x28, 0x09, 0xba, 0x3b, 0x90, 0x99, 0xd7, 0xa2, 0x99, 0xf9, 0xa1, + 0x0c, 0xbb, 0xe8, 0x93, 0x95, 0x7f, 0x9a, 0x57, 0xab, 0x0f, 0xa2, 0x7f, 0x93, 0xb8, 0x75, 0x15, + 0x8c, 0xc3, 0xe8, 0xcf, 0x81, 0x58, 0xe2, 0x90, 0x03, 0x63, 0x4c, 0x73, 0x16, 0xa6, 0xf6, 0x99, + 0x32, 0x5f, 0xeb, 0x7e, 0xc6, 0xb4, 0x47, 0x82, 0x3a, 0x18, 0x47, 0x15, 0xa0, 0x1f, 0x18, 0x30, + 0xed, 0xf4, 0x96, 0x0e, 0xca, 0x41, 0x9e, 0xc8, 0x18, 0x8e, 0x43, 0x01, 0xd5, 0xbb, 0xf6, 0x6e, + 0x1c, 0x4b, 0x2a, 0x4a, 0x70, 0x92, 0x3a, 0xd4, 0x84, 0x51, 0xfd, 0x9b, 0xb6, 0x72, 0xa5, 0x93, + 0xd9, 0x3f, 0x9e, 0xcb, 0x21, 0xb7, 0x0e, 0xc1, 0x11, 0xc9, 0xe6, 0x4f, 0x8a, 0x50, 0xd6, 0x7c, + 0xaf, 0x4f, 0xc6, 0x2c, 0x0f, 0x94, 0x31, 0x4f, 0x44, 0x33, 0xe6, 0x3d, 0xf1, 0x8c, 0x09, 0x42, + 0x71, 0x24, 0x5b, 0xba, 0x30, 0x5e, 0xeb, 0xba, 0x2e, 0xed, 0x78, 0xe7, 0x6f, 0x49, 0x15, 0x8d, + 0x78, 0x85, 0xb6, 0x1c, 0x91, 0x88, 0x63, 0x1a, 0x78, 0xc9, 0xde, 0x54, 0x8f, 0x14, 0xf2, 0x59, + 0x1e, 0x29, 0xf4, 0x2f, 0xd9, 0xfd, 0x87, 0x09, 0xbe, 0x5c, 0xb4, 0x06, 0x45, 0xf9, 0x2d, 0x57, + 0x7d, 0xed, 0x7a, 0x38, 0xed, 0x14, 0x96, 0xf3, 0xc8, 0x04, 0x22, 0xff, 0xc6, 0x4a, 0x8e, 0x5e, + 0x56, 0x94, 0x0e, 0x28, 0x2b, 0x2e, 0x01, 0xb2, 0x37, 0x19, 0x75, 0x77, 0x68, 0xfd, 0x82, 0xfc, + 0x2d, 0x05, 0x77, 0xa9, 0xe2, 0x71, 0xe3, 0x81, 0x7c, 0x78, 0xa4, 0xcf, 0xf7, 0x50, 0xe0, 0x04, + 0x2e, 0xd4, 0x85, 0x49, 0x65, 0xbd, 0xc0, 0x97, 0xd5, 0xb7, 0xc2, 0xac, 0x4d, 0x5d, 0xf8, 0xa8, + 0x64, 0x39, 0x26, 0x10, 0xf7, 0xa8, 0x40, 0x2d, 0x18, 0xe3, 0xfe, 0x15, 0xea, 0x84, 0xc1, 0x75, + 0x4e, 0xf1, 0x20, 0xb0, 0xaa, 0x4b, 0xc3, 0x51, 0xe1, 0xe6, 0x22, 0x4c, 0xc9, 0x2b, 0xa1, 0x27, + 0xe7, 0x83, 0x1f, 0xf9, 0xff, 0xd1, 0x80, 0x68, 0x70, 0x89, 0x3e, 0x5e, 0x32, 0x52, 0x3c, 0x5e, + 0xba, 0x0e, 0xe3, 0x5d, 0x87, 0x79, 0x2e, 0x25, 0x6d, 0xb1, 0x02, 0x3f, 0xfc, 0x3e, 0x9e, 0x25, + 0x89, 0xe8, 0xe9, 0x35, 0xe8, 0x52, 0xae, 0x44, 0xc4, 0xe2, 0x98, 0x1a, 0xf3, 0x3f, 0x39, 0x88, + 0x44, 0x09, 0xf4, 0xb6, 0x01, 0x53, 0x24, 0xf6, 0x8b, 0x07, 0xbf, 0x5f, 0x7a, 0x26, 0xdb, 0xcf, + 0x50, 0x7a, 0x7e, 0x30, 0x11, 0x4e, 0x47, 0xe2, 0x24, 0x0c, 0xf7, 0x2a, 0x15, 0x31, 0x99, 0xf4, + 0xfe, 0xa4, 0x25, 0x5b, 0x4c, 0x4e, 0xf8, 0x4d, 0x8c, 0x8c, 0xc9, 0x09, 0x08, 0x9c, 0xa4, 0x0e, + 0xbd, 0x04, 0x05, 0xe2, 0x36, 0xfc, 0x4f, 0x74, 0xd9, 0xd5, 0xfa, 0xbf, 0x54, 0x0a, 0x7d, 0x67, + 0xc9, 0x6d, 0x30, 0x2c, 0x84, 0x9a, 0x7f, 0xcf, 0x43, 0xcf, 0xe3, 0x2a, 0xf5, 0x30, 0xa5, 0x90, + 0xf8, 0x30, 0xe5, 0x5e, 0x18, 0x22, 0x35, 0x2f, 0x78, 0xdc, 0x11, 0xbe, 0xe4, 0xe4, 0x40, 0x2c, + 0x71, 0xe8, 0x05, 0x28, 0x31, 0x8f, 0xb8, 0xde, 0x86, 0xd5, 0xa6, 0xaa, 0xbe, 0xff, 0x52, 0xba, + 0x1a, 0x81, 0x73, 0xc8, 0x6f, 0xf7, 0xeb, 0xbe, 0x00, 0x1c, 0xca, 0x42, 0xa7, 0xa3, 0x91, 0xdd, + 0x8c, 0x47, 0xf6, 0x29, 0x7d, 0x2f, 0x83, 0xb6, 0x43, 0x6d, 0x28, 0x6b, 0xe7, 0xa0, 0x72, 0xe0, + 0x99, 0xcc, 0x76, 0xd7, 0xe2, 0xb3, 0xfc, 0xb9, 0x53, 0x88, 0xd1, 0xe5, 0xa3, 0x6b, 0x00, 0x5b, + 0x56, 0xc7, 0x62, 0x4d, 0x61, 0xad, 0x62, 0x66, 0x6b, 0x89, 0xcf, 0x1b, 0xe7, 0x03, 0x09, 0x58, + 0x93, 0x66, 0x4e, 0xc0, 0x58, 0xe4, 0xb1, 0x94, 0x18, 0xc0, 0x05, 0x11, 0xe0, 0x8b, 0x3a, 0x80, + 0x0b, 0x16, 0x78, 0xab, 0x07, 0x70, 0xa1, 0xe0, 0xfd, 0x0b, 0xde, 0xf7, 0x0d, 0x18, 0x0b, 0x68, + 0xbf, 0xb0, 0xe3, 0xa8, 0x60, 0x85, 0x7d, 0x0a, 0xdf, 0xdf, 0xea, 0xbb, 0x88, 0x16, 0xbf, 0xb9, + 0x7d, 0x8a, 0x5f, 0xd6, 0x5b, 0xfc, 0x66, 0x28, 0x4e, 0xe2, 0xcd, 0x65, 0xba, 0xfa, 0xd7, 0x7c, + 0x2f, 0x07, 0x13, 0xb1, 0xd3, 0xe9, 0x53, 0x12, 0x16, 0x07, 0x2a, 0x09, 0xb5, 0xeb, 0x9f, 0x1f, + 0xa8, 0x6c, 0x29, 0x0c, 0x54, 0xb6, 0x58, 0x50, 0xe6, 0x8b, 0x39, 0x7f, 0x4b, 0x46, 0x1d, 0x22, + 0x8c, 0xac, 0x86, 0xe2, 0xb0, 0x2e, 0xbb, 0x7a, 0xe9, 0x83, 0x4f, 0xe7, 0x0f, 0x7d, 0xf4, 0xe9, + 0xfc, 0xa1, 0x8f, 0x3f, 0x9d, 0x3f, 0xf4, 0xdd, 0xbd, 0x79, 0xe3, 0x83, 0xbd, 0x79, 0xe3, 0xa3, + 0xbd, 0x79, 0xe3, 0xe3, 0xbd, 0x79, 0xe3, 0x93, 0xbd, 0x79, 0xe3, 0xc7, 0xff, 0x98, 0x3f, 0x74, + 0xed, 0xbe, 0x34, 0x3f, 0xf7, 0xfd, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x31, 0xf4, 0x42, 0x6b, + 0x15, 0x3c, 0x00, 0x00, } func (m *AnalysisRunArgument) Marshal() (dAtA []byte, err error) { @@ -4200,6 +4201,18 @@ func (m *PromotionStatus) MarshalToSizedBuffer(dAtA []byte) (int, error) { _ = i var l int _ = l + if m.Freight != nil { + { + size, err := m.Freight.MarshalToSizedBuffer(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = encodeVarintGenerated(dAtA, i, uint64(size)) + } + i-- + dAtA[i] = 0x2a + } i -= len(m.LastHandledRefresh) copy(dAtA[i:], m.LastHandledRefresh) i = encodeVarintGenerated(dAtA, i, uint64(len(m.LastHandledRefresh))) @@ -5884,6 +5897,10 @@ func (m *PromotionStatus) Size() (n int) { } l = len(m.LastHandledRefresh) n += 1 + l + sovGenerated(uint64(l)) + if m.Freight != nil { + l = m.Freight.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -6882,6 +6899,7 @@ func (this *PromotionStatus) String() string { `Message:` + fmt.Sprintf("%v", this.Message) + `,`, `Metadata:` + mapStringForMetadata + `,`, `LastHandledRefresh:` + fmt.Sprintf("%v", this.LastHandledRefresh) + `,`, + `Freight:` + strings.Replace(this.Freight.String(), "FreightReference", "FreightReference", 1) + `,`, `}`, }, "") return s @@ -14248,6 +14266,42 @@ func (m *PromotionStatus) Unmarshal(dAtA []byte) error { } m.LastHandledRefresh = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Freight", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return ErrInvalidLengthGenerated + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Freight == nil { + m.Freight = &FreightReference{} + } + if err := m.Freight.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) diff --git a/api/v1alpha1/generated.proto b/api/v1alpha1/generated.proto index df550fcf5..94856b683 100644 --- a/api/v1alpha1/generated.proto +++ b/api/v1alpha1/generated.proto @@ -916,6 +916,9 @@ message PromotionStatus { // Metadata holds arbitrary metadata set by promotion mechanisms // (e.g. for display purposes, or internal bookkeeping) map metadata = 3; + + // Freight is the detail of the piece of freight that was referenced by this promotion. + optional FreightReference freight = 5; } // PullRequestPromotionMechanism describes how to generate a pull request against the write branch during promotion diff --git a/api/v1alpha1/promotion_types.go b/api/v1alpha1/promotion_types.go index 995dea714..2ca7fd998 100644 --- a/api/v1alpha1/promotion_types.go +++ b/api/v1alpha1/promotion_types.go @@ -101,6 +101,8 @@ type PromotionStatus struct { // Metadata holds arbitrary metadata set by promotion mechanisms // (e.g. for display purposes, or internal bookkeeping) Metadata map[string]string `json:"metadata,omitempty" protobuf:"bytes,3,rep,name=metadata" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Freight is the detail of the piece of freight that was referenced by this promotion. + Freight *FreightReference `json:"freight,omitempty" protobuf:"bytes,5,opt,name=freight"` } // WithPhase returns a copy of PromotionStatus with the given phase @@ -110,6 +112,13 @@ func (p *PromotionStatus) WithPhase(phase PromotionPhase) *PromotionStatus { return status } +// WithFreight returns a copy of PromotionStatus with the given freight +func (p *PromotionStatus) WithFreight(freight *FreightReference) *PromotionStatus { + status := p.DeepCopy() + status.Freight = freight + return status +} + // +kubebuilder:object:root=true // PromotionList contains a list of Promotion diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index def7ff4de..9b869c82e 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -1005,6 +1005,11 @@ func (in *PromotionStatus) DeepCopyInto(out *PromotionStatus) { (*out)[key] = val } } + if in.Freight != nil { + in, out := &in.Freight, &out.Freight + *out = new(FreightReference) + (*in).DeepCopyInto(*out) + } } // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PromotionStatus. diff --git a/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml b/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml index 1eb4dab96..59e11d5b3 100644 --- a/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml +++ b/charts/kargo/resources/crds/kargo.akuity.io_promotions.yaml @@ -85,6 +85,232 @@ spec: Status describes the current state of the transition represented by this Promotion. properties: + freight: + description: Freight is the detail of the piece of freight that was + referenced by this promotion. + properties: + charts: + description: Charts describes specific versions of specific Helm + charts. + items: + description: Chart describes a specific version of a Helm chart. + properties: + name: + description: Name specifies the name of the chart. + type: string + repoURL: + description: |- + RepoURL specifies the URL of a Helm chart repository. Classic chart + repositories (using HTTP/S) can contain differently named charts. When this + field points to such a repository, the Name field will specify the name of + the chart within the repository. In the case of a repository within an OCI + registry, the URL implicitly points to a specific chart and the Name field + will be empty. + type: string + version: + description: Version specifies a particular version of the + chart. + type: string + type: object + type: array + commits: + description: Commits describes specific Git repository commits. + items: + description: GitCommit describes a specific commit from a specific + Git repository. + properties: + author: + description: Author is the git commit author + type: string + branch: + description: Branch denotes the branch of the repository + where this commit was found. + type: string + healthCheckCommit: + description: |- + HealthCheckCommit is the ID of a specific commit. When specified, + assessments of Stage health will used this value (instead of ID) when + determining if applicable sources of Argo CD Application resources + associated with the Stage are or are not synced to this commit. Note that + there are cases (as in that of Kargo Render being utilized as a promotion + mechanism) wherein the value of this field may differ from the commit ID + found in the ID field. + type: string + id: + description: |- + ID is the ID of a specific commit in the Git repository specified by + RepoURL. + type: string + message: + description: Message is the git commit message + type: string + repoURL: + description: RepoURL is the URL of a Git repository. + type: string + tag: + description: |- + Tag denotes a tag in the repository that matched selection criteria and + resolved to this commit. + type: string + type: object + type: array + images: + description: Images describes specific versions of specific container + images. + items: + description: Image describes a specific version of a container + image. + properties: + digest: + description: |- + Digest identifies a specific version of the image in the repository + specified by RepoURL. This is a more precise identifier than Tag. + type: string + gitRepoURL: + description: |- + GitRepoURL specifies the URL of a Git repository that contains the source + code for the image repository referenced by the RepoURL field if Kargo was + able to infer it. + type: string + repoURL: + description: RepoURL describes the repository in which the + image can be found. + type: string + tag: + description: |- + Tag identifies a specific version of the image in the repository specified + by RepoURL. + type: string + type: object + type: array + name: + description: |- + Name is system-assigned identifier that is derived deterministically from + the contents of the Freight. i.e. Two pieces of Freight can be compared for + equality by comparing their Names. + type: string + verificationHistory: + description: |- + VerificationHistory is a stack of recent VerificationInfo. By default, + the last ten VerificationInfo are stored. + items: + description: |- + VerificationInfo contains information about the currently running + Verification process. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the AnalysisRun. + type: string + phase: + description: Phase is the last observed phase of the + AnalysisRun referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the Verification + process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the Verification + process was started. + format: date-time + type: string + type: object + type: array + verificationInfo: + description: |- + VerificationInfo is information about any verification process that was + associated with this Freight for this Stage. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the AnalysisRun. + type: string + phase: + description: Phase is the last observed phase of the AnalysisRun + referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the Verification + process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the Verification + process was started. + format: date-time + type: string + type: object + warehouse: + description: Warehouse is the name of the Warehouse that created + this Freight. + type: string + type: object lastHandledRefresh: description: |- LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh diff --git a/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml b/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml index e37b5cb56..e04f43fda 100644 --- a/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml +++ b/charts/kargo/resources/crds/kargo.akuity.io_stages.yaml @@ -1025,6 +1025,238 @@ spec: status: description: Status is the (optional) status of the promotion properties: + freight: + description: Freight is the detail of the piece of freight + that was referenced by this promotion. + properties: + charts: + description: Charts describes specific versions of specific + Helm charts. + items: + description: Chart describes a specific version of a + Helm chart. + properties: + name: + description: Name specifies the name of the chart. + type: string + repoURL: + description: |- + RepoURL specifies the URL of a Helm chart repository. Classic chart + repositories (using HTTP/S) can contain differently named charts. When this + field points to such a repository, the Name field will specify the name of + the chart within the repository. In the case of a repository within an OCI + registry, the URL implicitly points to a specific chart and the Name field + will be empty. + type: string + version: + description: Version specifies a particular version + of the chart. + type: string + type: object + type: array + commits: + description: Commits describes specific Git repository + commits. + items: + description: GitCommit describes a specific commit from + a specific Git repository. + properties: + author: + description: Author is the git commit author + type: string + branch: + description: Branch denotes the branch of the repository + where this commit was found. + type: string + healthCheckCommit: + description: |- + HealthCheckCommit is the ID of a specific commit. When specified, + assessments of Stage health will used this value (instead of ID) when + determining if applicable sources of Argo CD Application resources + associated with the Stage are or are not synced to this commit. Note that + there are cases (as in that of Kargo Render being utilized as a promotion + mechanism) wherein the value of this field may differ from the commit ID + found in the ID field. + type: string + id: + description: |- + ID is the ID of a specific commit in the Git repository specified by + RepoURL. + type: string + message: + description: Message is the git commit message + type: string + repoURL: + description: RepoURL is the URL of a Git repository. + type: string + tag: + description: |- + Tag denotes a tag in the repository that matched selection criteria and + resolved to this commit. + type: string + type: object + type: array + images: + description: Images describes specific versions of specific + container images. + items: + description: Image describes a specific version of a + container image. + properties: + digest: + description: |- + Digest identifies a specific version of the image in the repository + specified by RepoURL. This is a more precise identifier than Tag. + type: string + gitRepoURL: + description: |- + GitRepoURL specifies the URL of a Git repository that contains the source + code for the image repository referenced by the RepoURL field if Kargo was + able to infer it. + type: string + repoURL: + description: RepoURL describes the repository in + which the image can be found. + type: string + tag: + description: |- + Tag identifies a specific version of the image in the repository specified + by RepoURL. + type: string + type: object + type: array + name: + description: |- + Name is system-assigned identifier that is derived deterministically from + the contents of the Freight. i.e. Two pieces of Freight can be compared for + equality by comparing their Names. + type: string + verificationHistory: + description: |- + VerificationHistory is a stack of recent VerificationInfo. By default, + the last ten VerificationInfo are stored. + items: + description: |- + VerificationInfo contains information about the currently running + Verification process. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the + AnalysisRun. + type: string + phase: + description: Phase is the last observed phase + of the AnalysisRun referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the + Verification process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification + process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the + Verification process was started. + format: date-time + type: string + type: object + type: array + verificationInfo: + description: |- + VerificationInfo is information about any verification process that was + associated with this Freight for this Stage. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the + AnalysisRun. + type: string + phase: + description: Phase is the last observed phase + of the AnalysisRun referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the Verification + process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification + process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the Verification + process was started. + format: date-time + type: string + type: object + warehouse: + description: Warehouse is the name of the Warehouse that + created this Freight. + type: string + type: object lastHandledRefresh: description: |- LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh @@ -1588,6 +1820,238 @@ spec: status: description: Status is the (optional) status of the promotion properties: + freight: + description: Freight is the detail of the piece of freight + that was referenced by this promotion. + properties: + charts: + description: Charts describes specific versions of specific + Helm charts. + items: + description: Chart describes a specific version of a + Helm chart. + properties: + name: + description: Name specifies the name of the chart. + type: string + repoURL: + description: |- + RepoURL specifies the URL of a Helm chart repository. Classic chart + repositories (using HTTP/S) can contain differently named charts. When this + field points to such a repository, the Name field will specify the name of + the chart within the repository. In the case of a repository within an OCI + registry, the URL implicitly points to a specific chart and the Name field + will be empty. + type: string + version: + description: Version specifies a particular version + of the chart. + type: string + type: object + type: array + commits: + description: Commits describes specific Git repository + commits. + items: + description: GitCommit describes a specific commit from + a specific Git repository. + properties: + author: + description: Author is the git commit author + type: string + branch: + description: Branch denotes the branch of the repository + where this commit was found. + type: string + healthCheckCommit: + description: |- + HealthCheckCommit is the ID of a specific commit. When specified, + assessments of Stage health will used this value (instead of ID) when + determining if applicable sources of Argo CD Application resources + associated with the Stage are or are not synced to this commit. Note that + there are cases (as in that of Kargo Render being utilized as a promotion + mechanism) wherein the value of this field may differ from the commit ID + found in the ID field. + type: string + id: + description: |- + ID is the ID of a specific commit in the Git repository specified by + RepoURL. + type: string + message: + description: Message is the git commit message + type: string + repoURL: + description: RepoURL is the URL of a Git repository. + type: string + tag: + description: |- + Tag denotes a tag in the repository that matched selection criteria and + resolved to this commit. + type: string + type: object + type: array + images: + description: Images describes specific versions of specific + container images. + items: + description: Image describes a specific version of a + container image. + properties: + digest: + description: |- + Digest identifies a specific version of the image in the repository + specified by RepoURL. This is a more precise identifier than Tag. + type: string + gitRepoURL: + description: |- + GitRepoURL specifies the URL of a Git repository that contains the source + code for the image repository referenced by the RepoURL field if Kargo was + able to infer it. + type: string + repoURL: + description: RepoURL describes the repository in + which the image can be found. + type: string + tag: + description: |- + Tag identifies a specific version of the image in the repository specified + by RepoURL. + type: string + type: object + type: array + name: + description: |- + Name is system-assigned identifier that is derived deterministically from + the contents of the Freight. i.e. Two pieces of Freight can be compared for + equality by comparing their Names. + type: string + verificationHistory: + description: |- + VerificationHistory is a stack of recent VerificationInfo. By default, + the last ten VerificationInfo are stored. + items: + description: |- + VerificationInfo contains information about the currently running + Verification process. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the + AnalysisRun. + type: string + phase: + description: Phase is the last observed phase + of the AnalysisRun referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the + Verification process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification + process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the + Verification process was started. + format: date-time + type: string + type: object + type: array + verificationInfo: + description: |- + VerificationInfo is information about any verification process that was + associated with this Freight for this Stage. + properties: + actor: + description: |- + Actor is the name of the entity that initiated or aborted the + Verification process. + type: string + analysisRun: + description: |- + AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements + the Verification process. + properties: + name: + description: Name is the name of the AnalysisRun. + type: string + namespace: + description: Namespace is the namespace of the + AnalysisRun. + type: string + phase: + description: Phase is the last observed phase + of the AnalysisRun referenced by Name. + type: string + required: + - name + - namespace + - phase + type: object + finishTime: + description: FinishTime is the time at which the Verification + process finished. + format: date-time + type: string + id: + description: ID is the identifier of the Verification + process. + type: string + message: + description: |- + Message may contain additional information about why the verification + process is in its current phase. + type: string + phase: + description: |- + Phase describes the current phase of the Verification process. Generally, + this will be a reflection of the underlying AnalysisRun's phase, however, + there are exceptions to this, such as in the case where an AnalysisRun + cannot be launched successfully. + type: string + startTime: + description: StartTime is the time at which the Verification + process was started. + format: date-time + type: string + type: object + warehouse: + description: Warehouse is the name of the Warehouse that + created this Freight. + type: string + type: object lastHandledRefresh: description: |- LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh diff --git a/internal/controller/promotions/promotions.go b/internal/controller/promotions/promotions.go index e59fedd4c..f8c5b9e1e 100644 --- a/internal/controller/promotions/promotions.go +++ b/internal/controller/promotions/promotions.go @@ -271,7 +271,7 @@ func (r *reconciler) Reconcile( } return ctrl.Result{}, nil } - logger.Infof("began promotion") + logger.Info("began promotion") } // Update promo status as Running to give visibility in UI. Also, a promo which @@ -442,7 +442,6 @@ func (r *reconciler) promote( Charts: targetFreight.Charts, Warehouse: targetFreight.Warehouse, } - err = kubeclient.PatchStatus(ctx, r.kargoClient, stage, func(status *kargoapi.StageStatus) { status.Phase = kargoapi.StagePhasePromoting status.CurrentPromotion = &kargoapi.PromotionInfo{ @@ -458,6 +457,7 @@ func (r *reconciler) promote( if err != nil { return nil, err } + newStatus = newStatus.WithFreight(&nextFreight) logger.Debugf("promotion %s", newStatus.Phase) diff --git a/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json b/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json index dcdcb31e2..13d686952 100644 --- a/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json +++ b/ui/src/gen/schema/promotions.kargo.akuity.io_v1alpha1.json @@ -37,6 +37,220 @@ "status": { "description": "Status describes the current state of the transition represented by this\nPromotion.", "properties": { + "freight": { + "description": "Freight is the detail of the piece of freight that was referenced by this promotion.", + "properties": { + "charts": { + "description": "Charts describes specific versions of specific Helm charts.", + "items": { + "description": "Chart describes a specific version of a Helm chart.", + "properties": { + "name": { + "description": "Name specifies the name of the chart.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL specifies the URL of a Helm chart repository. Classic chart\nrepositories (using HTTP/S) can contain differently named charts. When this\nfield points to such a repository, the Name field will specify the name of\nthe chart within the repository. In the case of a repository within an OCI\nregistry, the URL implicitly points to a specific chart and the Name field\nwill be empty.", + "type": "string" + }, + "version": { + "description": "Version specifies a particular version of the chart.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "commits": { + "description": "Commits describes specific Git repository commits.", + "items": { + "description": "GitCommit describes a specific commit from a specific Git repository.", + "properties": { + "author": { + "description": "Author is the git commit author", + "type": "string" + }, + "branch": { + "description": "Branch denotes the branch of the repository where this commit was found.", + "type": "string" + }, + "healthCheckCommit": { + "description": "HealthCheckCommit is the ID of a specific commit. When specified,\nassessments of Stage health will used this value (instead of ID) when\ndetermining if applicable sources of Argo CD Application resources\nassociated with the Stage are or are not synced to this commit. Note that\nthere are cases (as in that of Kargo Render being utilized as a promotion\nmechanism) wherein the value of this field may differ from the commit ID\nfound in the ID field.", + "type": "string" + }, + "id": { + "description": "ID is the ID of a specific commit in the Git repository specified by\nRepoURL.", + "type": "string" + }, + "message": { + "description": "Message is the git commit message", + "type": "string" + }, + "repoURL": { + "description": "RepoURL is the URL of a Git repository.", + "type": "string" + }, + "tag": { + "description": "Tag denotes a tag in the repository that matched selection criteria and\nresolved to this commit.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "images": { + "description": "Images describes specific versions of specific container images.", + "items": { + "description": "Image describes a specific version of a container image.", + "properties": { + "digest": { + "description": "Digest identifies a specific version of the image in the repository\nspecified by RepoURL. This is a more precise identifier than Tag.", + "type": "string" + }, + "gitRepoURL": { + "description": "GitRepoURL specifies the URL of a Git repository that contains the source\ncode for the image repository referenced by the RepoURL field if Kargo was\nable to infer it.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL describes the repository in which the image can be found.", + "type": "string" + }, + "tag": { + "description": "Tag identifies a specific version of the image in the repository specified\nby RepoURL.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Name is system-assigned identifier that is derived deterministically from\nthe contents of the Freight. i.e. Two pieces of Freight can be compared for\nequality by comparing their Names.", + "type": "string" + }, + "verificationHistory": { + "description": "VerificationHistory is a stack of recent VerificationInfo. By default,\nthe last ten VerificationInfo are stored.", + "items": { + "description": "VerificationInfo contains information about the currently running\nVerification process.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "verificationInfo": { + "description": "VerificationInfo is information about any verification process that was\nassociated with this Freight for this Stage.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "warehouse": { + "description": "Warehouse is the name of the Warehouse that created this Freight.", + "type": "string" + } + }, + "type": "object" + }, "lastHandledRefresh": { "description": "LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh\nannotation that was handled by the controller. This field can be used to\ndetermine whether the request to refresh the resource has been handled.", "type": "string" diff --git a/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json b/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json index 9071a339a..a760d878a 100644 --- a/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json +++ b/ui/src/gen/schema/stages.kargo.akuity.io_v1alpha1.json @@ -890,6 +890,220 @@ "status": { "description": "Status is the (optional) status of the promotion", "properties": { + "freight": { + "description": "Freight is the detail of the piece of freight that was referenced by this promotion.", + "properties": { + "charts": { + "description": "Charts describes specific versions of specific Helm charts.", + "items": { + "description": "Chart describes a specific version of a Helm chart.", + "properties": { + "name": { + "description": "Name specifies the name of the chart.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL specifies the URL of a Helm chart repository. Classic chart\nrepositories (using HTTP/S) can contain differently named charts. When this\nfield points to such a repository, the Name field will specify the name of\nthe chart within the repository. In the case of a repository within an OCI\nregistry, the URL implicitly points to a specific chart and the Name field\nwill be empty.", + "type": "string" + }, + "version": { + "description": "Version specifies a particular version of the chart.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "commits": { + "description": "Commits describes specific Git repository commits.", + "items": { + "description": "GitCommit describes a specific commit from a specific Git repository.", + "properties": { + "author": { + "description": "Author is the git commit author", + "type": "string" + }, + "branch": { + "description": "Branch denotes the branch of the repository where this commit was found.", + "type": "string" + }, + "healthCheckCommit": { + "description": "HealthCheckCommit is the ID of a specific commit. When specified,\nassessments of Stage health will used this value (instead of ID) when\ndetermining if applicable sources of Argo CD Application resources\nassociated with the Stage are or are not synced to this commit. Note that\nthere are cases (as in that of Kargo Render being utilized as a promotion\nmechanism) wherein the value of this field may differ from the commit ID\nfound in the ID field.", + "type": "string" + }, + "id": { + "description": "ID is the ID of a specific commit in the Git repository specified by\nRepoURL.", + "type": "string" + }, + "message": { + "description": "Message is the git commit message", + "type": "string" + }, + "repoURL": { + "description": "RepoURL is the URL of a Git repository.", + "type": "string" + }, + "tag": { + "description": "Tag denotes a tag in the repository that matched selection criteria and\nresolved to this commit.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "images": { + "description": "Images describes specific versions of specific container images.", + "items": { + "description": "Image describes a specific version of a container image.", + "properties": { + "digest": { + "description": "Digest identifies a specific version of the image in the repository\nspecified by RepoURL. This is a more precise identifier than Tag.", + "type": "string" + }, + "gitRepoURL": { + "description": "GitRepoURL specifies the URL of a Git repository that contains the source\ncode for the image repository referenced by the RepoURL field if Kargo was\nable to infer it.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL describes the repository in which the image can be found.", + "type": "string" + }, + "tag": { + "description": "Tag identifies a specific version of the image in the repository specified\nby RepoURL.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Name is system-assigned identifier that is derived deterministically from\nthe contents of the Freight. i.e. Two pieces of Freight can be compared for\nequality by comparing their Names.", + "type": "string" + }, + "verificationHistory": { + "description": "VerificationHistory is a stack of recent VerificationInfo. By default,\nthe last ten VerificationInfo are stored.", + "items": { + "description": "VerificationInfo contains information about the currently running\nVerification process.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "verificationInfo": { + "description": "VerificationInfo is information about any verification process that was\nassociated with this Freight for this Stage.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "warehouse": { + "description": "Warehouse is the name of the Warehouse that created this Freight.", + "type": "string" + } + }, + "type": "object" + }, "lastHandledRefresh": { "description": "LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh\nannotation that was handled by the controller. This field can be used to\ndetermine whether the request to refresh the resource has been handled.", "type": "string" @@ -1440,6 +1654,220 @@ "status": { "description": "Status is the (optional) status of the promotion", "properties": { + "freight": { + "description": "Freight is the detail of the piece of freight that was referenced by this promotion.", + "properties": { + "charts": { + "description": "Charts describes specific versions of specific Helm charts.", + "items": { + "description": "Chart describes a specific version of a Helm chart.", + "properties": { + "name": { + "description": "Name specifies the name of the chart.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL specifies the URL of a Helm chart repository. Classic chart\nrepositories (using HTTP/S) can contain differently named charts. When this\nfield points to such a repository, the Name field will specify the name of\nthe chart within the repository. In the case of a repository within an OCI\nregistry, the URL implicitly points to a specific chart and the Name field\nwill be empty.", + "type": "string" + }, + "version": { + "description": "Version specifies a particular version of the chart.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "commits": { + "description": "Commits describes specific Git repository commits.", + "items": { + "description": "GitCommit describes a specific commit from a specific Git repository.", + "properties": { + "author": { + "description": "Author is the git commit author", + "type": "string" + }, + "branch": { + "description": "Branch denotes the branch of the repository where this commit was found.", + "type": "string" + }, + "healthCheckCommit": { + "description": "HealthCheckCommit is the ID of a specific commit. When specified,\nassessments of Stage health will used this value (instead of ID) when\ndetermining if applicable sources of Argo CD Application resources\nassociated with the Stage are or are not synced to this commit. Note that\nthere are cases (as in that of Kargo Render being utilized as a promotion\nmechanism) wherein the value of this field may differ from the commit ID\nfound in the ID field.", + "type": "string" + }, + "id": { + "description": "ID is the ID of a specific commit in the Git repository specified by\nRepoURL.", + "type": "string" + }, + "message": { + "description": "Message is the git commit message", + "type": "string" + }, + "repoURL": { + "description": "RepoURL is the URL of a Git repository.", + "type": "string" + }, + "tag": { + "description": "Tag denotes a tag in the repository that matched selection criteria and\nresolved to this commit.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "images": { + "description": "Images describes specific versions of specific container images.", + "items": { + "description": "Image describes a specific version of a container image.", + "properties": { + "digest": { + "description": "Digest identifies a specific version of the image in the repository\nspecified by RepoURL. This is a more precise identifier than Tag.", + "type": "string" + }, + "gitRepoURL": { + "description": "GitRepoURL specifies the URL of a Git repository that contains the source\ncode for the image repository referenced by the RepoURL field if Kargo was\nable to infer it.", + "type": "string" + }, + "repoURL": { + "description": "RepoURL describes the repository in which the image can be found.", + "type": "string" + }, + "tag": { + "description": "Tag identifies a specific version of the image in the repository specified\nby RepoURL.", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Name is system-assigned identifier that is derived deterministically from\nthe contents of the Freight. i.e. Two pieces of Freight can be compared for\nequality by comparing their Names.", + "type": "string" + }, + "verificationHistory": { + "description": "VerificationHistory is a stack of recent VerificationInfo. By default,\nthe last ten VerificationInfo are stored.", + "items": { + "description": "VerificationInfo contains information about the currently running\nVerification process.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "verificationInfo": { + "description": "VerificationInfo is information about any verification process that was\nassociated with this Freight for this Stage.", + "properties": { + "actor": { + "description": "Actor is the name of the entity that initiated or aborted the\nVerification process.", + "type": "string" + }, + "analysisRun": { + "description": "AnalysisRun is a reference to the Argo Rollouts AnalysisRun that implements\nthe Verification process.", + "properties": { + "name": { + "description": "Name is the name of the AnalysisRun.", + "type": "string" + }, + "namespace": { + "description": "Namespace is the namespace of the AnalysisRun.", + "type": "string" + }, + "phase": { + "description": "Phase is the last observed phase of the AnalysisRun referenced by Name.", + "type": "string" + } + }, + "required": [ + "name", + "namespace", + "phase" + ], + "type": "object" + }, + "finishTime": { + "description": "FinishTime is the time at which the Verification process finished.", + "format": "date-time", + "type": "string" + }, + "id": { + "description": "ID is the identifier of the Verification process.", + "type": "string" + }, + "message": { + "description": "Message may contain additional information about why the verification\nprocess is in its current phase.", + "type": "string" + }, + "phase": { + "description": "Phase describes the current phase of the Verification process. Generally,\nthis will be a reflection of the underlying AnalysisRun's phase, however,\nthere are exceptions to this, such as in the case where an AnalysisRun\ncannot be launched successfully.", + "type": "string" + }, + "startTime": { + "description": "StartTime is the time at which the Verification process was started.", + "format": "date-time", + "type": "string" + } + }, + "type": "object" + }, + "warehouse": { + "description": "Warehouse is the name of the Warehouse that created this Freight.", + "type": "string" + } + }, + "type": "object" + }, "lastHandledRefresh": { "description": "LastHandledRefresh holds the value of the most recent AnnotationKeyRefresh\nannotation that was handled by the controller. This field can be used to\ndetermine whether the request to refresh the resource has been handled.", "type": "string" diff --git a/ui/src/gen/v1alpha1/generated_pb.ts b/ui/src/gen/v1alpha1/generated_pb.ts index 02bddbc8a..904e4cb4d 100644 --- a/ui/src/gen/v1alpha1/generated_pb.ts +++ b/ui/src/gen/v1alpha1/generated_pb.ts @@ -2929,6 +2929,13 @@ export class PromotionStatus extends Message { */ metadata: { [key: string]: string } = {}; + /** + * Freight is the detail of the piece of freight that was referenced by this promotion. + * + * @generated from field: optional github.com.akuity.kargo.api.v1alpha1.FreightReference freight = 5; + */ + freight?: FreightReference; + constructor(data?: PartialMessage) { super(); proto2.util.initPartial(data, this); @@ -2941,6 +2948,7 @@ export class PromotionStatus extends Message { { no: 1, name: "phase", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, { no: 2, name: "message", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true }, { no: 3, name: "metadata", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} }, + { no: 5, name: "freight", kind: "message", T: FreightReference, opt: true }, ]); static fromBinary(bytes: Uint8Array, options?: Partial): PromotionStatus {