Please enable JavaScript.
Coggle requires JavaScript to display documents.
ebpf download, Breakdown - Coggle Diagram
ebpf download
(Lambda) S3 host service
Q: S3 presigned URL or custom authorizer?
presigned URL has TTL and authentication already
Custom authorizer would be inefficient and need more effort to define and implement protocol
X
Q: Protocol? MQTT or MQTT/HTTPS?
MQTT
(MQTT) MQTT => Lambda => S3
128kb limit
X
MQTT/HTTPS
(HTTPS) MQTT + Lambda + S3 presigned URL
Q: Possible solution?
Lambda to handle MQTT request for ebpf program
Sign and return presign S3 URL
S3 bucket to store ebpf programs
New Cloudfront to redirect to S3 bucket. (The current one is for lambda)
(Lambda) Kernel Trigger
COS
LKP doesn't support this right now. Implement our own?
Non-COS
Q: How LKP S3 trigger can trigger dsjenkins jobs?
ebpf builder
Jenkins to publish to S3 bucket
Q: Can we separate staging/production here?
(Lambda) ebpf Signer
Sign and push the signature to the bucket
S3 trigger - when a new ebpf program (*.o) is pushed into the bucket
Flow
Kernel Trigger => DS Jenkins?
Jenkins publishes ebpf program to S3
signer lambda to sign package when receives S3 trigger
Breakdown
ebpf-driver-builder
MQTT ebpf topic handler
IoT rules
Generate S3 presigned URL
(optional) Use Cloudfront for S3 url
Define protocol
Setup serverless projects
Create S3 bucket in US region
Register MQTT ebpf topic handler
Driver builder
Get list from LKP S3 bucket
Filter not supported kernels
Push artifact into S3 bucket
Not overwrite by default
LKP trigger
Polling or triggered by upstream
Common-infra
Create roles for Jenkins job to be deployed
(optional) ebpf program signing