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

Request: Add loongson[loong64] for step-ca and step-cli. #1335

Open
Evsio0n opened this issue Dec 16, 2024 · 8 comments
Open

Request: Add loongson[loong64] for step-ca and step-cli. #1335

Evsio0n opened this issue Dec 16, 2024 · 8 comments
Assignees
Labels
enhancement needs triage Waiting for discussion / prioritization by team

Comments

@Evsio0n
Copy link

Evsio0n commented Dec 16, 2024

Hello!

Loong64 is the 64-bit version of LoongArch. It's a RISC-style ISA developed by Loongson.
The architecture can be found here (https://wiki.debian.org/Ports/loong64)

It is suitable for loong64 devices that execute step-ca and step-cli. It is very useful for running this product and performing CA maintenance when using loong64 devices and servers and using Kubernetes.

@Evsio0n Evsio0n added enhancement needs triage Waiting for discussion / prioritization by team labels Dec 16, 2024
@Evsio0n
Copy link
Author

Evsio0n commented Dec 16, 2024

72f71aa

Which may also do the same thing to https://github.com/smallstep/certificates
Adding this may make it work on loong64 devices. Not tested.

@hslatman hslatman self-assigned this Dec 17, 2024
@hslatman
Copy link
Member

Hey @Evsio0n, thank you for opening the issue!

After discussion in the team the conclusion is that we shouldn't add this, because we don't have a way of testing proper functioning of the CA and CLI on this architecture at this time, and it would require additional maintenance in the future. This is the first time we got a request for this architecture, so it's hard to tell how popular it is and how much it is used in practice by our users. We might change our minds when we get more facts and votes, but in the meantime and if it's critical to support the architecture, the team is open to discuss a commercial agreement.

That said, you're absolutely free to compile it manually and/or in some automated fashion by specifying GOARCH=loong64 GOOS=linux to go build or make build.

Closing the issue for now.

@Evsio0n
Copy link
Author

Evsio0n commented Dec 18, 2024

Hello!

Thank you for your response and for taking the time to consider the Loong64 architecture proposal. I fully understand the current decision not to support it due to testing and maintenance challenges, as well as the limited feedback from users. However, I would like to respectfully request that you consider reopening this issue so that, over time, we may demonstrate the value and potential necessity of Loong64 through community participation and real-world feedback.

In the past, we’ve seen successful integrations of other architectures under similar circumstances, such as ppc64(le) #560
and even mips #447 . These precedents show that given the right opportunity and community involvement, new architectures can become worthwhile additions. Since step-cli is already a fantastic tool, I believe Loong64 could also prove its value if provided with time and the chance to gather supporting data.

If this issue is reopened, I’m more than willing to promote Loong64 adoption within the community, encourage testing, and help collect tangible usage feedback. This would allow us to present more concrete evidence that Loong64 deserves official support, much like previous architectures.

@Evsio0n
Copy link
Author

Evsio0n commented Dec 18, 2024

Additionally, to avoid adding more to your workload, here are some references to the Loong64 architecture that might be helpful:

@hslatman hslatman reopened this Dec 18, 2024
@hslatman
Copy link
Member

I've just opened it again, but just for visibility

@caarlos0
Copy link

goreleaser doesn't require any changes to its users be able to build for loong64.

@Evsio0n
Copy link
Author

Evsio0n commented Dec 20, 2024

goreleaser doesn't require any changes to its users be able to build for loong64.

Yes, it won't need any change, however:

cli/Makefile

Line 81 in b597c44

GORELEASER_PRO_URL=https://github.com/goreleaser/goreleaser-pro/releases/latest/download/goreleaser-pro_$(HOSTOS)_$(HOSTARCH).tar.gz

Here, the build script used the downloaded release from goreleaser package

@caarlos0
Copy link

Again, that doesn't matter, you don't need to build for loong64 in a loong64 machine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement needs triage Waiting for discussion / prioritization by team
Projects
None yet
Development

No branches or pull requests

3 participants