Merge pull request #64812 from hzxuzhonghu/audit-useragent

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add user-agent to audit-logging

**What this PR does / why we need it**:

Add User-Agent to audit event.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #64791

**Special notes for your reviewer**:

**Release note**:

```release-note
Add user-agent to audit-logging.
```
This commit is contained in:
Kubernetes Submit Queue 2018-06-25 22:16:08 -07:00 committed by GitHub
commit 1f4f0123ed
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 318 additions and 164 deletions

View File

@ -99,6 +99,10 @@ type Event struct {
// Source IPs, from where the request originated and intermediate proxies.
// +optional
SourceIPs []string
// UserAgent records the user agent string reported by the client.
// Note that the UserAgent is provided by the client, and must not be trusted.
// +optional
UserAgent string
// Object reference this request is targeted at.
// Does not apply for List-type requests, or non-resource requests.
// +optional

View File

@ -266,6 +266,12 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], v)
}
}
dAtA[i] = 0x92
i++
dAtA[i] = 0x1
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserAgent)))
i += copy(dAtA[i:], m.UserAgent)
return i, nil
}
@ -704,6 +710,8 @@ func (m *Event) Size() (n int) {
n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize))
}
}
l = len(m.UserAgent)
n += 2 + l + sovGenerated(uint64(l))
return n
}
@ -890,6 +898,7 @@ func (this *Event) String() string {
`RequestReceivedTimestamp:` + strings.Replace(strings.Replace(this.RequestReceivedTimestamp.String(), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1), `&`, ``, 1) + `,`,
`StageTimestamp:` + strings.Replace(strings.Replace(this.StageTimestamp.String(), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1), `&`, ``, 1) + `,`,
`Annotations:` + mapStringForAnnotations + `,`,
`UserAgent:` + fmt.Sprintf("%v", this.UserAgent) + `,`,
`}`,
}, "")
return s
@ -1615,6 +1624,35 @@ func (m *Event) Unmarshal(dAtA []byte) error {
m.Annotations[mapkey] = mapvalue
}
iNdEx = postIndex
case 18:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field UserAgent", 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.UserAgent = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@ -2782,84 +2820,85 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 1258 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xcf, 0x6f, 0x1b, 0xc5,
0x17, 0xcf, 0xd6, 0x71, 0x63, 0x8f, 0x1b, 0xc7, 0x99, 0x56, 0xdf, 0xae, 0x72, 0xb0, 0xfd, 0x35,
0x12, 0xb2, 0x20, 0xec, 0x26, 0x21, 0xd0, 0x80, 0x04, 0x22, 0x56, 0x2b, 0xb0, 0x94, 0x86, 0x30,
0x89, 0x2b, 0xf1, 0xe3, 0xc0, 0xda, 0x7e, 0xb1, 0x17, 0xdb, 0xbb, 0xcb, 0xcc, 0xac, 0xab, 0xdc,
0x38, 0x70, 0x45, 0xe2, 0xce, 0x1f, 0x53, 0x71, 0xcb, 0xb1, 0xc7, 0x9e, 0x2c, 0x62, 0xfe, 0x8b,
0x1c, 0x2a, 0x34, 0xb3, 0xb3, 0x3b, 0x6b, 0xa7, 0x16, 0x0e, 0x87, 0xde, 0x76, 0xde, 0xfb, 0xbc,
0xcf, 0x7b, 0xf3, 0xf6, 0xfd, 0x18, 0xf4, 0xcd, 0xe0, 0x80, 0x59, 0xae, 0x6f, 0x0f, 0xc2, 0x36,
0x50, 0x0f, 0x38, 0x30, 0x7b, 0x0c, 0x5e, 0xd7, 0xa7, 0xb6, 0x52, 0x38, 0x81, 0xcb, 0x80, 0x8e,
0x81, 0xda, 0xc1, 0xa0, 0x27, 0x4f, 0xb6, 0x13, 0x76, 0x5d, 0x6e, 0x8f, 0x77, 0x9d, 0x61, 0xd0,
0x77, 0x76, 0xed, 0x1e, 0x78, 0x40, 0x1d, 0x0e, 0x5d, 0x2b, 0xa0, 0x3e, 0xf7, 0x71, 0x3d, 0xb2,
0xb4, 0x12, 0x4b, 0x2b, 0x18, 0xf4, 0xe4, 0xc9, 0x92, 0x96, 0x56, 0x6c, 0xb9, 0xf5, 0x41, 0xcf,
0xe5, 0xfd, 0xb0, 0x6d, 0x75, 0xfc, 0x91, 0xdd, 0xf3, 0x7b, 0xbe, 0x2d, 0x09, 0xda, 0xe1, 0xb9,
0x3c, 0xc9, 0x83, 0xfc, 0x8a, 0x88, 0xb7, 0xb6, 0x75, 0x48, 0xb6, 0x13, 0xf2, 0x3e, 0x78, 0xdc,
0xed, 0x38, 0xdc, 0xf5, 0x3d, 0x7b, 0x7c, 0x23, 0x8c, 0xad, 0x7d, 0x8d, 0x1e, 0x39, 0x9d, 0xbe,
0xeb, 0x01, 0xbd, 0xd0, 0x77, 0x18, 0x01, 0x77, 0xde, 0x64, 0x65, 0x2f, 0xb2, 0xa2, 0xa1, 0xc7,
0xdd, 0x11, 0xdc, 0x30, 0xf8, 0xf8, 0xdf, 0x0c, 0x58, 0xa7, 0x0f, 0x23, 0xe7, 0x86, 0xdd, 0x87,
0x8b, 0xec, 0x42, 0xee, 0x0e, 0x6d, 0xd7, 0xe3, 0x8c, 0xd3, 0x79, 0xa3, 0xda, 0xeb, 0x02, 0xca,
0x3e, 0x19, 0x83, 0xc7, 0xf1, 0x8f, 0x28, 0x27, 0xae, 0xd0, 0x75, 0xb8, 0x63, 0x1a, 0x55, 0xa3,
0x5e, 0xd8, 0xdb, 0xb1, 0x74, 0xde, 0x13, 0x46, 0x9d, 0x7a, 0x81, 0xb6, 0xc6, 0xbb, 0xd6, 0xd7,
0xed, 0x9f, 0xa0, 0xc3, 0x9f, 0x02, 0x77, 0x1a, 0xf8, 0x72, 0x52, 0x59, 0x99, 0x4e, 0x2a, 0x48,
0xcb, 0x48, 0xc2, 0x8a, 0xb7, 0x51, 0x76, 0x08, 0x63, 0x18, 0x9a, 0x77, 0xaa, 0x46, 0x3d, 0xdf,
0xf8, 0x9f, 0x02, 0x67, 0x8f, 0x84, 0xf0, 0x3a, 0xfe, 0x20, 0x11, 0x08, 0x7f, 0x8f, 0xf2, 0xe2,
0xb6, 0x8c, 0x3b, 0xa3, 0xc0, 0xcc, 0xc8, 0x80, 0xde, 0x5b, 0x2e, 0xa0, 0x33, 0x77, 0x04, 0x8d,
0x4d, 0xc5, 0x9e, 0x3f, 0x8b, 0x49, 0x88, 0xe6, 0xc3, 0xc7, 0x68, 0x4d, 0x56, 0x4e, 0xf3, 0xb1,
0xb9, 0x2a, 0x83, 0xd9, 0x57, 0xf0, 0xb5, 0xc3, 0x48, 0x7c, 0x3d, 0xa9, 0xfc, 0x7f, 0x51, 0x3e,
0xf9, 0x45, 0x00, 0xcc, 0x6a, 0x35, 0x1f, 0x93, 0x98, 0x44, 0x5c, 0x8d, 0x71, 0xa7, 0x07, 0x66,
0x76, 0xf6, 0x6a, 0xa7, 0x42, 0x78, 0x1d, 0x7f, 0x90, 0x08, 0x84, 0xf7, 0x10, 0xa2, 0xf0, 0x73,
0x08, 0x8c, 0xb7, 0x48, 0xd3, 0xbc, 0x2b, 0x4d, 0x92, 0xd4, 0x91, 0x44, 0x43, 0x52, 0x28, 0x5c,
0x45, 0xab, 0x63, 0xa0, 0x6d, 0x73, 0x4d, 0xa2, 0xef, 0x29, 0xf4, 0xea, 0x33, 0xa0, 0x6d, 0x22,
0x35, 0xf8, 0x2b, 0xb4, 0x1a, 0x32, 0xa0, 0x66, 0x4e, 0xe6, 0xea, 0xdd, 0x54, 0xae, 0xac, 0xd9,
0xda, 0x16, 0x39, 0x6a, 0x31, 0xa0, 0x4d, 0xef, 0xdc, 0xd7, 0x4c, 0x42, 0x42, 0x24, 0x03, 0xee,
0xa3, 0x92, 0x3b, 0x0a, 0x80, 0x32, 0xdf, 0x13, 0xa5, 0x22, 0x34, 0x66, 0xfe, 0x56, 0xac, 0x0f,
0xa6, 0x93, 0x4a, 0xa9, 0x39, 0xc7, 0x41, 0x6e, 0xb0, 0xe2, 0xf7, 0x51, 0x9e, 0xf9, 0x21, 0xed,
0x40, 0xf3, 0x84, 0x99, 0xa8, 0x9a, 0xa9, 0xe7, 0x1b, 0xeb, 0xe2, 0xa7, 0x9d, 0xc6, 0x42, 0xa2,
0xf5, 0xf8, 0x1c, 0xe5, 0x7d, 0x59, 0x57, 0x04, 0xce, 0xcd, 0x82, 0x8c, 0xe7, 0x13, 0x6b, 0xd9,
0xd1, 0xa0, 0xca, 0x94, 0xc0, 0x39, 0x50, 0xf0, 0x3a, 0x10, 0xf9, 0x49, 0x84, 0x44, 0x53, 0xe3,
0x3e, 0x2a, 0x52, 0x60, 0x81, 0xef, 0x31, 0x38, 0xe5, 0x0e, 0x0f, 0x99, 0x79, 0x4f, 0x3a, 0xdb,
0x5e, 0xae, 0xfc, 0x22, 0x9b, 0x06, 0x9e, 0x4e, 0x2a, 0x45, 0x32, 0xc3, 0x43, 0xe6, 0x78, 0xb1,
0x83, 0xd6, 0xd5, 0x2f, 0x8e, 0x02, 0x31, 0xd7, 0xa5, 0xa3, 0xfa, 0x42, 0x47, 0x6a, 0x04, 0x58,
0x2d, 0x6f, 0xe0, 0xf9, 0xcf, 0xbd, 0xc6, 0xe6, 0x74, 0x52, 0x59, 0x27, 0x69, 0x0a, 0x32, 0xcb,
0x88, 0xbb, 0xfa, 0x32, 0xca, 0x47, 0xf1, 0x96, 0x3e, 0x66, 0x2e, 0xa2, 0x9c, 0xcc, 0x71, 0xe2,
0xdf, 0x0c, 0x64, 0x2a, 0xbf, 0x04, 0x3a, 0xe0, 0x8e, 0xa1, 0x9b, 0xf4, 0x9d, 0xb9, 0x21, 0x1d,
0xda, 0xcb, 0x65, 0xef, 0xa9, 0xdb, 0xa1, 0xbe, 0xec, 0xe0, 0xaa, 0xaa, 0x4c, 0x93, 0x2c, 0x20,
0x26, 0x0b, 0x5d, 0x62, 0x1f, 0x15, 0x65, 0xab, 0xe9, 0x20, 0x4a, 0xff, 0x2d, 0x88, 0xb8, 0x93,
0x8b, 0xa7, 0x33, 0x74, 0x64, 0x8e, 0x1e, 0x3f, 0x47, 0x05, 0xc7, 0xf3, 0x7c, 0x2e, 0x5b, 0x81,
0x99, 0x9b, 0xd5, 0x4c, 0xbd, 0xb0, 0xf7, 0xc5, 0xf2, 0xd5, 0x29, 0x67, 0xb0, 0x75, 0xa8, 0x29,
0x9e, 0x78, 0x9c, 0x5e, 0x34, 0xee, 0x2b, 0xf7, 0x85, 0x94, 0x86, 0xa4, 0x3d, 0x6d, 0x7d, 0x8e,
0x4a, 0xf3, 0x56, 0xb8, 0x84, 0x32, 0x03, 0xb8, 0x90, 0x53, 0x3c, 0x4f, 0xc4, 0x27, 0x7e, 0x80,
0xb2, 0x63, 0x67, 0x18, 0x42, 0x34, 0x7a, 0x49, 0x74, 0xf8, 0xf4, 0xce, 0x81, 0x51, 0x7b, 0x61,
0xa0, 0xbc, 0x74, 0x7e, 0xe4, 0x32, 0x8e, 0x7f, 0xb8, 0xb1, 0x04, 0xac, 0xe5, 0x32, 0x26, 0xac,
0xe5, 0x0a, 0x28, 0xa9, 0x88, 0x73, 0xb1, 0x24, 0xb5, 0x00, 0xce, 0x50, 0xd6, 0xe5, 0x30, 0x62,
0xe6, 0x1d, 0x99, 0x1e, 0xfb, 0x96, 0xe9, 0x69, 0xac, 0xc7, 0x63, 0xb5, 0x29, 0x58, 0x48, 0x44,
0x56, 0xfb, 0xc3, 0x40, 0xc5, 0x2f, 0xa9, 0x1f, 0x06, 0x04, 0xa2, 0x59, 0xc1, 0xf0, 0x3b, 0x28,
0xdb, 0x13, 0x92, 0x28, 0x05, 0xda, 0x2e, 0x82, 0x45, 0x3a, 0x31, 0x7b, 0x68, 0x6c, 0x21, 0x23,
0x52, 0xb3, 0x27, 0xa1, 0x21, 0x5a, 0x8f, 0x1f, 0x89, 0x4e, 0x8d, 0x0e, 0xc7, 0xce, 0x08, 0x98,
0x99, 0x91, 0x06, 0xaa, 0xff, 0x52, 0x0a, 0x32, 0x8b, 0xab, 0xfd, 0x9a, 0x41, 0x1b, 0x73, 0xa3,
0x07, 0x6f, 0xa3, 0x5c, 0x0c, 0x52, 0x11, 0x26, 0x59, 0x8b, 0xb9, 0x48, 0x82, 0xc0, 0x36, 0xca,
0x7b, 0x82, 0x2a, 0x70, 0x3a, 0xea, 0xff, 0xe9, 0xe5, 0x76, 0x1c, 0x2b, 0x88, 0xc6, 0x88, 0x55,
0x21, 0x0e, 0x72, 0x69, 0xa6, 0x56, 0x85, 0xc0, 0x12, 0xa9, 0xc1, 0x0d, 0x94, 0x09, 0xdd, 0xae,
0x5a, 0x7d, 0x3b, 0x0a, 0x90, 0x69, 0x2d, 0xbb, 0xf6, 0x84, 0xb1, 0x58, 0x62, 0x4e, 0xe0, 0x3e,
0x03, 0xca, 0x5c, 0xdf, 0x53, 0x7b, 0x2f, 0x59, 0x62, 0x87, 0x27, 0x4d, 0xa5, 0x21, 0x29, 0x14,
0x3e, 0x44, 0x1b, 0xf1, 0xb5, 0x62, 0xc3, 0x68, 0xfb, 0x3d, 0x54, 0x86, 0x1b, 0x64, 0x56, 0x4d,
0xe6, 0xf1, 0xf8, 0x23, 0x54, 0x60, 0x61, 0x3b, 0x49, 0x5f, 0xb4, 0x0e, 0x93, 0x36, 0x39, 0xd5,
0x2a, 0x92, 0xc6, 0xd5, 0x5e, 0x1b, 0xe8, 0xee, 0x89, 0x3f, 0x74, 0x3b, 0x17, 0x6f, 0xe1, 0xa1,
0xf3, 0x2d, 0xca, 0xd2, 0x70, 0x08, 0x71, 0x9d, 0xef, 0x2f, 0x5f, 0xe7, 0x51, 0x88, 0x24, 0x1c,
0x82, 0x2e, 0x5a, 0x71, 0x62, 0x24, 0x62, 0xc4, 0x8f, 0x10, 0xf2, 0x47, 0x2e, 0x97, 0xd3, 0x28,
0x2e, 0xc2, 0x87, 0x32, 0x90, 0x44, 0xaa, 0x9f, 0x1b, 0x29, 0x68, 0xed, 0x4f, 0x03, 0xa1, 0x88,
0xfd, 0x2d, 0x34, 0x7a, 0x6b, 0xb6, 0xd1, 0x77, 0x6e, 0x9b, 0x80, 0x05, 0x9d, 0xfe, 0x22, 0x13,
0xdf, 0x41, 0xe4, 0x44, 0xbf, 0x27, 0x8d, 0x65, 0xde, 0x93, 0x15, 0x94, 0x15, 0x8f, 0x9b, 0xb8,
0xd5, 0xf3, 0x02, 0x29, 0xde, 0x20, 0x8c, 0x44, 0x72, 0x6c, 0x21, 0x24, 0x3e, 0xe4, 0x8c, 0x88,
0x53, 0x5b, 0x14, 0xa9, 0x6d, 0x25, 0x52, 0x92, 0x42, 0x08, 0x42, 0xf1, 0xee, 0x62, 0xe6, 0xaa,
0x26, 0x14, 0xcf, 0x31, 0x46, 0x22, 0x39, 0x76, 0xd3, 0x03, 0x26, 0x2b, 0x33, 0x71, 0xb0, 0x7c,
0x26, 0x66, 0x47, 0x9a, 0x6e, 0xf9, 0x37, 0x8e, 0x27, 0x0b, 0xa1, 0xa4, 0xff, 0x99, 0x79, 0x57,
0xc7, 0x9e, 0x0c, 0x08, 0x46, 0x52, 0x08, 0xfc, 0x19, 0xda, 0xf0, 0x7c, 0x2f, 0xa6, 0x6a, 0x91,
0x23, 0x66, 0xae, 0x49, 0xa3, 0xfb, 0xa2, 0x09, 0x8f, 0x67, 0x55, 0x64, 0x1e, 0x3b, 0x57, 0x85,
0xb9, 0xa5, 0xab, 0xb0, 0x61, 0x5d, 0x5e, 0x95, 0x57, 0x5e, 0x5e, 0x95, 0x57, 0x5e, 0x5d, 0x95,
0x57, 0x7e, 0x99, 0x96, 0x8d, 0xcb, 0x69, 0xd9, 0x78, 0x39, 0x2d, 0x1b, 0xaf, 0xa6, 0x65, 0xe3,
0xaf, 0x69, 0xd9, 0xf8, 0xfd, 0xef, 0xf2, 0xca, 0x77, 0xb9, 0x38, 0x09, 0xff, 0x04, 0x00, 0x00,
0xff, 0xff, 0x3e, 0x3d, 0x28, 0x0e, 0x4d, 0x0e, 0x00, 0x00,
// 1278 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4d, 0x6f, 0x23, 0x45,
0x13, 0xce, 0xac, 0xe3, 0x8d, 0xdd, 0xde, 0x38, 0x4e, 0xef, 0xea, 0xdd, 0x51, 0x0e, 0xb6, 0x5f,
0x23, 0x21, 0x0b, 0xc2, 0x4c, 0x12, 0x02, 0x1b, 0x90, 0x40, 0xc4, 0xda, 0x15, 0x58, 0xca, 0x86,
0xd0, 0x89, 0x57, 0xe2, 0xe3, 0xc0, 0xd8, 0xae, 0xd8, 0x83, 0xed, 0x9e, 0xa1, 0xbb, 0xc7, 0xab,
0xdc, 0x38, 0x70, 0x45, 0xe2, 0xce, 0x8f, 0xe0, 0x27, 0xac, 0xb8, 0xe5, 0xb8, 0xc7, 0x3d, 0x59,
0xc4, 0xfc, 0x8b, 0x1c, 0x10, 0xea, 0x9e, 0x8f, 0x1e, 0x3b, 0x6b, 0xe1, 0x70, 0xd8, 0xdb, 0x74,
0xd5, 0x53, 0x4f, 0x55, 0xd7, 0xd4, 0x47, 0xa3, 0xaf, 0x06, 0x07, 0xdc, 0x72, 0x3d, 0x7b, 0x10,
0xb4, 0x81, 0x51, 0x10, 0xc0, 0xed, 0x31, 0xd0, 0xae, 0xc7, 0xec, 0x48, 0xe1, 0xf8, 0x2e, 0x07,
0x36, 0x06, 0x66, 0xfb, 0x83, 0x9e, 0x3a, 0xd9, 0x4e, 0xd0, 0x75, 0x85, 0x3d, 0xde, 0x75, 0x86,
0x7e, 0xdf, 0xd9, 0xb5, 0x7b, 0x40, 0x81, 0x39, 0x02, 0xba, 0x96, 0xcf, 0x3c, 0xe1, 0xe1, 0x7a,
0x68, 0x69, 0x25, 0x96, 0x96, 0x3f, 0xe8, 0xa9, 0x93, 0xa5, 0x2c, 0xad, 0xd8, 0x72, 0xeb, 0xbd,
0x9e, 0x2b, 0xfa, 0x41, 0xdb, 0xea, 0x78, 0x23, 0xbb, 0xe7, 0xf5, 0x3c, 0x5b, 0x11, 0xb4, 0x83,
0x73, 0x75, 0x52, 0x07, 0xf5, 0x15, 0x12, 0x6f, 0x6d, 0xeb, 0x90, 0x6c, 0x27, 0x10, 0x7d, 0xa0,
0xc2, 0xed, 0x38, 0xc2, 0xf5, 0xa8, 0x3d, 0xbe, 0x11, 0xc6, 0xd6, 0xbe, 0x46, 0x8f, 0x9c, 0x4e,
0xdf, 0xa5, 0xc0, 0x2e, 0xf4, 0x1d, 0x46, 0x20, 0x9c, 0xd7, 0x59, 0xd9, 0x8b, 0xac, 0x58, 0x40,
0x85, 0x3b, 0x82, 0x1b, 0x06, 0x1f, 0xfe, 0x9b, 0x01, 0xef, 0xf4, 0x61, 0xe4, 0xdc, 0xb0, 0x7b,
0x7f, 0x91, 0x5d, 0x20, 0xdc, 0xa1, 0xed, 0x52, 0xc1, 0x05, 0x9b, 0x37, 0xaa, 0xfd, 0x7e, 0x0f,
0x65, 0x9f, 0x8c, 0x81, 0x0a, 0xfc, 0x3d, 0xca, 0xc9, 0x2b, 0x74, 0x1d, 0xe1, 0x98, 0x46, 0xd5,
0xa8, 0x17, 0xf6, 0x76, 0x2c, 0x9d, 0xf7, 0x84, 0x51, 0xa7, 0x5e, 0xa2, 0xad, 0xf1, 0xae, 0xf5,
0x65, 0xfb, 0x07, 0xe8, 0x88, 0xa7, 0x20, 0x9c, 0x06, 0xbe, 0x9c, 0x54, 0x56, 0xa6, 0x93, 0x0a,
0xd2, 0x32, 0x92, 0xb0, 0xe2, 0x6d, 0x94, 0x1d, 0xc2, 0x18, 0x86, 0xe6, 0x9d, 0xaa, 0x51, 0xcf,
0x37, 0xfe, 0x17, 0x81, 0xb3, 0x47, 0x52, 0x78, 0x1d, 0x7f, 0x90, 0x10, 0x84, 0xbf, 0x45, 0x79,
0x79, 0x5b, 0x2e, 0x9c, 0x91, 0x6f, 0x66, 0x54, 0x40, 0xef, 0x2c, 0x17, 0xd0, 0x99, 0x3b, 0x82,
0xc6, 0x66, 0xc4, 0x9e, 0x3f, 0x8b, 0x49, 0x88, 0xe6, 0xc3, 0xc7, 0x68, 0x4d, 0x55, 0x4e, 0xf3,
0xb1, 0xb9, 0xaa, 0x82, 0xd9, 0x8f, 0xe0, 0x6b, 0x87, 0xa1, 0xf8, 0x7a, 0x52, 0xf9, 0xff, 0xa2,
0x7c, 0x8a, 0x0b, 0x1f, 0xb8, 0xd5, 0x6a, 0x3e, 0x26, 0x31, 0x89, 0xbc, 0x1a, 0x17, 0x4e, 0x0f,
0xcc, 0xec, 0xec, 0xd5, 0x4e, 0xa5, 0xf0, 0x3a, 0xfe, 0x20, 0x21, 0x08, 0xef, 0x21, 0xc4, 0xe0,
0xc7, 0x00, 0xb8, 0x68, 0x91, 0xa6, 0x79, 0x57, 0x99, 0x24, 0xa9, 0x23, 0x89, 0x86, 0xa4, 0x50,
0xb8, 0x8a, 0x56, 0xc7, 0xc0, 0xda, 0xe6, 0x9a, 0x42, 0xdf, 0x8b, 0xd0, 0xab, 0xcf, 0x80, 0xb5,
0x89, 0xd2, 0xe0, 0x2f, 0xd0, 0x6a, 0xc0, 0x81, 0x99, 0x39, 0x95, 0xab, 0xb7, 0x53, 0xb9, 0xb2,
0x66, 0x6b, 0x5b, 0xe6, 0xa8, 0xc5, 0x81, 0x35, 0xe9, 0xb9, 0xa7, 0x99, 0xa4, 0x84, 0x28, 0x06,
0xdc, 0x47, 0x25, 0x77, 0xe4, 0x03, 0xe3, 0x1e, 0x95, 0xa5, 0x22, 0x35, 0x66, 0xfe, 0x56, 0xac,
0x0f, 0xa6, 0x93, 0x4a, 0xa9, 0x39, 0xc7, 0x41, 0x6e, 0xb0, 0xe2, 0x77, 0x51, 0x9e, 0x7b, 0x01,
0xeb, 0x40, 0xf3, 0x84, 0x9b, 0xa8, 0x9a, 0xa9, 0xe7, 0x1b, 0xeb, 0xf2, 0xa7, 0x9d, 0xc6, 0x42,
0xa2, 0xf5, 0xf8, 0x1c, 0xe5, 0x3d, 0x55, 0x57, 0x04, 0xce, 0xcd, 0x82, 0x8a, 0xe7, 0x23, 0x6b,
0xd9, 0xd1, 0x10, 0x95, 0x29, 0x81, 0x73, 0x60, 0x40, 0x3b, 0x10, 0xfa, 0x49, 0x84, 0x44, 0x53,
0xe3, 0x3e, 0x2a, 0x32, 0xe0, 0xbe, 0x47, 0x39, 0x9c, 0x0a, 0x47, 0x04, 0xdc, 0xbc, 0xa7, 0x9c,
0x6d, 0x2f, 0x57, 0x7e, 0xa1, 0x4d, 0x03, 0x4f, 0x27, 0x95, 0x22, 0x99, 0xe1, 0x21, 0x73, 0xbc,
0xd8, 0x41, 0xeb, 0xd1, 0x2f, 0x0e, 0x03, 0x31, 0xd7, 0x95, 0xa3, 0xfa, 0x42, 0x47, 0xd1, 0x08,
0xb0, 0x5a, 0x74, 0x40, 0xbd, 0xe7, 0xb4, 0xb1, 0x39, 0x9d, 0x54, 0xd6, 0x49, 0x9a, 0x82, 0xcc,
0x32, 0xe2, 0xae, 0xbe, 0x4c, 0xe4, 0xa3, 0x78, 0x4b, 0x1f, 0x33, 0x17, 0x89, 0x9c, 0xcc, 0x71,
0xe2, 0x5f, 0x0c, 0x64, 0x46, 0x7e, 0x09, 0x74, 0xc0, 0x1d, 0x43, 0x37, 0xe9, 0x3b, 0x73, 0x43,
0x39, 0xb4, 0x97, 0xcb, 0xde, 0x53, 0xb7, 0xc3, 0x3c, 0xd5, 0xc1, 0xd5, 0xa8, 0x32, 0x4d, 0xb2,
0x80, 0x98, 0x2c, 0x74, 0x89, 0x3d, 0x54, 0x54, 0xad, 0xa6, 0x83, 0x28, 0xfd, 0xb7, 0x20, 0xe2,
0x4e, 0x2e, 0x9e, 0xce, 0xd0, 0x91, 0x39, 0x7a, 0xfc, 0x1c, 0x15, 0x1c, 0x4a, 0x3d, 0xa1, 0x5a,
0x81, 0x9b, 0x9b, 0xd5, 0x4c, 0xbd, 0xb0, 0xf7, 0xd9, 0xf2, 0xd5, 0xa9, 0x66, 0xb0, 0x75, 0xa8,
0x29, 0x9e, 0x50, 0xc1, 0x2e, 0x1a, 0xf7, 0x23, 0xf7, 0x85, 0x94, 0x86, 0xa4, 0x3d, 0x61, 0x1b,
0xe5, 0x65, 0xcf, 0x1e, 0xf6, 0x80, 0x0a, 0x13, 0xab, 0xe1, 0x90, 0x8c, 0xbe, 0x56, 0xac, 0x20,
0x1a, 0xb3, 0xf5, 0x29, 0x2a, 0xcd, 0xbb, 0xc1, 0x25, 0x94, 0x19, 0xc0, 0x85, 0x1a, 0xfb, 0x79,
0x22, 0x3f, 0xf1, 0x03, 0x94, 0x1d, 0x3b, 0xc3, 0x00, 0xc2, 0x59, 0x4d, 0xc2, 0xc3, 0xc7, 0x77,
0x0e, 0x8c, 0xda, 0x0b, 0x03, 0xe5, 0x55, 0xb4, 0x47, 0x2e, 0x17, 0xf8, 0xbb, 0x1b, 0x5b, 0xc3,
0x5a, 0x2e, 0xc5, 0xd2, 0x5a, 0xed, 0x8c, 0x52, 0x14, 0x6d, 0x2e, 0x96, 0xa4, 0x36, 0xc6, 0x19,
0xca, 0xba, 0x02, 0x46, 0xdc, 0xbc, 0xa3, 0xf2, 0x69, 0xdf, 0x32, 0x9f, 0x8d, 0xf5, 0x78, 0x0e,
0x37, 0x25, 0x0b, 0x09, 0xc9, 0x6a, 0xbf, 0x19, 0xa8, 0xf8, 0x39, 0xf3, 0x02, 0x9f, 0x40, 0x38,
0x5c, 0x38, 0x7e, 0x0b, 0x65, 0x7b, 0x52, 0x12, 0xa6, 0x40, 0xdb, 0x85, 0xb0, 0x50, 0x27, 0x87,
0x15, 0x8b, 0x2d, 0x54, 0x44, 0xd1, 0xb0, 0x4a, 0x68, 0x88, 0xd6, 0xe3, 0x47, 0xb2, 0xb5, 0xc3,
0xc3, 0xb1, 0x33, 0x02, 0x6e, 0x66, 0x94, 0x41, 0xd4, 0xb0, 0x29, 0x05, 0x99, 0xc5, 0xd5, 0x7e,
0xce, 0xa0, 0x8d, 0xb9, 0x59, 0x85, 0xb7, 0x51, 0x2e, 0x06, 0x45, 0x11, 0x26, 0x59, 0x8b, 0xb9,
0x48, 0x82, 0x90, 0x25, 0x41, 0x25, 0x95, 0xef, 0x74, 0xa2, 0xff, 0xa7, 0x4b, 0xe2, 0x38, 0x56,
0x10, 0x8d, 0x91, 0xbb, 0x45, 0x1e, 0xd4, 0x96, 0x4d, 0xed, 0x16, 0x89, 0x25, 0x4a, 0x83, 0x1b,
0x28, 0x13, 0xb8, 0xdd, 0x68, 0x57, 0xee, 0x44, 0x80, 0x4c, 0x6b, 0xd9, 0x3d, 0x29, 0x8d, 0xe5,
0xd6, 0x73, 0x7c, 0xf7, 0x19, 0x30, 0xee, 0x7a, 0x34, 0x5a, 0x94, 0xc9, 0xd6, 0x3b, 0x3c, 0x69,
0x46, 0x1a, 0x92, 0x42, 0xe1, 0x43, 0xb4, 0x11, 0x5f, 0x2b, 0x36, 0x0c, 0xd7, 0xe5, 0xc3, 0xc8,
0x70, 0x83, 0xcc, 0xaa, 0xc9, 0x3c, 0x1e, 0x7f, 0x80, 0x0a, 0x3c, 0x68, 0x27, 0xe9, 0x0b, 0xf7,
0x67, 0xd2, 0x57, 0xa7, 0x5a, 0x45, 0xd2, 0xb8, 0xda, 0xdf, 0x06, 0xba, 0x7b, 0xe2, 0x0d, 0xdd,
0xce, 0xc5, 0x1b, 0x78, 0x19, 0x7d, 0x8d, 0xb2, 0x2c, 0x18, 0x42, 0x5c, 0xe7, 0xfb, 0xcb, 0xd7,
0x79, 0x18, 0x22, 0x09, 0x86, 0xa0, 0x8b, 0x56, 0x9e, 0x38, 0x09, 0x19, 0xf1, 0x23, 0x84, 0xbc,
0x91, 0x2b, 0xd4, 0xf8, 0x8a, 0x8b, 0xf0, 0xa1, 0x0a, 0x24, 0x91, 0xea, 0xf7, 0x49, 0x0a, 0x5a,
0xfb, 0xc3, 0x40, 0x28, 0x64, 0x7f, 0x03, 0x8d, 0xde, 0x9a, 0x6d, 0xf4, 0x9d, 0xdb, 0x26, 0x60,
0x41, 0xa7, 0xbf, 0xc8, 0xc4, 0x77, 0x90, 0x39, 0xd1, 0x0f, 0x50, 0x63, 0x99, 0x07, 0x68, 0x05,
0x65, 0xe5, 0xd4, 0x8c, 0x5b, 0x3d, 0x2f, 0x91, 0x72, 0xa2, 0x72, 0x12, 0xca, 0xb1, 0x85, 0x90,
0xfc, 0x50, 0x33, 0x22, 0x4e, 0x6d, 0x51, 0xa6, 0xb6, 0x95, 0x48, 0x49, 0x0a, 0x21, 0x09, 0xe5,
0x43, 0x8d, 0x9b, 0xab, 0x9a, 0x50, 0xbe, 0xdf, 0x38, 0x09, 0xe5, 0xd8, 0x4d, 0x0f, 0x98, 0xac,
0xca, 0xc4, 0xc1, 0xf2, 0x99, 0x98, 0x1d, 0x69, 0xba, 0xe5, 0x5f, 0x3b, 0x9e, 0x2c, 0x84, 0x92,
0xfe, 0xe7, 0xe6, 0x5d, 0x1d, 0x7b, 0x32, 0x20, 0x38, 0x49, 0x21, 0xf0, 0x27, 0x68, 0x83, 0x7a,
0x34, 0xa6, 0x6a, 0x91, 0x23, 0x6e, 0xae, 0x29, 0xa3, 0xfb, 0xb2, 0x09, 0x8f, 0x67, 0x55, 0x64,
0x1e, 0x3b, 0x57, 0x85, 0xb9, 0xa5, 0xab, 0xb0, 0x61, 0x5d, 0x5e, 0x95, 0x57, 0x5e, 0x5e, 0x95,
0x57, 0x5e, 0x5d, 0x95, 0x57, 0x7e, 0x9a, 0x96, 0x8d, 0xcb, 0x69, 0xd9, 0x78, 0x39, 0x2d, 0x1b,
0xaf, 0xa6, 0x65, 0xe3, 0xcf, 0x69, 0xd9, 0xf8, 0xf5, 0xaf, 0xf2, 0xca, 0x37, 0xb9, 0x38, 0x09,
0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x58, 0x26, 0x49, 0x92, 0x7e, 0x0e, 0x00, 0x00,
}

View File

@ -66,6 +66,11 @@ message Event {
// +optional
repeated string sourceIPs = 10;
// UserAgent records the user agent string reported by the client.
// Note that the UserAgent is provided by the client, and must not be trusted.
// +optional
optional string userAgent = 18;
// Object reference this request is targeted at.
// Does not apply for List-type requests, or non-resource requests.
// +optional

View File

@ -105,6 +105,10 @@ type Event struct {
// Source IPs, from where the request originated and intermediate proxies.
// +optional
SourceIPs []string `json:"sourceIPs,omitempty" protobuf:"bytes,10,rep,name=sourceIPs"`
// UserAgent records the user agent string reported by the client.
// Note that the UserAgent is provided by the client, and must not be trusted.
// +optional
UserAgent string `json:"userAgent,omitempty" protobuf:"bytes,18,opt,name=userAgent"`
// Object reference this request is targeted at.
// Does not apply for List-type requests, or non-resource requests.
// +optional

View File

@ -70,6 +70,7 @@ func autoConvert_v1alpha1_Event_To_audit_Event(in *Event, out *audit.Event, s co
}
out.ImpersonatedUser = (*audit.UserInfo)(unsafe.Pointer(in.ImpersonatedUser))
out.SourceIPs = *(*[]string)(unsafe.Pointer(&in.SourceIPs))
out.UserAgent = in.UserAgent
if in.ObjectRef != nil {
in, out := &in.ObjectRef, &out.ObjectRef
*out = new(audit.ObjectReference)
@ -100,6 +101,7 @@ func autoConvert_audit_Event_To_v1alpha1_Event(in *audit.Event, out *Event, s co
}
out.ImpersonatedUser = (*authentication_v1.UserInfo)(unsafe.Pointer(in.ImpersonatedUser))
out.SourceIPs = *(*[]string)(unsafe.Pointer(&in.SourceIPs))
out.UserAgent = in.UserAgent
if in.ObjectRef != nil {
in, out := &in.ObjectRef, &out.ObjectRef
*out = new(ObjectReference)

View File

@ -266,6 +266,12 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) {
i += copy(dAtA[i:], v)
}
}
dAtA[i] = 0x92
i++
dAtA[i] = 0x1
i++
i = encodeVarintGenerated(dAtA, i, uint64(len(m.UserAgent)))
i += copy(dAtA[i:], m.UserAgent)
return i, nil
}
@ -708,6 +714,8 @@ func (m *Event) Size() (n int) {
n += mapEntrySize + 2 + sovGenerated(uint64(mapEntrySize))
}
}
l = len(m.UserAgent)
n += 2 + l + sovGenerated(uint64(l))
return n
}
@ -896,6 +904,7 @@ func (this *Event) String() string {
`RequestReceivedTimestamp:` + strings.Replace(strings.Replace(this.RequestReceivedTimestamp.String(), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1), `&`, ``, 1) + `,`,
`StageTimestamp:` + strings.Replace(strings.Replace(this.StageTimestamp.String(), "MicroTime", "k8s_io_apimachinery_pkg_apis_meta_v1.MicroTime", 1), `&`, ``, 1) + `,`,
`Annotations:` + mapStringForAnnotations + `,`,
`UserAgent:` + fmt.Sprintf("%v", this.UserAgent) + `,`,
`}`,
}, "")
return s
@ -1622,6 +1631,35 @@ func (m *Event) Unmarshal(dAtA []byte) error {
m.Annotations[mapkey] = mapvalue
}
iNdEx = postIndex
case 18:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field UserAgent", 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.UserAgent = string(dAtA[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipGenerated(dAtA[iNdEx:])
@ -2818,86 +2856,87 @@ func init() {
}
var fileDescriptorGenerated = []byte{
// 1283 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x41, 0x6f, 0x1b, 0x45,
0x14, 0xce, 0xd6, 0x71, 0x63, 0x8f, 0x1b, 0xc7, 0x9d, 0x56, 0x74, 0x95, 0x83, 0x6d, 0x8c, 0x04,
0x11, 0xa4, 0xbb, 0x6d, 0x5a, 0x48, 0x84, 0x04, 0x28, 0x56, 0x2b, 0xb0, 0x94, 0x86, 0x68, 0x1c,
0x57, 0x08, 0x38, 0xb0, 0xb6, 0x5f, 0xec, 0xc5, 0xf6, 0xee, 0x32, 0x33, 0x6b, 0x94, 0x1b, 0x7f,
0x00, 0x89, 0x3b, 0xff, 0x82, 0x1f, 0x50, 0x71, 0xcc, 0xb1, 0xc7, 0x9e, 0x2c, 0x62, 0xfe, 0x45,
0x04, 0x12, 0x9a, 0xd9, 0xd9, 0x9d, 0xb5, 0x5d, 0xab, 0x0e, 0x87, 0xde, 0x66, 0xde, 0xfb, 0xbe,
0xef, 0xbd, 0x79, 0x33, 0xf3, 0x66, 0xd0, 0xc9, 0xe0, 0x80, 0x59, 0xae, 0x6f, 0x0f, 0xc2, 0x36,
0x50, 0x0f, 0x38, 0x30, 0x7b, 0x0c, 0x5e, 0xd7, 0xa7, 0xb6, 0x72, 0x38, 0x81, 0xcb, 0x80, 0x8e,
0x81, 0xda, 0xc1, 0xa0, 0x27, 0x67, 0xb6, 0x13, 0x76, 0x5d, 0x6e, 0x8f, 0x1f, 0xb6, 0x81, 0x3b,
0x0f, 0xed, 0x1e, 0x78, 0x40, 0x1d, 0x0e, 0x5d, 0x2b, 0xa0, 0x3e, 0xf7, 0xf1, 0x07, 0x11, 0xd1,
0x4a, 0x88, 0x56, 0x30, 0xe8, 0xc9, 0x99, 0x25, 0x89, 0x96, 0x22, 0x6e, 0xdf, 0xef, 0xb9, 0xbc,
0x1f, 0xb6, 0xad, 0x8e, 0x3f, 0xb2, 0x7b, 0x7e, 0xcf, 0xb7, 0x25, 0xbf, 0x1d, 0x9e, 0xc9, 0x99,
0x9c, 0xc8, 0x51, 0xa4, 0xbb, 0xbd, 0xab, 0x13, 0xb2, 0x9d, 0x90, 0xf7, 0xc1, 0xe3, 0x6e, 0xc7,
0xe1, 0xae, 0xef, 0xd9, 0xe3, 0x85, 0x2c, 0xb6, 0x1f, 0x6b, 0xf4, 0xc8, 0xe9, 0xf4, 0x5d, 0x0f,
0xe8, 0xb9, 0x5e, 0xc1, 0x08, 0xb8, 0xf3, 0x3a, 0x96, 0xbd, 0x8c, 0x45, 0x43, 0x8f, 0xbb, 0x23,
0x58, 0x20, 0x7c, 0xf2, 0x26, 0x02, 0xeb, 0xf4, 0x61, 0xe4, 0x2c, 0xf0, 0x1e, 0x2d, 0xe3, 0x85,
0xdc, 0x1d, 0xda, 0xae, 0xc7, 0x19, 0xa7, 0x0b, 0xa4, 0x83, 0x37, 0x6f, 0x89, 0x33, 0x0c, 0xfa,
0x8b, 0x7b, 0x52, 0xfb, 0xa7, 0x80, 0xb2, 0x4f, 0xc7, 0xe0, 0x71, 0xfc, 0x03, 0xca, 0x89, 0xc5,
0x77, 0x1d, 0xee, 0x98, 0x46, 0xd5, 0xd8, 0x29, 0xec, 0x3d, 0xb0, 0xf4, 0x86, 0x25, 0xb9, 0xe8,
0x3d, 0x13, 0x68, 0x6b, 0xfc, 0xd0, 0xfa, 0xba, 0xfd, 0x23, 0x74, 0xf8, 0x33, 0xe0, 0x4e, 0x1d,
0x5f, 0x4c, 0x2a, 0x6b, 0xd3, 0x49, 0x05, 0x69, 0x1b, 0x49, 0x54, 0xf1, 0x2e, 0xca, 0x0e, 0x61,
0x0c, 0x43, 0xf3, 0x46, 0xd5, 0xd8, 0xc9, 0xd7, 0xdf, 0x51, 0xe0, 0xec, 0x91, 0x30, 0x5e, 0xc5,
0x03, 0x12, 0x81, 0xf0, 0x77, 0x28, 0x2f, 0xea, 0xc4, 0xb8, 0x33, 0x0a, 0xcc, 0x8c, 0x4c, 0xe8,
0xc3, 0xd5, 0x12, 0x3a, 0x75, 0x47, 0x50, 0xbf, 0xad, 0xd4, 0xf3, 0xa7, 0xb1, 0x08, 0xd1, 0x7a,
0xf8, 0x18, 0x6d, 0xc8, 0xc2, 0x34, 0x9e, 0x98, 0xeb, 0x32, 0x99, 0xc7, 0x0a, 0xbe, 0x71, 0x18,
0x99, 0xaf, 0x26, 0x95, 0x77, 0x97, 0xed, 0x04, 0x3f, 0x0f, 0x80, 0x59, 0xad, 0xc6, 0x13, 0x12,
0x8b, 0x88, 0xa5, 0x31, 0xee, 0xf4, 0xc0, 0xcc, 0xce, 0x2e, 0xad, 0x29, 0x8c, 0x57, 0xf1, 0x80,
0x44, 0x20, 0xbc, 0x87, 0x10, 0x85, 0x9f, 0x42, 0x60, 0xbc, 0x45, 0x1a, 0xe6, 0x4d, 0x49, 0x49,
0x4a, 0x47, 0x12, 0x0f, 0x49, 0xa1, 0x70, 0x15, 0xad, 0x8f, 0x81, 0xb6, 0xcd, 0x0d, 0x89, 0xbe,
0xa5, 0xd0, 0xeb, 0xcf, 0x81, 0xb6, 0x89, 0xf4, 0xe0, 0xaf, 0xd0, 0x7a, 0xc8, 0x80, 0x9a, 0x39,
0x59, 0xab, 0xf7, 0x53, 0xb5, 0xb2, 0x66, 0x6f, 0x85, 0xa8, 0x51, 0x8b, 0x01, 0x6d, 0x78, 0x67,
0xbe, 0x56, 0x12, 0x16, 0x22, 0x15, 0x70, 0x1f, 0x95, 0xdc, 0x51, 0x00, 0x94, 0xf9, 0x9e, 0x38,
0x2a, 0xc2, 0x63, 0xe6, 0xaf, 0xa5, 0x7a, 0x77, 0x3a, 0xa9, 0x94, 0x1a, 0x73, 0x1a, 0x64, 0x41,
0x15, 0x7f, 0x84, 0xf2, 0xcc, 0x0f, 0x69, 0x07, 0x1a, 0x27, 0xcc, 0x44, 0xd5, 0xcc, 0x4e, 0xbe,
0xbe, 0x29, 0x36, 0xad, 0x19, 0x1b, 0x89, 0xf6, 0x63, 0x40, 0x79, 0x5f, 0x9e, 0x2b, 0x02, 0x67,
0x66, 0x41, 0xe6, 0x73, 0x60, 0xad, 0xd8, 0x53, 0xd4, 0x29, 0x25, 0x70, 0x06, 0x14, 0xbc, 0x0e,
0x44, 0x61, 0x12, 0x23, 0xd1, 0xca, 0xb8, 0x8f, 0x8a, 0x14, 0x58, 0xe0, 0x7b, 0x0c, 0x9a, 0xdc,
0xe1, 0x21, 0x33, 0x6f, 0xc9, 0x58, 0xbb, 0xab, 0x9d, 0xbe, 0x88, 0x53, 0xc7, 0xd3, 0x49, 0xa5,
0x48, 0x66, 0x74, 0xc8, 0x9c, 0x2e, 0x76, 0xd0, 0xa6, 0xda, 0xe1, 0x28, 0x11, 0x73, 0x53, 0x06,
0xda, 0x59, 0x1a, 0x48, 0xf5, 0x0e, 0xab, 0xe5, 0x0d, 0x3c, 0xff, 0x67, 0xaf, 0x7e, 0x7b, 0x3a,
0xa9, 0x6c, 0x92, 0xb4, 0x04, 0x99, 0x55, 0xc4, 0x5d, 0xbd, 0x18, 0x15, 0xa3, 0x78, 0xcd, 0x18,
0x33, 0x0b, 0x51, 0x41, 0xe6, 0x34, 0xf1, 0xaf, 0x06, 0x32, 0x55, 0x5c, 0x02, 0x1d, 0x70, 0xc7,
0xd0, 0x4d, 0xae, 0x9d, 0xb9, 0x25, 0x03, 0xda, 0xab, 0x55, 0xef, 0x99, 0xdb, 0xa1, 0xbe, 0xbc,
0xc0, 0x55, 0x75, 0x30, 0x4d, 0xb2, 0x44, 0x98, 0x2c, 0x0d, 0x89, 0x7d, 0x54, 0x94, 0x37, 0x4d,
0x27, 0x51, 0xfa, 0x7f, 0x49, 0xc4, 0x17, 0xb9, 0xd8, 0x9c, 0x91, 0x23, 0x73, 0xf2, 0x78, 0x8c,
0x0a, 0x8e, 0xe7, 0xf9, 0x5c, 0xde, 0x04, 0x66, 0xde, 0xae, 0x66, 0x76, 0x0a, 0x7b, 0x5f, 0xac,
0x7c, 0x38, 0x65, 0x07, 0xb6, 0x0e, 0xb5, 0xc2, 0x53, 0x8f, 0xd3, 0xf3, 0xfa, 0x1d, 0x15, 0xbd,
0x90, 0xf2, 0x90, 0x74, 0xa0, 0xed, 0xcf, 0x51, 0x69, 0x9e, 0x85, 0x4b, 0x28, 0x33, 0x80, 0x73,
0xd9, 0xc3, 0xf3, 0x44, 0x0c, 0xf1, 0x5d, 0x94, 0x1d, 0x3b, 0xc3, 0x10, 0xa2, 0xc6, 0x4b, 0xa2,
0xc9, 0xa7, 0x37, 0x0e, 0x8c, 0xda, 0x0b, 0x03, 0xe5, 0x65, 0xf0, 0x23, 0x97, 0x71, 0xfc, 0xfd,
0xc2, 0x13, 0x60, 0xad, 0x56, 0x30, 0xc1, 0x96, 0x0f, 0x40, 0x49, 0x65, 0x9c, 0x8b, 0x2d, 0xa9,
0xf6, 0xdf, 0x44, 0x59, 0x97, 0xc3, 0x88, 0x99, 0x37, 0x64, 0x75, 0xac, 0xeb, 0x55, 0xa7, 0xbe,
0x19, 0xf7, 0xd4, 0x86, 0x10, 0x21, 0x91, 0x56, 0xed, 0x77, 0x03, 0x15, 0xbf, 0xa4, 0x7e, 0x18,
0x10, 0x88, 0x1a, 0x05, 0xc3, 0xef, 0xa1, 0x6c, 0x4f, 0x58, 0xa2, 0x0a, 0x68, 0x5e, 0x04, 0x8b,
0x7c, 0xa2, 0xf1, 0xd0, 0x98, 0x21, 0x13, 0x52, 0x8d, 0x27, 0x91, 0x21, 0xda, 0x8f, 0xf7, 0xc5,
0x3d, 0x8d, 0x26, 0xc7, 0xce, 0x08, 0x98, 0x99, 0x91, 0x04, 0x75, 0xfb, 0x52, 0x0e, 0x32, 0x8b,
0xab, 0xfd, 0x91, 0x41, 0x5b, 0x73, 0x8d, 0x07, 0xef, 0xa2, 0x5c, 0x0c, 0x52, 0x19, 0x26, 0x45,
0x8b, 0xb5, 0x48, 0x82, 0xc0, 0x36, 0xca, 0x7b, 0x42, 0x2a, 0x70, 0x3a, 0x6a, 0xfb, 0xf4, 0xcb,
0x76, 0x1c, 0x3b, 0x88, 0xc6, 0x88, 0x77, 0x42, 0x4c, 0xe4, 0x8b, 0x99, 0x7a, 0x27, 0x04, 0x96,
0x48, 0x0f, 0xae, 0xa3, 0x4c, 0xe8, 0x76, 0xd5, 0xbb, 0xf7, 0x40, 0x01, 0x32, 0xad, 0x55, 0xdf,
0x3c, 0x41, 0x16, 0x8b, 0x70, 0x02, 0x57, 0x56, 0x54, 0x3d, 0x79, 0xc9, 0x22, 0x0e, 0x4f, 0x1a,
0x51, 0xa5, 0x13, 0x84, 0x78, 0xef, 0x9c, 0xc0, 0x7d, 0x0e, 0x94, 0xb9, 0xbe, 0x37, 0xff, 0xde,
0x1d, 0x9e, 0x34, 0x94, 0x87, 0xa4, 0x50, 0xf8, 0x10, 0x6d, 0xc5, 0x45, 0x88, 0x89, 0xd1, 0xd3,
0x77, 0x4f, 0x11, 0xb7, 0xc8, 0xac, 0x9b, 0xcc, 0xe3, 0xf1, 0xc7, 0xa8, 0xc0, 0xc2, 0x76, 0x52,
0xec, 0x9c, 0xa4, 0x27, 0x77, 0xaa, 0xa9, 0x5d, 0x24, 0x8d, 0xab, 0xfd, 0x6b, 0xa0, 0x9b, 0x27,
0xfe, 0xd0, 0xed, 0x9c, 0xbf, 0x85, 0x3f, 0xd1, 0x37, 0x28, 0x4b, 0xc3, 0x21, 0xc4, 0x97, 0xe2,
0xd1, 0xca, 0x97, 0x22, 0xca, 0x90, 0x84, 0x43, 0xd0, 0x27, 0x5c, 0xcc, 0x18, 0x89, 0x04, 0xf1,
0x3e, 0x42, 0xfe, 0xc8, 0xe5, 0xb2, 0x71, 0xc5, 0x27, 0xf6, 0x9e, 0xcc, 0x23, 0xb1, 0xea, 0x8f,
0x49, 0x0a, 0x5a, 0xfb, 0xd3, 0x40, 0x28, 0x52, 0x7f, 0x0b, 0x4d, 0xe1, 0x74, 0xb6, 0x29, 0xd8,
0xd7, 0x5c, 0xff, 0x92, 0xae, 0xf0, 0x22, 0x13, 0x2f, 0x41, 0x94, 0x44, 0x7f, 0x3c, 0x8d, 0x55,
0x3e, 0x9e, 0x15, 0x94, 0x15, 0xbf, 0xa0, 0xb8, 0x2d, 0xe4, 0x05, 0x52, 0x7c, 0x56, 0x18, 0x89,
0xec, 0xd8, 0x42, 0x48, 0x0c, 0xe4, 0xd9, 0x8e, 0x2b, 0x5b, 0x14, 0x95, 0x6d, 0x25, 0x56, 0x92,
0x42, 0x08, 0x41, 0xf1, 0x41, 0x63, 0xe6, 0xba, 0x16, 0x14, 0xff, 0x36, 0x46, 0x22, 0x3b, 0xee,
0xa7, 0x9b, 0x51, 0x56, 0x16, 0x62, 0x7f, 0xe5, 0x42, 0xcc, 0x76, 0x3f, 0xdd, 0x1d, 0x5e, 0xdb,
0xc9, 0x2c, 0x84, 0x92, 0x56, 0xc1, 0xcc, 0x9b, 0x3a, 0xf5, 0xa4, 0x97, 0x30, 0x92, 0x42, 0xe0,
0xcf, 0xd0, 0x96, 0xe7, 0x7b, 0xb1, 0x54, 0x8b, 0x1c, 0x31, 0x73, 0x43, 0x92, 0xee, 0x88, 0x1b,
0x78, 0x3c, 0xeb, 0x22, 0xf3, 0xd8, 0xb9, 0x33, 0x98, 0x5b, 0xf9, 0x0c, 0xd6, 0xef, 0x5f, 0x5c,
0x96, 0xd7, 0x5e, 0x5e, 0x96, 0xd7, 0x5e, 0x5d, 0x96, 0xd7, 0x7e, 0x99, 0x96, 0x8d, 0x8b, 0x69,
0xd9, 0x78, 0x39, 0x2d, 0x1b, 0xaf, 0xa6, 0x65, 0xe3, 0xaf, 0x69, 0xd9, 0xf8, 0xed, 0xef, 0xf2,
0xda, 0xb7, 0x1b, 0xaa, 0x06, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x5e, 0xf6, 0x8d, 0xaa, 0xac,
0x0e, 0x00, 0x00,
// 1303 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0x4f, 0x6f, 0x1b, 0x45,
0x14, 0xcf, 0xd6, 0x71, 0x13, 0x4f, 0x1a, 0xc7, 0x9d, 0x56, 0x74, 0x95, 0x83, 0x6d, 0x8c, 0x04,
0x11, 0xa4, 0xbb, 0xfd, 0x07, 0x8d, 0x90, 0x00, 0xd9, 0x6a, 0x05, 0x96, 0xda, 0x10, 0x8d, 0xeb,
0x0a, 0x01, 0x07, 0xd6, 0xf6, 0x8b, 0xbd, 0xd8, 0x9e, 0x5d, 0x66, 0x66, 0x8d, 0x72, 0xe3, 0x0b,
0x20, 0x71, 0xe7, 0x33, 0x70, 0xe1, 0x03, 0x54, 0x1c, 0x7b, 0xec, 0xb1, 0x27, 0x8b, 0x9a, 0x6f,
0x11, 0x09, 0x09, 0xcd, 0xec, 0xec, 0xce, 0xda, 0xae, 0x55, 0x87, 0x43, 0x6f, 0x3b, 0xf3, 0x7e,
0xef, 0xf7, 0xde, 0xbc, 0x79, 0xef, 0x37, 0x8b, 0x4e, 0x86, 0x47, 0xdc, 0xf1, 0x03, 0x77, 0x18,
0x75, 0x80, 0x51, 0x10, 0xc0, 0xdd, 0x09, 0xd0, 0x5e, 0xc0, 0x5c, 0x6d, 0xf0, 0x42, 0x9f, 0x03,
0x9b, 0x00, 0x73, 0xc3, 0x61, 0x5f, 0xad, 0x5c, 0x2f, 0xea, 0xf9, 0xc2, 0x9d, 0xdc, 0xee, 0x80,
0xf0, 0x6e, 0xbb, 0x7d, 0xa0, 0xc0, 0x3c, 0x01, 0x3d, 0x27, 0x64, 0x81, 0x08, 0xf0, 0x07, 0xb1,
0xa3, 0x93, 0x3a, 0x3a, 0xe1, 0xb0, 0xaf, 0x56, 0x8e, 0x72, 0x74, 0xb4, 0xe3, 0xfe, 0xcd, 0xbe,
0x2f, 0x06, 0x51, 0xc7, 0xe9, 0x06, 0x63, 0xb7, 0x1f, 0xf4, 0x03, 0x57, 0xf9, 0x77, 0xa2, 0x53,
0xb5, 0x52, 0x0b, 0xf5, 0x15, 0xf3, 0xee, 0x1f, 0x9a, 0x84, 0x5c, 0x2f, 0x12, 0x03, 0xa0, 0xc2,
0xef, 0x7a, 0xc2, 0x0f, 0xa8, 0x3b, 0x59, 0xca, 0x62, 0xff, 0x9e, 0x41, 0x8f, 0xbd, 0xee, 0xc0,
0xa7, 0xc0, 0xce, 0xcc, 0x09, 0xc6, 0x20, 0xbc, 0xd7, 0x79, 0xb9, 0xab, 0xbc, 0x58, 0x44, 0x85,
0x3f, 0x86, 0x25, 0x87, 0x4f, 0xde, 0xe4, 0xc0, 0xbb, 0x03, 0x18, 0x7b, 0x4b, 0x7e, 0x77, 0x57,
0xf9, 0x45, 0xc2, 0x1f, 0xb9, 0x3e, 0x15, 0x5c, 0xb0, 0x25, 0xa7, 0xa3, 0x37, 0x5f, 0x89, 0x37,
0x0a, 0x07, 0xcb, 0x77, 0x52, 0xfb, 0xe3, 0x0a, 0xca, 0x3f, 0x9c, 0x00, 0x15, 0xf8, 0x07, 0xb4,
0x2d, 0x0f, 0xdf, 0xf3, 0x84, 0x67, 0x5b, 0x55, 0xeb, 0x60, 0xe7, 0xce, 0x2d, 0xc7, 0x5c, 0x58,
0x9a, 0x8b, 0xb9, 0x33, 0x89, 0x76, 0x26, 0xb7, 0x9d, 0xaf, 0x3b, 0x3f, 0x42, 0x57, 0x3c, 0x06,
0xe1, 0x35, 0xf0, 0xf3, 0x69, 0x65, 0x63, 0x36, 0xad, 0x20, 0xb3, 0x47, 0x52, 0x56, 0x7c, 0x88,
0xf2, 0x23, 0x98, 0xc0, 0xc8, 0xbe, 0x54, 0xb5, 0x0e, 0x0a, 0x8d, 0x77, 0x34, 0x38, 0xff, 0x48,
0x6e, 0x9e, 0x27, 0x1f, 0x24, 0x06, 0xe1, 0xef, 0x50, 0x41, 0xd6, 0x89, 0x0b, 0x6f, 0x1c, 0xda,
0x39, 0x95, 0xd0, 0x87, 0xeb, 0x25, 0xf4, 0xc4, 0x1f, 0x43, 0xe3, 0xaa, 0x66, 0x2f, 0x3c, 0x49,
0x48, 0x88, 0xe1, 0xc3, 0xc7, 0x68, 0x4b, 0x15, 0xa6, 0xf9, 0xc0, 0xde, 0x54, 0xc9, 0xdc, 0xd3,
0xf0, 0xad, 0x7a, 0xbc, 0x7d, 0x3e, 0xad, 0xbc, 0xbb, 0xea, 0x26, 0xc4, 0x59, 0x08, 0xdc, 0x69,
0x37, 0x1f, 0x90, 0x84, 0x44, 0x1e, 0x8d, 0x0b, 0xaf, 0x0f, 0x76, 0x7e, 0xfe, 0x68, 0x2d, 0xb9,
0x79, 0x9e, 0x7c, 0x90, 0x18, 0x84, 0xef, 0x20, 0xc4, 0xe0, 0xa7, 0x08, 0xb8, 0x68, 0x93, 0xa6,
0x7d, 0x59, 0xb9, 0xa4, 0xa5, 0x23, 0xa9, 0x85, 0x64, 0x50, 0xb8, 0x8a, 0x36, 0x27, 0xc0, 0x3a,
0xf6, 0x96, 0x42, 0x5f, 0xd1, 0xe8, 0xcd, 0xa7, 0xc0, 0x3a, 0x44, 0x59, 0xf0, 0x57, 0x68, 0x33,
0xe2, 0xc0, 0xec, 0x6d, 0x55, 0xab, 0xf7, 0x33, 0xb5, 0x72, 0xe6, 0xa7, 0x42, 0xd6, 0xa8, 0xcd,
0x81, 0x35, 0xe9, 0x69, 0x60, 0x98, 0xe4, 0x0e, 0x51, 0x0c, 0x78, 0x80, 0x4a, 0xfe, 0x38, 0x04,
0xc6, 0x03, 0x2a, 0x5b, 0x45, 0x5a, 0xec, 0xc2, 0x85, 0x58, 0xaf, 0xcf, 0xa6, 0x95, 0x52, 0x73,
0x81, 0x83, 0x2c, 0xb1, 0xe2, 0x8f, 0x50, 0x81, 0x07, 0x11, 0xeb, 0x42, 0xf3, 0x84, 0xdb, 0xa8,
0x9a, 0x3b, 0x28, 0x34, 0x76, 0xe5, 0xa5, 0xb5, 0x92, 0x4d, 0x62, 0xec, 0x18, 0x50, 0x21, 0x50,
0x7d, 0x45, 0xe0, 0xd4, 0xde, 0x51, 0xf9, 0x1c, 0x39, 0x6b, 0x6a, 0x8a, 0xee, 0x52, 0x02, 0xa7,
0xc0, 0x80, 0x76, 0x21, 0x0e, 0x93, 0x6e, 0x12, 0xc3, 0x8c, 0x07, 0xa8, 0xc8, 0x80, 0x87, 0x01,
0xe5, 0xd0, 0x12, 0x9e, 0x88, 0xb8, 0x7d, 0x45, 0xc5, 0x3a, 0x5c, 0xaf, 0xfb, 0x62, 0x9f, 0x06,
0x9e, 0x4d, 0x2b, 0x45, 0x32, 0xc7, 0x43, 0x16, 0x78, 0xb1, 0x87, 0x76, 0xf5, 0x0d, 0xc7, 0x89,
0xd8, 0xbb, 0x2a, 0xd0, 0xc1, 0xca, 0x40, 0x5a, 0x3b, 0x9c, 0x36, 0x1d, 0xd2, 0xe0, 0x67, 0xda,
0xb8, 0x3a, 0x9b, 0x56, 0x76, 0x49, 0x96, 0x82, 0xcc, 0x33, 0xe2, 0x9e, 0x39, 0x8c, 0x8e, 0x51,
0xbc, 0x60, 0x8c, 0xb9, 0x83, 0xe8, 0x20, 0x0b, 0x9c, 0xf8, 0x57, 0x0b, 0xd9, 0x3a, 0x2e, 0x81,
0x2e, 0xf8, 0x13, 0xe8, 0xa5, 0x63, 0x67, 0xef, 0xa9, 0x80, 0xee, 0x7a, 0xd5, 0x7b, 0xec, 0x77,
0x59, 0xa0, 0x06, 0xb8, 0xaa, 0x1b, 0xd3, 0x26, 0x2b, 0x88, 0xc9, 0xca, 0x90, 0x38, 0x40, 0x45,
0x35, 0x69, 0x26, 0x89, 0xd2, 0xff, 0x4b, 0x22, 0x19, 0xe4, 0x62, 0x6b, 0x8e, 0x8e, 0x2c, 0xd0,
0xe3, 0x09, 0xda, 0xf1, 0x28, 0x0d, 0x84, 0x9a, 0x04, 0x6e, 0x5f, 0xad, 0xe6, 0x0e, 0x76, 0xee,
0x7c, 0xb1, 0x76, 0x73, 0x2a, 0x05, 0x76, 0xea, 0x86, 0xe1, 0x21, 0x15, 0xec, 0xac, 0x71, 0x4d,
0x47, 0xdf, 0xc9, 0x58, 0x48, 0x36, 0x10, 0x76, 0x51, 0x41, 0x4e, 0x6c, 0xbd, 0x0f, 0x54, 0xd8,
0x58, 0x49, 0x43, 0x2a, 0x7c, 0xed, 0xc4, 0x40, 0x0c, 0x66, 0xff, 0x73, 0x54, 0x5a, 0x0c, 0x83,
0x4b, 0x28, 0x37, 0x84, 0x33, 0x25, 0xfa, 0x05, 0x22, 0x3f, 0xf1, 0x75, 0x94, 0x9f, 0x78, 0xa3,
0x08, 0x62, 0xa5, 0x26, 0xf1, 0xe2, 0xd3, 0x4b, 0x47, 0x56, 0xed, 0x99, 0x85, 0x0a, 0x2a, 0xdb,
0x47, 0x3e, 0x17, 0xf8, 0xfb, 0xa5, 0x37, 0xc3, 0x59, 0xaf, 0xc2, 0xd2, 0x5b, 0xbd, 0x18, 0x25,
0x9d, 0xed, 0x76, 0xb2, 0x93, 0x79, 0x2f, 0x5a, 0x28, 0xef, 0x0b, 0x18, 0x73, 0xfb, 0x92, 0x2a,
0xa7, 0x73, 0xb1, 0x72, 0x36, 0x76, 0x13, 0x11, 0x6e, 0x4a, 0x12, 0x12, 0x73, 0xd5, 0x7e, 0xb7,
0x50, 0xf1, 0x4b, 0x16, 0x44, 0x21, 0x81, 0x58, 0x59, 0x38, 0x7e, 0x0f, 0xe5, 0xfb, 0x72, 0x27,
0xae, 0x80, 0xf1, 0x8b, 0x61, 0xb1, 0x4d, 0x2a, 0x15, 0x4b, 0x3c, 0x54, 0x42, 0x5a, 0xa9, 0x52,
0x1a, 0x62, 0xec, 0xf8, 0xbe, 0x1c, 0xec, 0x78, 0x71, 0xec, 0x8d, 0x81, 0xdb, 0x39, 0xe5, 0xa0,
0xc7, 0x35, 0x63, 0x20, 0xf3, 0xb8, 0xda, 0x9f, 0x39, 0xb4, 0xb7, 0xa0, 0x54, 0xf8, 0x10, 0x6d,
0x27, 0x20, 0x9d, 0x61, 0x5a, 0xb4, 0x84, 0x8b, 0xa4, 0x08, 0xd9, 0x11, 0x54, 0x52, 0x85, 0x5e,
0x57, 0x5f, 0x9f, 0xe9, 0x88, 0xe3, 0xc4, 0x40, 0x0c, 0x46, 0x3e, 0x2c, 0x72, 0xa1, 0x9e, 0xd8,
0xcc, 0xc3, 0x22, 0xb1, 0x44, 0x59, 0x70, 0x03, 0xe5, 0x22, 0xbf, 0xa7, 0x1f, 0xca, 0x5b, 0x1a,
0x90, 0x6b, 0xaf, 0xfb, 0x48, 0x4a, 0x67, 0x79, 0x08, 0x2f, 0xf4, 0x55, 0x45, 0xf5, 0x1b, 0x99,
0x1e, 0xa2, 0x7e, 0xd2, 0x8c, 0x2b, 0x9d, 0x22, 0xe4, 0x03, 0xe9, 0x85, 0xfe, 0x53, 0x60, 0xdc,
0x0f, 0xe8, 0xe2, 0x03, 0x59, 0x3f, 0x69, 0x6a, 0x0b, 0xc9, 0xa0, 0x70, 0x1d, 0xed, 0x25, 0x45,
0x48, 0x1c, 0xe3, 0xb7, 0xf2, 0x86, 0x76, 0xdc, 0x23, 0xf3, 0x66, 0xb2, 0x88, 0xc7, 0x1f, 0xa3,
0x1d, 0x1e, 0x75, 0xd2, 0x62, 0x6f, 0x2b, 0xf7, 0x74, 0x08, 0x5b, 0xc6, 0x44, 0xb2, 0xb8, 0xda,
0xbf, 0x16, 0xba, 0x7c, 0x12, 0x8c, 0xfc, 0xee, 0xd9, 0x5b, 0xf8, 0x89, 0xfa, 0x06, 0xe5, 0x59,
0x34, 0x82, 0x64, 0x28, 0xee, 0xae, 0x3d, 0x14, 0x71, 0x86, 0x24, 0x1a, 0x81, 0xe9, 0x70, 0xb9,
0xe2, 0x24, 0x26, 0xc4, 0xf7, 0x11, 0x0a, 0xc6, 0xbe, 0x50, 0x4a, 0x97, 0x74, 0xec, 0x0d, 0x95,
0x47, 0xba, 0x6b, 0xfe, 0x64, 0x32, 0xd0, 0xda, 0x5f, 0x16, 0x42, 0x31, 0xfb, 0x5b, 0x10, 0x85,
0x27, 0xf3, 0xa2, 0xe0, 0x5e, 0xf0, 0xfc, 0x2b, 0x54, 0xe1, 0x59, 0x2e, 0x39, 0x82, 0x2c, 0x89,
0xf9, 0x53, 0xb5, 0xd6, 0xf9, 0x53, 0xad, 0xa0, 0xbc, 0x14, 0xd8, 0x44, 0x16, 0x0a, 0x12, 0x29,
0xc5, 0x97, 0x93, 0x78, 0x1f, 0x3b, 0x08, 0xc9, 0x0f, 0xd5, 0xdb, 0x49, 0x65, 0x8b, 0xb2, 0xb2,
0xed, 0x74, 0x97, 0x64, 0x10, 0x92, 0x50, 0xfe, 0xd1, 0x71, 0x7b, 0xd3, 0x10, 0xca, 0x1f, 0x3d,
0x4e, 0xe2, 0x7d, 0x3c, 0xc8, 0x8a, 0x51, 0x5e, 0x15, 0xe2, 0xfe, 0xda, 0x85, 0x98, 0x57, 0x3f,
0xa3, 0x0e, 0xaf, 0x55, 0x32, 0x07, 0xa1, 0x54, 0x2a, 0xb8, 0x7d, 0xd9, 0xa4, 0x9e, 0x6a, 0x09,
0x27, 0x19, 0x04, 0xfe, 0x0c, 0xed, 0xd1, 0x80, 0x26, 0x54, 0x6d, 0xf2, 0x88, 0xdb, 0x5b, 0xca,
0xe9, 0x9a, 0x9c, 0xc0, 0xe3, 0x79, 0x13, 0x59, 0xc4, 0x2e, 0xf4, 0xe0, 0xf6, 0xda, 0x3d, 0xd8,
0xb8, 0xf9, 0xfc, 0x55, 0x79, 0xe3, 0xc5, 0xab, 0xf2, 0xc6, 0xcb, 0x57, 0xe5, 0x8d, 0x5f, 0x66,
0x65, 0xeb, 0xf9, 0xac, 0x6c, 0xbd, 0x98, 0x95, 0xad, 0x97, 0xb3, 0xb2, 0xf5, 0xf7, 0xac, 0x6c,
0xfd, 0xf6, 0x4f, 0x79, 0xe3, 0xdb, 0x2d, 0x5d, 0x83, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x3c,
0x5a, 0xb6, 0x6f, 0xdd, 0x0e, 0x00, 0x00,
}

View File

@ -70,6 +70,11 @@ message Event {
// +optional
repeated string sourceIPs = 10;
// UserAgent records the user agent string reported by the client.
// Note that the UserAgent is provided by the client, and must not be trusted.
// +optional
optional string userAgent = 18;
// Object reference this request is targeted at.
// Does not apply for List-type requests, or non-resource requests.
// +optional

View File

@ -101,6 +101,10 @@ type Event struct {
// Source IPs, from where the request originated and intermediate proxies.
// +optional
SourceIPs []string `json:"sourceIPs,omitempty" protobuf:"bytes,10,rep,name=sourceIPs"`
// UserAgent records the user agent string reported by the client.
// Note that the UserAgent is provided by the client, and must not be trusted.
// +optional
UserAgent string `json:"userAgent,omitempty" protobuf:"bytes,18,opt,name=userAgent"`
// Object reference this request is targeted at.
// Does not apply for List-type requests, or non-resource requests.
// +optional

View File

@ -70,6 +70,7 @@ func autoConvert_v1beta1_Event_To_audit_Event(in *Event, out *audit.Event, s con
}
out.ImpersonatedUser = (*audit.UserInfo)(unsafe.Pointer(in.ImpersonatedUser))
out.SourceIPs = *(*[]string)(unsafe.Pointer(&in.SourceIPs))
out.UserAgent = in.UserAgent
out.ObjectRef = (*audit.ObjectReference)(unsafe.Pointer(in.ObjectRef))
out.ResponseStatus = (*v1.Status)(unsafe.Pointer(in.ResponseStatus))
out.RequestObject = (*runtime.Unknown)(unsafe.Pointer(in.RequestObject))
@ -92,6 +93,7 @@ func autoConvert_audit_Event_To_v1beta1_Event(in *audit.Event, out *Event, s con
}
out.ImpersonatedUser = (*authentication_v1.UserInfo)(unsafe.Pointer(in.ImpersonatedUser))
out.SourceIPs = *(*[]string)(unsafe.Pointer(&in.SourceIPs))
out.UserAgent = in.UserAgent
out.ObjectRef = (*ObjectReference)(unsafe.Pointer(in.ObjectRef))
out.ResponseStatus = (*v1.Status)(unsafe.Pointer(in.ResponseStatus))
out.RequestObject = (*runtime.Unknown)(unsafe.Pointer(in.RequestObject))

View File

@ -37,15 +37,20 @@ import (
"k8s.io/apiserver/pkg/authorization/authorizer"
)
const (
maxUserAgentLength = 1024
userAgentTruncateSuffix = "...TRUNCATED"
)
func NewEventFromRequest(req *http.Request, level auditinternal.Level, attribs authorizer.Attributes) (*auditinternal.Event, error) {
ev := &auditinternal.Event{
RequestReceivedTimestamp: metav1.NewMicroTime(time.Now()),
Verb: attribs.GetVerb(),
RequestURI: req.URL.RequestURI(),
UserAgent: maybeTruncateUserAgent(req),
Level: level,
}
ev.Level = level
// prefer the id from the headers. If not available, create a new one.
// TODO(audit): do we want to forbid the header for non-front-proxy users?
ids := req.Header.Get(auditinternal.HeaderAuditID)
@ -233,3 +238,13 @@ func LogAnnotations(ae *auditinternal.Event, annotations map[string]string) {
LogAnnotation(ae, key, value)
}
}
// truncate User-Agent if too long, otherwise return it directly.
func maybeTruncateUserAgent(req *http.Request) string {
ua := req.UserAgent()
if len(ua) > maxUserAgentLength {
ua = ua[:maxUserAgentLength] + userAgentTruncateSuffix
}
return ua
}

View File

@ -17,9 +17,11 @@ limitations under the License.
package audit
import (
"net/http"
"testing"
"github.com/stretchr/testify/assert"
auditinternal "k8s.io/apiserver/pkg/apis/audit"
)
@ -36,3 +38,19 @@ func TestLogAnnotation(t *testing.T) {
LogAnnotation(ev, "qux", "baz")
assert.Equal(t, "", ev.Annotations["qux"], "audit annotation should not be overwritten.")
}
func TestMaybeTruncateUserAgent(t *testing.T) {
req := &http.Request{}
req.Header = http.Header{}
ua := "short-agent"
req.Header.Set("User-Agent", ua)
assert.Equal(t, ua, maybeTruncateUserAgent(req))
ua = ""
for i := 0; i < maxUserAgentLength*2; i++ {
ua = ua + "a"
}
req.Header.Set("User-Agent", ua)
assert.NotEqual(t, ua, maybeTruncateUserAgent(req))
}

View File

@ -63,6 +63,7 @@ func TestAudit(t *testing.T) {
Other: "bla",
}
simpleCPrimeJSON, _ := runtime.Encode(testCodec, simpleCPrime)
userAgent := "audit-test"
// event checks
noRequestBody := func(i int) eventCheck {
@ -111,6 +112,16 @@ func TestAudit(t *testing.T) {
return nil
}
}
requestUserAgentMatches := func(userAgent string) eventCheck {
return func(events []*auditinternal.Event) error {
for i := range events {
if events[i].UserAgent != userAgent {
return fmt.Errorf("expected request user agent to match %q, but got: %q", userAgent, events[i].UserAgent)
}
}
return nil
}
}
for _, test := range []struct {
desc string
@ -295,6 +306,8 @@ func TestAudit(t *testing.T) {
t.Errorf("[%s] error creating the request: %v", test.desc, err)
}
req.Header.Set("User-Agent", userAgent)
response, err := client.Do(req)
if err != nil {
t.Errorf("[%s] error: %v", test.desc, err)
@ -326,6 +339,10 @@ func TestAudit(t *testing.T) {
t.Errorf("[%s,%d] %v", test.desc, i, err)
}
}
if err := requestUserAgentMatches(userAgent)(events); err != nil {
t.Errorf("[%s] %v", test.desc, err)
}
}
if len(events) > 0 {