diff --git a/pkg/apis/application/v1alpha1/generated.pb.go b/pkg/apis/application/v1alpha1/generated.pb.go index 0517c5ff347ca..d951042c53764 100644 --- a/pkg/apis/application/v1alpha1/generated.pb.go +++ b/pkg/apis/application/v1alpha1/generated.pb.go @@ -348,14 +348,18 @@ func (m *ApplicationStatus) MarshalTo(dAtA []byte) (int, error) { return 0, err } i += n7 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RecentDeployment.Size())) - n8, err := m.RecentDeployment.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err + if len(m.RecentDeployments) > 0 { + for _, msg := range m.RecentDeployments { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } } - i += n8 return i, nil } @@ -381,11 +385,11 @@ func (m *ApplicationWatchEvent) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Application.Size())) - n9, err := m.Application.MarshalTo(dAtA[i:]) + n8, err := m.Application.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n8 return i, nil } @@ -415,11 +419,11 @@ func (m *Cluster) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Config.Size())) - n10, err := m.Config.MarshalTo(dAtA[i:]) + n9, err := m.Config.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n9 return i, nil } @@ -453,11 +457,11 @@ func (m *ClusterConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TLSClientConfig.Size())) - n11, err := m.TLSClientConfig.MarshalTo(dAtA[i:]) + n10, err := m.TLSClientConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n10 return i, nil } @@ -479,11 +483,11 @@ func (m *ClusterList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n12, err := m.ListMeta.MarshalTo(dAtA[i:]) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n11 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -517,19 +521,19 @@ func (m *ComparisonResult) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ComparedAt.Size())) - n13, err := m.ComparedAt.MarshalTo(dAtA[i:]) + n12, err := m.ComparedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n12 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ComparedTo.Size())) - n14, err := m.ComparedTo.MarshalTo(dAtA[i:]) + n13, err := m.ComparedTo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n13 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Server))) @@ -620,12 +624,28 @@ func (m *DeploymentInfo) MarshalTo(dAtA []byte) (int, error) { } dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AppSource.Size())) - n15, err := m.AppSource.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(len(m.Revision))) + i += copy(dAtA[i:], m.Revision) + if len(m.ComponentParameterOverrides) > 0 { + for _, msg := range m.ComponentParameterOverrides { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(msg.Size())) + n, err := msg.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n + } + } + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.DeployedAt.Size())) + n14, err := m.DeployedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n14 return i, nil } @@ -681,11 +701,11 @@ func (m *RepositoryList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n16, err := m.ListMeta.MarshalTo(dAtA[i:]) + n15, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n16 + i += n15 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -861,8 +881,12 @@ func (m *ApplicationStatus) Size() (n int) { _ = l l = m.ComparisonResult.Size() n += 1 + l + sovGenerated(uint64(l)) - l = m.RecentDeployment.Size() - n += 1 + l + sovGenerated(uint64(l)) + if len(m.RecentDeployments) > 0 { + for _, e := range m.RecentDeployments { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } return n } @@ -961,7 +985,15 @@ func (m *DeploymentInfo) Size() (n int) { n += 1 + l + sovGenerated(uint64(l)) } } - l = m.AppSource.Size() + l = len(m.Revision) + n += 1 + l + sovGenerated(uint64(l)) + if len(m.ComponentParameterOverrides) > 0 { + for _, e := range m.ComponentParameterOverrides { + l = e.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + } + l = m.DeployedAt.Size() n += 1 + l + sovGenerated(uint64(l)) return n } @@ -1105,7 +1137,7 @@ func (this *ApplicationStatus) String() string { } s := strings.Join([]string{`&ApplicationStatus{`, `ComparisonResult:` + strings.Replace(strings.Replace(this.ComparisonResult.String(), "ComparisonResult", "ComparisonResult", 1), `&`, ``, 1) + `,`, - `RecentDeployment:` + strings.Replace(strings.Replace(this.RecentDeployment.String(), "DeploymentInfo", "DeploymentInfo", 1), `&`, ``, 1) + `,`, + `RecentDeployments:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.RecentDeployments), "DeploymentInfo", "DeploymentInfo", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1191,7 +1223,9 @@ func (this *DeploymentInfo) String() string { } s := strings.Join([]string{`&DeploymentInfo{`, `Params:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Params), "ComponentParameter", "ComponentParameter", 1), `&`, ``, 1) + `,`, - `AppSource:` + strings.Replace(strings.Replace(this.AppSource.String(), "ApplicationSource", "ApplicationSource", 1), `&`, ``, 1) + `,`, + `Revision:` + fmt.Sprintf("%v", this.Revision) + `,`, + `ComponentParameterOverrides:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.ComponentParameterOverrides), "ComponentParameter", "ComponentParameter", 1), `&`, ``, 1) + `,`, + `DeployedAt:` + strings.Replace(strings.Replace(this.DeployedAt.String(), "Time", "k8s_io_apimachinery_pkg_apis_meta_v1.Time", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -1984,7 +2018,7 @@ func (m *ApplicationStatus) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RecentDeployment", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RecentDeployments", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -2008,7 +2042,8 @@ func (m *ApplicationStatus) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.RecentDeployment.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + m.RecentDeployments = append(m.RecentDeployments, DeploymentInfo{}) + if err := m.RecentDeployments[len(m.RecentDeployments)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -3014,7 +3049,67 @@ func (m *DeploymentInfo) Unmarshal(dAtA []byte) error { iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AppSource", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Revision", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Revision = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ComponentParameterOverrides", 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 > l { + return io.ErrUnexpectedEOF + } + m.ComponentParameterOverrides = append(m.ComponentParameterOverrides, ComponentParameter{}) + if err := m.ComponentParameterOverrides[len(m.ComponentParameterOverrides)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DeployedAt", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -3038,7 +3133,7 @@ func (m *DeploymentInfo) Unmarshal(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if err := m.AppSource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DeployedAt.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -3779,95 +3874,96 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 1429 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x57, 0x5f, 0x6f, 0x1b, 0xc5, - 0x16, 0xcf, 0x3a, 0xb6, 0x13, 0x1f, 0x37, 0x7f, 0x3a, 0x57, 0xed, 0xb5, 0x5a, 0xc9, 0x8d, 0xb6, - 0xba, 0xf7, 0xf6, 0x22, 0xba, 0xa6, 0xe5, 0x3f, 0x48, 0x48, 0x59, 0x37, 0xa8, 0x21, 0x69, 0x1b, - 0x26, 0x2e, 0x48, 0x08, 0x01, 0x93, 0xf5, 0xd4, 0xde, 0xc6, 0xde, 0x5d, 0x66, 0xc6, 0xae, 0xfc, - 0x50, 0xa9, 0x0f, 0x88, 0x27, 0x28, 0xf0, 0x35, 0x78, 0x04, 0x5e, 0xf8, 0x00, 0x88, 0x3e, 0x56, - 0x82, 0x87, 0x0a, 0xa1, 0x8a, 0xa6, 0x2f, 0x7c, 0x86, 0x3e, 0xa1, 0x99, 0x9d, 0xdd, 0x9d, 0xb5, - 0x15, 0x9a, 0xe2, 0xb4, 0x6f, 0x9e, 0x73, 0x7e, 0xf3, 0xfb, 0x9d, 0x3d, 0x73, 0xe6, 0x9c, 0x31, - 0xac, 0x77, 0x7c, 0xd1, 0x1d, 0xec, 0x38, 0x5e, 0xd8, 0x6f, 0x10, 0xd6, 0x09, 0x23, 0x16, 0x5e, - 0x57, 0x3f, 0xce, 0x7a, 0xed, 0x46, 0xb4, 0xdb, 0x69, 0x90, 0xc8, 0xe7, 0x0d, 0x12, 0x45, 0x3d, - 0xdf, 0x23, 0xc2, 0x0f, 0x83, 0xc6, 0xf0, 0x1c, 0xe9, 0x45, 0x5d, 0x72, 0xae, 0xd1, 0xa1, 0x01, - 0x65, 0x44, 0xd0, 0xb6, 0x13, 0xb1, 0x50, 0x84, 0xe8, 0xf5, 0x8c, 0xca, 0x49, 0xa8, 0xd4, 0x8f, - 0x8f, 0xbd, 0xb6, 0x13, 0xed, 0x76, 0x1c, 0x49, 0xe5, 0x18, 0x54, 0x4e, 0x42, 0x75, 0xe2, 0xac, - 0x11, 0x45, 0x27, 0xec, 0x84, 0x0d, 0xc5, 0xb8, 0x33, 0xb8, 0xa6, 0x56, 0x6a, 0xa1, 0x7e, 0xc5, - 0x4a, 0x27, 0x5e, 0xda, 0x7d, 0x8d, 0x3b, 0x7e, 0x28, 0x63, 0xeb, 0x13, 0xaf, 0xeb, 0x07, 0x94, - 0x8d, 0xb2, 0x60, 0xfb, 0x54, 0x90, 0xc6, 0x70, 0x22, 0xbe, 0x13, 0x8d, 0xfd, 0x76, 0xb1, 0x41, - 0x20, 0xfc, 0x3e, 0x9d, 0xd8, 0xf0, 0xca, 0xe3, 0x36, 0x70, 0xaf, 0x4b, 0xfb, 0x64, 0x62, 0xdf, - 0x8b, 0xfb, 0xed, 0x1b, 0x08, 0xbf, 0xd7, 0xf0, 0x03, 0xc1, 0x05, 0x1b, 0xdf, 0x64, 0xff, 0x52, - 0x80, 0xea, 0x6a, 0x96, 0x1b, 0xf4, 0x09, 0xcc, 0xcb, 0x0f, 0x69, 0x13, 0x41, 0x6a, 0xd6, 0x8a, - 0x75, 0xa6, 0x7a, 0xfe, 0x05, 0x27, 0xe6, 0x75, 0x4c, 0xde, 0x2c, 0xb1, 0x12, 0xed, 0x0c, 0xcf, - 0x39, 0x57, 0x76, 0xae, 0x53, 0x4f, 0x5c, 0xa2, 0x82, 0xb8, 0xe8, 0xce, 0xfd, 0x53, 0x33, 0x7b, - 0xf7, 0x4f, 0x41, 0x66, 0xc3, 0x29, 0x2b, 0xea, 0x41, 0x91, 0x47, 0xd4, 0xab, 0x15, 0x14, 0xfb, - 0x3b, 0xce, 0x3f, 0x3e, 0x3e, 0xc7, 0x88, 0x7b, 0x3b, 0xa2, 0x9e, 0x7b, 0x44, 0xeb, 0x16, 0xe5, - 0x0a, 0x2b, 0x15, 0x24, 0xa0, 0xcc, 0x05, 0x11, 0x03, 0x5e, 0x9b, 0x55, 0x7a, 0x9b, 0x87, 0xa4, - 0xa7, 0x38, 0xdd, 0x45, 0xad, 0x58, 0x8e, 0xd7, 0x58, 0x6b, 0xd9, 0x9f, 0xc2, 0x71, 0x03, 0x7c, - 0x81, 0x72, 0xe1, 0x07, 0x71, 0x7e, 0xff, 0x0b, 0x65, 0x4e, 0xd9, 0x90, 0x32, 0x95, 0xdd, 0x8a, - 0xc1, 0xa0, 0xac, 0x58, 0x7b, 0x51, 0x03, 0x2a, 0x01, 0xe9, 0x53, 0x1e, 0x11, 0x8f, 0xaa, 0x54, - 0x55, 0xdc, 0xa3, 0x1a, 0x5a, 0xb9, 0x9c, 0x38, 0x70, 0x86, 0xb1, 0x7f, 0xb7, 0x60, 0xc9, 0xd0, - 0xdc, 0xf4, 0xb9, 0x40, 0x1f, 0x4e, 0x1c, 0xa6, 0x73, 0xb0, 0xc3, 0x94, 0xbb, 0xd5, 0x51, 0x2e, - 0x6b, 0xcd, 0xf9, 0xc4, 0x62, 0x1c, 0xe4, 0x2e, 0x94, 0x7c, 0x41, 0xfb, 0xbc, 0x56, 0x58, 0x99, - 0x3d, 0x53, 0x3d, 0xff, 0xf6, 0xe1, 0x64, 0xd6, 0x5d, 0xd0, 0x92, 0xa5, 0x75, 0x49, 0x8e, 0x63, - 0x0d, 0xfb, 0xf6, 0x2c, 0x1c, 0x35, 0xf3, 0x1f, 0x0e, 0x98, 0x47, 0xd1, 0xff, 0x61, 0x8e, 0xd1, - 0x28, 0xbc, 0x8a, 0x37, 0x75, 0x3a, 0x97, 0xf4, 0xe6, 0x39, 0x1c, 0x9b, 0x71, 0xe2, 0x47, 0x2b, - 0x50, 0x8c, 0x88, 0xe8, 0xea, 0x5c, 0xa6, 0xa5, 0xb2, 0x45, 0x44, 0x17, 0x2b, 0x0f, 0x7a, 0x19, - 0xaa, 0x34, 0x18, 0xfa, 0x2c, 0x0c, 0xfa, 0x34, 0x10, 0xaa, 0x5e, 0x2a, 0xee, 0xbf, 0x34, 0xb0, - 0xba, 0x96, 0xb9, 0xb0, 0x89, 0x43, 0x6f, 0xc1, 0xa2, 0x20, 0xac, 0x43, 0x05, 0xa6, 0x43, 0x9f, - 0xfb, 0x61, 0x50, 0x2b, 0xaa, 0x9d, 0xc7, 0xf5, 0xce, 0xc5, 0x56, 0xce, 0x8b, 0xc7, 0xd0, 0xe8, - 0x07, 0x0b, 0x4e, 0x7a, 0x61, 0x3f, 0x0a, 0x03, 0x1a, 0x88, 0x2d, 0xc2, 0x48, 0x9f, 0x0a, 0xca, - 0xae, 0x0c, 0x29, 0x63, 0x7e, 0x9b, 0xf2, 0x5a, 0x49, 0x65, 0xf7, 0xd2, 0x14, 0xd9, 0x6d, 0x4e, - 0xb0, 0xbb, 0xa7, 0x75, 0x70, 0x27, 0x9b, 0xfb, 0x2b, 0xe3, 0xbf, 0x0b, 0xcb, 0xbe, 0x5d, 0xc8, - 0xd5, 0xdb, 0x76, 0x72, 0xd9, 0xd4, 0xc1, 0xe8, 0x6a, 0x3b, 0xac, 0xcb, 0xa6, 0x38, 0x8d, 0xab, - 0xa2, 0xd6, 0x58, 0x6b, 0xa1, 0xcf, 0x2c, 0xa8, 0xb6, 0xb3, 0x2b, 0xa6, 0x1b, 0xcb, 0xbb, 0x87, - 0xa3, 0x6d, 0xdc, 0x5d, 0x77, 0x49, 0xd6, 0x81, 0x61, 0xc0, 0xa6, 0xac, 0xfd, 0x63, 0x21, 0x5f, - 0xa1, 0xaa, 0x13, 0xa0, 0x6f, 0x2c, 0x58, 0x96, 0x69, 0x24, 0xcc, 0xe7, 0x61, 0x80, 0x29, 0x1f, - 0xf4, 0x84, 0xce, 0xce, 0xc6, 0x94, 0x47, 0x6a, 0x52, 0xba, 0x35, 0x9d, 0x9c, 0xe5, 0x71, 0x0f, - 0x9e, 0x90, 0x47, 0x5f, 0x59, 0xb0, 0xcc, 0xa8, 0x47, 0x03, 0x71, 0x81, 0x46, 0xbd, 0x70, 0xa4, - 0xca, 0x3d, 0xce, 0xda, 0xfa, 0x14, 0x31, 0x65, 0x64, 0xeb, 0xc1, 0xb5, 0x30, 0x8b, 0x08, 0x8f, - 0x49, 0xe1, 0x09, 0x71, 0xfb, 0xa1, 0x05, 0xc7, 0x8c, 0xdc, 0xbd, 0x4f, 0x84, 0xd7, 0x5d, 0x1b, - 0xca, 0xdb, 0xb5, 0x01, 0x45, 0x31, 0x8a, 0xa8, 0xbe, 0xde, 0xaf, 0x26, 0xd7, 0xb6, 0x35, 0x8a, - 0xe8, 0xa3, 0xfb, 0xa7, 0xfe, 0xb7, 0xdf, 0xc8, 0xbb, 0x21, 0x19, 0x1c, 0x45, 0x21, 0xa1, 0x58, - 0x91, 0xa0, 0x9b, 0x50, 0x35, 0x22, 0xd7, 0x9f, 0x7c, 0x58, 0x7d, 0x2b, 0xed, 0x14, 0x86, 0x11, - 0x9b, 0x7a, 0xf6, 0x4f, 0x16, 0xcc, 0x35, 0x7b, 0x03, 0x2e, 0x28, 0x3b, 0xf0, 0x1c, 0x58, 0x81, - 0xa2, 0xec, 0xf1, 0xe3, 0x6d, 0x4b, 0x8e, 0x00, 0xac, 0x3c, 0x28, 0x82, 0xb2, 0x17, 0x06, 0xd7, - 0xfc, 0x8e, 0x9e, 0x70, 0x17, 0xa7, 0x29, 0xab, 0x38, 0xba, 0xa6, 0xe2, 0xcb, 0x62, 0x8a, 0xd7, - 0x58, 0xeb, 0xd8, 0xdf, 0x15, 0x60, 0x21, 0x87, 0x44, 0xcf, 0xc3, 0xfc, 0x80, 0x53, 0xa6, 0x22, - 0x8d, 0xbf, 0x27, 0x1d, 0x1c, 0x57, 0xb5, 0x1d, 0xa7, 0x08, 0x89, 0x8e, 0x08, 0xe7, 0x37, 0x42, - 0xd6, 0xd6, 0xdf, 0x95, 0xa2, 0xb7, 0xb4, 0x1d, 0xa7, 0x08, 0xd9, 0x96, 0x77, 0x28, 0x61, 0x94, - 0xb5, 0xc2, 0x5d, 0x1a, 0x8c, 0xb7, 0x65, 0x37, 0x73, 0x61, 0x13, 0x87, 0xbe, 0xb4, 0x60, 0x49, - 0xf4, 0x78, 0xb3, 0xe7, 0xd3, 0x40, 0xc4, 0x61, 0xaa, 0xc6, 0x3c, 0xdd, 0x93, 0xa3, 0xb5, 0xb9, - 0x6d, 0x32, 0xba, 0xff, 0xd6, 0x71, 0x2c, 0x8d, 0x39, 0xf0, 0xb8, 0xb6, 0xfd, 0xab, 0x05, 0x55, - 0x9d, 0xb4, 0x67, 0x30, 0x9b, 0x3b, 0xf9, 0xd9, 0xec, 0x4e, 0x5f, 0x13, 0xfb, 0xcc, 0xe5, 0x6f, - 0x8b, 0x30, 0xd1, 0x72, 0xd0, 0x47, 0x00, 0x71, 0xd3, 0xa1, 0xed, 0xd5, 0xa4, 0xdb, 0x3d, 0x77, - 0xb0, 0xaf, 0x6b, 0xf9, 0x7d, 0x9a, 0x3d, 0x20, 0x9b, 0x29, 0x0b, 0x36, 0x18, 0xd1, 0x2d, 0x2b, - 0x13, 0x68, 0x85, 0xfa, 0x1e, 0x1f, 0xee, 0xb0, 0x99, 0x08, 0xa1, 0x15, 0x62, 0x43, 0xd3, 0xb8, - 0xbf, 0xb3, 0x07, 0x7f, 0xc7, 0x15, 0x1f, 0xff, 0x8e, 0x43, 0x6f, 0xa4, 0x0f, 0xd6, 0x92, 0x42, - 0xdb, 0xf9, 0x27, 0xe6, 0xa3, 0x5c, 0x8b, 0xcf, 0x3f, 0x3b, 0xd1, 0x08, 0x2a, 0x8c, 0xc6, 0x53, - 0x91, 0xd7, 0xca, 0xea, 0xe4, 0xa7, 0xe9, 0x06, 0x58, 0x73, 0x49, 0x15, 0x9a, 0x85, 0x9d, 0x98, - 0x39, 0xce, 0xd4, 0xd0, 0x69, 0x28, 0x51, 0xc6, 0x42, 0x56, 0x9b, 0x53, 0x51, 0xa7, 0xc5, 0xb2, - 0x26, 0x8d, 0x38, 0xf6, 0xd9, 0x5f, 0x58, 0x80, 0x26, 0x1f, 0x1c, 0x32, 0x47, 0xe9, 0x4b, 0x43, - 0xb7, 0x8f, 0x54, 0x2c, 0x85, 0xe3, 0x0c, 0x73, 0x80, 0xa6, 0x78, 0x1a, 0x4a, 0x43, 0xd2, 0x1b, - 0x50, 0x7d, 0x3a, 0x69, 0x38, 0xef, 0x49, 0x23, 0x8e, 0x7d, 0xf6, 0xe7, 0x05, 0x58, 0xcc, 0x0f, - 0x2d, 0x34, 0x80, 0x72, 0x24, 0xe3, 0xe2, 0x35, 0xeb, 0x69, 0x3c, 0xbb, 0xd2, 0x2a, 0x51, 0x26, - 0x8e, 0xb5, 0x18, 0xba, 0x09, 0x15, 0x12, 0x45, 0x71, 0xe9, 0x3d, 0x95, 0x72, 0x4e, 0xf3, 0xb9, - 0x9a, 0xc8, 0xe0, 0x4c, 0xd1, 0xfe, 0xd9, 0x02, 0x90, 0x0f, 0x66, 0xee, 0x8b, 0x90, 0x8d, 0x64, - 0x7a, 0xe5, 0xab, 0x59, 0x1f, 0x45, 0x9a, 0x5e, 0x89, 0xc0, 0xca, 0x93, 0xeb, 0xf7, 0x85, 0x27, - 0xea, 0xf7, 0xb3, 0x8f, 0xed, 0xf7, 0x6f, 0xc2, 0x02, 0xe7, 0xdd, 0x2d, 0xe6, 0x0f, 0x89, 0xa0, - 0x1b, 0x74, 0xa4, 0x6f, 0xcd, 0x31, 0xbd, 0x65, 0x61, 0x7b, 0xfb, 0x62, 0xe6, 0xc4, 0x79, 0xac, - 0xfd, 0x9b, 0x05, 0x8b, 0xd9, 0x97, 0x3c, 0x83, 0x46, 0x7b, 0x3d, 0xdf, 0x68, 0xd7, 0xa6, 0xba, - 0x6e, 0x49, 0xdc, 0xfb, 0xf4, 0xda, 0xef, 0x2d, 0x58, 0xc8, 0xdd, 0x49, 0x39, 0x1b, 0xe3, 0x7f, - 0x13, 0x6a, 0xa9, 0x0f, 0x2c, 0x9d, 0x8d, 0xad, 0xcc, 0x85, 0x4d, 0x9c, 0xbc, 0x70, 0x3d, 0x7f, - 0x18, 0x73, 0x8c, 0xff, 0xb9, 0xdc, 0x4c, 0x1c, 0x38, 0xc3, 0x18, 0x4d, 0x69, 0xf6, 0x49, 0x9b, - 0x92, 0xfd, 0xa7, 0x05, 0xe3, 0xd3, 0x51, 0x56, 0x84, 0x1f, 0x70, 0xea, 0x0d, 0x58, 0x1c, 0xf4, - 0x7c, 0x96, 0xe3, 0x75, 0x6d, 0xc7, 0x29, 0x02, 0x9d, 0x07, 0x88, 0xbb, 0xe9, 0xe5, 0xac, 0xde, - 0xd2, 0xfe, 0xbc, 0x9d, 0x7a, 0xb0, 0x81, 0x42, 0x67, 0x60, 0xde, 0xa3, 0x4c, 0x5c, 0x90, 0xa7, - 0x2e, 0x63, 0x3e, 0xe2, 0x1e, 0x91, 0xec, 0x4d, 0x6d, 0xc3, 0xa9, 0x17, 0xfd, 0x07, 0xe6, 0x76, - 0xe9, 0x48, 0x01, 0x8b, 0x0a, 0x58, 0x95, 0xff, 0x1f, 0x37, 0x62, 0x13, 0x4e, 0x7c, 0xc8, 0x86, - 0xb2, 0x47, 0x14, 0xaa, 0xa4, 0x50, 0xa0, 0x1e, 0x46, 0xab, 0x0a, 0xa4, 0x3d, 0xae, 0x73, 0xe7, - 0x41, 0x7d, 0xe6, 0xee, 0x83, 0xfa, 0xcc, 0xbd, 0x07, 0xf5, 0x99, 0x5b, 0x7b, 0x75, 0xeb, 0xce, - 0x5e, 0xdd, 0xba, 0xbb, 0x57, 0xb7, 0xee, 0xed, 0xd5, 0xad, 0x3f, 0xf6, 0xea, 0xd6, 0xd7, 0x0f, - 0xeb, 0x33, 0x1f, 0xcc, 0x27, 0x27, 0xfe, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x60, 0x64, 0xb8, - 0xe5, 0x06, 0x13, 0x00, 0x00, + // 1447 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6f, 0x1b, 0x45, + 0x14, 0xcf, 0xfa, 0x2b, 0xc9, 0xb8, 0xf9, 0xe8, 0xa0, 0x16, 0xd3, 0x4a, 0x6e, 0xb4, 0x15, 0x50, + 0x10, 0x5d, 0xd3, 0xf2, 0x0d, 0x12, 0x52, 0xd7, 0x09, 0x6a, 0x48, 0xda, 0x86, 0x89, 0x0b, 0x12, + 0x42, 0xc0, 0x64, 0xfd, 0x6a, 0x6f, 0x63, 0xef, 0x2e, 0x33, 0x63, 0x57, 0x3e, 0x20, 0xf5, 0xc0, + 0x11, 0xaa, 0xf2, 0x6f, 0x70, 0x04, 0x4e, 0xdc, 0x11, 0x3d, 0x70, 0xa8, 0x04, 0x87, 0x0a, 0xa1, + 0x8a, 0xa4, 0x17, 0xfe, 0x86, 0x9e, 0xd0, 0xcc, 0xce, 0xee, 0x8e, 0x6d, 0x85, 0xa4, 0x75, 0xa8, + 0xb8, 0x79, 0xe6, 0xfd, 0xe6, 0xf7, 0x7b, 0xfb, 0xe6, 0xcd, 0x7b, 0xcf, 0x68, 0xb5, 0xe5, 0x8b, + 0x76, 0x6f, 0xcb, 0xf1, 0xc2, 0x6e, 0x8d, 0xb2, 0x56, 0x18, 0xb1, 0xf0, 0xba, 0xfa, 0x71, 0xd6, + 0x6b, 0xd6, 0xa2, 0xed, 0x56, 0x8d, 0x46, 0x3e, 0xaf, 0xd1, 0x28, 0xea, 0xf8, 0x1e, 0x15, 0x7e, + 0x18, 0xd4, 0xfa, 0xe7, 0x68, 0x27, 0x6a, 0xd3, 0x73, 0xb5, 0x16, 0x04, 0xc0, 0xa8, 0x80, 0xa6, + 0x13, 0xb1, 0x50, 0x84, 0xf8, 0xad, 0x8c, 0xca, 0x49, 0xa8, 0xd4, 0x8f, 0xcf, 0xbc, 0xa6, 0x13, + 0x6d, 0xb7, 0x1c, 0x49, 0xe5, 0x18, 0x54, 0x4e, 0x42, 0x75, 0xe2, 0xac, 0xe1, 0x45, 0x2b, 0x6c, + 0x85, 0x35, 0xc5, 0xb8, 0xd5, 0xbb, 0xa6, 0x56, 0x6a, 0xa1, 0x7e, 0xc5, 0x4a, 0x27, 0x5e, 0xdd, + 0x7e, 0x93, 0x3b, 0x7e, 0x28, 0x7d, 0xeb, 0x52, 0xaf, 0xed, 0x07, 0xc0, 0x06, 0x99, 0xb3, 0x5d, + 0x10, 0xb4, 0xd6, 0x1f, 0xf3, 0xef, 0x44, 0x6d, 0xaf, 0x53, 0xac, 0x17, 0x08, 0xbf, 0x0b, 0x63, + 0x07, 0x5e, 0xdf, 0xef, 0x00, 0xf7, 0xda, 0xd0, 0xa5, 0x63, 0xe7, 0x5e, 0xd9, 0xeb, 0x5c, 0x4f, + 0xf8, 0x9d, 0x9a, 0x1f, 0x08, 0x2e, 0xd8, 0xe8, 0x21, 0xfb, 0xb7, 0x1c, 0x2a, 0x5f, 0xc8, 0x62, + 0x83, 0x3f, 0x47, 0x33, 0xf2, 0x43, 0x9a, 0x54, 0xd0, 0x8a, 0xb5, 0x64, 0x9d, 0x29, 0x9f, 0x7f, + 0xd9, 0x89, 0x79, 0x1d, 0x93, 0x37, 0x0b, 0xac, 0x44, 0x3b, 0xfd, 0x73, 0xce, 0x95, 0xad, 0xeb, + 0xe0, 0x89, 0x4b, 0x20, 0xa8, 0x8b, 0xef, 0xdc, 0x3f, 0x35, 0xb5, 0x7b, 0xff, 0x14, 0xca, 0xf6, + 0x48, 0xca, 0x8a, 0x3b, 0xa8, 0xc0, 0x23, 0xf0, 0x2a, 0x39, 0xc5, 0xfe, 0xbe, 0xf3, 0xd8, 0xd7, + 0xe7, 0x18, 0x7e, 0x6f, 0x46, 0xe0, 0xb9, 0x47, 0xb4, 0x6e, 0x41, 0xae, 0x88, 0x52, 0xc1, 0x02, + 0x95, 0xb8, 0xa0, 0xa2, 0xc7, 0x2b, 0x79, 0xa5, 0xb7, 0x7e, 0x48, 0x7a, 0x8a, 0xd3, 0x9d, 0xd7, + 0x8a, 0xa5, 0x78, 0x4d, 0xb4, 0x96, 0xfd, 0x05, 0x3a, 0x6e, 0x80, 0x97, 0x81, 0x0b, 0x3f, 0x88, + 0xe3, 0xfb, 0x1c, 0x2a, 0x71, 0x60, 0x7d, 0x60, 0x2a, 0xba, 0xb3, 0x06, 0x83, 0xda, 0x25, 0xda, + 0x8a, 0x6b, 0x68, 0x36, 0xa0, 0x5d, 0xe0, 0x11, 0xf5, 0x40, 0x85, 0x6a, 0xd6, 0x3d, 0xaa, 0xa1, + 0xb3, 0x97, 0x13, 0x03, 0xc9, 0x30, 0xf6, 0x9f, 0x16, 0x5a, 0x30, 0x34, 0xd7, 0x7d, 0x2e, 0xf0, + 0x27, 0x63, 0x97, 0xe9, 0x1c, 0xec, 0x32, 0xe5, 0x69, 0x75, 0x95, 0x8b, 0x5a, 0x73, 0x26, 0xd9, + 0x31, 0x2e, 0x72, 0x1b, 0x15, 0x7d, 0x01, 0x5d, 0x5e, 0xc9, 0x2d, 0xe5, 0xcf, 0x94, 0xcf, 0xbf, + 0x77, 0x38, 0x91, 0x75, 0xe7, 0xb4, 0x64, 0x71, 0x55, 0x92, 0x93, 0x58, 0xc3, 0xbe, 0x95, 0x47, + 0x47, 0xcd, 0xf8, 0x87, 0x3d, 0xe6, 0x01, 0x7e, 0x01, 0x4d, 0x33, 0x88, 0xc2, 0xab, 0x64, 0x5d, + 0x87, 0x73, 0x41, 0x1f, 0x9e, 0x26, 0xf1, 0x36, 0x49, 0xec, 0x78, 0x09, 0x15, 0x22, 0x2a, 0xda, + 0x3a, 0x96, 0x69, 0xaa, 0x6c, 0x50, 0xd1, 0x26, 0xca, 0x82, 0x5f, 0x43, 0x65, 0x08, 0xfa, 0x3e, + 0x0b, 0x83, 0x2e, 0x04, 0x42, 0xe5, 0xcb, 0xac, 0xfb, 0x94, 0x06, 0x96, 0x57, 0x32, 0x13, 0x31, + 0x71, 0xf8, 0x5d, 0x34, 0x2f, 0x28, 0x6b, 0x81, 0x20, 0xd0, 0xf7, 0xb9, 0x1f, 0x06, 0x95, 0x82, + 0x3a, 0x79, 0x5c, 0x9f, 0x9c, 0x6f, 0x0c, 0x59, 0xc9, 0x08, 0x1a, 0xff, 0x68, 0xa1, 0x93, 0x5e, + 0xd8, 0x8d, 0xc2, 0x00, 0x02, 0xb1, 0x41, 0x19, 0xed, 0x82, 0x00, 0x76, 0xa5, 0x0f, 0x8c, 0xf9, + 0x4d, 0xe0, 0x95, 0xa2, 0x8a, 0xee, 0xa5, 0x09, 0xa2, 0x5b, 0x1f, 0x63, 0x77, 0x4f, 0x6b, 0xe7, + 0x4e, 0xd6, 0xf7, 0x56, 0x26, 0xff, 0xe6, 0x96, 0x7d, 0x2b, 0x37, 0x94, 0x6f, 0x9b, 0xc9, 0x63, + 0x53, 0x17, 0xa3, 0xb3, 0xed, 0xb0, 0x1e, 0x9b, 0xe2, 0x34, 0x9e, 0x8a, 0x5a, 0x13, 0xad, 0x85, + 0xbf, 0xb2, 0x50, 0xb9, 0x99, 0x3d, 0x31, 0x5d, 0x58, 0x3e, 0x38, 0x1c, 0x6d, 0xe3, 0xed, 0xba, + 0x0b, 0x32, 0x0f, 0x8c, 0x0d, 0x62, 0xca, 0xda, 0x3f, 0xe5, 0x86, 0x33, 0x54, 0x55, 0x02, 0xfc, + 0xad, 0x85, 0x16, 0x65, 0x18, 0x29, 0xf3, 0x79, 0x18, 0x10, 0xe0, 0xbd, 0x8e, 0xd0, 0xd1, 0x59, + 0x9b, 0xf0, 0x4a, 0x4d, 0x4a, 0xb7, 0xa2, 0x83, 0xb3, 0x38, 0x6a, 0x21, 0x63, 0xf2, 0xf8, 0xb6, + 0x85, 0x16, 0x19, 0x78, 0x10, 0x88, 0x65, 0x88, 0x3a, 0xe1, 0x40, 0xa5, 0x7b, 0xfc, 0x88, 0x57, + 0x27, 0xf0, 0x29, 0x23, 0x5b, 0x0d, 0xae, 0x85, 0xee, 0x33, 0xda, 0xa3, 0xa3, 0x64, 0x44, 0x8a, + 0x93, 0x31, 0x75, 0xfb, 0x81, 0x85, 0x8e, 0x19, 0xc1, 0xfb, 0x88, 0x0a, 0xaf, 0xbd, 0xd2, 0x97, + 0xcf, 0x6b, 0x0d, 0x15, 0xc4, 0x20, 0x02, 0xfd, 0xbe, 0xdf, 0x48, 0xde, 0x6d, 0x63, 0x10, 0xc1, + 0xc3, 0xfb, 0xa7, 0x9e, 0xdf, 0xab, 0xe7, 0xdd, 0x90, 0x0c, 0x8e, 0xa2, 0x90, 0x50, 0xa2, 0x48, + 0xf0, 0x97, 0xa8, 0x6c, 0xb8, 0xae, 0x33, 0xe5, 0xb0, 0x0a, 0x57, 0x5a, 0x2a, 0x8c, 0x4d, 0x62, + 0xea, 0xd9, 0x3f, 0x5b, 0x68, 0xba, 0xde, 0xe9, 0x71, 0x01, 0xec, 0xc0, 0x8d, 0x60, 0x09, 0x15, + 0x64, 0x91, 0x1f, 0xad, 0x5b, 0xb2, 0x07, 0x10, 0x65, 0xc1, 0x11, 0x2a, 0x79, 0x61, 0x70, 0xcd, + 0x6f, 0xe9, 0x16, 0x77, 0x71, 0x92, 0xbc, 0x8a, 0xbd, 0xab, 0x2b, 0xbe, 0xcc, 0xa7, 0x78, 0x4d, + 0xb4, 0x8e, 0xfd, 0x7d, 0x0e, 0xcd, 0x0d, 0x21, 0xf1, 0x4b, 0x68, 0xa6, 0xc7, 0x81, 0x29, 0x4f, + 0xe3, 0xef, 0x49, 0x3b, 0xc7, 0x55, 0xbd, 0x4f, 0x52, 0x84, 0x44, 0x47, 0x94, 0xf3, 0x1b, 0x21, + 0x6b, 0xea, 0xef, 0x4a, 0xd1, 0x1b, 0x7a, 0x9f, 0xa4, 0x08, 0x59, 0x97, 0xb7, 0x80, 0x32, 0x60, + 0x8d, 0x70, 0x1b, 0x82, 0xd1, 0xba, 0xec, 0x66, 0x26, 0x62, 0xe2, 0xf0, 0x37, 0x16, 0x5a, 0x10, + 0x1d, 0x5e, 0xef, 0xf8, 0x10, 0x88, 0xd8, 0x4d, 0x55, 0x99, 0x27, 0x9b, 0x39, 0x1a, 0xeb, 0x9b, + 0x26, 0xa3, 0xfb, 0xb4, 0xf6, 0x63, 0x61, 0xc4, 0x40, 0x46, 0xb5, 0xed, 0xdf, 0x2d, 0x54, 0xd6, + 0x41, 0x7b, 0x02, 0xcd, 0xb9, 0x35, 0xdc, 0x9c, 0xdd, 0xc9, 0x73, 0x62, 0x8f, 0xc6, 0xfc, 0x5d, + 0x01, 0x8d, 0xd5, 0x1c, 0xfc, 0x29, 0x42, 0x71, 0xd5, 0x81, 0xe6, 0x85, 0xa4, 0xdc, 0xbd, 0x78, + 0xb0, 0xaf, 0x6b, 0xf8, 0x5d, 0xc8, 0x26, 0xc8, 0x7a, 0xca, 0x42, 0x0c, 0x46, 0x7c, 0xd3, 0xca, + 0x04, 0x1a, 0xa1, 0x7e, 0xc7, 0x87, 0xdb, 0x6d, 0xc6, 0x5c, 0x68, 0x84, 0xc4, 0xd0, 0x34, 0xde, + 0x6f, 0xfe, 0xe0, 0x83, 0x5c, 0x61, 0xff, 0x41, 0x0e, 0xbf, 0x9d, 0x4e, 0xac, 0x45, 0x85, 0xb6, + 0x87, 0x67, 0xcc, 0x87, 0x43, 0x35, 0x7e, 0x78, 0xee, 0xc4, 0x03, 0x34, 0xcb, 0x20, 0x6e, 0x8b, + 0xbc, 0x52, 0x52, 0x37, 0x3f, 0x49, 0x35, 0x20, 0x9a, 0x4b, 0xaa, 0x40, 0xe6, 0x76, 0xb2, 0xcd, + 0x49, 0xa6, 0x86, 0x4f, 0xa3, 0x22, 0x30, 0x16, 0xb2, 0xca, 0xb4, 0xf2, 0x3a, 0x4d, 0x96, 0x15, + 0xb9, 0x49, 0x62, 0x9b, 0xfd, 0xb5, 0x85, 0xf0, 0xf8, 0xc4, 0x21, 0x63, 0x94, 0x8e, 0x1a, 0xba, + 0x7c, 0xa4, 0x62, 0x29, 0x9c, 0x64, 0x98, 0x03, 0x14, 0xc5, 0xd3, 0xa8, 0xd8, 0xa7, 0x9d, 0x1e, + 0xe8, 0xdb, 0x49, 0xdd, 0xf9, 0x50, 0x6e, 0x92, 0xd8, 0x66, 0xff, 0x9a, 0x47, 0xf3, 0xc3, 0x5d, + 0x0b, 0xf7, 0x50, 0x29, 0x92, 0x7e, 0xf1, 0x8a, 0xf5, 0x5f, 0xcc, 0x5d, 0x69, 0x96, 0xa8, 0x2d, + 0x4e, 0xb4, 0x98, 0xac, 0x88, 0x2c, 0x19, 0x1f, 0x47, 0x2a, 0x62, 0x3a, 0x38, 0xa6, 0x88, 0x7d, + 0x47, 0xc6, 0xfc, 0xff, 0x72, 0x64, 0x94, 0x55, 0xa1, 0xa9, 0xa2, 0xad, 0xaa, 0x42, 0xe1, 0xf1, + 0xab, 0xc2, 0x72, 0xca, 0x42, 0x0c, 0x46, 0xfb, 0x17, 0x0b, 0x21, 0x39, 0xf7, 0x73, 0x5f, 0x84, + 0x6c, 0x20, 0x93, 0x44, 0x0e, 0xff, 0x3a, 0xa1, 0xd2, 0x24, 0x91, 0x08, 0xa2, 0x2c, 0x43, 0x5d, + 0x2b, 0xf7, 0x48, 0x5d, 0x2b, 0xbf, 0x6f, 0xd7, 0x7a, 0x07, 0xcd, 0x71, 0xde, 0xde, 0x60, 0x7e, + 0x9f, 0x0a, 0x58, 0x83, 0x81, 0x7e, 0xfb, 0xc7, 0xf4, 0x91, 0xb9, 0xcd, 0xcd, 0x8b, 0x99, 0x91, + 0x0c, 0x63, 0xed, 0x3f, 0x2c, 0x34, 0x9f, 0x7d, 0xc9, 0x13, 0x68, 0x17, 0xd7, 0x87, 0xdb, 0xc5, + 0xca, 0x44, 0x45, 0x23, 0xf1, 0x7b, 0x8f, 0x8e, 0xf1, 0x83, 0x85, 0xe6, 0x86, 0x2a, 0x8b, 0xec, + 0xf0, 0xf1, 0x9f, 0x22, 0xb5, 0xd4, 0x17, 0x96, 0x76, 0xf8, 0x46, 0x66, 0x22, 0x26, 0x4e, 0x96, + 0x8d, 0x8e, 0xdf, 0x8f, 0x39, 0x46, 0xff, 0x23, 0xaf, 0x27, 0x06, 0x92, 0x61, 0x8c, 0xd2, 0x9a, + 0x7f, 0xd4, 0xd2, 0x6a, 0xff, 0x6d, 0xa1, 0xd1, 0x1e, 0x2f, 0x33, 0xc2, 0x0f, 0x38, 0x78, 0x3d, + 0x16, 0x3b, 0x3d, 0x93, 0xc5, 0x78, 0x55, 0xef, 0x93, 0x14, 0x81, 0xcf, 0x23, 0x14, 0xf7, 0x84, + 0xcb, 0x59, 0xbe, 0xa5, 0x29, 0xbd, 0x99, 0x5a, 0x88, 0x81, 0xc2, 0x67, 0xd0, 0x8c, 0x07, 0x4c, + 0x2c, 0xcb, 0x5b, 0x97, 0x3e, 0x1f, 0x71, 0x8f, 0x48, 0xf6, 0xba, 0xde, 0x23, 0xa9, 0x15, 0x3f, + 0x8b, 0xa6, 0xb7, 0x61, 0xa0, 0x80, 0x05, 0x05, 0x2c, 0xcb, 0xbf, 0xc1, 0x6b, 0xf1, 0x16, 0x49, + 0x6c, 0xd8, 0x46, 0x25, 0x8f, 0x2a, 0x54, 0x51, 0xa1, 0x90, 0x1a, 0xef, 0x2e, 0x28, 0x90, 0xb6, + 0xb8, 0xce, 0x9d, 0x9d, 0xea, 0xd4, 0xdd, 0x9d, 0xea, 0xd4, 0xbd, 0x9d, 0xea, 0xd4, 0xcd, 0xdd, + 0xaa, 0x75, 0x67, 0xb7, 0x6a, 0xdd, 0xdd, 0xad, 0x5a, 0xf7, 0x76, 0xab, 0xd6, 0x5f, 0xbb, 0x55, + 0xeb, 0xf6, 0x83, 0xea, 0xd4, 0xc7, 0x33, 0xc9, 0x8d, 0xff, 0x13, 0x00, 0x00, 0xff, 0xff, 0xbf, + 0x57, 0x11, 0xb6, 0xcd, 0x13, 0x00, 0x00, } diff --git a/pkg/apis/application/v1alpha1/generated.proto b/pkg/apis/application/v1alpha1/generated.proto index f733b13b9fef5..00e25ec754ac1 100644 --- a/pkg/apis/application/v1alpha1/generated.proto +++ b/pkg/apis/application/v1alpha1/generated.proto @@ -75,7 +75,7 @@ message ApplicationSpec { message ApplicationStatus { optional ComparisonResult comparisonResult = 1; - optional DeploymentInfo recentDeployment = 2; + repeated DeploymentInfo recentDeployment = 2; } // ApplicationWatchEvent contains information about application change. @@ -156,7 +156,11 @@ message ComponentParameter { message DeploymentInfo { repeated ComponentParameter params = 1; - optional ApplicationSource appSource = 2; + optional string revision = 2; + + repeated ComponentParameter componentParameterOverrides = 3; + + optional k8s.io.apimachinery.pkg.apis.meta.v1.Time deployedAt = 4; } // Repository is a Git repository holding application configurations diff --git a/pkg/apis/application/v1alpha1/types.go b/pkg/apis/application/v1alpha1/types.go index 2389fc42561e2..3069aadd40e89 100644 --- a/pkg/apis/application/v1alpha1/types.go +++ b/pkg/apis/application/v1alpha1/types.go @@ -13,8 +13,10 @@ import ( // DeploymentInfo contains information relevant to an application deployment type DeploymentInfo struct { - Params []ComponentParameter `json:"params" protobuf:"bytes,1,name=params"` - AppSource ApplicationSource `json:"appSource" protobuf:"bytes,2,opt,name=appSource"` + Params []ComponentParameter `json:"params" protobuf:"bytes,1,name=params"` + Revision string `json:"revision" protobuf:"bytes,2,opt,name=revision"` + ComponentParameterOverrides []ComponentParameter `json:"componentParameterOverrides,omitempty" protobuf:"bytes,3,opt,name=componentParameterOverrides"` + DeployedAt metav1.Time `json:"deployedAt" protobuf:"bytes,4,opt,name=deployedAt"` } // Application is a definition of Application resource. @@ -100,8 +102,8 @@ const ( // ApplicationStatus contains information about application status in target environment. type ApplicationStatus struct { - ComparisonResult ComparisonResult `json:"comparisonResult" protobuf:"bytes,1,opt,name=comparisonResult"` - RecentDeployment DeploymentInfo `json:"recentDeployment" protobuf:"bytes,2,opt,name=recentDeployment"` + ComparisonResult ComparisonResult `json:"comparisonResult" protobuf:"bytes,1,opt,name=comparisonResult"` + RecentDeployments []DeploymentInfo `json:"recentDeployments" protobuf:"bytes,2,opt,name=recentDeployment"` } // ComparisonResult is a comparison result of application spec and deployed application. diff --git a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go index 757c11364b673..7e3e0b2f88d11 100644 --- a/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/application/v1alpha1/zz_generated.deepcopy.go @@ -136,7 +136,13 @@ func (in *ApplicationSpec) DeepCopy() *ApplicationSpec { func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus) { *out = *in in.ComparisonResult.DeepCopyInto(&out.ComparisonResult) - in.RecentDeployment.DeepCopyInto(&out.RecentDeployment) + if in.RecentDeployments != nil { + in, out := &in.RecentDeployments, &out.RecentDeployments + *out = make([]DeploymentInfo, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } @@ -272,7 +278,12 @@ func (in *DeploymentInfo) DeepCopyInto(out *DeploymentInfo) { *out = make([]ComponentParameter, len(*in)) copy(*out, *in) } - in.AppSource.DeepCopyInto(&out.AppSource) + if in.ComponentParameterOverrides != nil { + in, out := &in.ComponentParameterOverrides, &out.ComponentParameterOverrides + *out = make([]ComponentParameter, len(*in)) + copy(*out, *in) + } + in.DeployedAt.DeepCopyInto(&out.DeployedAt) return } diff --git a/reposerver/repository/repository.go b/reposerver/repository/repository.go index e305a0f36064e..3a680d91d8437 100644 --- a/reposerver/repository/repository.go +++ b/reposerver/repository/repository.go @@ -50,7 +50,7 @@ func (s *Service) GenerateManifest(c context.Context, q *ManifestRequest) (*Mani return nil, err } - err = s.gitClient.Checkout(appRepoPath, q.Revision) + revision, err := s.gitClient.Checkout(appRepoPath, q.Revision) if err != nil { return nil, err } @@ -96,6 +96,7 @@ func (s *Service) GenerateManifest(c context.Context, q *ManifestRequest) (*Mani manifests[i] = string(manifestStr) } return &ManifestResponse{ + Revision: revision, Manifests: manifests, Namespace: env.Destination.Namespace, Server: env.Destination.Server, @@ -113,7 +114,7 @@ func (s *Service) GetEnvParams(c context.Context, q *EnvParamsRequest) (*EnvPara return nil, err } - err = s.gitClient.Checkout(appRepoPath, q.Revision) + _, err = s.gitClient.Checkout(appRepoPath, q.Revision) if err != nil { return nil, err } diff --git a/reposerver/repository/repository.pb.go b/reposerver/repository/repository.pb.go index d447c567d18ba..e6210f7dd46da 100644 --- a/reposerver/repository/repository.pb.go +++ b/reposerver/repository/repository.pb.go @@ -100,6 +100,7 @@ type ManifestResponse struct { Manifests []string `protobuf:"bytes,1,rep,name=manifests" json:"manifests,omitempty"` Namespace string `protobuf:"bytes,2,opt,name=namespace" json:"namespace,omitempty"` Server string `protobuf:"bytes,3,opt,name=server" json:"server,omitempty"` + Revision string `protobuf:"bytes,4,opt,name=revision" json:"revision,omitempty"` } func (m *ManifestResponse) Reset() { *m = ManifestResponse{} } @@ -128,6 +129,13 @@ func (m *ManifestResponse) GetServer() string { return "" } +func (m *ManifestResponse) GetRevision() string { + if m != nil { + return m.Revision + } + return "" +} + type EnvParamsRequest struct { Repo *github_com_argoproj_argo_cd_pkg_apis_application_v1alpha1.Repository `protobuf:"bytes,1,opt,name=repo" json:"repo,omitempty"` Revision string `protobuf:"bytes,2,opt,name=revision" json:"revision,omitempty"` @@ -303,36 +311,36 @@ var _RepositoryService_serviceDesc = grpc.ServiceDesc{ func init() { proto.RegisterFile("reposerver/repository/repository.proto", fileDescriptor0) } var fileDescriptor0 = []byte{ - // 483 bytes of a gzipped FileDescriptorProto + // 490 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x54, 0xc1, 0x8e, 0xd3, 0x30, - 0x10, 0x25, 0xdb, 0x52, 0x51, 0x17, 0x89, 0xae, 0x85, 0x50, 0xd4, 0x2d, 0x52, 0x94, 0x03, 0xea, + 0x10, 0x25, 0xdb, 0x52, 0x51, 0x17, 0x89, 0xae, 0x85, 0x50, 0x94, 0x2d, 0x52, 0x94, 0x03, 0xea, 0x05, 0x5b, 0xed, 0x5e, 0x38, 0x83, 0x56, 0x2b, 0x24, 0xaa, 0x45, 0xe1, 0x04, 0x17, 0xe4, 0xa6, - 0xb3, 0xa9, 0x69, 0xe3, 0x31, 0xb6, 0x37, 0x12, 0xfc, 0x04, 0x1f, 0xc3, 0x07, 0xf0, 0x43, 0x7c, - 0x04, 0x8a, 0xeb, 0x34, 0x61, 0x77, 0xd9, 0x0b, 0x5c, 0xb8, 0x8d, 0xdf, 0xb8, 0xef, 0xf5, 0xbd, - 0x89, 0x87, 0x3c, 0x33, 0xa0, 0xd1, 0x82, 0xa9, 0xc0, 0x70, 0x5f, 0x4a, 0x87, 0xe6, 0x4b, 0xa7, - 0x64, 0xda, 0xa0, 0x43, 0x4a, 0x5a, 0x64, 0xf2, 0xb8, 0xc0, 0x02, 0x3d, 0xcc, 0xeb, 0x6a, 0x7f, - 0x63, 0x32, 0x2d, 0x10, 0x8b, 0x1d, 0x70, 0xa1, 0x25, 0x17, 0x4a, 0xa1, 0x13, 0x4e, 0xa2, 0xb2, - 0xa1, 0x9b, 0x6e, 0x5f, 0x58, 0x26, 0xd1, 0x77, 0x73, 0x34, 0xc0, 0xab, 0x39, 0x2f, 0x40, 0x81, - 0x11, 0x0e, 0xd6, 0xe1, 0xce, 0xeb, 0x42, 0xba, 0xcd, 0xd5, 0x8a, 0xe5, 0x58, 0x72, 0x61, 0xbc, - 0xc4, 0x27, 0x5f, 0x3c, 0xcf, 0xd7, 0x5c, 0x6f, 0x8b, 0xfa, 0xc7, 0x96, 0x0b, 0xad, 0x77, 0x32, - 0xf7, 0xe4, 0xbc, 0x9a, 0x8b, 0x9d, 0xde, 0x88, 0x1b, 0x54, 0xe9, 0xcf, 0x23, 0xf2, 0x68, 0x29, - 0x94, 0xbc, 0x04, 0xeb, 0x32, 0xf8, 0x7c, 0x05, 0xd6, 0xd1, 0xf7, 0xa4, 0x5f, 0x9b, 0x88, 0xa3, - 0x24, 0x9a, 0x8d, 0x16, 0x67, 0xac, 0x55, 0x63, 0x8d, 0x9a, 0x2f, 0x3e, 0xe6, 0x6b, 0xa6, 0xb7, - 0x05, 0xab, 0xd5, 0x58, 0x47, 0x8d, 0x35, 0x6a, 0x2c, 0x3b, 0x64, 0x91, 0x79, 0x4a, 0x3a, 0x21, - 0x0f, 0x0c, 0x54, 0xd2, 0x4a, 0x54, 0xf1, 0x51, 0x12, 0xcd, 0x86, 0xd9, 0xe1, 0x4c, 0x29, 0xe9, - 0x6b, 0xe1, 0x36, 0x71, 0xcf, 0xe3, 0xbe, 0xa6, 0x09, 0x19, 0x81, 0xaa, 0xa4, 0x41, 0x55, 0x82, - 0x72, 0x71, 0xdf, 0xb7, 0xba, 0x50, 0xcd, 0x28, 0xb4, 0x7e, 0x23, 0x56, 0xb0, 0x8b, 0xef, 0xef, - 0x19, 0x9b, 0x33, 0xfd, 0x16, 0x91, 0x93, 0x1c, 0x4b, 0x8d, 0x0a, 0x94, 0x7b, 0x2b, 0x8c, 0x28, - 0xc1, 0x81, 0xb9, 0xa8, 0xc0, 0x18, 0xb9, 0x06, 0x1b, 0x0f, 0x92, 0xde, 0x6c, 0xb4, 0x58, 0xfe, - 0x85, 0xc1, 0x57, 0x37, 0xd8, 0xb3, 0xbb, 0x14, 0xd3, 0x4b, 0x32, 0x6e, 0xd3, 0xb6, 0x1a, 0x95, - 0x05, 0x3a, 0x25, 0xc3, 0x32, 0x60, 0x36, 0x8e, 0x92, 0xde, 0x6c, 0x98, 0xb5, 0x40, 0xdd, 0x55, - 0xa2, 0x04, 0xab, 0x45, 0x0e, 0x21, 0xb2, 0x16, 0xa0, 0x4f, 0xc8, 0x60, 0xff, 0x4d, 0x86, 0xd4, - 0xc2, 0x29, 0xfd, 0x11, 0x91, 0xf1, 0x99, 0xaa, 0xfc, 0x3f, 0xb0, 0xff, 0xe3, 0x5c, 0xd3, 0xaf, - 0xe4, 0xb8, 0x63, 0x20, 0x44, 0x05, 0x64, 0xa0, 0x3d, 0xe2, 0x73, 0xfa, 0xe7, 0xa3, 0x0b, 0xe4, - 0x8b, 0xef, 0x11, 0x39, 0x6e, 0x2d, 0xbe, 0x03, 0x53, 0xc9, 0x1c, 0xe8, 0x05, 0x19, 0x9f, 0x87, - 0xd7, 0xd3, 0xcc, 0x90, 0x9e, 0xb0, 0xce, 0x02, 0xb8, 0xf6, 0x8e, 0x26, 0xd3, 0xdb, 0x9b, 0x7b, - 0x2f, 0xe9, 0x3d, 0xba, 0x24, 0x0f, 0xcf, 0xc1, 0x1d, 0x5c, 0xd2, 0xdf, 0xee, 0x5f, 0x9f, 0xde, - 0xe4, 0xe9, 0x1f, 0xba, 0x0d, 0xdd, 0xcb, 0xd3, 0x0f, 0xf3, 0xbb, 0xf6, 0xc2, 0xad, 0xfb, 0x6b, - 0x35, 0xf0, 0x6b, 0xe0, 0xf4, 0x57, 0x00, 0x00, 0x00, 0xff, 0xff, 0x90, 0x7f, 0xf0, 0x7c, 0xdf, - 0x04, 0x00, 0x00, + 0x43, 0x6a, 0xda, 0x78, 0x8c, 0xed, 0x8d, 0x04, 0x47, 0x7e, 0x80, 0x8f, 0xe1, 0x03, 0xf8, 0x21, + 0x3e, 0x02, 0xc5, 0x4d, 0x9a, 0x74, 0x77, 0xd9, 0x0b, 0x5c, 0xf6, 0x36, 0x7e, 0xe3, 0xbe, 0xd7, + 0xf7, 0x26, 0x1e, 0xf2, 0xcc, 0x80, 0x46, 0x0b, 0xa6, 0x04, 0xc3, 0x7d, 0x29, 0x1d, 0x9a, 0xaf, + 0x9d, 0x92, 0x69, 0x83, 0x0e, 0x29, 0x69, 0x91, 0xe8, 0x71, 0x8e, 0x39, 0x7a, 0x98, 0x57, 0xd5, + 0xee, 0x46, 0x34, 0xc9, 0x11, 0xf3, 0x2d, 0x70, 0xa1, 0x25, 0x17, 0x4a, 0xa1, 0x13, 0x4e, 0xa2, + 0xb2, 0x75, 0x37, 0xd9, 0xbc, 0xb0, 0x4c, 0xa2, 0xef, 0x66, 0x68, 0x80, 0x97, 0x33, 0x9e, 0x83, + 0x02, 0x23, 0x1c, 0xac, 0xea, 0x3b, 0xaf, 0x73, 0xe9, 0xd6, 0x97, 0x4b, 0x96, 0x61, 0xc1, 0x85, + 0xf1, 0x12, 0x9f, 0x7d, 0xf1, 0x3c, 0x5b, 0x71, 0xbd, 0xc9, 0xab, 0x1f, 0x5b, 0x2e, 0xb4, 0xde, + 0xca, 0xcc, 0x93, 0xf3, 0x72, 0x26, 0xb6, 0x7a, 0x2d, 0xae, 0x51, 0x25, 0xbf, 0x8f, 0xc8, 0xa3, + 0x85, 0x50, 0xf2, 0x13, 0x58, 0x97, 0xc2, 0x97, 0x4b, 0xb0, 0x8e, 0xbe, 0x27, 0xfd, 0xca, 0x44, + 0x18, 0xc4, 0xc1, 0x74, 0x34, 0x3f, 0x63, 0xad, 0x1a, 0x6b, 0xd4, 0x7c, 0xf1, 0x31, 0x5b, 0x31, + 0xbd, 0xc9, 0x59, 0xa5, 0xc6, 0x3a, 0x6a, 0xac, 0x51, 0x63, 0xe9, 0x3e, 0x8b, 0xd4, 0x53, 0xd2, + 0x88, 0x3c, 0x30, 0x50, 0x4a, 0x2b, 0x51, 0x85, 0x47, 0x71, 0x30, 0x1d, 0xa6, 0xfb, 0x33, 0xa5, + 0xa4, 0xaf, 0x85, 0x5b, 0x87, 0x3d, 0x8f, 0xfb, 0x9a, 0xc6, 0x64, 0x04, 0xaa, 0x94, 0x06, 0x55, + 0x01, 0xca, 0x85, 0x7d, 0xdf, 0xea, 0x42, 0x15, 0xa3, 0xd0, 0xfa, 0x8d, 0x58, 0xc2, 0x36, 0xbc, + 0xbf, 0x63, 0x6c, 0xce, 0xf4, 0x47, 0x40, 0x4e, 0x32, 0x2c, 0x34, 0x2a, 0x50, 0xee, 0xad, 0x30, + 0xa2, 0x00, 0x07, 0xe6, 0xa2, 0x04, 0x63, 0xe4, 0x0a, 0x6c, 0x38, 0x88, 0x7b, 0xd3, 0xd1, 0x7c, + 0xf1, 0x0f, 0x06, 0x5f, 0x5d, 0x63, 0x4f, 0x6f, 0x53, 0x4c, 0xbe, 0x07, 0x64, 0xdc, 0xc6, 0x6d, + 0x35, 0x2a, 0x0b, 0x74, 0x42, 0x86, 0x45, 0x8d, 0xd9, 0x30, 0x88, 0x7b, 0xd3, 0x61, 0xda, 0x02, + 0x55, 0x57, 0x89, 0x02, 0xac, 0x16, 0x19, 0xd4, 0x99, 0xb5, 0x00, 0x7d, 0x42, 0x06, 0xbb, 0x8f, + 0xb2, 0x8e, 0xad, 0x3e, 0x1d, 0x04, 0xdd, 0x3f, 0x0c, 0x3a, 0xf9, 0x15, 0x90, 0xf1, 0x99, 0x2a, + 0xfd, 0xdf, 0xb3, 0x77, 0x71, 0xe8, 0xc9, 0x37, 0x72, 0xdc, 0x31, 0x50, 0xc7, 0x08, 0x64, 0xa0, + 0x3d, 0xe2, 0x33, 0xfc, 0xef, 0x73, 0xad, 0xc9, 0xe7, 0x3f, 0x03, 0x72, 0xdc, 0x5a, 0x7c, 0x07, + 0xa6, 0x94, 0x19, 0xd0, 0x0b, 0x32, 0x3e, 0xaf, 0x9f, 0x56, 0x33, 0x5f, 0x7a, 0xc2, 0x3a, 0xdb, + 0xe1, 0xca, 0x23, 0x8b, 0x26, 0x37, 0x37, 0x77, 0x5e, 0x92, 0x7b, 0x74, 0x41, 0x1e, 0x9e, 0x83, + 0xdb, 0xbb, 0xa4, 0x07, 0xf7, 0xaf, 0x4e, 0x2f, 0x7a, 0xfa, 0x97, 0x6e, 0x43, 0xf7, 0xf2, 0xf4, + 0xc3, 0xec, 0xb6, 0xa5, 0x71, 0xe3, 0x72, 0x5b, 0x0e, 0xfc, 0x8e, 0x38, 0xfd, 0x13, 0x00, 0x00, + 0xff, 0xff, 0xcd, 0x77, 0xf8, 0xa0, 0xfc, 0x04, 0x00, 0x00, } diff --git a/reposerver/repository/repository.proto b/reposerver/repository/repository.proto index 16e13401a9c56..240443e255269 100644 --- a/reposerver/repository/repository.proto +++ b/reposerver/repository/repository.proto @@ -22,6 +22,7 @@ message ManifestResponse { repeated string manifests = 1; string namespace = 2; string server = 3; + string revision = 4; } message EnvParamsRequest { diff --git a/server/application/application.go b/server/application/application.go index b34bc0d39bafd..82127fb15dbaf 100644 --- a/server/application/application.go +++ b/server/application/application.go @@ -3,6 +3,8 @@ package application import ( "fmt" + "time" + "github.com/argoproj/argo-cd/common" appv1 "github.com/argoproj/argo-cd/pkg/apis/application/v1alpha1" appclientset "github.com/argoproj/argo-cd/pkg/client/clientset/versioned" @@ -23,6 +25,10 @@ import ( "k8s.io/client-go/kubernetes" ) +const ( + maxRecentDeploymentsCnt = 5 +) + // Server provides a Application service type Server struct { ns string @@ -149,7 +155,7 @@ func (s *Server) Sync(ctx context.Context, syncReq *ApplicationSyncRequest) (*Ap defer util.Close(conn) // set fields in v1alpha/types.go log.Infof("Retrieving deployment params for application %s", syncReq.Name) - deploymentInfo, err := repoClient.GetEnvParams(ctx, &repository.EnvParamsRequest{ + envParams, err := repoClient.GetEnvParams(ctx, &repository.EnvParamsRequest{ Repo: repo, Environment: app.Spec.Source.Environment, Path: app.Spec.Source.Path, @@ -159,23 +165,28 @@ func (s *Server) Sync(ctx context.Context, syncReq *ApplicationSyncRequest) (*Ap if err != nil { return nil, err } - log.Infof("Received deployment params: %s", deploymentInfo.Params) + log.Infof("Received deployment params: %s", envParams.Params) - res, err := s.deploy(ctx, app.Spec.Source, app.Spec.Destination, app.Name, syncReq.DryRun) + res, manifest, err := s.deploy(ctx, app.Spec.Source, app.Spec.Destination, app.Name, syncReq.DryRun) if err == nil { // Persist app deployment info - params := make([]appv1.ComponentParameter, len(deploymentInfo.Params)) - for i := range deploymentInfo.Params { - param := *deploymentInfo.Params[i] + params := make([]appv1.ComponentParameter, len(envParams.Params)) + for i := range envParams.Params { + param := *envParams.Params[i] params[i] = param } app, err = s.Get(ctx, &ApplicationQuery{Name: syncReq.Name}) if err != nil { return nil, err } - app.Status.RecentDeployment = appv1.DeploymentInfo{ - AppSource: app.Spec.Source, - Params: params, + app.Status.RecentDeployments = append(app.Status.RecentDeployments, appv1.DeploymentInfo{ + ComponentParameterOverrides: app.Spec.Source.ComponentParameterOverrides, + Revision: manifest.Revision, + Params: params, + DeployedAt: metav1.NewTime(time.Now()), + }) + if len(app.Status.RecentDeployments) > maxRecentDeploymentsCnt { + app.Status.RecentDeployments = app.Status.RecentDeployments[:maxRecentDeploymentsCnt] } _, err = s.Update(ctx, app) if err != nil { @@ -199,12 +210,12 @@ func (s *Server) deploy( source appv1.ApplicationSource, destination *appv1.ApplicationDestination, appLabel string, - dryRun bool) (*ApplicationSyncResult, error) { + dryRun bool) (*ApplicationSyncResult, *repository.ManifestResponse, error) { repo := s.getRepo(ctx, source.RepoURL) conn, repoClient, err := s.repoClientset.NewRepositoryClient() if err != nil { - return nil, err + return nil, nil, err } defer util.Close(conn) overrides := make([]*appv1.ComponentParameter, len(source.ComponentParameterOverrides)) @@ -224,13 +235,13 @@ func (s *Server) deploy( AppLabel: appLabel, }) if err != nil { - return nil, err + return nil, nil, err } server, namespace := argoutil.ResolveServerNamespace(destination, manifestInfo) clst, err := s.clusterService.Get(ctx, &cluster.ClusterQuery{Server: server}) if err != nil { - return nil, err + return nil, nil, err } config := clst.RESTConfig() @@ -238,18 +249,18 @@ func (s *Server) deploy( for i, manifest := range manifestInfo.Manifests { obj, err := appv1.UnmarshalToUnstructured(manifest) if err != nil { - return nil, err + return nil, nil, err } targetObjs[i] = obj } liveObjs, err := kube.GetLiveResources(config, targetObjs, namespace) if err != nil { - return nil, err + return nil, nil, err } diffResList, err := diff.DiffArray(targetObjs, liveObjs) if err != nil { - return nil, err + return nil, nil, err } var syncRes ApplicationSyncResult syncRes.Resources = make([]*ResourceDetails, 0) @@ -271,7 +282,7 @@ func (s *Server) deploy( } else { _, err := kube.ApplyResource(config, targetObjs[i], namespace) if err != nil { - return nil, err + return nil, nil, err } if needsCreate { resDetails.Message = fmt.Sprintf("created") @@ -282,5 +293,5 @@ func (s *Server) deploy( syncRes.Resources = append(syncRes.Resources, &resDetails) } syncRes.Message = "successfully synced" - return &syncRes, nil + return &syncRes, manifestInfo, nil } diff --git a/test/e2e/fixture.go b/test/e2e/fixture.go index d02edb116655d..161f018e16325 100644 --- a/test/e2e/fixture.go +++ b/test/e2e/fixture.go @@ -194,9 +194,9 @@ func (c *FakeGitClient) CloneOrFetch(repo string, username string, password stri return err } -func (c *FakeGitClient) Checkout(repoPath string, sha string) error { +func (c *FakeGitClient) Checkout(repoPath string, sha string) (string, error) { // do nothing - return nil + return "latest", nil } func (c *FakeGitClient) Reset(repoPath string) error { diff --git a/util/git/client.go b/util/git/client.go index 942ef96666e19..d3ddd93273813 100644 --- a/util/git/client.go +++ b/util/git/client.go @@ -12,7 +12,7 @@ import ( // Client is a generic git client interface type Client interface { CloneOrFetch(url string, username string, password string, sshPrivateKey string, repoPath string) error - Checkout(repoPath string, sha string) error + Checkout(repoPath string, sha string) (string, error) Reset(repoPath string) error } @@ -86,18 +86,24 @@ func (m *NativeGitClient) Reset(repoPath string) error { } // Checkout checkout specified git sha -func (m *NativeGitClient) Checkout(repoPath string, sha string) error { +func (m *NativeGitClient) Checkout(repoPath string, sha string) (string, error) { if sha == "" { sha = "origin/HEAD" } - cmd := exec.Command("git", "checkout", sha) - cmd.Dir = repoPath - _, err := cmd.Output() + checkoutCmd := exec.Command("git", "checkout", sha) + checkoutCmd.Dir = repoPath + _, err := checkoutCmd.Output() if err != nil { - return fmt.Errorf("unable to checkout revision %s: %v", sha, err) + return "", fmt.Errorf("unable to checkout revision %s: %v", sha, err) + } + revisionCmd := exec.Command("git", "rev-parse", "HEAD") + revisionCmd.Dir = repoPath + output, err := revisionCmd.Output() + if err != nil { + return "", err } - return nil + return string(output), nil }