-
Notifications
You must be signed in to change notification settings - Fork 525
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
Using property jkube.enricher.jkube-name.name
overrides the names set in the resources fragments
#2823
Comments
@amihalfa : Is it possible for you to debug this to check what's wrong with Enricher behavior?
I see that in code we're only setting name when it's blank: |
Hello @rohanKanojia When I debug :
The resource name is always overwritten if a configuredName is set. From my point of view, if the resource already has a name, we keep the name, even if there is a configuredName. My expected behaviour is to have in builder.accept(new TypedVisitor<ObjectMetaBuilder>() {
@Override
public void visit(ObjectMetaBuilder resource) {
if (StringUtils.isBlank(resource.getName())) {
if (StringUtils.isNotBlank(configuredName)) {
resource.withName(configuredName);
} else {
resource.withName(defaultName);
}
}
}
}); Thanks ! |
@amihalfa : Your approach looks correct to me. Is it possible to contribute a pull request for this? |
We need to further discuss this to set the basic scenarios and user expectations. The suggested approach breaks the existing functionality to override a name via system property or CLI flag. The current approach is that regardless of what you have in the static resources (such as fragments), you can always perform an override in the command-line by providing a
If we want to change this, we'll need to properly document it and also provide specific examples and scenarios for users:
|
Describe the bug
I saw in documentation that
jkube.enricher.jkube-name.name
is supposed to override "Add a default name to every object which misses a name."When I have 2 pods fragments such as :
src/main/jkube/test-health.yml
and
src/main/jkube/test-metrics.yml
And I set this config in my
pom.xml
The result after build is that I get 2 files named :
myapp-pod.yaml
andmyapp-1-pod.yaml
having exactly the same name (set in thepom.xml
) :Eclipse JKube version
1.16.1
Component
Kubernetes Maven Plugin
Apache Maven version
3.8.5
Gradle version
None
Steps to reproduce
jkube.enricher.jkube-name.name
in thepom.xml
:./mvnw k8s:resource k8s:helm
myapp-pod.yaml
, you will see that the name was changed :Expected behavior
If a name is set in the fragment, keep the name, if not, override it.
Runtime
Kubernetes (vanilla)
Kubernetes API Server version
1.25.3
Environment
macOS
Eclipse JKube Logs
No response
Sample Reproducer Project
No response
Additional context
No response
The text was updated successfully, but these errors were encountered: