-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
Publish arm64 Terraform packages in the HashiCorp "apt" repository (Debian/Ubuntu packages) #27378
Comments
Thanks @vinayhegde1990 - I am recategorizing this as a feature request rather than a bug, because this is not currently something we support or have documented as supporting. |
@danieldreier thanks for your inputs but given the older issues I've mentioned, I believe Let me know your thoughts. |
Hi @vinayhegde1990, The primary way we distribute Terraform is via archives at A separate team at HashiCorp maintains a system which repackages the
The APT repository construction is not something that is directly under the control of our team, but since we know that the team who maintains it is intentionally only supporting In the meantime I suggest using the primary |
Hi @apparentlymart, Thanks for sharing the releases, APT repositories URLs, and the availability of only If you review the linked issues/comments I've provided above, you yourself have mentioned
Could you kindly elaborate on why one should use .zip archives in-spite of the package presence (although it's not being fetched from the APT repos as of writing this) as your suggestion and the comment previously indicated seem contradictory. |
I came here searching for Note:
You can get the list of available # show all packages for dist "bullseye" in branch "main" with architecture "arm64"
curl -sLo- https://apt.releases.hashicorp.com/dists/bullseye/main/binary-arm64/Packages \
| grep -e '^Package:' \
| awk '{ print $2; }' \
| uniq Similar you can get the list of curl -sLo- https://apt.releases.hashicorp.com/dists/bullseye/main/binary-amd64/Packages \
| grep -e '^Package:' \
| awk '{ print $2; }' \
| uniq
Compared to releases.hashicorp.com the list of available packages is in general pretty short. |
Indeed, our release engineering team is gradually improving the packaging infrastructure but is doing so on a product-by-product basis because each product currently has its own release process. (Part of this effort is also standardizing on various components of the release process so that it's easier to add these things holistically in future, but we're not there yet.) Terraform is on this list to get updated but hasn't been updated yet. We'll close this issue once the release engineering team lets us know that the full pipeline is in place for publishing |
Thanks for the +1 @nifr @apparentlymart while the fact could you please share an approximate date for the |
The only way I can think of for someone not on our release engineering team to help with this is to build their own unofficial We will close this issue once the official packages are available. |
This issue is very similar to #25571. I'm tempted to close this issue as it is essentially a subset of what is being requested in the aforementioned issue, however just on the off-chance we release |
Please reconsider - this would really have made our lives a lot easier. For context, we develop out of a devcontainer. We updated it to install terraform, and everything worked great on linux (amd64). However, a couple of our developers use M1 macs (arm64 just like the raspberry pi 4), and the devcontainer stopped building for them. I'm sure we're not the only people who use devcontainers on m1 macs. Also #27378 (comment) may be the perfect representation of Conway's Law ;) |
I'm MacOS M1 user and am suffering from the same issue. I use dev container and it isn't convenient to use installation via zip file. |
Yes, +1 here for the purpose of installing it in the devcontainers I supply to my team. Sounds like there's progress happening slowly but surely so hopefully this'll work it's way through soon, thanks @maintainers :) |
This Because having software in Debian implies having it available for all release architectures. Also software in Debian will finds it's way to other |
It seems that this Debian RFP originally started in 2015 while Terraform v0.6 was the current version, and consequently it got bogged down in the fact that Terraform v0.6 still had all of the HashiCorp-distributed providers directly in the main distribution and therefore the package would need to depend on the union of all dependencies of all of the providers. Thankfully that hasn't been true since Terraform v0.10, and also with Terraform v1.0 establishing the v1.x compatibility promises the rate of change to Terraform is slower now and so probably a more appropriate speed for Debian's process such that the version available in Debian Stable is likely to remain useful for longer than Terraform v0.6 would've. However, the state storage backends are still built in to the main Terraform distribution and so there is still some dependency surface area for those, beyond what Terraform Core itself needs. With all of that said: we unfortunately don't have the resources to participate directly in the packaging processes for Debian and other distributions. While we certainly would not object to Terraform being packaged in Debian (nor should we!), I think it would be necessary for someone in the Debian developer community to manage that particular packaging. In particular, I don't think our methodology for building APT packages would be acceptable for the main Debian repository: we take literally the |
Hi @apparentlymart @danieldreier @crw, thanks for the detailed explanation on the differences between Terraform and Debian's packaging along with its limitations over the years. I re-tested this on the Ubuntu Arm64 Docker image via running a vanilla Docker container with the following output. user@ubuntu-arm64-docker:~/tf-test# dpkg --print-architecture
arm64
user@ubuntu-arm64-docker:~/tf-test# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
user@ubuntu-arm64-docker:~/tf-test# cat /etc/apt/sources.list.d/terraform-install.list
deb [arch=arm64] https://apt.releases.hashicorp.com focal main
user@ubuntu-arm64-docker:~/tf-test# sudo apt update && sudo apt install terraform
user@ubuntu-arm64-docker:~/tf-test# terraform version
Terraform v1.5.0
on linux_arm64 Terraform's official supported architectures page still shows no support for As this thread was last discussed in 2022 so could any of you please confirm if there been any recent development since then for supporting Terraform v1.x |
@vinayhegde1990 yes, as of 1.4.3 we switched over to a new build system which added support for arm64 binaries in a variety of packages. I do not know if that version will run on Raspberry Pi 4. Thanks! |
Thanks @crw for the info on arm64 support from Terraform |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Terraform Version
Terraform Configuration Files
Expected Behavior
Should be able to install Terraform on Raspberry Pi 4 via Package Manager
apt-get
as required for Ansible.Actual Behavior
The installation fails with the below message
Steps to Reproduce
On a Raspberry Pi 4 with vanilla Ubuntu LTS 20.04 (Focal Fossa) installed, please run the following commands
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add -
sudo apt-add-repository "deb [arch=$(dpkg --print-architecture)] https://apt.releases.hashicorp.com $(lsb_release -cs) main"
sudo apt-get install terraform
Additional Context
This article mentions lack of support for non-amd64 packages while recommending to download binaries as an alternative.
It doesn't help to solve the problem since we'll be running a cluster of Pi4s and other pocket-computing devices with different OS (CentOS, Ubuntu, Raspbian..) in which Ansible will act as a de-facto method to install via respective package managers rather than copying binaries every time for install/upgrade.
Please note the apt output after changing architecture in
/etc/apt/sources.list.d/terraform-install.list
toarm64
Recently found this comment but modifying architecture in the repository list to
linux_arm64
doesn't help either.More References:
Really eager to get Terraform running on Pi4 so please let me know if any further information is required and/or if I could help in any way to fix this.
The text was updated successfully, but these errors were encountered: