argoproj / argo-events

Event-driven Automation Framework for Kubernetes
https://argoproj.github.io/argo-events/
Apache License 2.0
2.37k stars 738 forks source link

Unified gateway image #639

Closed whynowy closed 4 years ago

whynowy commented 4 years ago

Is your feature request related to a problem? Please describe. Different type of gateway has its own image, this is super hard to manage.

Describe the solution you'd like Wonder if we can have a unified image with different args to start gateway deployment.

whynowy commented 4 years ago

Look at following binary size information, please note gateway-server is the binary that I combined all the types to an unified one, its total size is around 78Mb, just 20Mb-30Mb larger than each of the individuals. I think this is something we should do. @VaibhavPage

ls -l ./dist/ total 2646432 -rwxr-xr-x 1 abcdef CORP\Domain Users 44964040 May 5 13:43 amqp-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 57648613 May 5 13:43 aws-sns-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 56747587 May 5 13:44 aws-sqs-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 48012091 May 5 13:44 azure-events-hub-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44451067 May 5 13:42 calendar-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 47181767 May 5 13:44 emitter-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 41552550 May 5 13:43 file-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 47006225 May 5 13:42 gateway-client -rwxr-xr-x 1 abcdef CORP\Domain Users 41523967 May 5 13:42 gateway-controller -rwxr-xr-x 1 abcdef CORP\Domain Users 78931210 May 5 22:47 gateway-server -rwxr-xr-x 1 abcdef CORP\Domain Users 47402422 May 5 13:44 gcp-pubsub-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 58162144 May 5 13:43 github-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 57930031 May 5 13:43 gitlab-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 46733110 May 5 13:43 hdfs-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 47979595 May 5 13:43 kafka-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 56056565 May 5 13:43 minio-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44950226 May 5 13:43 mqtt-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44726480 May 5 13:43 nats-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44782497 May 5 13:44 nsq-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 47820522 May 5 13:44 redis-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 45671457 May 5 13:43 resource-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 70255081 May 5 13:42 sensor -rwxr-xr-x 1 abcdef CORP\Domain Users 41942383 May 5 13:42 sensor-controller -rwxr-xr-x 1 abcdef CORP\Domain Users 53722075 May 5 13:44 slack-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 42218961 May 5 13:43 storagegrid-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44950164 May 5 13:44 stripe-gateway -rwxr-xr-x 1 abcdef CORP\Domain Users 44767065 May 5 13:42 webhook-gateway

whynowy commented 4 years ago

Extracted image size compare.

docker images | grep argoproj
argoproj/gateway-server              v0.14.0                 23d9f973516e        5 minutes ago       348MB
argoproj/gcp-pubsub-gateway          v0.14.0                 3904da9ea788        3 weeks ago         333MB
VaibhavPage commented 4 years ago

Makes sense. The user will still have the ability to write a custom gateway server. So, I am fine with this change.