You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Non-x86-based architectures are becoming more popular, ARM64 chief among them. It was possible to infer architecture information from OS version for some operating systems, but it is becoming increasingly common to run the same operating systems on multiple architectures (supported by most Linux distributions and Windows). Some architectures may not have all packages available or may require other parameters or tuning, so it makes sense to flag architecture support. Puppet modules already include metadata support information for operating system version and it would make sense to extend this to include architectures.
Describe the Solution You Would Like
The module metadata schema can be extended to support architecture information in a number of different backwards-compatible ways (this needs to be per-OS version)
Example: Supports all architectures for Debian 11, but only x64 for Debian 10
@yakatz a naive question I have around this is, what percentage (rough guess) are modules which are dependent on the underlying architecture of the platform? Would Forge users want this information?
If I have some time over the weekend, I might try to estimate for some of the top modules. I am also working on adding factsets to facterdb for ARM64 on supported OSes so they can run spec tests. (I don't have any RISC-V hardware to test.)
The issue for most modules would be whether a package is available for the architecture. Many applications are still only built for x86_64, but ARM64 and RISC-V are getting more popular, so I think it would be useful.
Use Case
Non-x86-based architectures are becoming more popular, ARM64 chief among them. It was possible to infer architecture information from OS version for some operating systems, but it is becoming increasingly common to run the same operating systems on multiple architectures (supported by most Linux distributions and Windows). Some architectures may not have all packages available or may require other parameters or tuning, so it makes sense to flag architecture support. Puppet modules already include metadata support information for operating system version and it would make sense to extend this to include architectures.
Describe the Solution You Would Like
The module metadata schema can be extended to support architecture information in a number of different backwards-compatible ways (this needs to be per-OS version)
Example: Supports all architectures for Debian 11, but only x64 for Debian 10
Example: Supports all architectures for Debian 11, but only x64 for Debian 10
Example: Global - supports only ARM64 for all OSes
There could be support for a negative qualifier, but that seems less likely to be used:
Describe Alternatives You've Considered
Modules including internal
fail()
calls for unsupported architectures - this results in a suboptimal user experienceThe text was updated successfully, but these errors were encountered: