Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
136ec65df5
commit
04d4cf89db
|
@ -56,7 +56,7 @@ feature for all reviews. Reviewers will then `approve` the MR and remove themsel
|
|||
- [ ] (Recommended) PMM
|
||||
- [ ] (Optional) Product Designer
|
||||
- [ ] (Optional) Group Manager or Director
|
||||
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments).
|
||||
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
|
||||
|
||||
### Tech writer review
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
## Author's checklist
|
||||
|
||||
- [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/engineering/ux/technical-writing/fundamentals/).
|
||||
- [ ] Optional. Consider taking [the GitLab Technical Writing Fundamentals course](https://about.gitlab.com/handbook/product/ux/technical-writing/fundamentals/).
|
||||
- [ ] Follow the:
|
||||
- [Documentation process](https://docs.gitlab.com/ee/development/documentation/workflow.html).
|
||||
- [Documentation guidelines](https://docs.gitlab.com/ee/development/documentation/).
|
||||
|
@ -16,7 +16,7 @@
|
|||
- [ ] If you're adding or changing the main heading of the page (H1), ensure that the [product tier badge](https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges) is added.
|
||||
- [ ] If you are a GitLab team member, [request a review](https://docs.gitlab.com/ee/development/code_review.html#dogfooding-the-attention-request-feature) based on:
|
||||
- The documentation page's [metadata](https://docs.gitlab.com/ee/development/documentation/#metadata).
|
||||
- The [associated Technical Writer](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments).
|
||||
- The [associated Technical Writer](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
|
||||
|
||||
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
|
||||
|
||||
|
@ -34,7 +34,7 @@ Documentation-related MRs should be reviewed by a Technical Writer for a non-blo
|
|||
- [ ] If the content requires it, ensure the information is reviewed by a subject matter expert.
|
||||
- Technical writer review items:
|
||||
- [ ] Ensure docs metadata is present and up-to-date.
|
||||
- [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#labels) are added to this MR.
|
||||
- [ ] Ensure the appropriate [labels](https://about.gitlab.com/handbook/product/ux/technical-writing/workflow/#labels) are added to this MR.
|
||||
- [ ] Ensure a release milestone is set.
|
||||
- If relevant to this MR, ensure [content topic type](https://docs.gitlab.com/ee/development/documentation/structure.html) principles are in use, including:
|
||||
- [ ] The headings should be something you'd do a Google search for. Instead of `Default behavior`, say something like `Default behavior when you close an issue`.
|
||||
|
|
|
@ -61,7 +61,7 @@ feature for all reviews. Reviewers will `approve` the MR and remove themselves f
|
|||
- [ ] (Recommended) PMM
|
||||
- [ ] (Optional) Product Designer
|
||||
- [ ] (Optional) Group Manager or Director
|
||||
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments).
|
||||
- [ ] Required review and approval: [Technical Writer designated to the corresponding DevOps stage/group](https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments).
|
||||
|
||||
### Tech writer review
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ RSpec/FilePath:
|
|||
- 'ee/spec/services/ci/create_pipeline_service/compliance_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/cross_needs_artifacts_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/dast_configuration_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/needs_spec.rb'
|
||||
- 'ee/spec/services/ci/create_pipeline_service/runnable_builds_spec.rb'
|
||||
- 'spec/benchmarks/banzai_benchmark.rb'
|
||||
|
@ -52,6 +53,7 @@ RSpec/FilePath:
|
|||
- 'spec/services/ci/create_pipeline_service/environment_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/evaluate_runner_tags_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/include_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/limit_active_jobs_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/logger_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/merge_requests_spec.rb'
|
||||
- 'spec/services/ci/create_pipeline_service/needs_spec.rb'
|
||||
|
|
|
@ -96,6 +96,7 @@ RSpec/ScatteredLet:
|
|||
- 'ee/spec/services/incident_management/oncall_rotations/remove_participant_service_spec.rb'
|
||||
- 'ee/spec/services/members/activate_service_spec.rb'
|
||||
- 'ee/spec/services/personal_access_tokens/groups/update_lifetime_service_spec.rb'
|
||||
- 'ee/spec/services/sbom/ingestion/occurrence_map_spec.rb'
|
||||
- 'ee/spec/services/security/report_summary_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/create_from_security_finding_service_spec.rb'
|
||||
- 'ee/spec/services/vulnerabilities/findings/create_from_security_finding_service_spec.rb'
|
||||
|
@ -205,6 +206,7 @@ RSpec/ScatteredLet:
|
|||
- 'spec/lib/gitlab/sidekiq_middleware/size_limiter/validator_spec.rb'
|
||||
- 'spec/lib/gitlab/template/finders/global_template_finder_spec.rb'
|
||||
- 'spec/lib/gitlab/tree_summary_spec.rb'
|
||||
- 'spec/lib/gitlab/usage/metrics/instrumentations/gitlab_for_jira_app_proxy_installations_count_metric_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data_metrics_spec.rb'
|
||||
- 'spec/lib/gitlab/usage_data_spec.rb'
|
||||
- 'spec/lib/gitlab/utils/measuring_spec.rb'
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
<script>
|
||||
import createFlash from '~/flash';
|
||||
import { __ } from '~/locale';
|
||||
import { reportMessageToSentry } from '../utils';
|
||||
import getAdminVariables from '../graphql/queries/variables.query.graphql';
|
||||
import {
|
||||
ADD_MUTATION_ACTION,
|
||||
|
@ -21,7 +23,11 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
adminVariables: [],
|
||||
hasNextPage: false,
|
||||
isInitialLoading: true,
|
||||
isLoadingMoreItems: false,
|
||||
loadingCounter: 0,
|
||||
pageInfo: {},
|
||||
};
|
||||
},
|
||||
apollo: {
|
||||
|
@ -30,7 +36,28 @@ export default {
|
|||
update(data) {
|
||||
return data?.ciVariables?.nodes || [];
|
||||
},
|
||||
result({ data }) {
|
||||
this.pageInfo = data?.ciVariables?.pageInfo || this.pageInfo;
|
||||
this.hasNextPage = this.pageInfo?.hasNextPage || false;
|
||||
|
||||
// Because graphQL has a limit of 100 items,
|
||||
// we batch load all the variables by making successive queries
|
||||
// to keep the same UX. As a safeguard, we make sure that we cannot go over
|
||||
// 20 consecutive API calls, which means 2000 variables loaded maximum.
|
||||
if (!this.hasNextPage) {
|
||||
this.isLoadingMoreItems = false;
|
||||
} else if (this.loadingCounter < 20) {
|
||||
this.hasNextPage = false;
|
||||
this.fetchMoreVariables();
|
||||
this.loadingCounter += 1;
|
||||
} else {
|
||||
createFlash({ message: this.$options.tooManyCallsError });
|
||||
reportMessageToSentry(this.$options.componentName, this.$options.tooManyCallsError, {});
|
||||
}
|
||||
},
|
||||
error() {
|
||||
this.isLoadingMoreItems = false;
|
||||
this.hasNextPage = false;
|
||||
createFlash({ message: variableFetchErrorText });
|
||||
},
|
||||
watchLoading(flag) {
|
||||
|
@ -42,7 +69,10 @@ export default {
|
|||
},
|
||||
computed: {
|
||||
isLoading() {
|
||||
return this.$apollo.queries.adminVariables.loading && this.isInitialLoading;
|
||||
return (
|
||||
(this.$apollo.queries.adminVariables.loading && this.isInitialLoading) ||
|
||||
this.isLoadingMoreItems
|
||||
);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
@ -52,6 +82,15 @@ export default {
|
|||
deleteVariable(variable) {
|
||||
this.variableMutation(DELETE_MUTATION_ACTION, variable);
|
||||
},
|
||||
fetchMoreVariables() {
|
||||
this.isLoadingMoreItems = true;
|
||||
|
||||
this.$apollo.queries.adminVariables.fetchMore({
|
||||
variables: {
|
||||
after: this.pageInfo.endCursor,
|
||||
},
|
||||
});
|
||||
},
|
||||
updateVariable(variable) {
|
||||
this.variableMutation(UPDATE_MUTATION_ACTION, variable);
|
||||
},
|
||||
|
@ -66,9 +105,8 @@ export default {
|
|||
},
|
||||
});
|
||||
|
||||
const { errors } = data[currentMutation.name];
|
||||
|
||||
if (errors.length > 0) {
|
||||
if (data[currentMutation.name]?.errors?.length) {
|
||||
const { errors } = data[currentMutation.name];
|
||||
createFlash({ message: errors[0] });
|
||||
} else {
|
||||
// The writing to cache for admin variable is not working
|
||||
|
@ -81,6 +119,10 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
componentName: 'InstanceVariables',
|
||||
i18n: {
|
||||
tooManyCallsError: __('Maximum number of variables loaded (2000)'),
|
||||
},
|
||||
mutationData: {
|
||||
[ADD_MUTATION_ACTION]: { action: addAdminVariable, name: 'addAdminVariable' },
|
||||
[UPDATE_MUTATION_ACTION]: { action: updateAdminVariable, name: 'updateAdminVariable' },
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
<script>
|
||||
import createFlash from '~/flash';
|
||||
import { __ } from '~/locale';
|
||||
import { convertToGraphQLId } from '~/graphql_shared/utils';
|
||||
import glFeatureFlagsMixin from '~/vue_shared/mixins/gl_feature_flags_mixin';
|
||||
import { reportMessageToSentry } from '../utils';
|
||||
import getGroupVariables from '../graphql/queries/group_variables.query.graphql';
|
||||
import {
|
||||
ADD_MUTATION_ACTION,
|
||||
|
@ -25,6 +27,10 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
groupVariables: [],
|
||||
hasNextPage: false,
|
||||
isLoadingMoreItems: false,
|
||||
loadingCounter: 0,
|
||||
pageInfo: {},
|
||||
};
|
||||
},
|
||||
apollo: {
|
||||
|
@ -38,7 +44,27 @@ export default {
|
|||
update(data) {
|
||||
return data?.group?.ciVariables?.nodes || [];
|
||||
},
|
||||
result({ data }) {
|
||||
this.pageInfo = data?.group?.ciVariables?.pageInfo || this.pageInfo;
|
||||
this.hasNextPage = this.pageInfo?.hasNextPage || false;
|
||||
// Because graphQL has a limit of 100 items,
|
||||
// we batch load all the variables by making successive queries
|
||||
// to keep the same UX. As a safeguard, we make sure that we cannot go over
|
||||
// 20 consecutive API calls, which means 2000 variables loaded maximum.
|
||||
if (!this.hasNextPage) {
|
||||
this.isLoadingMoreItems = false;
|
||||
} else if (this.loadingCounter < 20) {
|
||||
this.hasNextPage = false;
|
||||
this.fetchMoreVariables();
|
||||
this.loadingCounter += 1;
|
||||
} else {
|
||||
createFlash({ message: this.$options.tooManyCallsError });
|
||||
reportMessageToSentry(this.$options.componentName, this.$options.tooManyCallsError, {});
|
||||
}
|
||||
},
|
||||
error() {
|
||||
this.isLoadingMoreItems = false;
|
||||
this.hasNextPage = false;
|
||||
createFlash({ message: variableFetchErrorText });
|
||||
},
|
||||
},
|
||||
|
@ -48,7 +74,7 @@ export default {
|
|||
return this.glFeatures.groupScopedCiVariables;
|
||||
},
|
||||
isLoading() {
|
||||
return this.$apollo.queries.groupVariables.loading;
|
||||
return this.$apollo.queries.groupVariables.loading || this.isLoadingMoreItems;
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
|
@ -58,6 +84,16 @@ export default {
|
|||
deleteVariable(variable) {
|
||||
this.variableMutation(DELETE_MUTATION_ACTION, variable);
|
||||
},
|
||||
fetchMoreVariables() {
|
||||
this.isLoadingMoreItems = true;
|
||||
|
||||
this.$apollo.queries.groupVariables.fetchMore({
|
||||
variables: {
|
||||
fullPath: this.groupPath,
|
||||
after: this.pageInfo.endCursor,
|
||||
},
|
||||
});
|
||||
},
|
||||
updateVariable(variable) {
|
||||
this.variableMutation(UPDATE_MUTATION_ACTION, variable);
|
||||
},
|
||||
|
@ -74,9 +110,8 @@ export default {
|
|||
},
|
||||
});
|
||||
|
||||
const { errors } = data[currentMutation.name];
|
||||
|
||||
if (errors.length > 0) {
|
||||
if (data[currentMutation.name]?.errors?.length) {
|
||||
const { errors } = data[currentMutation.name];
|
||||
createFlash({ message: errors[0] });
|
||||
}
|
||||
} catch {
|
||||
|
@ -84,6 +119,10 @@ export default {
|
|||
}
|
||||
},
|
||||
},
|
||||
componentName: 'GroupVariables',
|
||||
i18n: {
|
||||
tooManyCallsError: __('Maximum number of variables loaded (2000)'),
|
||||
},
|
||||
mutationData: {
|
||||
[ADD_MUTATION_ACTION]: { action: addGroupVariable, name: 'addGroupVariable' },
|
||||
[UPDATE_MUTATION_ACTION]: { action: updateGroupVariable, name: 'updateGroupVariable' },
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
<script>
|
||||
import createFlash from '~/flash';
|
||||
import { __ } from '~/locale';
|
||||
import { convertToGraphQLId } from '~/graphql_shared/utils';
|
||||
import getProjectEnvironments from '../graphql/queries/project_environments.query.graphql';
|
||||
import getProjectVariables from '../graphql/queries/project_variables.query.graphql';
|
||||
import { mapEnvironmentNames } from '../utils';
|
||||
import { mapEnvironmentNames, reportMessageToSentry } from '../utils';
|
||||
import {
|
||||
ADD_MUTATION_ACTION,
|
||||
DELETE_MUTATION_ACTION,
|
||||
|
@ -25,6 +26,10 @@ export default {
|
|||
inject: ['endpoint', 'projectFullPath', 'projectId'],
|
||||
data() {
|
||||
return {
|
||||
hasNextPage: false,
|
||||
isLoadingMoreItems: false,
|
||||
loadingCounter: 0,
|
||||
pageInfo: {},
|
||||
projectEnvironments: [],
|
||||
projectVariables: [],
|
||||
};
|
||||
|
@ -48,13 +53,34 @@ export default {
|
|||
query: getProjectVariables,
|
||||
variables() {
|
||||
return {
|
||||
after: null,
|
||||
fullPath: this.projectFullPath,
|
||||
};
|
||||
},
|
||||
update(data) {
|
||||
return data?.project?.ciVariables?.nodes || [];
|
||||
},
|
||||
result({ data }) {
|
||||
this.pageInfo = data?.project?.ciVariables?.pageInfo || this.pageInfo;
|
||||
this.hasNextPage = this.pageInfo?.hasNextPage || false;
|
||||
// Because graphQL has a limit of 100 items,
|
||||
// we batch load all the variables by making successive queries
|
||||
// to keep the same UX. As a safeguard, we make sure that we cannot go over
|
||||
// 20 consecutive API calls, which means 2000 variables loaded maximum.
|
||||
if (!this.hasNextPage) {
|
||||
this.isLoadingMoreItems = false;
|
||||
} else if (this.loadingCounter < 20) {
|
||||
this.hasNextPage = false;
|
||||
this.fetchMoreVariables();
|
||||
this.loadingCounter += 1;
|
||||
} else {
|
||||
createFlash({ message: this.$options.tooManyCallsError });
|
||||
reportMessageToSentry(this.$options.componentName, this.$options.tooManyCallsError, {});
|
||||
}
|
||||
},
|
||||
error() {
|
||||
this.isLoadingMoreItems = false;
|
||||
this.hasNextPage = false;
|
||||
createFlash({ message: variableFetchErrorText });
|
||||
},
|
||||
},
|
||||
|
@ -63,7 +89,8 @@ export default {
|
|||
isLoading() {
|
||||
return (
|
||||
this.$apollo.queries.projectVariables.loading ||
|
||||
this.$apollo.queries.projectEnvironments.loading
|
||||
this.$apollo.queries.projectEnvironments.loading ||
|
||||
this.isLoadingMoreItems
|
||||
);
|
||||
},
|
||||
},
|
||||
|
@ -74,6 +101,16 @@ export default {
|
|||
deleteVariable(variable) {
|
||||
this.variableMutation(DELETE_MUTATION_ACTION, variable);
|
||||
},
|
||||
fetchMoreVariables() {
|
||||
this.isLoadingMoreItems = true;
|
||||
|
||||
this.$apollo.queries.projectVariables.fetchMore({
|
||||
variables: {
|
||||
fullPath: this.projectFullPath,
|
||||
after: this.pageInfo.endCursor,
|
||||
},
|
||||
});
|
||||
},
|
||||
updateVariable(variable) {
|
||||
this.variableMutation(UPDATE_MUTATION_ACTION, variable);
|
||||
},
|
||||
|
@ -89,16 +126,19 @@ export default {
|
|||
variable,
|
||||
},
|
||||
});
|
||||
|
||||
const { errors } = data[currentMutation.name];
|
||||
if (errors.length > 0) {
|
||||
if (data[currentMutation.name]?.errors?.length) {
|
||||
const { errors } = data[currentMutation.name];
|
||||
createFlash({ message: errors[0] });
|
||||
}
|
||||
} catch (e) {
|
||||
} catch {
|
||||
createFlash({ message: genericMutationErrorText });
|
||||
}
|
||||
},
|
||||
},
|
||||
componentName: 'ProjectVariables',
|
||||
i18n: {
|
||||
tooManyCallsError: __('Maximum number of variables loaded (2000)'),
|
||||
},
|
||||
mutationData: {
|
||||
[ADD_MUTATION_ACTION]: { action: addProjectVariable, name: 'addProjectVariable' },
|
||||
[UPDATE_MUTATION_ACTION]: { action: updateProjectVariable, name: 'updateProjectVariable' },
|
||||
|
|
|
@ -75,8 +75,7 @@ export default {
|
|||
props: {
|
||||
isLoading: {
|
||||
type: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
required: true,
|
||||
},
|
||||
variables: {
|
||||
type: Array,
|
||||
|
|
|
@ -52,7 +52,7 @@ export const groupString = 'Group';
|
|||
// eslint-disable-next-line @gitlab/require-i18n-strings
|
||||
export const instanceString = 'Instance';
|
||||
// eslint-disable-next-line @gitlab/require-i18n-strings
|
||||
export const projectString = 'Instance';
|
||||
export const projectString = 'Project';
|
||||
|
||||
export const AWS_TIP_DISMISSED_COOKIE_NAME = 'ci_variable_list_constants_aws_tip_dismissed';
|
||||
export const AWS_TIP_MESSAGE = __(
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
#import "~/ci_variable_list/graphql/fragments/ci_variable.fragment.graphql"
|
||||
#import "~/graphql_shared/fragments/page_info.fragment.graphql"
|
||||
|
||||
query getGroupVariables($fullPath: ID!) {
|
||||
query getGroupVariables($after: String, $first: Int = 100, $fullPath: ID!) {
|
||||
group(fullPath: $fullPath) {
|
||||
id
|
||||
ciVariables {
|
||||
ciVariables(after: $after, first: $first) {
|
||||
pageInfo {
|
||||
...PageInfo
|
||||
}
|
||||
nodes {
|
||||
...BaseCiVariable
|
||||
... on CiGroupVariable {
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
#import "~/ci_variable_list/graphql/fragments/ci_variable.fragment.graphql"
|
||||
#import "~/graphql_shared/fragments/page_info.fragment.graphql"
|
||||
|
||||
query getProjectVariables($fullPath: ID!) {
|
||||
query getProjectVariables($after: String, $first: Int = 100, $fullPath: ID!) {
|
||||
project(fullPath: $fullPath) {
|
||||
id
|
||||
ciVariables {
|
||||
ciVariables(after: $after, first: $first) {
|
||||
pageInfo {
|
||||
...PageInfo
|
||||
}
|
||||
nodes {
|
||||
...BaseCiVariable
|
||||
environmentScope
|
||||
|
|
|
@ -1,7 +1,11 @@
|
|||
#import "~/ci_variable_list/graphql/fragments/ci_variable.fragment.graphql"
|
||||
#import "~/graphql_shared/fragments/page_info.fragment.graphql"
|
||||
|
||||
query getVariables {
|
||||
ciVariables {
|
||||
query getVariables($after: String, $first: Int = 100) {
|
||||
ciVariables(after: $after, first: $first) {
|
||||
pageInfo {
|
||||
...PageInfo
|
||||
}
|
||||
nodes {
|
||||
...BaseCiVariable
|
||||
... on CiInstanceVariable {
|
||||
|
|
|
@ -3,7 +3,7 @@ import {
|
|||
convertObjectPropsToCamelCase,
|
||||
convertObjectPropsToSnakeCase,
|
||||
} from '../../lib/utils/common_utils';
|
||||
import { getIdFromGraphQLId } from '../../graphql_shared/utils';
|
||||
import { convertToGraphQLId, getIdFromGraphQLId } from '../../graphql_shared/utils';
|
||||
import {
|
||||
GRAPHQL_GROUP_TYPE,
|
||||
GRAPHQL_PROJECT_TYPE,
|
||||
|
@ -30,6 +30,7 @@ const mapVariableTypes = (variables = [], kind) => {
|
|||
return {
|
||||
__typename: `Ci${kind}Variable`,
|
||||
...convertObjectPropsToCamelCase(ciVar),
|
||||
id: convertToGraphQLId('Ci::Variable', ciVar.id),
|
||||
variableType: ciVar.variable_type ? ciVar.variable_type.toUpperCase() : ciVar.variableType,
|
||||
};
|
||||
});
|
||||
|
@ -40,9 +41,16 @@ const prepareProjectGraphQLResponse = ({ data, projectId, errors = [] }) => {
|
|||
errors,
|
||||
project: {
|
||||
__typename: GRAPHQL_PROJECT_TYPE,
|
||||
id: projectId,
|
||||
id: convertToGraphQLId(GRAPHQL_PROJECT_TYPE, projectId),
|
||||
ciVariables: {
|
||||
__typename: 'CiVariableConnection',
|
||||
__typename: `Ci${GRAPHQL_PROJECT_TYPE}VariableConnection`,
|
||||
pageInfo: {
|
||||
__typename: 'PageInfo',
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: '',
|
||||
endCursor: '',
|
||||
},
|
||||
nodes: mapVariableTypes(data.variables, projectString),
|
||||
},
|
||||
},
|
||||
|
@ -54,9 +62,16 @@ const prepareGroupGraphQLResponse = ({ data, groupId, errors = [] }) => {
|
|||
errors,
|
||||
group: {
|
||||
__typename: GRAPHQL_GROUP_TYPE,
|
||||
id: groupId,
|
||||
id: convertToGraphQLId(GRAPHQL_GROUP_TYPE, groupId),
|
||||
ciVariables: {
|
||||
__typename: 'CiVariableConnection',
|
||||
__typename: `Ci${GRAPHQL_GROUP_TYPE}VariableConnection`,
|
||||
pageInfo: {
|
||||
__typename: 'PageInfo',
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: '',
|
||||
endCursor: '',
|
||||
},
|
||||
nodes: mapVariableTypes(data.variables, groupString),
|
||||
},
|
||||
},
|
||||
|
@ -68,24 +83,42 @@ const prepareAdminGraphQLResponse = ({ data, errors = [] }) => {
|
|||
errors,
|
||||
ciVariables: {
|
||||
__typename: `Ci${instanceString}VariableConnection`,
|
||||
pageInfo: {
|
||||
__typename: 'PageInfo',
|
||||
hasNextPage: false,
|
||||
hasPreviousPage: false,
|
||||
startCursor: '',
|
||||
endCursor: '',
|
||||
},
|
||||
nodes: mapVariableTypes(data.variables, instanceString),
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
const callProjectEndpoint = async ({
|
||||
async function callProjectEndpoint({
|
||||
endpoint,
|
||||
fullPath,
|
||||
variable,
|
||||
projectId,
|
||||
cache,
|
||||
destroy = false,
|
||||
}) => {
|
||||
}) {
|
||||
try {
|
||||
const { data } = await axios.patch(endpoint, {
|
||||
variables_attributes: [prepareVariableForApi({ variable, destroy })],
|
||||
});
|
||||
return prepareProjectGraphQLResponse({ data, projectId });
|
||||
|
||||
const graphqlData = prepareProjectGraphQLResponse({ data, projectId });
|
||||
|
||||
cache.writeQuery({
|
||||
query: getProjectVariables,
|
||||
variables: {
|
||||
fullPath,
|
||||
after: null,
|
||||
},
|
||||
data: graphqlData,
|
||||
});
|
||||
return graphqlData;
|
||||
} catch (e) {
|
||||
return prepareProjectGraphQLResponse({
|
||||
data: cache.readQuery({ query: getProjectVariables, variables: { fullPath } }),
|
||||
|
@ -93,7 +126,7 @@ const callProjectEndpoint = async ({
|
|||
errors: [...e.response.data],
|
||||
});
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const callGroupEndpoint = async ({
|
||||
endpoint,
|
||||
|
@ -107,7 +140,15 @@ const callGroupEndpoint = async ({
|
|||
const { data } = await axios.patch(endpoint, {
|
||||
variables_attributes: [prepareVariableForApi({ variable, destroy })],
|
||||
});
|
||||
return prepareGroupGraphQLResponse({ data, groupId });
|
||||
|
||||
const graphqlData = prepareGroupGraphQLResponse({ data, groupId });
|
||||
|
||||
cache.writeQuery({
|
||||
query: getGroupVariables,
|
||||
data: graphqlData,
|
||||
});
|
||||
|
||||
return graphqlData;
|
||||
} catch (e) {
|
||||
return prepareGroupGraphQLResponse({
|
||||
data: cache.readQuery({ query: getGroupVariables, variables: { fullPath } }),
|
||||
|
@ -123,7 +164,14 @@ const callAdminEndpoint = async ({ endpoint, variable, cache, destroy = false })
|
|||
variables_attributes: [prepareVariableForApi({ variable, destroy })],
|
||||
});
|
||||
|
||||
return prepareAdminGraphQLResponse({ data });
|
||||
const graphqlData = prepareAdminGraphQLResponse({ data });
|
||||
|
||||
cache.writeQuery({
|
||||
query: getAdminVariables,
|
||||
data: graphqlData,
|
||||
});
|
||||
|
||||
return graphqlData;
|
||||
} catch (e) {
|
||||
return prepareAdminGraphQLResponse({
|
||||
data: cache.readQuery({ query: getAdminVariables }),
|
||||
|
@ -163,3 +211,46 @@ export const resolvers = {
|
|||
},
|
||||
},
|
||||
};
|
||||
|
||||
export const mergeVariables = (existing, incoming, { args }) => {
|
||||
if (!existing || !args?.after) {
|
||||
return incoming;
|
||||
}
|
||||
|
||||
const { nodes, ...rest } = incoming;
|
||||
const result = rest;
|
||||
result.nodes = [...existing.nodes, ...nodes];
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
export const cacheConfig = {
|
||||
cacheConfig: {
|
||||
typePolicies: {
|
||||
Query: {
|
||||
fields: {
|
||||
ciVariables: {
|
||||
keyArgs: false,
|
||||
merge: mergeVariables,
|
||||
},
|
||||
},
|
||||
},
|
||||
Project: {
|
||||
fields: {
|
||||
ciVariables: {
|
||||
keyArgs: ['fullPath', 'endpoint', 'projectId'],
|
||||
merge: mergeVariables,
|
||||
},
|
||||
},
|
||||
},
|
||||
Group: {
|
||||
fields: {
|
||||
ciVariables: {
|
||||
keyArgs: ['fullPath'],
|
||||
merge: mergeVariables,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
|
@ -6,7 +6,7 @@ import CiAdminVariables from './components/ci_admin_variables.vue';
|
|||
import CiGroupVariables from './components/ci_group_variables.vue';
|
||||
import CiProjectVariables from './components/ci_project_variables.vue';
|
||||
import LegacyCiVariableSettings from './components/legacy_ci_variable_settings.vue';
|
||||
import { resolvers } from './graphql/resolvers';
|
||||
import { cacheConfig, resolvers } from './graphql/settings';
|
||||
import createStore from './store';
|
||||
|
||||
const mountCiVariableListApp = (containerEl) => {
|
||||
|
@ -45,7 +45,7 @@ const mountCiVariableListApp = (containerEl) => {
|
|||
Vue.use(VueApollo);
|
||||
|
||||
const apolloProvider = new VueApollo({
|
||||
defaultClient: createDefaultClient(resolvers),
|
||||
defaultClient: createDefaultClient(resolvers, cacheConfig),
|
||||
});
|
||||
|
||||
return new Vue({
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import * as Sentry from '@sentry/browser';
|
||||
import { uniq } from 'lodash';
|
||||
import { allEnvironments } from './constants';
|
||||
|
||||
|
@ -48,3 +49,12 @@ export const convertEnvironmentScope = (environmentScope = '') => {
|
|||
export const mapEnvironmentNames = (nodes = []) => {
|
||||
return nodes.map((env) => env.name);
|
||||
};
|
||||
|
||||
export const reportMessageToSentry = (component, message, context) => {
|
||||
Sentry.withScope((scope) => {
|
||||
// eslint-disable-next-line @gitlab/require-i18n-strings
|
||||
scope.setContext('Vue data', context);
|
||||
scope.setTag('component', component);
|
||||
Sentry.captureMessage(message);
|
||||
});
|
||||
};
|
||||
|
|
|
@ -168,7 +168,7 @@ export default {
|
|||
id="discussion-preferences-dropdown"
|
||||
class="full-width-mobile"
|
||||
data-qa-selector="discussion_preferences_dropdown"
|
||||
text="Sort or filter"
|
||||
:text="__('Sort or filter')"
|
||||
:disabled="isLoading"
|
||||
right
|
||||
>
|
||||
|
|
|
@ -162,7 +162,7 @@ export default {
|
|||
</div>
|
||||
</div>
|
||||
<commit-section
|
||||
v-if="showCommitForm"
|
||||
v-show="showCommitForm"
|
||||
:ref="$options.commitSectionRef"
|
||||
:ci-file-content="ciFileContent"
|
||||
:commit-sha="commitSha"
|
||||
|
|
|
@ -99,27 +99,26 @@ module Ci
|
|||
}
|
||||
|
||||
scope :belonging_to_group, -> (group_id) {
|
||||
joins(:runner_namespaces)
|
||||
.where(ci_runner_namespaces: { namespace_id: group_id })
|
||||
joins(:runner_namespaces).where(ci_runner_namespaces: { namespace_id: group_id })
|
||||
}
|
||||
|
||||
scope :belonging_to_group_or_project_descendants, -> (group_id) {
|
||||
group_ids = Ci::NamespaceMirror.by_group_and_descendants(group_id).select(:namespace_id)
|
||||
project_ids = Ci::ProjectMirror.by_namespace_id(group_ids).select(:project_id)
|
||||
|
||||
group_runners = joins(:runner_namespaces).where(ci_runner_namespaces: { namespace_id: group_ids })
|
||||
project_runners = joins(:runner_projects).where(ci_runner_projects: { project_id: project_ids })
|
||||
group_runners = belonging_to_group(group_ids)
|
||||
project_runners = belonging_to_project(project_ids).distinct
|
||||
|
||||
union_sql = ::Gitlab::SQL::Union.new([group_runners, project_runners]).to_sql
|
||||
|
||||
from("(#{union_sql}) #{table_name}")
|
||||
from_union(
|
||||
[group_runners, project_runners],
|
||||
remove_duplicates: false
|
||||
)
|
||||
}
|
||||
|
||||
scope :belonging_to_group_and_ancestors, -> (group_id) {
|
||||
group_self_and_ancestors_ids = ::Group.find_by(id: group_id)&.self_and_ancestor_ids
|
||||
|
||||
joins(:runner_namespaces)
|
||||
.where(ci_runner_namespaces: { namespace_id: group_self_and_ancestors_ids })
|
||||
belonging_to_group(group_self_and_ancestors_ids)
|
||||
}
|
||||
|
||||
scope :belonging_to_parent_group_of_project, -> (project_id) {
|
||||
|
|
|
@ -48,19 +48,22 @@ class Repository
|
|||
# For example, for entry `:commit_count` there's a method called `commit_count` which
|
||||
# stores its data in the `commit_count` cache key.
|
||||
CACHED_METHODS = %i(size commit_count readme_path contribution_guide
|
||||
changelog license_blob license_licensee license_gitaly gitignore
|
||||
changelog license_blob license_key gitignore
|
||||
gitlab_ci_yml branch_names tag_names branch_count
|
||||
tag_count avatar exists? root_ref merged_branch_names
|
||||
has_visible_content? issue_template_names_hash merge_request_template_names_hash
|
||||
user_defined_metrics_dashboard_paths xcode_project? has_ambiguous_refs?).freeze
|
||||
|
||||
# Methods that use cache_method but only memoize the value
|
||||
MEMOIZED_CACHED_METHODS = %i(license).freeze
|
||||
|
||||
# Certain method caches should be refreshed when certain types of files are
|
||||
# changed. This Hash maps file types (as returned by Gitlab::FileDetector) to
|
||||
# the corresponding methods to call for refreshing caches.
|
||||
METHOD_CACHES_FOR_FILE_TYPES = {
|
||||
readme: %i(readme_path),
|
||||
changelog: :changelog,
|
||||
license: %i(license_blob license_licensee license_gitaly),
|
||||
license: %i(license_blob license_key license),
|
||||
contributing: :contribution_guide,
|
||||
gitignore: :gitignore,
|
||||
gitlab_ci: :gitlab_ci_yml,
|
||||
|
@ -647,30 +650,25 @@ class Repository
|
|||
cache_method :license_blob
|
||||
|
||||
def license_key
|
||||
license&.key
|
||||
return unless exists?
|
||||
|
||||
raw_repository.license_short_name
|
||||
end
|
||||
cache_method :license_key
|
||||
|
||||
def license
|
||||
if Feature.enabled?(:license_from_gitaly)
|
||||
license_gitaly
|
||||
else
|
||||
license_licensee
|
||||
end
|
||||
return unless license_key
|
||||
|
||||
licensee_object = Licensee::License.new(license_key)
|
||||
|
||||
return if licensee_object.name.blank?
|
||||
|
||||
licensee_object
|
||||
rescue Licensee::InvalidLicense => e
|
||||
Gitlab::ErrorTracking.track_exception(e)
|
||||
nil
|
||||
end
|
||||
|
||||
def license_licensee
|
||||
return unless exists?
|
||||
|
||||
raw_repository.license(false)
|
||||
end
|
||||
cache_method :license_licensee
|
||||
|
||||
def license_gitaly
|
||||
return unless exists?
|
||||
|
||||
raw_repository.license(true)
|
||||
end
|
||||
cache_method :license_gitaly
|
||||
memoize_method :license
|
||||
|
||||
def gitignore
|
||||
file_on_head(:gitignore)
|
||||
|
|
|
@ -115,7 +115,7 @@ class ResourceLabelEvent < ResourceEvent
|
|||
end
|
||||
|
||||
def discussion_id_key
|
||||
[self.class.name, created_at, user_id]
|
||||
[self.class.name, created_at.to_f, user_id]
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
.settings-content
|
||||
= render 'account_and_limit'
|
||||
|
||||
= render_if_exists 'admin/application_settings/free_user_cap'
|
||||
|
||||
%section.settings.as-diff-limits.no-animate#js-merge-request-settings{ class: ('expanded' if expanded_by_default?) }
|
||||
.settings-header
|
||||
%h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only
|
||||
|
|
|
@ -20,16 +20,15 @@
|
|||
= visibility_level_icon(snippet.visibility_level)
|
||||
|
||||
.snippet-info
|
||||
#{snippet.to_reference} ·
|
||||
authored #{time_ago_with_tooltip(snippet.created_at, placement: 'bottom', html_class: 'snippet-created-ago')}
|
||||
by
|
||||
= link_to user_snippets_path(snippet.author), class: "js-user-link", data: { user_id: snippet.author.id } do
|
||||
= snippet.author_name
|
||||
- if link_project && snippet.project_id?
|
||||
%span.d-none.d-sm-inline-block
|
||||
in
|
||||
= link_to project_path(snippet.project) do
|
||||
= snippet.project.full_name
|
||||
.gl-display-inline{ data: { testid: 'snippet-created-at'} }
|
||||
- created_at = time_ago_with_tooltip(snippet.created_at, placement: 'bottom')
|
||||
- author = link_to(snippet.author_name, user_snippets_path(snippet.author), data: { user_id: snippet.author.id })
|
||||
#{snippet.to_reference} ·
|
||||
- if link_project && snippet.project_id?
|
||||
- project_link = link_to(snippet.project.full_name, project_path(snippet.project))
|
||||
= _('created %{timeAgo} by %{author} in %{project_link}').html_safe % { timeAgo: created_at, author: author, project_link: project_link }
|
||||
- else
|
||||
= _('created %{timeAgo} by %{author}').html_safe % { timeAgo: created_at, author: author }
|
||||
|
||||
.float-right.snippet-updated-at
|
||||
%span updated #{time_ago_with_tooltip(snippet.updated_at, placement: 'bottom')}
|
||||
.float-right
|
||||
= _('updated %{timeAgo}').html_safe % { timeAgo: time_ago_with_tooltip(snippet.updated_at, placement: 'bottom') }
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: cache_issue_sums
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/95048
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/365940
|
||||
milestone: '15.4'
|
||||
type: development
|
||||
group: group::product planning
|
||||
default_enabled: false
|
|
@ -1,8 +0,0 @@
|
|||
---
|
||||
name: license_from_gitaly
|
||||
introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/77041
|
||||
rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/374300
|
||||
milestone: '15.5'
|
||||
type: development
|
||||
group: group::gitaly
|
||||
default_enabled: false
|
|
@ -1,17 +0,0 @@
|
|||
const { languagesArr } = require('monaco-editor-webpack-plugin/out/languages');
|
||||
|
||||
// monaco-yaml library doesn't play so well with monaco-editor-webpack-plugin
|
||||
// so the only way to include its workers is by patching the list of languages
|
||||
// in monaco-editor-webpack-plugin and adding support for yaml workers. This is
|
||||
// a known issue in the library and this workaround was suggested here:
|
||||
// https://github.com/pengx17/monaco-yaml/issues/20
|
||||
|
||||
const yamlLang = languagesArr.find((t) => t.label === 'yaml');
|
||||
|
||||
yamlLang.entry = [yamlLang.entry, '../../monaco-yaml/lib/esm/monaco.contribution'];
|
||||
yamlLang.worker = {
|
||||
id: 'vs/language/yaml/yamlWorker',
|
||||
entry: '../../monaco-yaml/lib/esm/yaml.worker.js',
|
||||
};
|
||||
|
||||
module.exports = require('monaco-editor-webpack-plugin');
|
|
@ -0,0 +1,11 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class AddDashboardLimitToApplicationSettings < Gitlab::Database::Migration[2.0]
|
||||
def change
|
||||
add_column :application_settings, :dashboard_limit_enabled, :boolean, default: false, null: false
|
||||
add_column :application_settings, :dashboard_limit, :integer, default: 0, null: false
|
||||
add_column :application_settings, :dashboard_notification_limit, :integer, default: 0, null: false
|
||||
add_column :application_settings, :dashboard_enforcement_limit, :integer, default: 0, null: false
|
||||
add_column :application_settings, :dashboard_limit_new_namespace_creation_enforcement_date, :date
|
||||
end
|
||||
end
|
|
@ -0,0 +1 @@
|
|||
3655ee5c3c963d0e413bce86eb9c74cc7bc71c3ab5acb54c76daacff8ff07354
|
|
@ -11507,6 +11507,11 @@ CREATE TABLE application_settings (
|
|||
cube_api_base_url text,
|
||||
encrypted_cube_api_key bytea,
|
||||
encrypted_cube_api_key_iv bytea,
|
||||
dashboard_limit_enabled boolean DEFAULT false NOT NULL,
|
||||
dashboard_limit integer DEFAULT 0 NOT NULL,
|
||||
dashboard_notification_limit integer DEFAULT 0 NOT NULL,
|
||||
dashboard_enforcement_limit integer DEFAULT 0 NOT NULL,
|
||||
dashboard_limit_new_namespace_creation_enforcement_date date,
|
||||
CONSTRAINT app_settings_container_reg_cleanup_tags_max_list_size_positive CHECK ((container_registry_cleanup_tags_service_max_list_size >= 0)),
|
||||
CONSTRAINT app_settings_container_registry_pre_import_tags_rate_positive CHECK ((container_registry_pre_import_tags_rate >= (0)::numeric)),
|
||||
CONSTRAINT app_settings_dep_proxy_ttl_policies_worker_capacity_positive CHECK ((dependency_proxy_ttl_group_policy_worker_capacity >= 0)),
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Data Stores
|
||||
group: Application Performance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Application cache interval **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Govern
|
||||
group: Compliance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Audit event streaming **(ULTIMATE)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Govern
|
||||
group: Compliance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Audit Events **(PREMIUM)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Govern
|
||||
group: Compliance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
description: 'Learn how to create evidence artifacts typically requested by a 3rd party auditor.'
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Auditor users **(PREMIUM SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Atlassian OmniAuth Provider **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Authentiq OmniAuth Provider **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: concepts, howto
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Amazon Web Services Cognito **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Atlassian Crowd OmniAuth provider (deprecated) **(FREE SELF)**
|
||||
|
|
|
@ -3,7 +3,7 @@ comments: false
|
|||
type: index
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# GitLab authentication and authorization **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# JWT OmniAuth provider **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Google Secure LDAP **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Integrate LDAP with GitLab **(FREE SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Troubleshooting LDAP **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# LDAP synchronization **(PREMIUM SELF)**
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
type: reference
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# OpenID Connect OmniAuth provider **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Manage
|
||||
group: Authentication and Authorization
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Configure
|
||||
group: Configure
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Install the GitLab agent server for Kubernetes (KAS) **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Govern
|
||||
group: Compliance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Compliance features **(FREE)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Host the GitLab product documentation **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Verify
|
||||
group: Pipeline Execution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference, howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
description: "GitLab administrator: enable and disable GitLab features deployed behind feature flags"
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Automatic background verification **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Disaster Recovery (Geo) **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Geo **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Geo Frequently Asked Questions **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Geo validation tests **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Troubleshooting Geo **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
<!-- Please update EE::GitLab::GeoGitAccess::GEO_SERVER_DOCS_URL if this file is moved) -->
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Version-specific upgrade instructions **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Geo with external PostgreSQL instances **(PREMIUM SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Geo
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Create
|
||||
group: Source Code
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
description: "Set and configure Git protocol v2"
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Configure Gitaly **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Gitaly and Gitaly Cluster **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Monitoring Gitaly and Gitaly Cluster
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Configure Gitaly Cluster **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Gitaly Cluster recovery options and tools
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Gitaly reference **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Gitaly
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Troubleshooting Gitaly and Gitaly Cluster **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Housekeeping **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Govern
|
||||
group: Compliance
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Inactive project deletion **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Plan
|
||||
group: Project Management
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Incoming email **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Systems
|
||||
group: Distribution
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Growth
|
||||
group: Acquisition
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Instance review **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Plan
|
||||
group: Project Management
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Kroki diagrams **(FREE SELF)**
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Plan
|
||||
group: Project Management
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
type: reference, howto
|
||||
---
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
stage: Configure
|
||||
group: Configure
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments
|
||||
info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments
|
||||
---
|
||||
|
||||
# Web terminals (DEPRECATED) **(FREE)**
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue