-
Notifications
You must be signed in to change notification settings - Fork 228
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
ARM support #577
Comments
Hello @rcarmo. Can you please elaborate which part IronFunctions you'd like to see supported on ARM? |
Erm... that question doesn't really make sense, because I'd like to run all of it.
I've started doing my own armhf version of iron/dind off an armhf Alpine container, but building the service itself seems to depend on a lot of x64 containers.
|
@rcarmo ok, i see. But my question makes sense, because in repo we have couple projects like |
Recently i tried to build project for ARMv5 and got this issue:
|
@denismakogon That particular line is actually a bug anyways. A duration is passed ( |
@rcarmo this would be great, we've been talking with the https://www.packet.net/ guys about getting this running on their Type 2A server (96 physical cores), would love to make it happen. We could probably build in an cc @vielmetti |
Thanks @treeder - there is also support in Docker manifests to have an image automatically select the right architecture based on the manifest (so called "fat manifest" or "multiarch" support). The one project that's gotten the furthest on this is There's still the small matter of having an ARM build of iron/dind but once you have that the multiarch stuff lets you pick up the right architecture as you need it. |
@jmank88 can we extract fix for smaller patch to get build/release job for ARMv5 (or greater)? |
@vielmetti I have a repo where I made a start at my build of dind: https://github.com/rcarmo/iron-io-dind-armhf |
So, @rcarmo @vielmetti we've fixed small issue and we were able to build binaries (API service) for ARM successfully. cc @treeder |
@denismakogon - this looks like good progress on armhf support. Full support for ARMv8 (aarch64, arm64) will require a parallel set of work, since ARM 32-bit binaries don't always run on 64-bit systems. |
@vielmetti actually I was able to build IronFunctions for all platforms that go cross-compiling supports including ARMv8 (arm64). |
Wow, thanks, guys. How do you suggest I get started testing this? maybe we could hold the issue open while we tally any documentation/teething issues? |
@rcarmo you can pull latest master branch and build it with go flags like GOARCH, GOARM for specific ARM version including v8(arm64). I assume you're aware of how to build go code. Once you have binary I'd recommend to follow Getting started guide to try it out. If you're facing problems let me know. |
@denismakogon Seems straightforward enough. I'll wipe a large SD card, grab the Go binaries and try it over the weekend. |
Please note that you need latest Go 1.8 binaries. |
This is more than just building the functions binary, that part is easy. The hard part is enabling users to run their functions on an ARM machine which requires different images for their functions which I believe @rcarmo is referring to when he created this ticket.
Or maybe not? But we'd need to make it easy for users to create ARM functions regardless. It's possible to run functions without dind (mount the docker socket), but it would be nice to support it. How does this look as a full checklist for what we need:
Does that sound like everything we'd need? |
Official ARM images: https://hub.docker.com/u/aarch64/ |
And multi-arch issue: docker-library/official-images#2289 |
Any chance of armhf?
|
Looks like we can do the same with armhf: https://hub.docker.com/u/armhf/ |
Although it would require bootstrapping a new set of base containers, it would be nice to have
armhf
support.The text was updated successfully, but these errors were encountered: