-
Notifications
You must be signed in to change notification settings - Fork 103
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
Support DNS Provider Management #1026
Conversation
# Conflicts: # backend/lib/services/cloudProviderSecrets.js # frontend/src/views/Secrets.vue
added first attempt of component state store synchronization
Show detailed dns provider information in popper Update dns implementation cluster domain immutable count dns secret references
@@ -73,7 +73,8 @@ export default { | |||
} | |||
}, | |||
reset () { | |||
this.setDnsConfiguration(this.shootSpec.dns) | |||
const noCustomDomain = !this.isCustomShootDomain |
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.
do not understand why we need this (see comment above)
@@ -106,6 +106,10 @@ export default { | |||
createMode: { | |||
type: Boolean, | |||
default: false | |||
}, | |||
noCustomDomain: { |
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.
do not understand why we need this (see comment above)
primaryProviderId, | ||
noCustomDomain |
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.
!primaryProviderId === noCustomDomain
state.dnsDomain = domain | ||
state.dnsProviders = keyBy(providers, 'id') | ||
state.dnsProviderIds = map(providers, 'id') | ||
state.dnsPrimaryProviderId = primaryProviderId | ||
state.dnsPrimaryProviderValid = !state.dnsDomain || !!state.dnsPrimaryProviderId | ||
state.dnsPrimaryProviderValid = !state.dnsDomain || !!state.dnsPrimaryProviderId || noCustomDomain |
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.
since !primaryProviderId === noCustomDomain
this means !!state.dnsPrimaryProviderId || noCustomDomain
is always true?
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 would add a property:
state.dnsPrimaryProviderRequired = !!primaryProviderId
but do not quite understand the reasoning behind it
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.
This is not the case. This statement is only true for already created shoots. This is the whole purpose of my change. For created shoots without a custom domain, the domain field is populated by the custom domain, while dnsPrimaryProviderId undefined. However, the information if the shoot is already created is not avaialble in the store (or am i wrong?). Of course, we could also store this information but I thought it would be easier to understand if we provide the actual information in a central place (mixin).
Same applies for your comment above:
I absolutely do not understand why we need to introduce this component parameter. I though the goal of my last my last PR was to get rid of these kind of component parameters. All the necessary information is already available on the store.
We could get the information by evaluating both the dnsPrimaryProviderId
store state and the created
prop but I wanted to keep the logic in a central place. I did not put it inside the store, as we also need the computed prop for the details card which has nothing to do with the store... ?
Maybe we need to discuss this online
* PR feedback * rm whitespace
@grolu You need rebase this pull request with latest master branch. Please check. |
…enh/dns-secrets # Conflicts: # frontend/src/components/ShootDns/ManageDns.vue # frontend/src/store/modules/shootStaging.js
@mandelsoft You have pull request review open invite, please check |
@input="onUpdateSecret" | ||
@update:valid="onSecretValid"></select-secret> |
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.
@input="onUpdateSecret" | |
@update:valid="onSecretValid"></select-secret> | |
@input="onUpdateSecret" | |
:valid="secretValid" | |
@update:valid="onSecretValid"></select-secret> |
# Conflicts: # frontend/src/components/ShootWorkers/MachineImage.vue
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
What this PR does / why we need it:
This PR adds DNS Provider Management to the Gardener Dashboard.
This enables the end users to add and manage their DNS Secrets via the Dashboard. Furthermore cluster DNS settings can be configured during cluster creation as well as afterwards, if possible.
Which issue(s) this PR fixes:
Fixes #769 Fixes #616 Fixes #406
Special notes for your reviewer:
@mandelsoft The secrets page will get a redesign soon.
@holgerkoser Please give feedback to the store based eventing approach I introduced with this PR for the new DNS components (
@/components/ShootDns/
)Release note: