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

[Feature] Upload artifacts to Maven Central #400

Open
1 task done
guilhem-lk opened this issue Jul 16, 2024 · 3 comments
Open
1 task done

[Feature] Upload artifacts to Maven Central #400

guilhem-lk opened this issue Jul 16, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@guilhem-lk
Copy link

Is there an existing feature request for this?

  • I have searched the existing issues

Is your feature related to a problem? Please describe.

I would like to use your extension in a Maven project.

Currently, the packages are released to GitHub Packages but you say in the docs:

It may happen that I remove older packages without prior notice, because the storage is limited on the free tier.

This is not a viable solution for us, because we need to guarantee the package availability for building our project.

Describe the solution you'd like

We manually uploaded the jar we use to our own Maven repository, but it would be great if all packages were available on Maven Central. Do you plan to support this in the near future?

Describe alternatives you've considered

No response

Anything else?

No response

@guilhem-lk guilhem-lk added the enhancement New feature or request label Jul 16, 2024
@sventorben sventorben self-assigned this Jul 16, 2024
@sventorben
Copy link
Owner

Hey @guilhem-lk,

thank you for reaching out and for your interest in using the extension in your Maven project.

I understand your concern about package availability, especially with the current setup on GitHub Packages. Allow me to address your points in detail:

  • The extension was initially designed as a drop-in solution, intended for users to download and use directly, rather than as a programming library or framework. Recently, I have added some extension points to support programming usage, primarily to aid organizations, but the extension's core purpose remains unchanged. Expanding it into a full-fledged library could become unmanageable for me as a solo maintainer.
  • Before making any major changes, I would like to understand your specific use cases better. There might be features that could be more effectively supported directly within the extension itself. Could you please provide a brief overview of how you are using the extension in your project?
  • Currently, the extension is hosted on a public GitHub repository, which provides ample storage for packages. While I have mentioned the possibility of removing older packages due to storage limitations, this is not a current necessity. However, it's crucial for businesses relying on these packages to have their own artifact repositories for proxying and permanent storage.
  • Integrating with Maven Central would require adjustments to deployment processes and additional maintenance efforts, which I am not prepared to undertake at this point. GitHub Packages can be seamlessly integrated with Maven, as outlined in GitHub's documentation: Working with the Apache Maven Registry.

Given these considerations, I currently do not plan to support Maven Central. This might be a possibility in the future, but it is not on the roadmap for now.

Thank you for your understanding, and I look forward to hearing more about your use cases.

Best,
Sven-Torben

@guilhem-lk
Copy link
Author

Hello @sventorben,

No problem, I understand that it requires some major changes in the deployment process. Unfortunately, I never published packages on Maven Central so I can't be of any help on this topic.

Before making any major changes, I would like to understand your specific use cases better. There might be features that could be more effectively supported directly within the extension itself. Could you please provide a brief overview of how you are using the extension in your project?

We want to delegate authentication to another IDP for a subset of our users. For these users, we want them to rely exclusively on the IDP for authentication.
We integrated your extension into our own Keycloak extensions project but we needed some extra features:

  1. Before activating this feature, these users had a password in Keycloak. Now, this password must not be used anymore so we customized the authentication flows to forbid the password usage. For that, we added a conditional authenticator that check, based on your extension, if a user has an home IDP or not. I see that you suggest exactly what we have implemented in [Feature] Prevent users with associated home IdP to change credentials #264
  2. We also needed to expose a custom endpoint in Keycloak that returns the home IDP for a provided email. As in the first point, we used your extension to get the home IDP.

For the first point, I can contribute to add it in your extension if you want. But for the second point, I don't think it's relevant to have this endpoint in your extension.

Regards,

Guilhem

@xgp
Copy link

xgp commented Jul 24, 2024

Hi @sventorben We're also keen to get this published into Maven Central, as we're using your new Discoverer SPI extension point.

FYI, it's not that big of a change to add a release to Maven Central. E.g. we just run this on commit to main, but it could also be run as a manual action: https://github.com/p2-inc/keycloak-orgs/blob/main/.github/workflows/release.yml

Happy to PR this change if you'd be willing to take a look at it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants