mirror of https://github.com/portainer/portainer
fix(edgestack): gitops auto update issue [EE-7260] (#11965)
parent
e828615467
commit
39bdfa4512
|
@ -62,7 +62,7 @@
|
|||
</div>
|
||||
|
||||
<div ng-if="$ctrl.state.showConfig">
|
||||
<relative-path-fieldset value="$ctrl.stack" git-model="$ctrl.stack" is-editing="true" hide-edge-configs="true"></relative-path-fieldset>
|
||||
<relative-path-fieldset values="$ctrl.stack" git-model="$ctrl.stack" is-editing="true" hide-edge-configs="true"></relative-path-fieldset>
|
||||
</div>
|
||||
|
||||
<stack-environment-variables-panel
|
||||
|
|
|
@ -10,6 +10,7 @@ import { getVariablesFieldDefaultValues } from '@/react/portainer/custom-templat
|
|||
import { useAppTemplate } from '@/react/portainer/templates/app-templates/queries/useAppTemplates';
|
||||
import { TemplateViewModel } from '@/react/portainer/templates/app-templates/view-model';
|
||||
import { getDefaultValues as getEnvVarDefaultValues } from '@/react/portainer/templates/app-templates/DeployFormWidget/EnvVarsFieldset';
|
||||
import { parseAutoUpdateResponse } from '@/react/portainer/gitops/AutoUpdateFieldset/utils';
|
||||
|
||||
import { Widget } from '@@/Widget';
|
||||
|
||||
|
@ -56,7 +57,7 @@ export function CreateForm() {
|
|||
retryDeploy: false,
|
||||
staggerConfig: getDefaultStaggerConfig(),
|
||||
method: templateParams.id ? 'template' : 'editor',
|
||||
git: toGitFormModel(),
|
||||
git: toGitFormModel(undefined, parseAutoUpdateResponse()),
|
||||
relativePath: getDefaultRelativePathModel(),
|
||||
enableWebhook: false,
|
||||
fileContent: '',
|
||||
|
|
|
@ -5,6 +5,7 @@ import { useAnalytics } from '@/react/hooks/useAnalytics';
|
|||
import { TemplateViewModel } from '@/react/portainer/templates/app-templates/view-model';
|
||||
import { CustomTemplate } from '@/react/portainer/templates/custom-templates/types';
|
||||
import { notifySuccess } from '@/portainer/services/notifications';
|
||||
import { transformAutoUpdateViewModel } from '@/react/portainer/gitops/AutoUpdateFieldset/utils';
|
||||
|
||||
import {
|
||||
BasePayload,
|
||||
|
@ -89,6 +90,10 @@ export function useCreate({
|
|||
...getBasePayload(values),
|
||||
git: values.git,
|
||||
relativePathSettings: values.relativePath,
|
||||
autoUpdate: transformAutoUpdateViewModel(
|
||||
values.git.AutoUpdate,
|
||||
webhookId
|
||||
),
|
||||
},
|
||||
};
|
||||
default:
|
||||
|
|
|
@ -2,7 +2,7 @@ import axios, { parseAxiosError } from '@/portainer/services/axios';
|
|||
import { RegistryId } from '@/react/portainer/registries/types/registry';
|
||||
import { Pair } from '@/react/portainer/settings/types';
|
||||
import { EdgeGroup } from '@/react/edge/edge-groups/types';
|
||||
import { AutoUpdateModel } from '@/react/portainer/gitops/types';
|
||||
import { AutoUpdateResponse } from '@/react/portainer/gitops/types';
|
||||
|
||||
import { DeploymentType, EdgeStack, StaggerConfig } from '../../types';
|
||||
import { buildUrl } from '../buildUrl';
|
||||
|
@ -42,7 +42,7 @@ export type GitRepositoryPayload = {
|
|||
/** TLSSkipVerify skips SSL verification when cloning the Git repository */
|
||||
tlsSkipVerify?: boolean;
|
||||
/** Optional GitOps update configuration */
|
||||
autoUpdate?: AutoUpdateModel;
|
||||
autoUpdate: AutoUpdateResponse | null;
|
||||
/** Whether the stack supports relative path volume */
|
||||
supportRelativePath?: boolean;
|
||||
/** Local filesystem path */
|
||||
|
|
|
@ -4,6 +4,7 @@ import { EdgeGroup } from '@/react/edge/edge-groups/types';
|
|||
import { RegistryId } from '@/react/portainer/registries/types/registry';
|
||||
import { Pair } from '@/react/portainer/settings/types';
|
||||
import {
|
||||
AutoUpdateResponse,
|
||||
GitFormModel,
|
||||
RelativePathModel,
|
||||
} from '@/react/portainer/gitops/types';
|
||||
|
@ -70,6 +71,7 @@ export type CreateEdgeStackPayload =
|
|||
payload: BasePayload & {
|
||||
git: GitFormModel;
|
||||
relativePathSettings?: RelativePathModel;
|
||||
autoUpdate: AutoUpdateResponse | null;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -115,6 +117,7 @@ async function createStackAndGitCredential(
|
|||
payload: BasePayload & {
|
||||
git: GitFormModel;
|
||||
relativePathSettings?: RelativePathModel;
|
||||
autoUpdate: AutoUpdateResponse | null;
|
||||
}
|
||||
) {
|
||||
const newGitModel = await saveGitCredentialsIfNeeded(userId, payload.git);
|
||||
|
@ -144,6 +147,6 @@ async function createStackAndGitCredential(
|
|||
payload.relativePathSettings?.PerDeviceConfigsMatchType,
|
||||
perDeviceConfigsPath: payload.relativePathSettings?.PerDeviceConfigsPath,
|
||||
tlsSkipVerify: newGitModel.TLSSkipVerify,
|
||||
autoUpdate: newGitModel.AutoUpdate,
|
||||
autoUpdate: payload.autoUpdate,
|
||||
});
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import { RefField } from '@/react/portainer/gitops/RefField';
|
|||
import { GitFormUrlField } from '@/react/portainer/gitops/GitFormUrlField';
|
||||
import { DeployMethod, GitFormModel } from '@/react/portainer/gitops/types';
|
||||
import { TimeWindowDisplay } from '@/react/portainer/gitops/TimeWindowDisplay';
|
||||
import { isBE } from '@/react/portainer/feature-flags/feature-flags.service';
|
||||
|
||||
import { FormSection } from '@@/form-components/FormSection';
|
||||
import { validateForm } from '@@/form-components/validate-form';
|
||||
|
@ -102,7 +103,7 @@ export function GitForm({
|
|||
/>
|
||||
)}
|
||||
|
||||
{value.AutoUpdate && (
|
||||
{isBE && value.AutoUpdate && (
|
||||
<AutoUpdateFieldset
|
||||
environmentType={environmentType}
|
||||
webhookId={webhookId || ''}
|
||||
|
|
|
@ -71,13 +71,17 @@ export interface GitFormModel extends GitAuthModel {
|
|||
AutoUpdate?: AutoUpdateModel;
|
||||
}
|
||||
|
||||
export function toGitFormModel(response?: RepoConfigResponse): GitFormModel {
|
||||
export function toGitFormModel(
|
||||
response?: RepoConfigResponse,
|
||||
autoUpdate?: AutoUpdateModel
|
||||
): GitFormModel {
|
||||
if (!response) {
|
||||
return {
|
||||
RepositoryURL: '',
|
||||
ComposeFilePathInRepository: '',
|
||||
RepositoryAuthentication: false,
|
||||
TLSSkipVerify: false,
|
||||
AutoUpdate: autoUpdate,
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -96,5 +100,6 @@ export function toGitFormModel(response?: RepoConfigResponse): GitFormModel {
|
|||
RepositoryPassword: Authentication?.Password,
|
||||
RepositoryGitCredentialID: Authentication?.GitCredentialID,
|
||||
TLSSkipVerify,
|
||||
AutoUpdate: autoUpdate,
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue