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

Merge authservice-go into the main project as a v1 version #242

Closed
nacx opened this issue Mar 22, 2024 · 4 comments
Closed

Merge authservice-go into the main project as a v1 version #242

nacx opened this issue Mar 22, 2024 · 4 comments

Comments

@nacx
Copy link
Collaborator

nacx commented Mar 22, 2024

There has been an effort to improve code readability, testability, quality, and the overall maintainability of the project. The current C++ codebase is hard to maintain and to properly test end-to-end, and adding features like better integration in Kubernetes is hard. To that end, the authservice-go is a full rewrite of authservice in Go, making the project more accessible to the cloud-native community and easier to integrate into its ecosystem.

It is a drop-in replacement, fully compatible with the existing image. The project contains e2e test suites that run with both images, the authservice-go one and the C++ authservice to guarantee it s a clean drop-in replacement.

The rewrite adds extensive code coverage, several end-to-end test suites that verify the correct behavior of the supported OIDC flows, as well as the mentioned compatibility suite.

In addition to the extensive tests and feature parity, it also fixes the following issues:


I'd like to propose merging authservice-go into the upstream authservice and to use the Go-based version as the main option moving forward, as it is much better tested and usable. I propose to create a v0 branch to keep the C++ code should anyone be interested in continuing that, and use the main branch for authservice-go and call it the v1 version. The reason for having the Go version in the main branch is to properly accommodate the Go module mechanism (having the go.mod file in the main repo branch) and properly convey the project's path forward.

@ZackButcher @zinuga I'd love to hear your feedback on this!

@dio
Copy link
Collaborator

dio commented Mar 22, 2024

Sounds good!

@deva26
Copy link

deva26 commented Mar 22, 2024

@nacx , This is amazing. We will all benefit a lot from from the increased test coverage, bug fixes and an easy maintainable solution.
:+1 for the proposal to merge authservice-go

@zinuga
Copy link

zinuga commented Mar 22, 2024

Sounds good. Supportive of the change.

@nacx
Copy link
Collaborator Author

nacx commented Mar 26, 2024

Thanks!

The merge has been done:

  • I've created a v0-c++ branch to keep the old code should anyone want to continue maintaining and contributing to that version.
  • I've also kept the master branch with the old code to avoid breaking existing open PRs.
  • I've created the main branch with the Go rewrite, and configured the repo to use main as the default branch from now on.
  • Created an initial v1.0.0 release based on the new Go authservice.

@nacx nacx closed this as completed Mar 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants