mirror of
https://github.com/portainer/portainer.git
synced 2025-07-29 18:29:44 +02:00
fix(secrets): allow edit sa token, refactor (#7732)
This commit is contained in:
parent
cb79dc18f8
commit
a1a88eb5e4
12 changed files with 78 additions and 78 deletions
|
@ -1,4 +1,4 @@
|
|||
import { KubernetesSecretTypes } from '@/kubernetes/models/configuration/models';
|
||||
import { KubernetesSecretTypeOptions } from '@/kubernetes/models/configuration/models';
|
||||
import { KubernetesConfigurationKinds } from '@/kubernetes/models/configuration/models';
|
||||
|
||||
export function isConfigurationFormValid(alreadyExist, isDataValid, formValues) {
|
||||
|
@ -9,36 +9,35 @@ export function isConfigurationFormValid(alreadyExist, isDataValid, formValues)
|
|||
if (formValues.IsSimple) {
|
||||
if (formValues.Kind === KubernetesConfigurationKinds.SECRET) {
|
||||
let isSecretDataValid = true;
|
||||
const secretTypeValue = typeof formValues.Type === 'string' ? formValues.Type : formValues.Type.value;
|
||||
|
||||
switch (secretTypeValue) {
|
||||
case KubernetesSecretTypes.SERVICEACCOUNTTOKEN.value:
|
||||
switch (formValues.Type) {
|
||||
case KubernetesSecretTypeOptions.SERVICEACCOUNTTOKEN.value:
|
||||
// data isn't required for service account tokens
|
||||
isFormValid = uniqueCheck && formValues.ResourcePool;
|
||||
return [isFormValid, ''];
|
||||
case KubernetesSecretTypes.DOCKERCFG.value:
|
||||
case KubernetesSecretTypeOptions.DOCKERCFG.value:
|
||||
// needs to contain a .dockercfg key
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === '.dockercfg');
|
||||
secretWarningMessage = isSecretDataValid ? '' : 'A data entry with a .dockercfg key is required.';
|
||||
break;
|
||||
case KubernetesSecretTypes.DOCKERCONFIGJSON.value:
|
||||
case KubernetesSecretTypeOptions.DOCKERCONFIGJSON.value:
|
||||
// needs to contain a .dockerconfigjson key
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === '.dockerconfigjson');
|
||||
secretWarningMessage = isSecretDataValid ? '' : 'A data entry with a .dockerconfigjson key. is required.';
|
||||
break;
|
||||
case KubernetesSecretTypes.BASICAUTH.value:
|
||||
case KubernetesSecretTypeOptions.BASICAUTH.value:
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === 'username' || entry.Key === 'password');
|
||||
secretWarningMessage = isSecretDataValid ? '' : 'A data entry with a username or password key is required.';
|
||||
break;
|
||||
case KubernetesSecretTypes.SSHAUTH.value:
|
||||
case KubernetesSecretTypeOptions.SSHAUTH.value:
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === 'ssh-privatekey');
|
||||
secretWarningMessage = isSecretDataValid ? '' : `A data entry with a 'ssh-privatekey' key is required.`;
|
||||
break;
|
||||
case KubernetesSecretTypes.TLS.value:
|
||||
case KubernetesSecretTypeOptions.TLS.value:
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === 'tls.crt') && formValues.Data.some((entry) => entry.Key === 'tls.key');
|
||||
secretWarningMessage = isSecretDataValid ? '' : `Data entries containing a 'tls.crt' key and a 'tls.key' key are required.`;
|
||||
break;
|
||||
case KubernetesSecretTypes.BOOTSTRAPTOKEN.value:
|
||||
case KubernetesSecretTypeOptions.BOOTSTRAPTOKEN.value:
|
||||
isSecretDataValid = formValues.Data.some((entry) => entry.Key === 'token-id') && formValues.Data.some((entry) => entry.Key === 'token-secret');
|
||||
secretWarningMessage = isSecretDataValid ? '' : `Data entries containing a 'token-id' key and a 'token-secret' key are required.`;
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue