infinispan / infinispan-operator

Infinispan Operator
https://infinispan.org/docs/infinispan-operator/main/operator.html
Apache License 2.0
48 stars 54 forks source link

Replace Rice box with golang embed #1242

Open ryanemerson opened 3 years ago

ryanemerson commented 3 years ago

https://pkg.go.dev/embed

Requires upgrading to go 1.16.x.

rigazilla commented 2 years ago

we may need to check if go 1.16.x is ok with rhel 8

ryanemerson commented 2 years ago

Good point @rigazilla. Looking at https://catalog.redhat.com/software/containers/rhel8/go-toolset/5b9c810add19c70b45cbd666?container-tabs=packages it appears not. So I think we should stick with 1.15.x for now.

dmvolod commented 2 years ago

I'm not sure that binding in productization to the ubi8/go-toolset is correct assumption. For example OLM for OCP 4.8 is using golang 1.16 and already productized without a problem https://github.com/operator-framework/operator-lifecycle-manager/blob/release-4.8/go.mod Golang is cross-compiled statically typed language and no specific runtime required for it's running

rigazilla commented 2 years ago

should be good for runtime, but maybe we could have problem building downstream?

ryanemerson commented 2 years ago

should be good for runtime, but maybe we could have problem building downstream?

Yeah I'm not sure on this one. OLM are using a fedora image upstream for the builder. @osnipso Any thoughts?

dmvolod commented 2 years ago

should be good for runtime, but maybe we could have problem building downstream?

Not sure that OCP (downstream of OKD) have a problems with building OLM and others dependants projects already utilize golang 1.16 https://github.com/kubernetes/kubernetes/blob/v1.21.0/go.mod

osnipso commented 2 years ago

We got a requirement from EXD not to use Fedora anywhere in our process - for bits intended for releasing to customers, anyway. It makes sense, imo. The alternative was to use RHEL, and ubi was the natural choice - rhel8 with small footprint, ready-to-go from catalog. I hated doing the conversion, we have to rely on some internal repositories to get all dependencies, it was not as easy as I thought it would be, but it's done. If we are going to change this back to use Fedora, I need clearance from EXD and product.

ryanemerson commented 2 years ago

If we are going to change this back to use Fedora, I need clearance from EXD and product.

IMO the benefits of migrating to 1.16 aren't worth this hassle.

My vote is to wait for 1.16 to be available in RHEL 8.

ryanemerson commented 2 years ago

Just to add another reason not to upgrade to 1.16, it seems that 1.15 is a requirement for the operator-sdk: https://sdk.operatorframework.io/docs/building-operators/golang/installation/#additional-prerequisites.

Certain functionality fails when used with 1.15: https://github.com/operator-framework/operator-sdk/issues/4556

ryanemerson commented 2 years ago

UBI 8.5 now includes go 1.16, so we should be able to upgrade without issue.