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

Golang support #118

Closed
2 tasks
onitake opened this issue Jun 13, 2023 · 2 comments
Closed
2 tasks

Golang support #118

onitake opened this issue Jun 13, 2023 · 2 comments
Labels
clarification-needed Needs further clarification feature-request Request for a new feature help-wanted Community help desired

Comments

@onitake
Copy link

onitake commented Jun 13, 2023

Category

Other

Describe the feature you'd like to request

To make Cedar more useful, it would be nice to have native support for other languages besides Rust.

While it's possible to integrate with non-Rust runtimes via FFI, this is not an ideal approach for Go, where applications are typically compiled from complete source code into a static binary. With Rust FFI, it would be either necessary to distribute libraries for the various OS/architecture combinations supported by Go (for which there is currently no standardized way), or always compile the Rust code in-place (requiring a Rust build environment in addition to Go).

Describe the solution you'd like

A Go-native implementation would be the ideal solution, reducing overhead and build dependencies.

Describe alternatives you've considered

Alternatively, an SDK using a Go-Rust integration layer like https://github.com/mediremi/rust-plus-golang could be provided, but this doesn't solve the multiple-OS/CPU-architecture problem well.

Additional context

No response

Is this something that you'd be interested in working on?

  • 👋 I may be able to implement this feature request
  • ⚠️ This feature might incur a breaking change
@onitake onitake added the pending-triage Hasn't been triaged yet label Jun 13, 2023
@john-h-kastner-aws
Copy link
Contributor

Thanks, for the request. We've heard from some others that easy integration with Go would be a useful feature, and there have even been some initial external efforts to develop this, but we do not expect to support any other bindings (or native implementations) ourselves.

Two repositories I'm aware of have WASM based and CGO based bindings for Go. I'm not well versed in Go, so I can't say if these satisfy your particular requests, but they may be a useful starting point.

@john-h-kastner-aws john-h-kastner-aws added clarification-needed Needs further clarification feature-request Request for a new feature and removed pending-triage Hasn't been triaged yet labels Jun 13, 2023
@shaobo-he-aws shaobo-he-aws added the help-wanted Community help desired label Jun 20, 2023
@andrewmwells-amazon
Copy link
Contributor

Closing this as it's been stale for a while. Please look at the linked Go bindings from John's post (WASM based and CGO based) and let us know if you run into issues that are in scope for Cedar.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification-needed Needs further clarification feature-request Request for a new feature help-wanted Community help desired
Projects
None yet
Development

No branches or pull requests

4 participants