-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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
Create Kubernetes extension #1300
Conversation
We should all read the guide doc and then have a conversation on how we want to best surface the Kubernetes concept in Quarkus apps to exploits what ap4k generates. |
cc @iocanel |
This would also fix #1382 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@geoand I added some comments for the guide.
@gsmet Thanks for the thorough review! I will address the concerns later on tonight. |
@gsmet I addresses the comments from your review |
core/deployment/src/main/java/io/quarkus/deployment/BuildInfo.java
Outdated
Show resolved
Hide resolved
@geoand I added one more comment and there's a conflict, could you rebase? @stuartwdouglas @emmanuelbernard I'm tempted to merge this one once @geoand has fixed the last minor issues and iterate from here. Do you have any reservations about it? |
@gsmet PR rebased |
extensions/ap4k/deployment/src/main/java/io/quarkus/ap4k/deployment/Ap4kProcessor.java
Outdated
Show resolved
Hide resolved
@geoand sorry I spotted one last typo. Could you fix it and squash everything? Let's avoid commits like "Fix broken rebase" in the history. I will start a thread on the list to discuss this subject as I'm not totally sure what Emmanuel wanted to say in its message (that's the reason I haven't merged it yet). |
@gsmet I am generally in favor of each PR being a single commit :) |
@gsmet comment addressed and commits squashed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will start a discussion on the ML to address Emmanuel's comment. Other than that, it looks like a nice addition and something people want.
@gsmet Sounds good :) |
@gsmet was there any verdict in this perhaps? Thanks |
@geoand well, not really, see Emmanuel's post on the quarkus-dev list. |
Quoting @emmanuelbernard:
|
Thanks, I must have missed the discussion |
Sure, that sounds like a reasonable first step. Introducing things incrementally is definitely easier when it can be done. |
I just pushed a commit that leaves only the basic resource generation functionality in. Please take a look |
Pending CI |
This is currently still work in progress because I see that bringing in the extension results in all of it's dependencies being added to the generated |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK I'll hold off on approval then until you're ready.
Thanks. I think I will need to add a runtime artifact that doesn't do have any actual code, but will help the boostraping mechanism correctly figure out the dependencies |
I added another commit that fixes the dependencies issue, so this is now good to go |
@iocanel mind taking one last look as well? |
...ubernetes/deployment/src/main/java/io/quarkus/kubernetes/deployment/KubernetesProcessor.java
Outdated
Show resolved
Hide resolved
private Map<String, Integer> verifyPorts(List<KubernetesPortBuildItem> kubernetesPortBuildItems) { | ||
final Map<String, Integer> result = new HashMap<>(); | ||
final Set<Integer> usedPorts = new HashSet<>(); | ||
for (KubernetesPortBuildItem entry : kubernetesPortBuildItems) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really like the fact that we perform this verification!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The more build time errors the better :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This allows users to set a desired name for the applications (using quarkus.application.name) or version. The idea came from: quarkusio/quarkus#1300 (comment) and this configuration is meant to be used by extensions that for some reason need this information (like the planned kubernetes extension)
Fixes: #565
This supersedes #1031