Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM64 Support for ImmuDB #1781

Open
mprimeaux opened this issue Aug 25, 2023 · 5 comments
Open

ARM64 Support for ImmuDB #1781

mprimeaux opened this issue Aug 25, 2023 · 5 comments
Labels
enhancement New feature or request

Comments

@mprimeaux
Copy link

What would you like to be added or enhanced

I'd very much like to see ARM64 support for ImmuDB.

Why is this needed

Our production node groups are all ARM64 as this represents a 40% cost per transaction savings for our workloads.

Additional context

For local development, we use Minikube + QEMU as the driver on our ARM64 (Apple M1 and M2 MacBook Pros) and ImmuDB doesn't deploy successfully. I receive the "classic" error when the CPU architecture of the technology doesn't support ARM64:

exec /usr/sbin/immudb: exec format error
Stream closed EOF for go-scriptures/core-db-2-immudb-0 (immudb)

I checked DockerHub and it seems AMD64 is the only supported architecture. What can I do to help support ARM64?

@mprimeaux mprimeaux added the enhancement New feature or request label Aug 25, 2023
@jeroiraz
Copy link
Contributor

What would you like to be added or enhanced

I'd very much like to see ARM64 support for ImmuDB.

Why is this needed

Our production node groups are all ARM64 as this represents a 40% cost per transaction savings for our workloads.

Additional context

For local development, we use Minikube + QEMU as the driver on our ARM64 (Apple M1 and M2 MacBook Pros) and ImmuDB doesn't deploy successfully. I receive the "classic" error when the CPU architecture of the technology doesn't support ARM64:

exec /usr/sbin/immudb: exec format error
Stream closed EOF for go-scriptures/core-db-2-immudb-0 (immudb)

I checked DockerHub and it seems AMD64 is the only supported architecture. What can I do to help support ARM64?

have you tried with this binary? https://github.com/codenotary/immudb/releases/download/v1.5.0/immudb-v1.5.0-darwin-arm64

we may need to check the docker files / release workflows in order to build docker images for that...

@mprimeaux
Copy link
Author

mprimeaux commented Aug 26, 2023

While the above-mentioned binary works on an ARM64 host, we’re in k8s and so would need the arm64 container images hosted in a registry. Is there any help I can provide to assist in having the arm64 container images generated as part of your usual release process?

@jeroiraz
Copy link
Contributor

While the above-mentioned binary works on an ARM64 host, we’re in k8s and so would need the arm64 container images hosted in a registry. Is there any help I can provide to assist in having the arm64 container images generated as part of your usual release process?

What would be needed? A different DockerFile and a different command to build the arm64 image from it? You might be able to provide it as a basis for discussion, even in the case it's not included in the official release, the dockerFile could take the official immudb binary for arm64

@SimoneLazzaris ?

@mprimeaux
Copy link
Author

I certainly don’t mind contributing and am also happy to provide an example GitHub Actions workflow. Should I assume this is the step to model?

@SimoneLazzaris
Copy link
Collaborator

What would be needed? A different DockerFile and a different command to build the arm64 image from it? You might be able to provide it as a basis for discussion, even in the case it's not included in the official release, the dockerFile could take the official immudb binary for arm64

@SimoneLazzaris ?

I think that a simple Dockerfile would an easy addition. @mprimeaux: the workflow you mention adds the dev version which is built every time we push to the repo. We'll also need to add the Dockerfile in the release flow to get official releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants