sustainable-computing-io / kepler

Kepler (Kubernetes-based Efficient Power Level Exporter) uses eBPF to probe performance counters and other system stats, use ML models to estimate workload energy consumption based on these stats, and exports them as Prometheus metrics
https://sustainable-computing.io
Apache License 2.0
1.09k stars 174 forks source link

Add workflow to build and push Kepler builder image #1427

Open vprashar2929 opened 3 months ago

vprashar2929 commented 3 months ago

What would you like to be added?

A step or worklfow that builds and push the Kepler builder image so that it shouldn't be done manually

Why is this needed?

Currently, there is no workflow that builds and pushes the Kepler builder image

vprashar2929 commented 2 months ago

@SamYuan1990 I was looking at how currently the builder image is build and pushed and came across image_base.yml workflow which I think is used in daily.yml. Can you share the idea behind why we added this workflow in daily and not on push to main branch?

SamYuan1990 commented 2 months ago

@SamYuan1990 I was looking at how currently the builder image is build and pushed and came across image_base.yml workflow which I think is used in daily.yml. Can you share the idea behind why we added this workflow in daily and not on push to main branch?

we don't change it in the most of time, so seems no need for push at each time. we'd better build ti daily to catch up CVE if possible. as https://github.com/sustainable-computing-io/kepler/commit/20385219b8230fad9c6d1c792b57cde4c1419292#diff-1fb6f6d52a74b1f02eafeeb5d7649bdee7fadc8fdb1ff7170d58467762188212R30 we have yum update once up on a time.

dave-tucker commented 2 months ago

I'm hoping that after https://github.com/sustainable-computing-io/kepler/issues/1566 we can remove the builder image entirely 🙏

SamYuan1990 commented 2 months ago

I'm hoping that after #1566 we can remove the builder image entirely 🙏

I suppose there different parts of builder image's responsibility.

to remove builder image... we need to .... I suppose at least, we will have a golang image as builder to build binary?

dave-tucker commented 2 months ago

I'm hoping that after #1566 we can remove the builder image entirely 🙏

I suppose there different parts of builder image's responsibility.

to remove builder image... we need to .... I suppose at least, we will have a golang image as builder to build binary?

I believe with the changes mentioned above we can just use the RHEL UBI 9 golang image without any additional customization.

SamYuan1990 commented 2 months ago

I'm hoping that after #1566 we can remove the builder image entirely 🙏

I suppose there different parts of builder image's responsibility.

to remove builder image... we need to .... I suppose at least, we will have a golang image as builder to build binary?

I believe with the changes mentioned above we can just use the RHEL UBI 9 golang image without any additional customization.

emmmm, it works for golang, but pre @rootfs told me, we want to have ebpf inside container image. how about ebpf builders like gcc/make?