summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/assets/javascripts/notes/components/diff_with_note.vue7
-rw-r--r--app/assets/javascripts/repository/components/last_commit.vue145
-rw-r--r--app/assets/javascripts/repository/index.js19
-rw-r--r--app/assets/javascripts/repository/queries/pathLastCommit.query.graphql29
-rw-r--r--app/assets/javascripts/vue_shared/components/paginated_list.vue35
-rw-r--r--app/controllers/admin/application_settings_controller.rb83
-rw-r--r--app/controllers/projects/environments_controller.rb14
-rw-r--r--app/helpers/issuables_helper.rb4
-rw-r--r--app/models/clusters/platforms/kubernetes.rb13
-rw-r--r--app/models/concerns/deployment_platform.rb39
-rw-r--r--app/models/note.rb2
-rw-r--r--app/models/project_services/kubernetes_service.rb9
-rw-r--r--app/serializers/merge_request_widget_entity.rb5
-rw-r--r--app/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service.rb19
-rw-r--r--app/views/admin/application_settings/_abuse.html.haml2
-rw-r--r--app/views/admin/application_settings/_ci_cd.html.haml2
-rw-r--r--app/views/admin/application_settings/_email.html.haml2
-rw-r--r--app/views/admin/application_settings/_gitaly.html.haml2
-rw-r--r--app/views/admin/application_settings/_help_page.html.haml2
-rw-r--r--app/views/admin/application_settings/_influx.html.haml2
-rw-r--r--app/views/admin/application_settings/_ip_limits.html.haml2
-rw-r--r--app/views/admin/application_settings/_localization.html.haml2
-rw-r--r--app/views/admin/application_settings/_logging.html.haml2
-rw-r--r--app/views/admin/application_settings/_outbound.html.haml2
-rw-r--r--app/views/admin/application_settings/_pages.html.haml2
-rw-r--r--app/views/admin/application_settings/_performance.html.haml2
-rw-r--r--app/views/admin/application_settings/_performance_bar.html.haml2
-rw-r--r--app/views/admin/application_settings/_plantuml.html.haml2
-rw-r--r--app/views/admin/application_settings/_prometheus.html.haml2
-rw-r--r--app/views/admin/application_settings/_realtime.html.haml2
-rw-r--r--app/views/admin/application_settings/_registry.html.haml2
-rw-r--r--app/views/admin/application_settings/_repository_check.html.haml2
-rw-r--r--app/views/admin/application_settings/_repository_mirrors_form.html.haml2
-rw-r--r--app/views/admin/application_settings/_repository_storage.html.haml2
-rw-r--r--app/views/admin/application_settings/_spam.html.haml2
-rw-r--r--app/views/admin/application_settings/_third_party_offers.html.haml2
-rw-r--r--app/views/admin/application_settings/_usage.html.haml2
-rw-r--r--app/views/projects/merge_requests/show.html.haml2
-rw-r--r--changelogs/unreleased/57973-errors-in-application-settings-panel-shows-wrong-panel.yml5
-rw-r--r--changelogs/unreleased/59028-fix-extra-plus-in-diffs.yml5
-rw-r--r--changelogs/unreleased/62772-disable-kubernetes-credential-passthrough.yml5
-rw-r--r--changelogs/unreleased/62772-migrate-managed-clusters-to-unmanaged.yml6
-rw-r--r--changelogs/unreleased/63079-migrate-clusters-with-no-token-to-unmanaged.yml6
-rw-r--r--changelogs/unreleased/63507-fix-race-condition-fetching-token.yml5
-rw-r--r--changelogs/unreleased/bug-63162-duplicate_path_in_links.yml5
-rw-r--r--changelogs/unreleased/paginate-license-management.yml5
-rw-r--r--changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml5
-rw-r--r--changelogs/unreleased/sh-omit-issues-links-on-poll.yml5
-rw-r--r--changelogs/unreleased/zj-gitaly-usage-data.yml5
-rw-r--r--config/database.yml.postgresql9
-rw-r--r--config/dependency_decisions.yml7
-rw-r--r--config/gitlab.yml.example198
-rw-r--r--config/initializers/1_settings.rb14
-rw-r--r--config/prometheus/common_metrics.yml4
-rw-r--r--config/routes/admin.rb2
-rw-r--r--config/settings.rb6
-rw-r--r--config/sidekiq_queues.yml17
-rw-r--r--db/post_migrate/20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb48
-rw-r--r--db/post_migrate/20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb48
-rw-r--r--doc/ci/docker/using_docker_images.md2
-rw-r--r--doc/development/architecture.md6
-rw-r--r--doc/development/contributing/issue_workflow.md52
-rw-r--r--doc/development/testing_guide/end_to_end/index.md12
-rw-r--r--doc/user/application_security/license_management/img/license_management_add_license.pngbin0 -> 87049 bytes
-rw-r--r--doc/user/application_security/license_management/img/license_management_search.pngbin0 -> 104278 bytes
-rw-r--r--doc/user/application_security/license_management/img/license_management_settings.pngbin13300 -> 171592 bytes
-rw-r--r--doc/user/application_security/license_management/index.md16
-rw-r--r--doc/user/project/clusters/index.md8
-rw-r--r--doc/user/project/deploy_boards.md2
-rw-r--r--doc/user/project/description_templates.md2
-rw-r--r--doc/user/project/quick_actions.md12
-rw-r--r--lib/banzai/filter/relative_link_filter.rb2
-rw-r--r--lib/gitaly/server.rb18
-rw-r--r--lib/gitlab.rb16
-rw-r--r--lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb2
-rw-r--r--lib/gitlab/ci/pipeline/expression/lexer.rb2
-rw-r--r--lib/gitlab/ci/pipeline/expression/parser.rb2
-rw-r--r--lib/gitlab/json_cache.rb2
-rw-r--r--lib/gitlab/metrics/dashboard/base_service.rb11
-rw-r--r--lib/gitlab/metrics/dashboard/dynamic_dashboard_service.rb65
-rw-r--r--lib/gitlab/metrics/dashboard/finder.rb32
-rw-r--r--lib/gitlab/usage_data.rb3
-rw-r--r--locale/ar_SA/gitlab.po74
-rw-r--r--locale/bg/gitlab.po74
-rw-r--r--locale/bn_BD/gitlab.po74
-rw-r--r--locale/bn_IN/gitlab.po74
-rw-r--r--locale/ca_ES/gitlab.po74
-rw-r--r--locale/cs_CZ/gitlab.po74
-rw-r--r--locale/cy_GB/gitlab.po74
-rw-r--r--locale/da_DK/gitlab.po74
-rw-r--r--locale/de/gitlab.po74
-rw-r--r--locale/el_GR/gitlab.po74
-rw-r--r--locale/eo/gitlab.po74
-rw-r--r--locale/es/gitlab.po116
-rw-r--r--locale/et_EE/gitlab.po74
-rw-r--r--locale/fil_PH/gitlab.po74
-rw-r--r--locale/fr/gitlab.po74
-rw-r--r--locale/gitlab.pot10
-rw-r--r--locale/gl_ES/gitlab.po74
-rw-r--r--locale/he_IL/gitlab.po74
-rw-r--r--locale/hi_IN/gitlab.po74
-rw-r--r--locale/hr_HR/gitlab.po74
-rw-r--r--locale/hu_HU/gitlab.po74
-rw-r--r--locale/id_ID/gitlab.po74
-rw-r--r--locale/it/gitlab.po74
-rw-r--r--locale/ja/gitlab.po108
-rw-r--r--locale/ka_GE/gitlab.po74
-rw-r--r--locale/ko/gitlab.po90
-rw-r--r--locale/mn_MN/gitlab.po74
-rw-r--r--locale/nb_NO/gitlab.po74
-rw-r--r--locale/nl_NL/gitlab.po74
-rw-r--r--locale/pa_IN/gitlab.po74
-rw-r--r--locale/pl_PL/gitlab.po74
-rw-r--r--locale/pt_BR/gitlab.po112
-rw-r--r--locale/pt_PT/gitlab.po614
-rw-r--r--locale/ro_RO/gitlab.po74
-rw-r--r--locale/ru/gitlab.po74
-rw-r--r--locale/sk_SK/gitlab.po74
-rw-r--r--locale/sq_AL/gitlab.po74
-rw-r--r--locale/sr_CS/gitlab.po74
-rw-r--r--locale/sr_SP/gitlab.po74
-rw-r--r--locale/sv_SE/gitlab.po74
-rw-r--r--locale/sw_KE/gitlab.po74
-rw-r--r--locale/tr_TR/gitlab.po74
-rw-r--r--locale/uk/gitlab.po112
-rw-r--r--locale/zh_CN/gitlab.po74
-rw-r--r--locale/zh_HK/gitlab.po74
-rw-r--r--locale/zh_TW/gitlab.po74
-rw-r--r--qa/README.md19
-rw-r--r--spec/controllers/admin/application_settings_controller_spec.rb33
-rw-r--r--spec/controllers/projects/environments_controller_spec.rb13
-rw-r--r--spec/fast_spec_helper.rb1
-rw-r--r--spec/features/admin/admin_settings_spec.rb21
-rw-r--r--spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json13
-rw-r--r--spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json11
-rw-r--r--spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap98
-rw-r--r--spec/frontend/repository/components/last_commit_spec.js103
-rw-r--r--spec/frontend/vue_shared/components/paginated_list_spec.js56
-rw-r--r--spec/javascripts/notes/components/diff_with_note_spec.js13
-rw-r--r--spec/lib/banzai/filter/relative_link_filter_spec.rb7
-rw-r--r--spec/lib/gitaly/server_spec.rb6
-rw-r--r--spec/lib/gitlab/json_cache_spec.rb10
-rw-r--r--spec/lib/gitlab/metrics/dashboard/dynamic_dashboard_service_spec.rb30
-rw-r--r--spec/lib/gitlab/metrics/dashboard/finder_spec.rb8
-rw-r--r--spec/lib/gitlab/usage_data_spec.rb5
-rw-r--r--spec/lib/gitlab_spec.rb32
-rw-r--r--spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb55
-rw-r--r--spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb59
-rw-r--r--spec/models/clusters/platforms/kubernetes_spec.rb32
-rw-r--r--spec/models/concerns/deployment_platform_spec.rb53
-rw-r--r--spec/models/project_services/kubernetes_service_spec.rb8
-rw-r--r--spec/models/project_spec.rb4
-rw-r--r--spec/serializers/merge_request_widget_entity_spec.rb13
-rw-r--r--spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb56
-rw-r--r--spec/support/helpers/kubernetes_helpers.rb24
-rw-r--r--spec/support/helpers/metrics_dashboard_helpers.rb16
156 files changed, 4480 insertions, 1515 deletions
diff --git a/app/assets/javascripts/notes/components/diff_with_note.vue b/app/assets/javascripts/notes/components/diff_with_note.vue
index b95835ed10a..54c242b2fda 100644
--- a/app/assets/javascripts/notes/components/diff_with_note.vue
+++ b/app/assets/javascripts/notes/components/diff_with_note.vue
@@ -7,6 +7,8 @@ import { GlSkeletonLoading } from '@gitlab/ui';
import { getDiffMode } from '~/diffs/store/utils';
import { diffViewerModes } from '~/ide/constants';
+const FIRST_CHAR_REGEX = /^(\+|-| )/;
+
export default {
components: {
DiffFileHeader,
@@ -59,6 +61,9 @@ export default {
this.error = true;
});
},
+ trimChar(line) {
+ return line.replace(FIRST_CHAR_REGEX, '');
+ },
},
userColorSchemeClass: window.gon.user_color_scheme,
};
@@ -83,7 +88,7 @@ export default {
>
<td :class="line.type" class="diff-line-num old_line">{{ line.old_line }}</td>
<td :class="line.type" class="diff-line-num new_line">{{ line.new_line }}</td>
- <td :class="line.type" class="line_content" v-html="line.rich_text"></td>
+ <td :class="line.type" class="line_content" v-html="trimChar(line.rich_text)"></td>
</tr>
</template>
<tr v-if="!hasTruncatedDiffLines" class="line_holder line-holder-placeholder">
diff --git a/app/assets/javascripts/repository/components/last_commit.vue b/app/assets/javascripts/repository/components/last_commit.vue
new file mode 100644
index 00000000000..f25cee9bb57
--- /dev/null
+++ b/app/assets/javascripts/repository/components/last_commit.vue
@@ -0,0 +1,145 @@
+<script>
+import { GlTooltipDirective, GlLink, GlButton } from '@gitlab/ui';
+import { sprintf, s__ } from '~/locale';
+import Icon from '../../vue_shared/components/icon.vue';
+import UserAvatarLink from '../../vue_shared/components/user_avatar/user_avatar_link.vue';
+import TimeagoTooltip from '../../vue_shared/components/time_ago_tooltip.vue';
+import CommitPipelineStatus from '../../projects/tree/components/commit_pipeline_status_component.vue';
+import CiIcon from '../../vue_shared/components/ci_icon.vue';
+import ClipboardButton from '../../vue_shared/components/clipboard_button.vue';
+import getRefMixin from '../mixins/get_ref';
+import getProjectPath from '../queries/getProjectPath.query.graphql';
+import pathLastCommit from '../queries/pathLastCommit.query.graphql';
+
+export default {
+ components: {
+ Icon,
+ UserAvatarLink,
+ TimeagoTooltip,
+ CommitPipelineStatus,
+ ClipboardButton,
+ CiIcon,
+ GlLink,
+ GlButton,
+ },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ mixins: [getRefMixin],
+ apollo: {
+ projectPath: {
+ query: getProjectPath,
+ },
+ commit: {
+ query: pathLastCommit,
+ variables() {
+ return {
+ projectPath: this.projectPath,
+ ref: this.ref,
+ path: this.currentPath.replace(/^\//, ''),
+ };
+ },
+ update: data => data.project.repository.tree.commit,
+ },
+ },
+ props: {
+ currentPath: {
+ type: String,
+ required: false,
+ default: '',
+ },
+ },
+ data() {
+ return {
+ projectPath: '',
+ commit: {},
+ showDescription: false,
+ };
+ },
+ computed: {
+ statusTitle() {
+ return sprintf(s__('Commits|Commit: %{commitText}'), {
+ commitText: this.commit.pipeline.detailedStatus.text,
+ });
+ },
+ isLoading() {
+ return this.$apollo.queries.commit.loading;
+ },
+ showCommitId() {
+ return this.commit.id.substr(0, 8);
+ },
+ },
+ methods: {
+ toggleShowDescription() {
+ this.showDescription = !this.showDescription;
+ },
+ },
+};
+</script>
+
+<template>
+ <div v-if="!isLoading" class="info-well d-none d-sm-flex project-last-commit commit p-3">
+ <user-avatar-link
+ v-if="commit.author"
+ :link-href="commit.author.webUrl"
+ :img-src="commit.author.avatarUrl"
+ :img-size="40"
+ class="avatar-cell"
+ />
+ <div class="commit-detail flex-list">
+ <div class="commit-content qa-commit-content">
+ <gl-link :href="commit.webUrl" class="commit-row-message item-title">
+ {{ commit.title }}
+ </gl-link>
+ <gl-button
+ v-if="commit.description"
+ :class="{ open: showDescription }"
+ :aria-label="__('Show commit description')"
+ class="text-expander"
+ @click="toggleShowDescription"
+ >
+ <icon name="ellipsis_h" />
+ </gl-button>
+ <div class="committer">
+ <gl-link
+ v-if="commit.author"
+ :href="commit.author.webUrl"
+ class="commit-author-link js-user-link"
+ >
+ {{ commit.author.name }}
+ </gl-link>
+ authored
+ <timeago-tooltip :time="commit.authoredDate" tooltip-placement="bottom" />
+ </div>
+ <pre
+ v-if="commit.description"
+ v-show="showDescription"
+ class="commit-row-description append-bottom-8"
+ >
+ {{ commit.description }}
+ </pre>
+ </div>
+ <div class="commit-actions flex-row">
+ <gl-link
+ v-if="commit.pipeline"
+ v-gl-tooltip
+ :href="commit.pipeline.detailedStatus.detailsPath"
+ :title="statusTitle"
+ class="js-commit-pipeline"
+ >
+ <ci-icon :status="commit.pipeline.detailedStatus" :size="24" :aria-label="statusTitle" />
+ </gl-link>
+ <div class="commit-sha-group d-flex">
+ <div class="label label-monospace monospace">
+ {{ showCommitId }}
+ </div>
+ <clipboard-button
+ :text="commit.id"
+ :title="__('Copy commit SHA to clipboard')"
+ tooltip-placement="bottom"
+ />
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
diff --git a/app/assets/javascripts/repository/index.js b/app/assets/javascripts/repository/index.js
index 52f53be045b..d9216e88676 100644
--- a/app/assets/javascripts/repository/index.js
+++ b/app/assets/javascripts/repository/index.js
@@ -2,6 +2,7 @@ import Vue from 'vue';
import createRouter from './router';
import App from './components/app.vue';
import Breadcrumbs from './components/breadcrumbs.vue';
+import LastCommit from './components/last_commit.vue';
import apolloProvider from './graphql';
import { setTitle } from './utils/title';
@@ -48,6 +49,24 @@ export default function setupVueRepositoryList() {
},
});
+ const commitEl = document.getElementById('js-last-commit');
+
+ if (commitEl) {
+ // eslint-disable-next-line no-new
+ new Vue({
+ el: commitEl,
+ router,
+ apolloProvider,
+ render(h) {
+ return h(LastCommit, {
+ props: {
+ currentPath: this.$route.params.pathMatch,
+ },
+ });
+ },
+ });
+ }
+
return new Vue({
el,
router,
diff --git a/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
new file mode 100644
index 00000000000..90901f54d54
--- /dev/null
+++ b/app/assets/javascripts/repository/queries/pathLastCommit.query.graphql
@@ -0,0 +1,29 @@
+query pathLastCommit($projectPath: ID!, $path: String, $ref: String!) {
+ project(fullPath: $projectPath) {
+ repository {
+ tree(path: $path, ref: $ref) {
+ commit {
+ id
+ title
+ message
+ webUrl
+ authoredDate
+ author {
+ name
+ avatarUrl
+ webUrl
+ }
+ pipeline {
+ detailedStatus {
+ detailsPath
+ icon
+ tooltip
+ text
+ group
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/app/assets/javascripts/vue_shared/components/paginated_list.vue b/app/assets/javascripts/vue_shared/components/paginated_list.vue
new file mode 100644
index 00000000000..e19b8510399
--- /dev/null
+++ b/app/assets/javascripts/vue_shared/components/paginated_list.vue
@@ -0,0 +1,35 @@
+<script>
+import { GlPaginatedList } from '@gitlab/ui';
+import { PREV, NEXT } from '~/vue_shared/components/pagination/constants';
+
+export default {
+ components: {
+ GlPaginatedList,
+ },
+ labels: {
+ prev: PREV,
+ next: NEXT,
+ },
+};
+</script>
+
+<template>
+ <gl-paginated-list
+ v-bind="$attrs"
+ :prev-text="$options.labels.prev"
+ :next-text="$options.labels.next"
+ >
+ <!-- proxy the slots -->
+ <template #header>
+ <slot name="header"></slot>
+ </template>
+
+ <template #subheader>
+ <slot name="subheader"></slot>
+ </template>
+
+ <template #default="{ listItem, query }">
+ <slot :listItem="listItem" :query="query"></slot>
+ </template>
+ </gl-paginated-list>
+</template>
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index 57b976b9121..42634bf611e 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -6,56 +6,19 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
before_action :set_application_setting
before_action :whitelist_query_limiting, only: [:usage_data]
- def show
- end
-
- def integrations
- end
-
- def repository
- end
-
- def templates
- end
-
- def ci_cd
- end
-
- def reporting
- end
-
- def metrics_and_profiling
- end
-
- def network
- end
+ VALID_SETTING_PANELS = %w(show integrations repository templates
+ ci_cd reporting metrics_and_profiling
+ network geo preferences).freeze
- def geo
+ def show
end
- def preferences
+ (VALID_SETTING_PANELS - %w(show)).each do |action|
+ define_method(action) { perform_update if submitted? }
end
def update
- successful = ApplicationSettings::UpdateService
- .new(@application_setting, current_user, application_setting_params)
- .execute
-
- if recheck_user_consent?
- session[:ask_for_usage_stats_consent] = current_user.requires_usage_stats_consent?
- end
-
- redirect_path = referer_path(request) || admin_application_settings_path
-
- respond_to do |format|
- if successful
- format.json { head :ok }
- format.html { redirect_to redirect_path, notice: _('Application settings saved successfully') }
- else
- format.json { head :bad_request }
- format.html { render :show }
- end
- end
+ perform_update
end
def usage_data
@@ -149,6 +112,38 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
]
end
+ def submitted?
+ request.patch?
+ end
+
+ def perform_update
+ successful = ApplicationSettings::UpdateService
+ .new(@application_setting, current_user, application_setting_params)
+ .execute
+
+ if recheck_user_consent?
+ session[:ask_for_usage_stats_consent] = current_user.requires_usage_stats_consent?
+ end
+
+ redirect_path = referer_path(request) || admin_application_settings_path
+
+ respond_to do |format|
+ if successful
+ format.json { head :ok }
+ format.html { redirect_to redirect_path, notice: _('Application settings saved successfully') }
+ else
+ format.json { head :bad_request }
+ format.html { render_update_error }
+ end
+ end
+ end
+
+ def render_update_error
+ action = VALID_SETTING_PANELS.include?(action_name) ? action_name : :show
+
+ render action
+ end
+
def lets_encrypt_visible_attributes
return [] unless Feature.enabled?(:pages_auto_ssl)
diff --git a/app/controllers/projects/environments_controller.rb b/app/controllers/projects/environments_controller.rb
index ae46a234aa6..ecf05e6ea64 100644
--- a/app/controllers/projects/environments_controller.rb
+++ b/app/controllers/projects/environments_controller.rb
@@ -162,9 +162,17 @@ class Projects::EnvironmentsController < Projects::ApplicationController
return render_403 unless Feature.enabled?(:environment_metrics_use_prometheus_endpoint, project)
if Feature.enabled?(:environment_metrics_show_multiple_dashboards, project)
- result = dashboard_finder.find(project, current_user, environment, params[:dashboard])
-
- result[:all_dashboards] = dashboard_finder.find_all_paths(project)
+ result = dashboard_finder.find(
+ project,
+ current_user,
+ environment,
+ dashboard_path: params[:dashboard],
+ embedded: params[:embedded]
+ )
+
+ unless params[:embedded]
+ result[:all_dashboards] = dashboard_finder.find_all_paths(project)
+ end
else
result = dashboard_finder.find(project, current_user, environment)
end
diff --git a/app/helpers/issuables_helper.rb b/app/helpers/issuables_helper.rb
index 9a12db258d5..150f24a5d5b 100644
--- a/app/helpers/issuables_helper.rb
+++ b/app/helpers/issuables_helper.rb
@@ -74,7 +74,7 @@ module IssuablesHelper
end
end
- def serialize_issuable(issuable, serializer: nil)
+ def serialize_issuable(issuable, opts = {})
serializer_klass = case issuable
when Issue
IssueSerializer
@@ -84,7 +84,7 @@ module IssuablesHelper
serializer_klass
.new(current_user: current_user, project: issuable.project)
- .represent(issuable, serializer: serializer)
+ .represent(issuable, opts)
.to_json
end
diff --git a/app/models/clusters/platforms/kubernetes.rb b/app/models/clusters/platforms/kubernetes.rb
index 272861cacf0..2afe471d1cc 100644
--- a/app/models/clusters/platforms/kubernetes.rb
+++ b/app/models/clusters/platforms/kubernetes.rb
@@ -91,19 +91,6 @@ module Clusters
elsif kubernetes_namespace = cluster.kubernetes_namespaces.has_service_account_token.find_by(project: project)
variables.concat(kubernetes_namespace.predefined_variables)
- elsif cluster.project_type?
- # As of 11.11 a user can create a cluster that they manage themselves,
- # which replicates the existing project-level cluster behaviour.
- # Once we have marked all project-level clusters that make use of this
- # behaviour as "unmanaged", we can remove the `cluster.project_type?`
- # check here.
- project_namespace = cluster.kubernetes_namespace_for(project)
-
- variables
- .append(key: 'KUBE_URL', value: api_url)
- .append(key: 'KUBE_TOKEN', value: token, public: false, masked: true)
- .append(key: 'KUBE_NAMESPACE', value: project_namespace)
- .append(key: 'KUBECONFIG', value: kubeconfig(project_namespace), public: false, file: true)
end
variables.concat(cluster.predefined_variables)
diff --git a/app/models/concerns/deployment_platform.rb b/app/models/concerns/deployment_platform.rb
index 9ac0d612db3..1bd8a799f0d 100644
--- a/app/models/concerns/deployment_platform.rb
+++ b/app/models/concerns/deployment_platform.rb
@@ -14,9 +14,7 @@ module DeploymentPlatform
def find_deployment_platform(environment)
find_cluster_platform_kubernetes(environment: environment) ||
find_group_cluster_platform_kubernetes_with_feature_guard(environment: environment) ||
- find_instance_cluster_platform_kubernetes_with_feature_guard(environment: environment) ||
- find_kubernetes_service_integration ||
- build_cluster_and_deployment_platform
+ find_instance_cluster_platform_kubernetes_with_feature_guard(environment: environment)
end
# EE would override this and utilize environment argument
@@ -48,39 +46,4 @@ module DeploymentPlatform
Clusters::Instance.new.clusters.enabled.default_environment
.first&.platform_kubernetes
end
-
- def find_kubernetes_service_integration
- services.deployment.reorder(nil).find_by(active: true)
- end
-
- def build_cluster_and_deployment_platform
- return unless kubernetes_service_template
-
- cluster = ::Clusters::Cluster.create(cluster_attributes_from_service_template)
- cluster.platform_kubernetes if cluster.persisted?
- end
-
- def kubernetes_service_template
- @kubernetes_service_template ||= KubernetesService.active.find_by_template
- end
-
- def cluster_attributes_from_service_template
- {
- name: 'kubernetes-template',
- projects: [self],
- cluster_type: :project_type,
- provider_type: :user,
- platform_type: :kubernetes,
- platform_kubernetes_attributes: platform_kubernetes_attributes_from_service_template
- }
- end
-
- def platform_kubernetes_attributes_from_service_template
- {
- api_url: kubernetes_service_template.api_url,
- ca_pem: kubernetes_service_template.ca_pem,
- token: kubernetes_service_template.token,
- namespace: kubernetes_service_template.namespace
- }
- end
end
diff --git a/app/models/note.rb b/app/models/note.rb
index 15271c68a9e..b55af7d9b5e 100644
--- a/app/models/note.rb
+++ b/app/models/note.rb
@@ -457,7 +457,7 @@ class Note < ApplicationRecord
end
def banzai_render_context(field)
- super.merge(noteable: noteable)
+ super.merge(noteable: noteable, system_note: system?)
end
def retrieve_upload(_identifier, paths)
diff --git a/app/models/project_services/kubernetes_service.rb b/app/models/project_services/kubernetes_service.rb
index edf7e886e77..27b7827d55e 100644
--- a/app/models/project_services/kubernetes_service.rb
+++ b/app/models/project_services/kubernetes_service.rb
@@ -170,12 +170,11 @@ class KubernetesService < Service
def deprecation_message
content = if project
- _("Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new <a href=\"%{url}\"/>Kubernetes Clusters</a> page") % {
- deprecated_message_content: deprecated_message_content,
+ _("Kubernetes service integration has been disabled. Fields on this page are not used by GitLab, you can configure your Kubernetes clusters using the new <a href=\"%{url}\"/>Kubernetes Clusters</a> page") % {
url: Gitlab::Routing.url_helpers.project_clusters_path(project)
}
else
- _("The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>.") % {
+ _("The instance-level Kubernetes service integration is disabled. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>.") % {
url: Gitlab::Routing.url_helpers.admin_clusters_path
}
end
@@ -260,8 +259,4 @@ class KubernetesService < Service
errors[:base] << deprecation_message
end
end
-
- def deprecated_message_content
- _("Fields on this page are now uneditable, you can configure")
- end
end
diff --git a/app/serializers/merge_request_widget_entity.rb b/app/serializers/merge_request_widget_entity.rb
index a428930dbbf..43aced598a9 100644
--- a/app/serializers/merge_request_widget_entity.rb
+++ b/app/serializers/merge_request_widget_entity.rb
@@ -114,7 +114,10 @@ class MergeRequestWidgetEntity < IssuableEntity
presenter(merge_request).ci_status
end
- expose :issues_links do
+ # Rendering and redacting Markdown can be expensive. These links are
+ # just nice to have in the merge request widget, so only
+ # include them if they are explicitly requested on first load.
+ expose :issues_links, if: -> (_, opts) { opts[:issues_links] } do
expose :assign_to_closing do |merge_request|
presenter(merge_request).assign_to_closing_issues_link
end
diff --git a/app/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service.rb b/app/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service.rb
index 4ad04ab801e..5d9bdc52d37 100644
--- a/app/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service.rb
+++ b/app/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service.rb
@@ -4,17 +4,30 @@ module Clusters
module Gcp
module Kubernetes
class FetchKubernetesTokenService
+ DEFAULT_TOKEN_RETRY_DELAY = 5.seconds
+ TOKEN_RETRY_LIMIT = 5
+
attr_reader :kubeclient, :service_account_token_name, :namespace
- def initialize(kubeclient, service_account_token_name, namespace)
+ def initialize(kubeclient, service_account_token_name, namespace, token_retry_delay: DEFAULT_TOKEN_RETRY_DELAY)
@kubeclient = kubeclient
@service_account_token_name = service_account_token_name
@namespace = namespace
+ @token_retry_delay = token_retry_delay
end
def execute
- token_base64 = get_secret&.dig('data', 'token')
- Base64.decode64(token_base64) if token_base64
+ # Kubernetes will create the Secret and set the token asynchronously
+ # so it is necessary to retry
+ # https://kubernetes.io/docs/reference/access-authn-authz/service-accounts-admin/#token-controller
+ TOKEN_RETRY_LIMIT.times do
+ token_base64 = get_secret&.dig('data', 'token')
+ return Base64.decode64(token_base64) if token_base64
+
+ sleep @token_retry_delay
+ end
+
+ nil
end
private
diff --git a/app/views/admin/application_settings/_abuse.html.haml b/app/views/admin/application_settings/_abuse.html.haml
index 5f8bd799d23..ddffec32c41 100644
--- a/app/views/admin/application_settings/_abuse.html.haml
+++ b/app/views/admin/application_settings/_abuse.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-abuse-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: reporting_admin_application_settings_path(anchor: 'js-abuse-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_ci_cd.html.haml b/app/views/admin/application_settings/_ci_cd.html.haml
index b8c481df0d2..d1de4286ee7 100644
--- a/app/views/admin/application_settings/_ci_cd.html.haml
+++ b/app/views/admin/application_settings/_ci_cd.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-ci-cd-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: ci_cd_admin_application_settings_path(anchor: 'js-ci-cd-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_email.html.haml b/app/views/admin/application_settings/_email.html.haml
index 3f30c75fbb6..bd60ff0b99c 100644
--- a/app/views/admin/application_settings/_email.html.haml
+++ b/app/views/admin/application_settings/_email.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-email-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-email-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_gitaly.html.haml b/app/views/admin/application_settings/_gitaly.html.haml
index f39d5709811..1da02de0461 100644
--- a/app/views/admin/application_settings/_gitaly.html.haml
+++ b/app/views/admin/application_settings/_gitaly.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-gitaly-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-gitaly-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_help_page.html.haml b/app/views/admin/application_settings/_help_page.html.haml
index aa491c735d1..a869f1bd4df 100644
--- a/app/views/admin/application_settings/_help_page.html.haml
+++ b/app/views/admin/application_settings/_help_page.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-help-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-help-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_influx.html.haml b/app/views/admin/application_settings/_influx.html.haml
index dc5cbb8fa94..98c7a9659c3 100644
--- a/app/views/admin/application_settings/_influx.html.haml
+++ b/app/views/admin/application_settings/_influx.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-influx-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: metrics_and_profiling_admin_application_settings_path(anchor: 'js-influx-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_ip_limits.html.haml b/app/views/admin/application_settings/_ip_limits.html.haml
index 5a5681830b8..67a04fcf698 100644
--- a/app/views/admin/application_settings/_ip_limits.html.haml
+++ b/app/views/admin/application_settings/_ip_limits.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-ip-limits-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-ip-limits-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_localization.html.haml b/app/views/admin/application_settings/_localization.html.haml
index 95d016a94a5..bb4d1fa1241 100644
--- a/app/views/admin/application_settings/_localization.html.haml
+++ b/app/views/admin/application_settings/_localization.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-localization-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-localization-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_logging.html.haml b/app/views/admin/application_settings/_logging.html.haml
index 1da5f6fccd6..d57066bba01 100644
--- a/app/views/admin/application_settings/_logging.html.haml
+++ b/app/views/admin/application_settings/_logging.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-logging-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: reporting_admin_application_settings_path(anchor: 'js-logging-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%p
diff --git a/app/views/admin/application_settings/_outbound.html.haml b/app/views/admin/application_settings/_outbound.html.haml
index dd56bb99a06..d16304ed338 100644
--- a/app/views/admin/application_settings/_outbound.html.haml
+++ b/app/views/admin/application_settings/_outbound.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-outbound-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-outbound-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_pages.html.haml b/app/views/admin/application_settings/_pages.html.haml
index 77795dbf913..d7d709ffd62 100644
--- a/app/views/admin/application_settings/_pages.html.haml
+++ b/app/views/admin/application_settings/_pages.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-pages-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-pages-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_performance.html.haml b/app/views/admin/application_settings/_performance.html.haml
index e7076e7ed2f..7821a83530f 100644
--- a/app/views/admin/application_settings/_performance.html.haml
+++ b/app/views/admin/application_settings/_performance.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-performance-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: network_admin_application_settings_path(anchor: 'js-performance-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_performance_bar.html.haml b/app/views/admin/application_settings/_performance_bar.html.haml
index 1e66b635038..f8bc29048f2 100644
--- a/app/views/admin/application_settings/_performance_bar.html.haml
+++ b/app/views/admin/application_settings/_performance_bar.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-performance-bar-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: metrics_and_profiling_admin_application_settings_path(anchor: 'js-performance-bar-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_plantuml.html.haml b/app/views/admin/application_settings/_plantuml.html.haml
index 5c2b7114426..86dc289dd7c 100644
--- a/app/views/admin/application_settings/_plantuml.html.haml
+++ b/app/views/admin/application_settings/_plantuml.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: integrations_admin_application_settings_path(anchor: 'js-plantuml-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_prometheus.html.haml b/app/views/admin/application_settings/_prometheus.html.haml
index a923568e52d..4c0ff3a18e8 100644
--- a/app/views/admin/application_settings/_prometheus.html.haml
+++ b/app/views/admin/application_settings/_prometheus.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-prometheus-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: metrics_and_profiling_admin_application_settings_path(anchor: 'js-prometheus-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_realtime.html.haml b/app/views/admin/application_settings/_realtime.html.haml
index 92f0c02eb6a..8f6946534ea 100644
--- a/app/views/admin/application_settings/_realtime.html.haml
+++ b/app/views/admin/application_settings/_realtime.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-realtime-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: preferences_admin_application_settings_path(anchor: 'js-realtime-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_registry.html.haml b/app/views/admin/application_settings/_registry.html.haml
index 08c981db13f..77623e1495b 100644
--- a/app/views/admin/application_settings/_registry.html.haml
+++ b/app/views/admin/application_settings/_registry.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-registry-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: ci_cd_admin_application_settings_path(anchor: 'js-registry-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_repository_check.html.haml b/app/views/admin/application_settings/_repository_check.html.haml
index 925e39bc0a3..417916d8c25 100644
--- a/app/views/admin/application_settings/_repository_check.html.haml
+++ b/app/views/admin/application_settings/_repository_check.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-repository-check-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: repository_admin_application_settings_path(anchor: 'js-repository-check-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_repository_mirrors_form.html.haml b/app/views/admin/application_settings/_repository_mirrors_form.html.haml
index f2f2cd1282a..362f4a42464 100644
--- a/app/views/admin/application_settings/_repository_mirrors_form.html.haml
+++ b/app/views/admin/application_settings/_repository_mirrors_form.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-mirror-settings') do |f|
+= form_for @application_setting, url: repository_admin_application_settings_path(anchor: 'js-mirror-settings') do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_repository_storage.html.haml b/app/views/admin/application_settings/_repository_storage.html.haml
index 7a2bbfcdc4d..e5bcb180445 100644
--- a/app/views/admin/application_settings/_repository_storage.html.haml
+++ b/app/views/admin/application_settings/_repository_storage.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-repository-storage-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: repository_admin_application_settings_path(anchor: 'js-repository-storage-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_spam.html.haml b/app/views/admin/application_settings/_spam.html.haml
index 54cda531580..a34fc15acb1 100644
--- a/app/views/admin/application_settings/_spam.html.haml
+++ b/app/views/admin/application_settings/_spam.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-spam-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: reporting_admin_application_settings_path(anchor: 'js-spam-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_third_party_offers.html.haml b/app/views/admin/application_settings/_third_party_offers.html.haml
index fae5b0b965f..adde09f75e4 100644
--- a/app/views/admin/application_settings/_third_party_offers.html.haml
+++ b/app/views/admin/application_settings/_third_party_offers.html.haml
@@ -1,6 +1,6 @@
- application_setting = local_assigns.fetch(:application_setting)
-= form_for application_setting, url: admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for application_setting, url: integrations_admin_application_settings_path(anchor: 'js-third-party-offers-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(application_setting)
%fieldset
diff --git a/app/views/admin/application_settings/_usage.html.haml b/app/views/admin/application_settings/_usage.html.haml
index 788595877ea..d716b52be05 100644
--- a/app/views/admin/application_settings/_usage.html.haml
+++ b/app/views/admin/application_settings/_usage.html.haml
@@ -1,4 +1,4 @@
-= form_for @application_setting, url: admin_application_settings_path(anchor: 'js-usage-settings'), html: { class: 'fieldset-form' } do |f|
+= form_for @application_setting, url: metrics_and_profiling_admin_application_settings_path(anchor: 'js-usage-settings'), html: { class: 'fieldset-form' } do |f|
= form_errors(@application_setting)
%fieldset
diff --git a/app/views/projects/merge_requests/show.html.haml b/app/views/projects/merge_requests/show.html.haml
index f593f4e049e..2084ca6f905 100644
--- a/app/views/projects/merge_requests/show.html.haml
+++ b/app/views/projects/merge_requests/show.html.haml
@@ -19,7 +19,7 @@
-# haml-lint:disable InlineJavaScript
:javascript
window.gl = window.gl || {};
- window.gl.mrWidgetData = #{serialize_issuable(@merge_request, serializer: 'widget')}
+ window.gl.mrWidgetData = #{serialize_issuable(@merge_request, serializer: 'widget', issues_links: true)}
window.gl.mrWidgetData.squash_before_merge_help_path = '#{help_page_path("user/project/merge_requests/squash_and_merge")}';
window.gl.mrWidgetData.troubleshooting_docs_path = '#{help_page_path('user/project/merge_requests/index.md', anchor: 'troubleshooting')}';
diff --git a/changelogs/unreleased/57973-errors-in-application-settings-panel-shows-wrong-panel.yml b/changelogs/unreleased/57973-errors-in-application-settings-panel-shows-wrong-panel.yml
new file mode 100644
index 00000000000..2b62992eda0
--- /dev/null
+++ b/changelogs/unreleased/57973-errors-in-application-settings-panel-shows-wrong-panel.yml
@@ -0,0 +1,5 @@
+---
+title: Show poper panel when validation error occurs in admin settings panels
+merge_request: 25434
+author:
+type: fixed
diff --git a/changelogs/unreleased/59028-fix-extra-plus-in-diffs.yml b/changelogs/unreleased/59028-fix-extra-plus-in-diffs.yml
new file mode 100644
index 00000000000..0786f4dbc10
--- /dev/null
+++ b/changelogs/unreleased/59028-fix-extra-plus-in-diffs.yml
@@ -0,0 +1,5 @@
+---
+title: Remove duplicate trailing +/- char in merge request discussions
+merge_request: 29518
+author:
+type: fixed
diff --git a/changelogs/unreleased/62772-disable-kubernetes-credential-passthrough.yml b/changelogs/unreleased/62772-disable-kubernetes-credential-passthrough.yml
new file mode 100644
index 00000000000..35771e80821
--- /dev/null
+++ b/changelogs/unreleased/62772-disable-kubernetes-credential-passthrough.yml
@@ -0,0 +1,5 @@
+---
+title: Disable Kubernetes credential passthrough for managed project-level clusters
+merge_request: 29262
+author:
+type: removed
diff --git a/changelogs/unreleased/62772-migrate-managed-clusters-to-unmanaged.yml b/changelogs/unreleased/62772-migrate-managed-clusters-to-unmanaged.yml
new file mode 100644
index 00000000000..62a67c7b78d
--- /dev/null
+++ b/changelogs/unreleased/62772-migrate-managed-clusters-to-unmanaged.yml
@@ -0,0 +1,6 @@
+---
+title: Migrate GitLab managed project-level clusters to unmanaged if a Kubernetes
+ namespace was unable to be created
+merge_request: 29251
+author:
+type: other
diff --git a/changelogs/unreleased/63079-migrate-clusters-with-no-token-to-unmanaged.yml b/changelogs/unreleased/63079-migrate-clusters-with-no-token-to-unmanaged.yml
new file mode 100644
index 00000000000..92133af03f7
--- /dev/null
+++ b/changelogs/unreleased/63079-migrate-clusters-with-no-token-to-unmanaged.yml
@@ -0,0 +1,6 @@
+---
+title: Migrate GitLab managed project-level clusters to unmanaged if they are missing
+ a Kubernetes service account token
+merge_request: 29648
+author:
+type: other
diff --git a/changelogs/unreleased/63507-fix-race-condition-fetching-token.yml b/changelogs/unreleased/63507-fix-race-condition-fetching-token.yml
new file mode 100644
index 00000000000..7f2b59fc9eb
--- /dev/null
+++ b/changelogs/unreleased/63507-fix-race-condition-fetching-token.yml
@@ -0,0 +1,5 @@
+---
+title: Retry fetching Kubernetes Secret#token (#63507)
+merge_request: 29922
+author:
+type: fixed
diff --git a/changelogs/unreleased/bug-63162-duplicate_path_in_links.yml b/changelogs/unreleased/bug-63162-duplicate_path_in_links.yml
new file mode 100644
index 00000000000..d3f246492fb
--- /dev/null
+++ b/changelogs/unreleased/bug-63162-duplicate_path_in_links.yml
@@ -0,0 +1,5 @@
+---
+title: Fixed 'diff version changes' link not working
+merge_request: 29825
+author:
+type: fixed
diff --git a/changelogs/unreleased/paginate-license-management.yml b/changelogs/unreleased/paginate-license-management.yml
new file mode 100644
index 00000000000..c5134978612
--- /dev/null
+++ b/changelogs/unreleased/paginate-license-management.yml
@@ -0,0 +1,5 @@
+---
+title: Backport and Docs for Paginate license management and add license search
+merge_request: 27602
+author:
+type: changed
diff --git a/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml b/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml
new file mode 100644
index 00000000000..17421fca234
--- /dev/null
+++ b/changelogs/unreleased/remove-kubernetes-service-deployment-platform.yml
@@ -0,0 +1,5 @@
+---
+title: Remove Kubernetes service integration and Kubernetes service template from available deployment platforms
+merge_request: 29786
+author:
+type: removed
diff --git a/changelogs/unreleased/sh-omit-issues-links-on-poll.yml b/changelogs/unreleased/sh-omit-issues-links-on-poll.yml
new file mode 100644
index 00000000000..21e51d3534f
--- /dev/null
+++ b/changelogs/unreleased/sh-omit-issues-links-on-poll.yml
@@ -0,0 +1,5 @@
+---
+title: Omit issues links in merge request entity API response
+merge_request: 29917
+author:
+type: performance
diff --git a/changelogs/unreleased/zj-gitaly-usage-data.yml b/changelogs/unreleased/zj-gitaly-usage-data.yml
new file mode 100644
index 00000000000..ce5087292ed
--- /dev/null
+++ b/changelogs/unreleased/zj-gitaly-usage-data.yml
@@ -0,0 +1,5 @@
+---
+title: Add Gitaly data to the usage ping
+merge_request:
+author:
+type: added
diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql
index baded682e46..5b3b35c9226 100644
--- a/config/database.yml.postgresql
+++ b/config/database.yml.postgresql
@@ -9,6 +9,15 @@ production:
username: git
password: "secure password"
host: localhost
+ # load_balancing:
+ # hosts:
+ # - host1.example.com
+ # - host2.example.com
+ # discover:
+ # nameserver: 1.2.3.4
+ # port: 8600
+ # record: secondary.postgresql.service.consul
+ # interval: 300
#
# Development specific
diff --git a/config/dependency_decisions.yml b/config/dependency_decisions.yml
index af76bace577..40a80429afa 100644
--- a/config/dependency_decisions.yml
+++ b/config/dependency_decisions.yml
@@ -599,3 +599,10 @@
:why: https://github.com/apache/incubator-echarts/blob/master/LICENSE
:versions: []
:when: 2018-12-07 20:46:12.421256000 Z
+- - :license
+ - contracts
+ - BSD
+ - :who: Jarka Košanová
+ :why: https://github.com/egonSchiele/contracts.ruby/blob/master/LICENSE
+ :versions: []
+ :when: 2019-04-01 11:29:39.361015000 Z
diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
index c83f569d885..dddc5ec3540 100644
--- a/config/gitlab.yml.example
+++ b/config/gitlab.yml.example
@@ -230,7 +230,45 @@ production: &base
## Packages (maven repository, npm registry, etc...)
packages:
- enabled: false
+ enabled: true
+ # The location where build packages are stored (default: shared/packages).
+ # storage_path: shared/packages
+ object_store:
+ enabled: false
+ remote_directory: packages # The bucket name
+ # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
+ # background_upload: false # Temporary option to limit automatic upload (Default: true)
+ # proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
+ connection:
+ provider: AWS
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region: us-east-1
+ # host: 'localhost' # default: s3.amazonaws.com
+ # endpoint: 'http://127.0.0.1:9000' # default: nil
+ # aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4.
+ # path_style: true # Use 'host/bucket_name/object' instead of 'bucket_name.host/object'
+
+ ## Dependency Proxy
+ dependency_proxy:
+ enabled: true
+ # The location where build packages are stored (default: shared/dependency_proxy).
+ # storage_path: shared/dependency_proxy
+ object_store:
+ enabled: false
+ remote_directory: dependency_proxy # The bucket name
+ # direct_upload: false # Use Object Storage directly for uploads instead of background uploads if enabled (Default: false)
+ # background_upload: false # Temporary option to limit automatic upload (Default: true)
+ # proxy_download: false # Passthrough all downloads via GitLab instead of using Redirects to Object Storage
+ connection:
+ provider: AWS
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region: us-east-1
+ # host: 'localhost' # default: s3.amazonaws.com
+ # endpoint: 'http://127.0.0.1:9000' # default: nil
+ # aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4.
+ # path_style: true # Use 'host/bucket_name/object' instead of 'bucket_name.host/object'
## GitLab Pages
pages:
@@ -306,6 +344,53 @@ production: &base
schedule_migrate_external_diffs_worker:
cron: "15 * * * *"
+ # GitLab EE only jobs. These jobs are automatically enabled for an EE
+ # installation, and ignored for a CE installation.
+ ee_cron_jobs:
+ # Snapshot active users statistics
+ historical_data_worker:
+ cron: "0 12 * * *"
+
+ # In addition to refreshing users when they log in,
+ # periodically refresh LDAP users membership.
+ # NOTE: This will only take effect if LDAP is enabled
+ ldap_sync_worker:
+ cron: "30 1 * * *"
+
+ # Periodically refresh LDAP groups membership.
+ # NOTE: This will only take effect if LDAP is enabled
+ ldap_group_sync_worker:
+ cron: "0 * * * *"
+
+ # GitLab Geo metrics update worker
+ # NOTE: This will only take effect if Geo is enabled
+ geo_metrics_update_worker:
+ cron: "*/1 * * * *"
+
+ # GitLab Geo prune event log worker
+ # NOTE: This will only take effect if Geo is enabled (primary node only)
+ geo_prune_event_log_worker:
+ cron: "*/5 * * * *"
+
+ # GitLab Geo repository sync worker
+ # NOTE: This will only take effect if Geo is enabled (secondary nodes only)
+ geo_repository_sync_worker:
+ cron: "*/1 * * * *"
+
+ # GitLab Geo file download dispatch worker
+ # NOTE: This will only take effect if Geo is enabled (secondary nodes only)
+ geo_file_download_dispatch_worker:
+ cron: "*/1 * * * *"
+
+ # GitLab Geo migrated local files clean up worker
+ # NOTE: This will only take effect if Geo is enabled (secondary nodes only)
+ geo_migrated_local_files_clean_up_worker:
+ cron: "15 */6 * * *"
+
+ # Export pseudonymized data in CSV format for analysis
+ pseudonymizer_worker:
+ cron: "0 * * * *"
+
registry:
# enabled: true
# host: registry.example.com
@@ -323,6 +408,16 @@ production: &base
# clientside_dsn: https://<key>@sentry.io/<project>
# environment: 'production' # e.g. development, staging, production
+ ## Geo
+ # NOTE: These settings will only take effect if Geo is enabled
+ geo:
+ # This is an optional identifier which Geo nodes can use to identify themselves.
+ # For example, if external_url is the same for two secondaries, you must specify
+ # a unique Geo node name for those secondaries.
+ #
+ # If it is blank, it defaults to external_url.
+ node_name: ''
+
#
# 2. GitLab CI settings
# ==========================
@@ -349,6 +444,19 @@ production: &base
# bundle exec rake gitlab:ldap:check RAILS_ENV=production
ldap:
enabled: false
+
+ # This setting controls the number of seconds between LDAP permission checks
+ # for each user. After this time has expired for a given user, their next
+ # interaction with GitLab (a click in the web UI, a git pull, etc.) will be
+ # slower because the LDAP permission check is being performed. How much
+ # slower depends on your LDAP setup, but it is not uncommon for this check
+ # to add seconds of waiting time. The default value is to have a "slow
+ # click" once every 3600 seconds (i.e., once per hour).
+ #
+ # Warning: if you set this value too low, every click in GitLab will be a
+ # "slow click" for all of your LDAP users.
+ # sync_time: 3600
+
servers:
##########################################################################
#
@@ -446,6 +554,10 @@ production: &base
# A value of 0 means there is no timeout.
timeout: 10
+ # Enable smartcard authentication against the LDAP server. Valid values
+ # are "false", "optional", and "required".
+ smartcard_auth: false
+
# This setting specifies if LDAP server is Active Directory LDAP server.
# For non AD servers it skips the AD specific queries.
# If your LDAP server is not AD, set this to false.
@@ -485,6 +597,31 @@ production: &base
#
user_filter: ''
+ # Base where we can search for groups
+ #
+ # Ex. ou=Groups,dc=gitlab,dc=example
+ #
+ group_base: ''
+
+ # LDAP group of users who should be admins in GitLab
+ #
+ # Ex. GLAdmins
+ #
+ admin_group: ''
+
+ # LDAP group of users who should be marked as external users in GitLab
+ #
+ # Ex. ['Contractors', 'Interns']
+ #
+ external_groups: []
+
+ # Name of attribute which holds a ssh public key of the user object.
+ # If false or nil, SSH key syncronisation will be disabled.
+ #
+ # Ex. sshpublickey
+ #
+ sync_ssh_keys: false
+
# LDAP attributes that GitLab will use to create an account for the LDAP user.
# The specified attribute can either be the attribute name as a string (e.g. 'mail'),
# or an array of attribute names to try in order (e.g. ['mail', 'email']).
@@ -516,6 +653,38 @@ production: &base
# host:
# ....
+ ## Smartcard authentication settings
+ smartcard:
+ # Allow smartcard authentication
+ enabled: false
+
+ # Path to a file containing a CA certificate
+ ca_file: '/etc/ssl/certs/CA.pem'
+
+ # Port where the client side certificate is requested by the webserver (NGINX/Apache)
+ # client_certificate_required_port: 3444
+
+ ## Kerberos settings
+ kerberos:
+ # Allow the HTTP Negotiate authentication method for Git clients
+ enabled: false
+
+ # Kerberos 5 keytab file. The keytab file must be readable by the GitLab user,
+ # and should be different from other keytabs in the system.
+ # (default: use default keytab from Krb5 config)
+ # keytab: /etc/http.keytab
+
+ # The Kerberos service name to be used by GitLab.
+ # (default: accept any service name in keytab file)
+ # service_principal_name: HTTP/gitlab.example.com@EXAMPLE.COM
+
+ # Dedicated port: Git before 2.4 does not fall back to Basic authentication if Negotiate fails.
+ # To support both Basic and Negotiate methods with older versions of Git, configure
+ # nginx to proxy GitLab on an extra port (e.g. 8443) and uncomment the following lines
+ # to dedicate this port to Kerberos authentication. (default: false)
+ # use_dedicated_port: true
+ # port: 8443
+ # https: true
## OmniAuth settings
omniauth:
@@ -635,6 +804,8 @@ production: &base
# name_identifier_format: 'urn:oasis:names:tc:SAML:2.0:nameid-format:transient'
# } }
#
+ # - { name: 'group_saml' }
+ #
# - { name: 'crowd',
# args: {
# crowd_server_url: 'CROWD SERVER URL',
@@ -707,6 +878,20 @@ production: &base
# # Specifies Amazon S3 storage class to use for backups, this is optional
# # storage_class: 'STANDARD'
+ ## Pseudonymizer exporter
+ pseudonymizer:
+ # Tables manifest that specifies the fields to extract and pseudonymize.
+ manifest: config/pseudonymizer.yml
+ upload:
+ remote_directory: 'gitlab-elt'
+ # Fog storage connection settings, see http://fog.io/storage/ .
+ connection:
+ # provider: AWS
+ # region: eu-west-1
+ # aws_access_key_id: AKIAKIAKI
+ # aws_secret_access_key: 'secret123'
+ # # The remote 'directory' to store the CSV files. For S3, this would be the bucket name.
+
## GitLab Shell settings
gitlab_shell:
path: /home/git/gitlab-shell/
@@ -872,6 +1057,17 @@ test:
token: secret
backup:
path: tmp/tests/backups
+ pseudonymizer:
+ manifest: config/pseudonymizer.yml
+ upload:
+ # The remote 'directory' to store the CSV files. For S3, this would be the bucket name.
+ remote_directory: gitlab-elt.test
+ # Fog storage connection settings, see http://fog.io/storage/
+ connection:
+ provider: AWS # Only AWS supported at the moment
+ aws_access_key_id: AWS_ACCESS_KEY_ID
+ aws_secret_access_key: AWS_SECRET_ACCESS_KEY
+ region: us-east-1
gitlab_shell:
path: tmp/tests/gitlab-shell/
authorized_keys_file: tmp/tests/authorized_keys
diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
index 0c8d94ccaed..6cca7a3b75f 100644
--- a/config/initializers/1_settings.rb
+++ b/config/initializers/1_settings.rb
@@ -117,6 +117,15 @@ if github_settings
end
end
+# SAML should be enabled for the tests automatically, but only for EE.
+saml_provider_enabled = Settings.omniauth.providers.any? do |provider|
+ provider['name'] == 'group_saml'
+end
+
+if Gitlab.ee? && Rails.env.test? && !saml_provider_enabled
+ Settings.omniauth.providers << Settingslogic.new({ 'name' => 'group_saml' })
+end
+
Settings['shared'] ||= Settingslogic.new({})
Settings.shared['path'] = Settings.absolute(Settings.shared['path'] || "shared")
@@ -291,6 +300,11 @@ Settings.gravatar['host'] = Settings.host_without_www(Settings.gravatar[
# Cron Jobs
#
Settings['cron_jobs'] ||= Settingslogic.new({})
+
+if Gitlab.ee? && Settings['ee_cron_jobs']
+ Settings.cron_jobs.merge!(Settings.ee_cron_jobs)
+end
+
Settings.cron_jobs['stuck_ci_jobs_worker'] ||= Settingslogic.new({})
Settings.cron_jobs['stuck_ci_jobs_worker']['cron'] ||= '0 * * * *'
Settings.cron_jobs['stuck_ci_jobs_worker']['job_class'] = 'StuckCiJobsWorker'
diff --git a/config/prometheus/common_metrics.yml b/config/prometheus/common_metrics.yml
index 3c67ca36791..f9ce5a6f365 100644
--- a/config/prometheus/common_metrics.yml
+++ b/config/prometheus/common_metrics.yml
@@ -171,7 +171,7 @@ panel_groups:
weight: 2
metrics:
- id: system_metrics_kubernetes_container_memory_average
- query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
+ query_range: 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) by (job)) without (job) / count(avg(container_memory_usage_bytes{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}) without (job)) /1024/1024'
label: Pod average
unit: MB
- title: "Canary: Memory Usage (Pod Average)"
@@ -190,7 +190,7 @@ panel_groups:
weight: 1
metrics:
- id: system_metrics_kubernetes_container_core_usage
- query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
+ query_range: 'avg(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (job)) without (job) / count(sum(rate(container_cpu_usage_seconds_total{container_name!="POD",pod_name=~"^%{ci_environment_slug}-([^c].*|c([^a]|a([^n]|n([^a]|a([^r]|r[^y])))).*|)-(.*)",namespace="%{kube_namespace}"}[15m])) by (pod_name))'
label: Pod average
unit: "cores"
- title: "Canary: Core Usage (Pod Average)"
diff --git a/config/routes/admin.rb b/config/routes/admin.rb
index ae79beb1dba..f609739d9fd 100644
--- a/config/routes/admin.rb
+++ b/config/routes/admin.rb
@@ -110,7 +110,7 @@ namespace :admin do
put :reset_registration_token
put :reset_health_check_token
put :clear_repository_check_states
- get :integrations, :repository, :templates, :ci_cd, :reporting, :metrics_and_profiling, :network, :geo, :preferences
+ match :integrations, :repository, :templates, :ci_cd, :reporting, :metrics_and_profiling, :network, :geo, :preferences, via: [:get, :patch]
get :lets_encrypt_terms_of_service
end
diff --git a/config/settings.rb b/config/settings.rb
index 1b94df785a7..6df2132332c 100644
--- a/config/settings.rb
+++ b/config/settings.rb
@@ -1,5 +1,11 @@
require 'settingslogic'
+# We can not use `Rails.root` here, as this file might be loaded without the
+# full Rails environment being loaded. We can not use `require_relative` either,
+# as Rails uses `load` for `require_dependency` (used when loading the Rails
+# environment). This could then lead to this file being loaded twice.
+require_dependency File.expand_path('../lib/gitlab', __dir__)
+
class Settings < Settingslogic
source ENV.fetch('GITLAB_CONFIG') { Pathname.new(File.expand_path('..', __dir__)).join('config/gitlab.yml') }
namespace ENV.fetch('GITLAB_ENV') { Rails.env }
diff --git a/config/sidekiq_queues.yml b/config/sidekiq_queues.yml
index fd9ce4d3374..4fda9d69077 100644
--- a/config/sidekiq_queues.yml
+++ b/config/sidekiq_queues.yml
@@ -93,3 +93,20 @@
- [migrate_external_diffs, 1]
- [update_project_statistics, 1]
- [phabricator_import_import_tasks, 1]
+
+ # EE-specific queues
+ - [ldap_group_sync, 2]
+ - [create_github_webhook, 2]
+ - [geo, 1]
+ - [repository_update_mirror, 1]
+ - [new_epic, 2]
+ - [project_import_schedule, 1]
+ - [project_update_repository_storage, 1]
+ - [admin_emails, 1]
+ - [elastic_batch_project_indexer, 1]
+ - [elastic_indexer, 1]
+ - [elastic_full_index, 1]
+ - [elastic_commit_indexer, 1]
+ - [elastic_namespace_indexer, 1]
+ - [export_csv, 1]
+ - [incident_management, 2]
diff --git a/db/post_migrate/20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb b/db/post_migrate/20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb
new file mode 100644
index 00000000000..759ab939f7d
--- /dev/null
+++ b/db/post_migrate/20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb
@@ -0,0 +1,48 @@
+# frozen_string_literal: true
+
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class MigrateLegacyManagedClustersToUnmanaged < ActiveRecord::Migration[5.1]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ class Cluster < ActiveRecord::Base
+ include EachBatch
+
+ self.table_name = 'clusters'
+
+ has_many :kubernetes_namespaces, class_name: 'MigrateLegacyManagedClustersToUnmanaged::KubernetesNamespace'
+
+ scope :managed, -> { where(managed: true) }
+
+ enum cluster_type: {
+ instance_type: 1,
+ group_type: 2,
+ project_type: 3
+ }
+ end
+
+ class KubernetesNamespace < ActiveRecord::Base
+ self.table_name = 'clusters_kubernetes_namespaces'
+
+ belongs_to :cluster, class_name: 'MigrateLegacyManagedClustersToUnmanaged::Cluster'
+ end
+
+ def up
+ Cluster.managed
+ .project_type
+ .left_joins(:kubernetes_namespaces)
+ .where(clusters_kubernetes_namespaces: { cluster_id: nil })
+ .where('clusters.created_at < ?', 5.minutes.ago)
+ .each_batch do |batch|
+ batch.update_all(managed: false)
+ end
+ end
+
+ def down
+ end
+end
diff --git a/db/post_migrate/20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb b/db/post_migrate/20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb
new file mode 100644
index 00000000000..b2914afe2cd
--- /dev/null
+++ b/db/post_migrate/20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb
@@ -0,0 +1,48 @@
+# frozen_string_literal: true
+
+# See http://doc.gitlab.com/ce/development/migration_style_guide.html
+# for more information on how to write migrations for GitLab.
+
+class MigrateManagedClustersWithNoTokenToUnmanaged < ActiveRecord::Migration[5.1]
+ include Gitlab::Database::MigrationHelpers
+
+ DOWNTIME = false
+
+ disable_ddl_transaction!
+
+ class Cluster < ActiveRecord::Base
+ include EachBatch
+
+ self.table_name = 'clusters'
+
+ has_many :kubernetes_namespaces, class_name: 'MigrateManagedClustersWithNoTokenToUnmanaged::KubernetesNamespace'
+
+ scope :managed, -> { where(managed: true) }
+
+ enum cluster_type: {
+ instance_type: 1,
+ group_type: 2,
+ project_type: 3
+ }
+ end
+
+ class KubernetesNamespace < ActiveRecord::Base
+ self.table_name = 'clusters_kubernetes_namespaces'
+
+ belongs_to :cluster, class_name: 'MigrateManagedClustersWithNoTokenToUnmanaged::Cluster'
+ end
+
+ def up
+ Cluster.managed
+ .project_type
+ .joins(:kubernetes_namespaces)
+ .where(clusters_kubernetes_namespaces: { encrypted_service_account_token: nil })
+ .where('clusters.created_at < ?', Date.new(2018, 12, 1).midnight)
+ .each_batch do |batch|
+ batch.update_all(managed: false)
+ end
+ end
+
+ def down
+ end
+end
diff --git a/doc/ci/docker/using_docker_images.md b/doc/ci/docker/using_docker_images.md
index f6b84dca734..e4dc289dbdb 100644
--- a/doc/ci/docker/using_docker_images.md
+++ b/doc/ci/docker/using_docker_images.md
@@ -478,7 +478,7 @@ To define which should be used, the GitLab Runner process reads the configuratio
- A [variable](../variables/README.md#gitlab-cicd-environment-variables) in `.gitlab-ci.yml`.
- A project's variables stored on the projects **Settings > CI/CD** page.
- `DOCKER_AUTH_CONFIG` variable provided as environment variable in `config.toml` of the Runner.
-- `config.json` file placed in `$HOME/docker` directory of the user running GitLab Runner process.
+- `config.json` file placed in `$HOME/.docker` directory of the user running GitLab Runner process.
If the `--user` flag is provided to run the GitLab Runner child processes as unprivileged user,
the home directory of the main GitLab Runner process user will be used.
diff --git a/doc/development/architecture.md b/doc/development/architecture.md
index a43a40152db..d14a760f972 100644
--- a/doc/development/architecture.md
+++ b/doc/development/architecture.md
@@ -141,13 +141,13 @@ Component statuses are linked to configuration documentation for each component.
| [Consul](#consul) | Database node discovery, failover | [âš™][consul-omnibus] | [âŒ][consul-charts] | [âŒ][consul-charts] | [✅](../user/gitlab_com/index.md#consul) | ⌠| ⌠| EE Only |
| [GitLab self-monitoring: Prometheus](#prometheus) | Time-series database, metrics collection, and query service | [✅][prometheus-omnibus] | [✅][prometheus-charts] | [⚙][prometheus-charts] | [✅](../user/gitlab_com/index.md#prometheus) | ⌠| ⌠| CE & EE |
| [GitLab self-monitoring: Alertmanager](#alertmanager) | Deduplicates, groups, and routes alerts from Prometheus | [⚙][alertmanager-omnibus] | [✅][alertmanager-charts] | [⚙][alertmanager-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
-| [GitLab self-monitoring: Grafana](#grafana) | Metrics dashboard | [⚙][grafana-omnibus] | [⤓][grafana-charts] | [⤓][grafana-charts] | [✅](https://dashboards.gitlab.com/d/RZmbBr7mk/gitlab-triage?refresh=30s) | ⌠| ⌠| CE & EE |
+| [GitLab self-monitoring: Grafana](#grafana) | Metrics dashboard | [✅][grafana-omnibus] | [⤓][grafana-charts] | [⤓][grafana-charts] | [✅](https://dashboards.gitlab.com/d/RZmbBr7mk/gitlab-triage?refresh=30s) | ⌠| ⌠| CE & EE |
| [GitLab self-monitoring: Sentry](#sentry) | Track errors generated by the GitLab instance | [⤓][sentry-omnibus] | [âŒ][sentry-charts] | [âŒ][sentry-charts] | [✅](https://about.gitlab.com/handbook/support/workflows/services/gitlab_com/500_errors.html#searching-sentry) | [⤓][gitlab-yml] | [⤓][gitlab-yml] | CE & EE |
| [GitLab self-monitoring: Jaeger](#jaeger) | View traces generated by the GitLab instance | [âŒ][jaeger-omnibus] | [âŒ][jaeger-charts] | [âŒ][jaeger-charts] | [âŒ](https://gitlab.com/gitlab-org/omnibus-gitlab/issues/4104) | [⤓][jaeger-source] | [âš™][jaeger-gdk] | CE & EE |
| [Redis Exporter](#redis-exporter) | Prometheus endpoint with Redis metrics | [✅][redis-exporter-omnibus] | [✅][redis-exporter-charts] | [✅][redis-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
| [Postgres Exporter](#postgres-exporter) | Prometheus endpoint with PostgreSQL metrics | [✅][postgres-exporter-omnibus] | [✅][postgres-exporter-charts] | [✅][postgres-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
| [PgBouncer Exporter](#pgbouncer-exporter) | Prometheus endpoint with PgBouncer metrics | [âš™][pgbouncer-exporter-omnibus] | [âŒ][pgbouncer-exporter-charts] | [âŒ][pgbouncer-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
-| [GitLab Monitor](#gitlab-monitor) | Generates a variety of GitLab metrics | [✅][gitlab-monitor-omnibus] | [âŒ][gitab-monitor-charts] | [âŒ][gitab-monitor-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
+| [GitLab Monitor](#gitlab-monitor) | Generates a variety of GitLab metrics | [✅][gitlab-monitor-omnibus] | [✅][gitab-monitor-charts] | [✅][gitab-monitor-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
| [Node Exporter](#node-exporter) | Prometheus endpoint with system metrics | [✅][node-exporter-omnibus] | [âŒ][node-exporter-charts] | [âŒ][node-exporter-charts] | [✅](https://about.gitlab.com/handbook/engineering/monitoring/) | ⌠| ⌠| CE & EE |
| [Mattermost](#mattermost) | Open-source Slack alternative | [⚙][mattermost-omnibus] | [⤓][mattermost-charts] | [⤓][mattermost-charts] | [⤓](../user/project/integrations/mattermost.md) | ⌠| ⌠| CE & EE |
| [MinIO](#minio) | Object storage service | [⤓][minio-omnibus] | [✅][minio-charts] | [✅][minio-charts] | [✅](https://about.gitlab.com/handbook/engineering/infrastructure/production-architecture/#storage-architecture) | ⌠| [⚙][minio-gdk] | CE & EE |
@@ -681,7 +681,7 @@ We've also detailed [our architecture of GitLab.com](https://about.gitlab.com/ha
[pgbouncer-exporter-omnibus]: ../administration/monitoring/prometheus/pgbouncer_exporter.md
[pgbouncer-exporter-charts]: https://docs.gitlab.com/charts/installation/deployment.html#postgresql
[gitlab-monitor-omnibus]: ../administration/monitoring/prometheus/gitlab_monitor_exporter.md
-[gitab-monitor-charts]: https://gitlab.com/charts/gitlab/issues/319
+[gitab-monitor-charts]: https://docs.gitlab.com/charts/charts/gitlab/gitlab-monitor/index.html
[node-exporter-omnibus]: ../administration/monitoring/prometheus/node_exporter.md
[node-exporter-charts]: https://gitlab.com/charts/gitlab/issues/1332
[mattermost-omnibus]: https://docs.gitlab.com/omnibus/gitlab-mattermost/
diff --git a/doc/development/contributing/issue_workflow.md b/doc/development/contributing/issue_workflow.md
index 0396f7ebc45..3d36a7bf3b1 100644
--- a/doc/development/contributing/issue_workflow.md
+++ b/doc/development/contributing/issue_workflow.md
@@ -172,35 +172,35 @@ This label documents the planned timeline & urgency which is used to measure aga
| ~P3 | Medium Priority | Within the next 3 releases (approx one quarter or 90 days) |
| ~P4 | Low Priority | Anything outside the next 3 releases (more than one quarter or 120 days) |
-If an issue seems to fall between two priority labels, assign it to the higher-
-priority label.
-
## Severity labels
Severity labels help us clearly communicate the impact of a ~bug on users.
-
-| Label | Meaning | Impact on Functionality | Example |
-|-------|-------------------|-------------------------------------------------------|---------|
-| ~S1 | Blocker | Outage, broken feature with no workaround | Unable to create an issue. Data corruption/loss. Security breach. |
-| ~S2 | Critical Severity | Broken Feature, workaround too complex & unacceptable | Can push commits, but only via the command line. |
-| ~S3 | Major Severity | Broken Feature, workaround acceptable | Can create merge requests only from the Merge Requests page, not through the Issue. |
-| ~S4 | Low Severity | Functionality inconvenience or cosmetic issue | Label colors are incorrect / not being displayed. |
-
-If an issue seems to fall between two severity labels, even taking the
-[severity impact guidance](#severity-impact-guidance) into account, assign
-it to the higher-severity label.
-
-### Severity impact guidance
-
-Severity levels can be applied further depending on the facet of the impact; e.g. Affected customers, GitLab.com availability, performance and etc. The below is a guideline.
-
-| Severity | Affected Customers/Users | GitLab.com Availability | Performance Degradation |
-|----------|---------------------------------------------------------------------|----------------------------------------------------|------------------------------|
-| ~S1 | >50% users affected (possible company extinction level event) | Significant impact on all of GitLab.com | |
-| ~S2 | Many users or multiple paid customers affected (but not apocalyptic)| Significant impact on large portions of GitLab.com | Degradation is guaranteed to occur in the near future |
-| ~S3 | A few users or a single paid customer affected | Limited impact on important portions of GitLab.com | Degradation is likely to occur in the near future |
-| ~S4 | No paid users/customer affected, or expected to in the near future | Minor impact on GitLab.com | Degradation _may_ occur but it's not likely |
-
+There can be multiple facets of the impact. The below is a guideline.
+
+| Label | Meaning | Functionality | Affected Users | GitLab.com Availability | Performance Degradation |
+|-------|-------------------|-------------------------------------------------------|----------------------------------|----------------------------------------------------|------------------------------|
+| ~S1 | Blocker | Unusable feature with no workaround, user is blocked | Impacts 50% or more of users | Outage, Significant impact on all of GitLab.com | |
+| ~S2 | Critical Severity | Broken Feature, workaround too complex & unacceptable | Impacts between 25%-50% of users | Significant impact on large portions of GitLab.com | Degradation is guaranteed to occur in the near future |
+| ~S3 | Major Severity | Broken feature with an acceptable workaround | Impacts up to 25% of users | Limited impact on important portions of GitLab.com | Degradation is likely to occur in the near future |
+| ~S4 | Low Severity | Functionality inconvenience or cosmetic issue | Impacts less than 5% of users | Minor impact on GitLab.com | Degradation _may_ occur but it's not likely |
+
+If a bug seems to fall between two severity labels, assign it to the higher-severity label.
+
+* Example(s) of ~S1
+ * Data corruption/loss.
+ * Security breach.
+ * Unable to create an issue or merge request.
+ * Unable to add a comment or discussion to the issue or merge request.
+* Example(s) of ~S2
+ * Cannot submit changes through the web IDE but the commandline works.
+ * A status widget on the merge request page is not working but information can be seen in the test pipeline page.
+* Example(s) of ~S3
+ * Can create merge requests only from the Merge Requests list view, not from an Issue page.
+ * Status is not updated in real time and needs a page refresh.
+* Example(s) of ~S4
+ * Label colors are incorrect.
+ * UI elements are not fully aligned.
+
## Label for community contributors
Issues that are beneficial to our users, 'nice to haves', that we currently do
diff --git a/doc/development/testing_guide/end_to_end/index.md b/doc/development/testing_guide/end_to_end/index.md
index afd81ff00b2..527cd350633 100644
--- a/doc/development/testing_guide/end_to_end/index.md
+++ b/doc/development/testing_guide/end_to_end/index.md
@@ -126,6 +126,18 @@ See [Review Apps][review-apps] for more details about Review Apps.
[helm-chart]: https://gitlab.com/charts/gitlab/
[cng]: https://gitlab.com/gitlab-org/build/CNG
+## How do I run the tests?
+
+There are two main options for running the tests. If you simply want to run the
+existing tests against a live GitLab instance or against a pre-built docker image
+you can use the [GitLab QA orchestrator][gitlab-qa-readme]. See also [examples
+of the test scenarios you can run via the orchestrator](https://gitlab.com/gitlab-org/gitlab-qa/blob/master/docs/what_tests_can_be_run.md#examples).
+
+On the other hand, if you would like to run against a local development GitLab
+environment, you can use the [GitLab Development Kit (GDK)](https://gitlab.com/gitlab-org/gitlab-development-kit/).
+Please refer to the instructions in the [QA README](https://gitlab.com/gitlab-org/gitlab-ce/tree/master/qa/README.md#how-can-i-use-it)
+and the section below.
+
## How do I write tests?
In order to write new tests, you first need to learn more about GitLab QA
diff --git a/doc/user/application_security/license_management/img/license_management_add_license.png b/doc/user/application_security/license_management/img/license_management_add_license.png
new file mode 100644
index 00000000000..1e1a698515b
--- /dev/null
+++ b/doc/user/application_security/license_management/img/license_management_add_license.png
Binary files differ
diff --git a/doc/user/application_security/license_management/img/license_management_search.png b/doc/user/application_security/license_management/img/license_management_search.png
new file mode 100644
index 00000000000..7b6006cef9d
--- /dev/null
+++ b/doc/user/application_security/license_management/img/license_management_search.png
Binary files differ
diff --git a/doc/user/application_security/license_management/img/license_management_settings.png b/doc/user/application_security/license_management/img/license_management_settings.png
index b5490e59074..1a2bfa78a03 100644
--- a/doc/user/application_security/license_management/img/license_management_settings.png
+++ b/doc/user/application_security/license_management/img/license_management_settings.png
Binary files differ
diff --git a/doc/user/application_security/license_management/index.md b/doc/user/application_security/license_management/index.md
index 7a583016586..957c4ede981 100644
--- a/doc/user/application_security/license_management/index.md
+++ b/doc/user/application_security/license_management/index.md
@@ -262,6 +262,8 @@ To approve or blacklist a license:
navigate to the project's **Settings > CI/CD** and expand the
**License Management** section.
1. Click the **Add a license** button.
+
+ ![License Management Add License](img/license_management_add_license.png)
1. In the **License name** dropdown, either:
- Select one of the available licenses. You can search for licenses in the field
at the top of the list.
@@ -270,8 +272,22 @@ To approve or blacklist a license:
1. Select the **Approve** or **Blacklist** radio button to approve or blacklist respectively
the selected license.
+
+
+To modify an existing license:
+
+1. In the **License Management** list, click the **Approved/Declined** dropdown to change it to the desired status.
+
![License Management Settings](img/license_management_settings.png)
+Searching for Licenses:
+
+1. Use the **Search** box to search for a specific license.
+
+ ![License Management Search](img/license_management_search.png)
+
+
+
## License Management report under pipelines
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/5491)
diff --git a/doc/user/project/clusters/index.md b/doc/user/project/clusters/index.md
index a4d4fb91f71..547a0c36108 100644
--- a/doc/user/project/clusters/index.md
+++ b/doc/user/project/clusters/index.md
@@ -532,6 +532,14 @@ This job failed because the necessary resources were not successfully created.
To find the cause of this error when creating a namespace and service account, check the [logs](../../../administration/logs.md#kuberneteslog).
+NOTE: **NOTE:**
+As of GitLab 12.1 we require [`cluster-admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
+tokens for all project level clusters unless you unselect the
+[GitLab-managed cluster](#gitlab-managed-clusters) option. If you
+want to manage namespaces and service accounts yourself and don't
+want to provide a `cluster-admin` token to GitLab you must unselect this
+option or you will get the above error.
+
Common reasons for failure include:
- The token you gave GitLab did not have [`cluster-admin`](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles)
diff --git a/doc/user/project/deploy_boards.md b/doc/user/project/deploy_boards.md
index b7f6a855cb6..2aef369c087 100644
--- a/doc/user/project/deploy_boards.md
+++ b/doc/user/project/deploy_boards.md
@@ -59,6 +59,8 @@ specific environment, there are lot of uses cases. To name a few:
To display the Deploy Boards for a specific [environment] you should:
+1. Have [defined an environment](../../ci/environments.md#defining-environments) with a deploy stage.
+
1. Have a Kubernetes cluster up and running.
NOTE: **Running on OpenShift:**
diff --git a/doc/user/project/description_templates.md b/doc/user/project/description_templates.md
index 05ad15476ab..a8c5d4d95b5 100644
--- a/doc/user/project/description_templates.md
+++ b/doc/user/project/description_templates.md
@@ -65,7 +65,7 @@ changes you made after picking the template and return it to its initial status.
> - Templates for merge requests were [introduced][ee-7478ece] in GitLab EE 6.9.
The visibility of issues and/or merge requests should be set to either "Everyone
-with access" or "Only team members" in your project's **Settings** otherwise the
+with access" or "Only Project Members" in your project's **Settings** otherwise the
template text areas won't show. This is the default behavior so in most cases
you should be fine.
diff --git a/doc/user/project/quick_actions.md b/doc/user/project/quick_actions.md
index 1d640966013..6c430ff7cd9 100644
--- a/doc/user/project/quick_actions.md
+++ b/doc/user/project/quick_actions.md
@@ -35,7 +35,7 @@ discussions, and descriptions:
| `/label ~label1 ~label2` | Add label(s). Label names can also start without ~ but mixed syntax is not supported. | ✓ | ✓ |
| `/unlabel ~label1 ~label2` | Remove all or specific label(s)| ✓ | ✓ |
| `/relabel ~label1 ~label2` | Replace label | ✓ | ✓ |
-| <code>/copy_metadata #issue &#124; !merge_request</code> | Copy labels and milestone from other issue or merge request in the project | ✓ | ✓ |
+| <code>/copy_metadata &lt;#issue &#124; !merge_request&gt;</code> | Copy labels and milestone from other issue or merge request in the project | ✓ | ✓ |
| <code>/estimate &lt;1w 3d 2h 14m&gt;</code> | Set time estimate | ✓ | ✓ |
| `/remove_estimate` | Remove time estimate | ✓ | ✓ |
| <code>/spend &lt;time(1h 30m &#124; -1h 5m)&gt; &lt;date(YYYY-MM-DD)&gt;</code> | Add or subtract spent time; optionally, specify the date that time was spent on | ✓ | ✓ |
@@ -44,14 +44,14 @@ discussions, and descriptions:
| `/unlock` | Unlock the discussion | ✓ | ✓ |
| <code>/due &lt;in 2 days &#124; this Friday &#124; December 31st&gt;</code>| Set due date | ✓ | |
| `/remove_due_date` | Remove due date | ✓ | |
-| `/weight 0,1,2, ...` | Set weight **[STARTER]** | ✓ | |
+| <code>/weight &lt;0 &#124; 1 &#124; 2 &#124; ...&gt;</code> | Set weight **[STARTER]** | ✓ | |
| `/clear_weight` | Clears weight **[STARTER]** | ✓ | |
-| `/epic <&epic &#124; group&epic &#124; Epic URL>` | Add to epic **[ULTIMATE]** | ✓ | |
+| <code>/epic &lt;&epic &#124; group&epic &#124; Epic URL&gt;</code> | Add to epic **[ULTIMATE]** | ✓ | |
| `/remove_epic` | Removes from epic **[ULTIMATE]** | ✓ | |
| `/promote` | Promote issue to epic **[ULTIMATE]** | ✓ | |
| `/confidential` | Make confidential | ✓ | |
-| `/duplicate #issue` | Mark this issue as a duplicate of another issue | ✓ |
-| `/move path/to/project` | Move this issue to another project | ✓ | |
+| `/duplicate <#issue>` | Mark this issue as a duplicate of another issue | ✓ |
+| `/move <path/to/project>` | Move this issue to another project | ✓ | |
| `/target_branch <Local branch Name>` | Set target branch | | ✓ |
| `/wip` | Toggle the Work In Progress status | | ✓ |
| `/approve` | Approve the merge request | | ✓ |
@@ -85,3 +85,5 @@ The following quick actions are applicable for epics threads and description:
| `/label ~label1 ~label2` | Add label(s) |
| `/unlabel ~label1 ~label2` | Remove all or specific label(s) |
| `/relabel ~label1 ~label2` | Replace label |
+| <code>/child_epic &lt;&epic &#124; group&epic &#124; Epic URL&gt;</code> | Adds child epic to epic ([introduced in GitLab 12.0](https://gitlab.com/gitlab-org/gitlab-ee/issues/7330)) |
+| <code>/remove_child_epic &lt;&epic &#124; group&epic &#124; Epic URL&gt;</code> | Removes child epic from epic ([introduced in GitLab 12.0](https://gitlab.com/gitlab-org/gitlab-ee/issues/7330)) |
diff --git a/lib/banzai/filter/relative_link_filter.rb b/lib/banzai/filter/relative_link_filter.rb
index 199b3533cf4..80c84c0f622 100644
--- a/lib/banzai/filter/relative_link_filter.rb
+++ b/lib/banzai/filter/relative_link_filter.rb
@@ -17,6 +17,8 @@ module Banzai
include Gitlab::Utils::StrongMemoize
def call
+ return doc if context[:system_note]
+
@uri_types = {}
clear_memoization(:linkable_files)
diff --git a/lib/gitaly/server.rb b/lib/gitaly/server.rb
index 7b238623418..907c6e1b605 100644
--- a/lib/gitaly/server.rb
+++ b/lib/gitaly/server.rb
@@ -2,8 +2,18 @@
module Gitaly
class Server
- def self.all
- Gitlab.config.repositories.storages.keys.map { |s| Gitaly::Server.new(s) }
+ class << self
+ def all
+ Gitlab.config.repositories.storages.keys.map { |s| Gitaly::Server.new(s) }
+ end
+
+ def count
+ all.size
+ end
+
+ def filesystems
+ all.map(&:filesystem_type).compact.uniq
+ end
end
attr_reader :storage
@@ -36,6 +46,10 @@ module Gitaly
storage_status&.writeable
end
+ def filesystem_type
+ storage_status&.fs_type
+ end
+
def address
Gitlab::GitalyClient.address(@storage)
rescue RuntimeError => e
diff --git a/lib/gitlab.rb b/lib/gitlab.rb
index ccaf06c5d6a..fd4bbd69468 100644
--- a/lib/gitlab.rb
+++ b/lib/gitlab.rb
@@ -1,6 +1,6 @@
# frozen_string_literal: true
-require_dependency 'gitlab/popen'
+require_dependency File.expand_path('gitlab/popen', __dir__)
module Gitlab
def self.root
@@ -60,11 +60,15 @@ module Gitlab
end
def self.ee?
- if ENV['IS_GITLAB_EE'].present?
- Gitlab::Utils.to_boolean(ENV['IS_GITLAB_EE'])
- else
- Object.const_defined?(:License)
- end
+ @is_ee ||=
+ if ENV['IS_GITLAB_EE'].present?
+ Gitlab::Utils.to_boolean(ENV['IS_GITLAB_EE'])
+ else
+ # We may use this method when the Rails environment is not loaded. This
+ # means that checking the presence of the License class could result in
+ # this method returning `false`, even for an EE installation.
+ root.join('ee/app/models/license.rb').exist?
+ end
end
def self.http_proxy_env?
diff --git a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb
index eb32dffc454..e4cf360a1c1 100644
--- a/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb
+++ b/lib/gitlab/ci/pipeline/expression/lexeme/pattern.rb
@@ -34,7 +34,7 @@ module Gitlab
end
def self.eager_matching_with_escape_characters?
- Feature.enabled?(:ci_variables_complex_expressions)
+ Feature.enabled?(:ci_variables_complex_expressions, default_enabled: true)
end
end
end
diff --git a/lib/gitlab/ci/pipeline/expression/lexer.rb b/lib/gitlab/ci/pipeline/expression/lexer.rb
index 23aa1ca4a36..22c210ae26b 100644
--- a/lib/gitlab/ci/pipeline/expression/lexer.rb
+++ b/lib/gitlab/ci/pipeline/expression/lexer.rb
@@ -73,7 +73,7 @@ module Gitlab
end
def available_lexemes
- Feature.enabled?(:ci_variables_complex_expressions) ? NEW_LEXEMES : LEXEMES
+ Feature.enabled?(:ci_variables_complex_expressions, default_enabled: true) ? NEW_LEXEMES : LEXEMES
end
end
end
diff --git a/lib/gitlab/ci/pipeline/expression/parser.rb b/lib/gitlab/ci/pipeline/expression/parser.rb
index 0679ed329e5..589bf32a4d7 100644
--- a/lib/gitlab/ci/pipeline/expression/parser.rb
+++ b/lib/gitlab/ci/pipeline/expression/parser.rb
@@ -13,7 +13,7 @@ module Gitlab
end
def tree
- if Feature.enabled?(:ci_variables_complex_expressions)
+ if Feature.enabled?(:ci_variables_complex_expressions, default_enabled: true)
rpn_parse_tree
else
reverse_descent_parse_tree
diff --git a/lib/gitlab/json_cache.rb b/lib/gitlab/json_cache.rb
index e4bc437d787..9a0b2b35112 100644
--- a/lib/gitlab/json_cache.rb
+++ b/lib/gitlab/json_cache.rb
@@ -58,7 +58,7 @@ module Gitlab
private
def parse_value(raw, klass)
- value = ActiveSupport::JSON.decode(raw)
+ value = ActiveSupport::JSON.decode(raw.to_s)
case value
when Hash then parse_entry(value, klass)
diff --git a/lib/gitlab/metrics/dashboard/base_service.rb b/lib/gitlab/metrics/dashboard/base_service.rb
index 090014aa597..90895eb237a 100644
--- a/lib/gitlab/metrics/dashboard/base_service.rb
+++ b/lib/gitlab/metrics/dashboard/base_service.rb
@@ -23,6 +23,11 @@ module Gitlab
raise NotImplementedError
end
+ # Returns an un-processed dashboard from the cache.
+ def raw_dashboard
+ Gitlab::Metrics::Dashboard::Cache.fetch(cache_key) { get_raw_dashboard }
+ end
+
private
# Returns a new dashboard Hash, supplemented with DB info
@@ -37,11 +42,6 @@ module Gitlab
params[:dashboard_path]
end
- # Returns an un-processed dashboard from the cache.
- def raw_dashboard
- Gitlab::Metrics::Dashboard::Cache.fetch(cache_key) { get_raw_dashboard }
- end
-
# @return [Hash] an unmodified dashboard
def get_raw_dashboard
raise NotImplementedError
@@ -54,6 +54,7 @@ module Gitlab
# Determines whether custom metrics should be included
# in the processed output.
+ # @return [Boolean]
def insert_project_metrics?
false
end
diff --git a/lib/gitlab/metrics/dashboard/dynamic_dashboard_service.rb b/lib/gitlab/metrics/dashboard/dynamic_dashboard_service.rb
new file mode 100644
index 00000000000..81ed8922e17
--- /dev/null
+++ b/lib/gitlab/metrics/dashboard/dynamic_dashboard_service.rb
@@ -0,0 +1,65 @@
+# frozen_string_literal: true
+
+# Responsible for returning a filtered system dashboard
+# containing only the default embedded metrics. In future,
+# this class may be updated to support filtering to
+# alternate metrics/panels.
+#
+# Why isn't this filtering in a processing stage? By filtering
+# here, we ensure the dynamically-determined dashboard is cached.
+#
+# Use Gitlab::Metrics::Dashboard::Finder to retrive dashboards.
+module Gitlab
+ module Metrics
+ module Dashboard
+ class DynamicDashboardService < Gitlab::Metrics::Dashboard::BaseService
+ # For the default filtering for embedded metrics,
+ # uses the 'id' key in dashboard-yml definition for
+ # identification.
+ DEFAULT_EMBEDDED_METRICS_IDENTIFIERS = %w(
+ system_metrics_kubernetes_container_memory_total
+ system_metrics_kubernetes_container_cores_total
+ ).freeze
+
+ # Returns a new dashboard with only the matching
+ # metrics from the system dashboard, stripped of groups.
+ # @return [Hash]
+ def raw_dashboard
+ panels = panel_groups.each_with_object([]) do |group, panels|
+ matched_panels = group['panels'].select { |panel| matching_panel?(panel) }
+
+ panels.concat(matched_panels)
+ end
+
+ { 'panel_groups' => [{ 'panels' => panels }] }
+ end
+
+ def cache_key
+ "dynamic_metrics_dashboard_#{metric_identifiers.join('_')}"
+ end
+
+ private
+
+ # Returns an array of the panels groups on the
+ # system dashboard
+ def panel_groups
+ Gitlab::Metrics::Dashboard::SystemDashboardService
+ .new(project, nil)
+ .raw_dashboard['panel_groups']
+ end
+
+ # Identifies a panel as "matching" if any metric ids in
+ # the panel is in the list of identifiers to collect.
+ def matching_panel?(panel)
+ panel['metrics'].any? do |metric|
+ metric_identifiers.include?(metric['id'])
+ end
+ end
+
+ def metric_identifiers
+ DEFAULT_EMBEDDED_METRICS_IDENTIFIERS
+ end
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/metrics/dashboard/finder.rb b/lib/gitlab/metrics/dashboard/finder.rb
index 49ea5c7d4f2..d7491d1553d 100644
--- a/lib/gitlab/metrics/dashboard/finder.rb
+++ b/lib/gitlab/metrics/dashboard/finder.rb
@@ -9,17 +9,28 @@ module Gitlab
class Finder
class << self
# Returns a formatted dashboard packed with DB info.
+ # @param project [Project]
+ # @param user [User]
+ # @param environment [Environment]
+ # @param opts - dashboard_path [String] Path at which the
+ # dashboard can be found. Nil values will
+ # default to the system dashboard.
+ # @param opts - embedded [Boolean] Determines whether the
+ # dashboard is to be rendered as part of an
+ # issue or location other than the primary
+ # metrics dashboard UI. Returns only the
+ # Memory/CPU charts of the system dash.
# @return [Hash]
- def find(project, user, environment, dashboard_path = nil)
- service = system_dashboard?(dashboard_path) ? system_service : project_service
-
- service
+ def find(project, user, environment, dashboard_path: nil, embedded: false)
+ service_for_path(dashboard_path, embedded: embedded)
.new(project, user, environment: environment, dashboard_path: dashboard_path)
.get_dashboard
end
# Summary of all known dashboards.
- # @return [Array<Hash>] ex) [{ path: String, default: Boolean }]
+ # @return [Array<Hash>] ex) [{ path: String,
+ # display_name: String,
+ # default: Boolean }]
def find_all_paths(project)
project.repository.metrics_dashboard_paths
end
@@ -35,6 +46,13 @@ module Gitlab
private
+ def service_for_path(dashboard_path, embedded:)
+ return dynamic_service if embedded
+ return system_service if system_dashboard?(dashboard_path)
+
+ project_service
+ end
+
def system_service
Gitlab::Metrics::Dashboard::SystemDashboardService
end
@@ -43,6 +61,10 @@ module Gitlab
Gitlab::Metrics::Dashboard::ProjectDashboardService
end
+ def dynamic_service
+ Gitlab::Metrics::Dashboard::DynamicDashboardService
+ end
+
def system_dashboard?(filepath)
!filepath || system_service.system_dashboard?(filepath)
end
diff --git a/lib/gitlab/usage_data.rb b/lib/gitlab/usage_data.rb
index 9aa2e972adf..0180fe7fa71 100644
--- a/lib/gitlab/usage_data.rb
+++ b/lib/gitlab/usage_data.rb
@@ -136,8 +136,9 @@ module Gitlab
def components_usage_data
{
- gitlab_pages: { enabled: Gitlab.config.pages.enabled, version: Gitlab::Pages::VERSION },
git: { version: Gitlab::Git.version },
+ gitaly: { version: Gitaly::Server.all.first.server_version, servers: Gitaly::Server.count, filesystems: Gitaly::Server.filesystems },
+ gitlab_pages: { enabled: Gitlab.config.pages.enabled, version: Gitlab::Pages::VERSION },
database: { adapter: Gitlab::Database.adapter_name, version: Gitlab::Database.version }
}
end
diff --git a/locale/ar_SA/gitlab.po b/locale/ar_SA/gitlab.po
index e093612f1f7..1b561621f6f 100644
--- a/locale/ar_SA/gitlab.po
+++ b/locale/ar_SA/gitlab.po
@@ -1014,9 +1014,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3675,9 +3693,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3687,6 +3702,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4941,6 +4959,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5895,12 +5916,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -7071,6 +7086,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -9075,6 +9096,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -9084,9 +9108,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9603,9 +9633,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11145,9 +11172,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11520,6 +11544,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13383,6 +13410,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13779,6 +13809,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14862,7 +14895,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15921,9 +15954,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16566,6 +16596,9 @@ msgstr[5] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16662,6 +16695,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/bg/gitlab.po b/locale/bg/gitlab.po
index aea8f16e137..4d72599f5a3 100644
--- a/locale/bg/gitlab.po
+++ b/locale/bg/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "Първо"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "изпращане на промени от"
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr "ÐÑма хранилище"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr "ÐÑма планове"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Схема"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "План за Ñхема"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr "Свързани подаваниÑ"
-
msgid "Related Deployed Jobs"
msgstr "Свързани внедрени задачи"
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/bn_BD/gitlab.po b/locale/bn_BD/gitlab.po
index 3096442dd44..c1b139055cc 100644
--- a/locale/bn_BD/gitlab.po
+++ b/locale/bn_BD/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/bn_IN/gitlab.po b/locale/bn_IN/gitlab.po
index 8e220736054..8c3512497e7 100644
--- a/locale/bn_IN/gitlab.po
+++ b/locale/bn_IN/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/ca_ES/gitlab.po b/locale/ca_ES/gitlab.po
index 7e7d6b18d6f..69c1971701f 100644
--- a/locale/ca_ES/gitlab.po
+++ b/locale/ca_ES/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr "Registre de contenidors"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr "Adreça IP"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Identificador"
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/cs_CZ/gitlab.po b/locale/cs_CZ/gitlab.po
index 0063738574c..2e072b2a16e 100644
--- a/locale/cs_CZ/gitlab.po
+++ b/locale/cs_CZ/gitlab.po
@@ -936,9 +936,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3579,9 +3597,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3591,6 +3606,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4843,6 +4861,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6969,6 +6984,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8965,6 +8986,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8974,9 +8998,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9491,9 +9521,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11031,9 +11058,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11402,6 +11426,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13259,6 +13286,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13655,6 +13685,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15791,9 +15824,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16504,6 +16537,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/cy_GB/gitlab.po b/locale/cy_GB/gitlab.po
index 3c65f30b0d6..24ab2e96c78 100644
--- a/locale/cy_GB/gitlab.po
+++ b/locale/cy_GB/gitlab.po
@@ -1014,9 +1014,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3675,9 +3693,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3687,6 +3702,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4941,6 +4959,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5895,12 +5916,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -7071,6 +7086,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -9075,6 +9096,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -9084,9 +9108,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9603,9 +9633,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11145,9 +11172,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11520,6 +11544,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13383,6 +13410,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13779,6 +13809,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14862,7 +14895,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15921,9 +15954,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16566,6 +16596,9 @@ msgstr[5] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16662,6 +16695,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/da_DK/gitlab.po b/locale/da_DK/gitlab.po
index 7cca186e1af..bada56b442a 100644
--- a/locale/da_DK/gitlab.po
+++ b/locale/da_DK/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/de/gitlab.po b/locale/de/gitlab.po
index ca3bb88a10c..daf877d3cff 100644
--- a/locale/de/gitlab.po
+++ b/locale/de/gitlab.po
@@ -858,9 +858,27 @@ msgstr "'Shared Runners' für neue Projekte aktivieren"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Umgebungsvariablen sind standardmäßig geschützt"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Gib eine Domain an, die standardmäßig für die Auto-Review-Anwendungen- und Auto-Bereitstsellungs-Phasen jedes Projekts verwendet werden soll."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "Eine neu erstellte Umgebungsvariable ist standardmäßig geschützt."
@@ -3483,9 +3501,6 @@ msgstr "Container-Registry"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "Erstellt"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Melde dich zunächst mit deinem GitLab-Benutzernamen und Passwort in GitLabs Container-Registry an. Wenn du %{link_2fa} hast, musst du ein %{link_token} verwenden:"
@@ -3495,6 +3510,9 @@ msgstr "GitLab unterstützt bis zu 3 Ebenen von Image-Namen. Die folgenden Beisp
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Wie man die Container-Registry verwendet"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "Erfahre mehr über"
@@ -4745,6 +4763,9 @@ msgstr "Endet am (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr "Fertiggestellt"
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "Erster"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "gepusht von"
-
msgid "Fixed date"
msgstr "Fester Termin"
@@ -6867,6 +6882,12 @@ msgstr "Review"
msgid "IP Address"
msgstr "IP-Adresse"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Identifikator"
@@ -8855,6 +8876,9 @@ msgstr "Keine Pushs für den ausgewählten Zeitraum."
msgid "No repository"
msgstr "Kein Repository"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Keine Runner gefunden"
@@ -8864,9 +8888,15 @@ msgstr "Keine Zeitpläne"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "Nein, importiere die vorhandenen E-Mail-Adressen und Benutzernamen direkt."
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Pipeline"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "Zeitplan der Pipeline"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr "Registry"
-msgid "Related Commits"
-msgstr "Zugehörige Commits"
-
msgid "Related Deployed Jobs"
msgstr "Zugehörige Bereitstellungsjobs"
@@ -11284,6 +11308,9 @@ msgstr "Antwortmesswerte (NGINX)"
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Fortsetzen"
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "Der Import wird nach %{timeout} beendet. Verwende eine Clone/Push-Kombination für Repositorys, die länger brauchen."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr "Diese Gruppe"
msgid "This group does not provide any group Runners yet."
msgstr "Diese Gruppe stellt noch keine Gruppenrunner zur Verfügung."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr "Deine Gruppen"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "Die Informationen zu deinem Kubernetes-Cluster auf dieser Seite können weiterhin bearbeitet werden. Es wird jedoch empfohlen, die Konfiguration zu deaktivieren und neu zu konfigurieren"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] "Instanzen abgeschlossen"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr "%{metricsLinkStart} Speicherauslastung %{metricsLinkEnd} %{emphasisStart
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} Speicherauslastung %{metricsLinkEnd} ist %{emphasisStart} unverändert %{emphasisEnd} bei %{memoryFrom} MB"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/el_GR/gitlab.po b/locale/el_GR/gitlab.po
index 538d5406c9b..f2d8321020c 100644
--- a/locale/el_GR/gitlab.po
+++ b/locale/el_GR/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/eo/gitlab.po b/locale/eo/gitlab.po
index 1747c758133..7960be28abd 100644
--- a/locale/eo/gitlab.po
+++ b/locale/eo/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "Unue"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "alpuÅita de"
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr "Ne estas deponejo"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr "Ne estas planoj"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Ĉenstablo"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "Ĉenstabla plano"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr "Rilataj enmetadoj"
-
msgid "Related Deployed Jobs"
msgstr "Rilataj disponigitaj taskoj"
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/es/gitlab.po b/locale/es/gitlab.po
index b6391526033..ca2c3450b4d 100644
--- a/locale/es/gitlab.po
+++ b/locale/es/gitlab.po
@@ -706,7 +706,7 @@ msgid "Add an SSH key"
msgstr "Añadir una clave SSH"
msgid "Add an issue"
-msgstr ""
+msgstr "Agregar una incidencia"
msgid "Add approvers"
msgstr "Añadir aprobadores"
@@ -858,9 +858,27 @@ msgstr "Habilitar ejecutores compartidos para los nuevos proyectos"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Las variables de entorno están protegidas por defecto"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Especifique un dominio para utilizar por defecto durante las etapas despliegue automático de cada proyecto y las de los mismos."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "Cuando crea una nueva variable de entorno, se protegerá por defecto."
@@ -1714,10 +1732,10 @@ msgid "AutoDevOps|The Auto DevOps pipeline has been enabled and will be used if
msgstr "El pipeline de Auto DevOps ha sido habilitado y será utilizado si no se encuentra un archivo de configuración CI alternativo. %{more_information_link}"
msgid "Automatic certificate management using %{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end}"
-msgstr ""
+msgstr "Gestión automática de los certificados utilizando %{lets_encrypt_link_start}Let's Encrypt%{lets_encrypt_link_end}"
msgid "Automatic certificate management using Let's Encrypt"
-msgstr ""
+msgstr "Gestión automática de los certificados utilizando Let's Encrypt"
msgid "Automatically marked as default internal user"
msgstr "Marcado automáticamente como usuario interno por defecto"
@@ -1988,10 +2006,10 @@ msgid "Boards"
msgstr "Tableros"
msgid "Boards|Edit board"
-msgstr ""
+msgstr "Editar tablero"
msgid "Boards|View scope"
-msgstr ""
+msgstr "Ver alcance"
msgid "Branch %{branchName} was not found in this project's repository."
msgstr "No se encontró la rama %{branchName} en el repositorio de este proyecto."
@@ -2120,10 +2138,10 @@ msgid "Branches|To avoid data loss, consider merging this branch before deleting
msgstr "Para evitar pérdida de datos, considere hacer un merge request de esta rama antes de borrarla."
msgid "Branches|To confirm, type %{branch_name_confirmation}:"
-msgstr ""
+msgstr "Para confirmar, teclee %{branch_name_confirmation}:"
msgid "Branches|To discard the local changes and overwrite the branch with the upstream version, delete it here and choose 'Update Now' above."
-msgstr ""
+msgstr "Para descartar los cambios locales y sobreescribir la rama actual en el servidor, elimínela aquí y seleccione 'Actualizar ahora' en el enlace situado la parte superior."
msgid "Branches|You’re about to permanently delete the protected branch %{branch_name}."
msgstr "Va a eliminar de forma permanente la rama protegida %{branch_name}."
@@ -2645,7 +2663,7 @@ msgid "Click any <strong>project name</strong> in the project list below to navi
msgstr "Haga clic en cualquier <strong>nombre de proyecto</strong> en la lista de proyectos que se muestra a continuación para navegar hasta el hito de proyecto correspondiente."
msgid "Click here"
-msgstr ""
+msgstr "Haga click aquí"
msgid "Click the <strong>Download</strong> button and wait for downloading to complete."
msgstr "Haga click en el botón <strong>Descargar</strong> y espere a que se complete la descarga."
@@ -2726,7 +2744,7 @@ msgid "ClusterIntegration|%{title} uninstalled successfully."
msgstr "%{title} desinstalado correctamente."
msgid "ClusterIntegration|%{title} updated successfully."
-msgstr ""
+msgstr "%{title} actualizado correctamente."
msgid "ClusterIntegration|A service token scoped to %{code}kube-system%{end_code} with %{code}cluster-admin%{end_code} privileges."
msgstr ""
@@ -3436,7 +3454,7 @@ msgid "Confirm"
msgstr "Confirmar"
msgid "Confirmation email sent to %{email}"
-msgstr ""
+msgstr "Email de confirmación enviado a %{email}"
msgid "Confirmation required"
msgstr "Se requiere confirmación"
@@ -3483,9 +3501,6 @@ msgstr "Registro de contenedores"
msgid "Container registry images"
msgstr "Imágenes del registro de contenedores"
-msgid "ContainerRegistry|Created"
-msgstr "Creado"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Inicie sesión por primera vez en el Container Registry de GitLab&rsquo; utilizando su usuario y su contraseña. Si tiene %{link_2fa} necesita utilizar un %{link_token}:"
@@ -3495,6 +3510,9 @@ msgstr "Gitlab soporta hasta 3 niveles para nombres de imágenes. Los siguientes
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Cómo utilizar el registro de contenedores"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "Conozca más sobre"
@@ -3988,7 +4006,7 @@ msgid "Default issue template"
msgstr "Plantilla de incidencia por defecto"
msgid "Default project deletion protection"
-msgstr ""
+msgstr "Protección por defecto de eliminación de proyectos"
msgid "Default: Directly import the Google Code email address or username"
msgstr "Por defecto: Importar directamente el nombre de usuario o la dirección de correo electrónico de Google Code"
@@ -4078,37 +4096,37 @@ msgid "Deny"
msgstr "Denegar"
msgid "Dependencies"
-msgstr ""
+msgstr "Dependencias"
msgid "Dependencies|Component"
-msgstr ""
+msgstr "Componente"
msgid "Dependencies|Component name"
-msgstr ""
+msgstr "Nombre del componente"
msgid "Dependencies|Export as JSON"
-msgstr ""
+msgstr "Exportar como JSON"
msgid "Dependencies|Job failed to generate the dependency list"
-msgstr ""
+msgstr "El trabajo ha fallado al generar la lista de dependencias"
msgid "Dependencies|Location"
-msgstr ""
+msgstr "Ubicación"
msgid "Dependencies|Packager"
-msgstr ""
+msgstr "Empaquetador"
msgid "Dependencies|The %{codeStartTag}dependency_scanning%{codeEndTag} job has failed and cannot generate the list. Please ensure the job is running properly and run the pipeline again."
msgstr ""
msgid "Dependencies|Unsupported file(s) detected"
-msgstr ""
+msgstr "Ficheros no admitidos detectados"
msgid "Dependencies|Version"
-msgstr ""
+msgstr "Versión"
msgid "Dependency List"
-msgstr ""
+msgstr "Lista de dependencias"
msgid "Dependency Proxy"
msgstr "Proxy de dependencias"
@@ -4745,6 +4763,9 @@ msgstr "Finaliza a las (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr "Reforzar la protección de ataques a DNS"
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr "Introduzca al menos tres caracteres para buscar"
@@ -5695,12 +5716,6 @@ msgstr "Finalizado"
msgid "First day of the week"
msgstr "Primer día de la semana"
-msgid "FirstPushedBy|First"
-msgstr "Primer"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "enviado por"
-
msgid "Fixed date"
msgstr "Fecha fija"
@@ -6867,6 +6882,12 @@ msgstr "Revisión"
msgid "IP Address"
msgstr "Direccion IP"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Identificador"
@@ -8855,6 +8876,9 @@ msgstr "No hay pushes para el período de tiempo seleccionado."
msgid "No repository"
msgstr "No hay repositorio"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "No se encontraron ejecutores"
@@ -8864,9 +8888,15 @@ msgstr "No hay programaciones"
msgid "No start date"
msgstr "Sin fecha de inicio"
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "No, importe directamente las direcciones de correo electrónico y los nombres de usuario existentes."
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr "El nodo se ha creado correctamente."
@@ -9379,9 +9409,6 @@ msgstr "Código pin"
msgid "Pipeline"
msgstr "Pipeline"
-msgid "Pipeline ID (IID)"
-msgstr "ID del pipeline (IID)"
-
msgid "Pipeline Schedule"
msgstr "Programación del Pipeline"
@@ -10917,9 +10944,6 @@ msgstr "Registro"
msgid "Registry"
msgstr "Registro"
-msgid "Related Commits"
-msgstr "Cambios Relacionados"
-
msgid "Related Deployed Jobs"
msgstr "Trabajos Desplegados Relacionados"
@@ -11284,6 +11308,9 @@ msgstr "Respuesta métricas (NGINX)"
msgid "Restart Terminal"
msgstr "Reiniciar el terminal"
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Reanudar"
@@ -13135,6 +13162,9 @@ msgstr "La configuración de grupos para %{group_links} requiere que habilite la
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "La importación finalizará después de %{timeout}. Para los repositorios que necesiten más tiempo, utilice una combinación de comandos 'clone'/'push'."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr "No se ha podido aceptar la invitación."
@@ -13531,6 +13561,9 @@ msgstr "Este grupo"
msgid "This group does not provide any group Runners yet."
msgstr "Este grupo aún no proporciona ningún grupo de 'runners'."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr "Este es un usuario \"fantasma\", creado para mantener todas las incidencias creadass por usuarios de Gitlab que ya han sido eliminados. Este usuario no se puede eliminar."
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr "Sus claves GPG (%{count})"
msgid "Your Groups"
msgstr "Sus grupos"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "La información del cluster de Kubernetes en esta página aún se puede editar, pero se recomienda desactivarla y modificar"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] "instancias completadas"
msgid "invalid milestone state `%{state}`"
msgstr "estado del hito invalido '%{state}'"
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr "está habilitado."
@@ -16346,6 +16379,9 @@ msgstr "Uso de %{metricsLinkStart} memoria %{metricsLinkEnd} %{emphasisStart} in
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} El uso de la memoria %{metricsLinkEnd} es %{emphasisStart} sin cambios %{emphasisEnd} en %{memoryFrom}MB"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/et_EE/gitlab.po b/locale/et_EE/gitlab.po
index 0733ebe4adf..f1ed6ff3630 100644
--- a/locale/et_EE/gitlab.po
+++ b/locale/et_EE/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/fil_PH/gitlab.po b/locale/fil_PH/gitlab.po
index c705b1680fe..30b0e53ea19 100644
--- a/locale/fil_PH/gitlab.po
+++ b/locale/fil_PH/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/fr/gitlab.po b/locale/fr/gitlab.po
index b1870856c52..12edcf96cff 100644
--- a/locale/fr/gitlab.po
+++ b/locale/fr/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Spécifiez un domaine à utiliser par défaut pour les étapes Auto Review Apps et Auto Deploy de chaque projet."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr "Registre de conteneur"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "Créé"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Inscrivezâ€vous d’abord au registre de conteneur GitLab à l’aide de votre nom d’utilisateur GitLab et de votre mot de passe. Si vous avez %{link_2fa} vous devrez utiliser un %{link_token} :"
@@ -3495,6 +3510,9 @@ msgstr "GitLab prend en charge jusqu’à trois niveaux de noms d’image. Les e
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Comment utiliser le registre de conteneur"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "En savoir plus sur"
@@ -4745,6 +4763,9 @@ msgstr "Se termine à (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr "Terminé"
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "En premier"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "poussé par"
-
msgid "Fixed date"
msgstr "Date fixée"
@@ -6867,6 +6882,12 @@ msgstr "Examiner"
msgid "IP Address"
msgstr "Adresse IP"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Identifiant"
@@ -8855,6 +8876,9 @@ msgstr "Rien n’a été poussé vers GIt durant la période sélectionnée."
msgid "No repository"
msgstr "Aucun dépôt"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Aucun exécuteur trouvé"
@@ -8864,9 +8888,15 @@ msgstr "Aucune planification"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "Non, importer directement les adresses de courriel et les noms d’utilisateur existants."
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Pipeline"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "Planification de pipeline"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr "Registre"
-msgid "Related Commits"
-msgstr "Commits liés"
-
msgid "Related Deployed Jobs"
msgstr "Tâches déployées liées"
@@ -11284,6 +11308,9 @@ msgstr "Métriques de réponse (nginx)"
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Reprendre"
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "L’importation expirera après %{timeout}. Pour les dépôts qui prennent plus de temps, utilisez une combinaison de clone et push."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr "Ce groupe"
msgid "This group does not provide any group Runners yet."
msgstr "Ce groupe ne fournit pas encore d’exécuteurs de groupe."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr "Vos groupes"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "Vos informations de cluster Kubernetes sur cette page sont toujours modifiables, mais il est conseillé de désactiver et reconfigurer"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] "instances terminées"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr "%{metricsLinkStart}L’usage mémoire%{metricsLinkEnd} %{emphasisStart}a
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart}L’usage mémoire%{metricsLinkEnd} %{emphasisStart}est resté stable%{emphasisEnd} à %{memoryFrom}MO"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index 0cabaeabb9a..8f010b2184c 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -4408,9 +4408,6 @@ msgstr ""
msgid "February"
msgstr ""
-msgid "Fields on this page are now uneditable, you can configure"
-msgstr ""
-
msgid "File"
msgid_plural "Files"
msgstr[0] ""
@@ -5645,7 +5642,7 @@ msgstr ""
msgid "Kubernetes error: %{error_code}"
msgstr ""
-msgid "Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new <a href=\"%{url}\"/>Kubernetes Clusters</a> page"
+msgid "Kubernetes service integration has been disabled. Fields on this page are not used by GitLab, you can configure your Kubernetes clusters using the new <a href=\"%{url}\"/>Kubernetes Clusters</a> page"
msgstr ""
msgid "LFS"
@@ -9140,6 +9137,9 @@ msgstr ""
msgid "Show comments only"
msgstr ""
+msgid "Show commit description"
+msgstr ""
+
msgid "Show complete raw log"
msgstr ""
@@ -9999,7 +9999,7 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
-msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgid "The instance-level Kubernetes service integration is disabled. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
msgstr ""
msgid "The invitation could not be accepted."
diff --git a/locale/gl_ES/gitlab.po b/locale/gl_ES/gitlab.po
index 647ec18bd1e..880d0f2e9a9 100644
--- a/locale/gl_ES/gitlab.po
+++ b/locale/gl_ES/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/he_IL/gitlab.po b/locale/he_IL/gitlab.po
index 5ae83a3e4d3..dcfe3ceb8a3 100644
--- a/locale/he_IL/gitlab.po
+++ b/locale/he_IL/gitlab.po
@@ -936,9 +936,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3579,9 +3597,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3591,6 +3606,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4843,6 +4861,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6969,6 +6984,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8965,6 +8986,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8974,9 +8998,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9491,9 +9521,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11031,9 +11058,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11402,6 +11426,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13259,6 +13286,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13655,6 +13685,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15791,9 +15824,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16504,6 +16537,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/hi_IN/gitlab.po b/locale/hi_IN/gitlab.po
index f1c03c61435..76b060f25c3 100644
--- a/locale/hi_IN/gitlab.po
+++ b/locale/hi_IN/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/hr_HR/gitlab.po b/locale/hr_HR/gitlab.po
index 6d81a3b7447..ae4a40dd8f7 100644
--- a/locale/hr_HR/gitlab.po
+++ b/locale/hr_HR/gitlab.po
@@ -897,9 +897,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3531,9 +3549,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3543,6 +3558,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4794,6 +4812,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5745,12 +5766,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6918,6 +6933,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8910,6 +8931,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8919,9 +8943,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9435,9 +9465,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10974,9 +11001,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11343,6 +11367,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13197,6 +13224,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13593,6 +13623,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14670,7 +14703,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15726,9 +15759,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16332,6 +16362,9 @@ msgstr[2] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16425,6 +16458,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/hu_HU/gitlab.po b/locale/hu_HU/gitlab.po
index d2a8e28c75a..131782290b2 100644
--- a/locale/hu_HU/gitlab.po
+++ b/locale/hu_HU/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/id_ID/gitlab.po b/locale/id_ID/gitlab.po
index 5c7497673dd..f1680909623 100644
--- a/locale/id_ID/gitlab.po
+++ b/locale/id_ID/gitlab.po
@@ -819,9 +819,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3435,9 +3453,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3447,6 +3462,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4696,6 +4714,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5645,12 +5666,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6816,6 +6831,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8800,6 +8821,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8809,9 +8833,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9323,9 +9353,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10860,9 +10887,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11225,6 +11249,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13073,6 +13100,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13469,6 +13499,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15596,9 +15629,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16267,6 +16300,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/it/gitlab.po b/locale/it/gitlab.po
index 48902ba3969..02fa65dfa10 100644
--- a/locale/it/gitlab.po
+++ b/locale/it/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "Primo"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "Push di"
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr "Nessuna Repository"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr "Nessuna pianificazione"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Pipeline"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "Pianificazione Pipeline"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr "Commit correlati"
-
msgid "Related Deployed Jobs"
msgstr "Attività di Rilascio Correlate"
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/ja/gitlab.po b/locale/ja/gitlab.po
index a8bea017870..8964d2081bf 100644
--- a/locale/ja/gitlab.po
+++ b/locale/ja/gitlab.po
@@ -270,7 +270,7 @@ msgid "%{text} is available"
msgstr "%{text} ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚"
msgid "%{title} %{operator} %{threshold}"
-msgstr ""
+msgstr "%{title} %{operator} %{threshold}"
msgid "%{title} changes"
msgstr "%{title} ã®å¤‰æ›´"
@@ -819,9 +819,27 @@ msgstr "æ–°ã—ã„プロジェクトã§å…±æœ‰ Runner を有効ã«ã™ã‚‹"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "環境変数ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä¿è­·ã•ã‚Œã¦ã„ã¾ã™"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "ã™ã¹ã¦ã®ãƒ—ロジェクトã®Auto Review AppsãŠã‚ˆã³Auto Deployステージã§ä½¿ç”¨ã™ã‚‹ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒ‰ãƒ¡ã‚¤ãƒ³ã‚’指定ã—ã¾ã™ã€‚"
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "環境変数ã®æ–°è¦ä½œæˆæ™‚ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä¿è­·ã•ã‚Œã¾ã™"
@@ -959,7 +977,7 @@ msgid "All users must have a name."
msgstr "ã™ã¹ã¦ã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã«åå‰ãŒå¿…è¦ã§ã™ã€‚"
msgid "Allow \"%{group_name}\" to sign you in"
-msgstr ""
+msgstr "%{group_name} ã«ã‚µã‚¤ãƒ³ã‚¤ãƒ³ã‚’許å¯"
msgid "Allow commits from members who can merge to the target branch."
msgstr "ターゲットブランãƒã«ãƒžãƒ¼ã‚¸ã§ãるメンãƒãƒ¼ã‹ã‚‰ã®ã‚³ãƒŸãƒƒãƒˆã‚’許å¯ã—ã¾ã™ã€‚"
@@ -1473,7 +1491,7 @@ msgid "Are you sure you want to unlock %{path_lock_path}?"
msgstr "%{path_lock_path} ã®ãƒ­ãƒƒã‚¯ã‚’解除ã—ã¦ã‚‚よã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "Are you sure you want to unsubscribe from the %{type}: %{link_to_noteable_text}?"
-msgstr ""
+msgstr "%{type}: %{link_to_noteable_text} ã®è³¼èª­ã‚’解除ã—ã¦ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
msgid "Are you sure?"
msgstr "本当ã«ã‚ˆã‚ã—ã„ã§ã™ã‹ï¼Ÿ"
@@ -2379,7 +2397,7 @@ msgid "Checking branch availability..."
msgstr "ブランãƒãŒåˆ©ç”¨å¯èƒ½ã‹ç¢ºèªã—ã¦ã„ã¾ã™â€¦"
msgid "Checking username availability..."
-msgstr "ユーザーåãŒåˆ©ç”¨å¯èƒ½ã‹ç¢ºèªã—ã¦ã„ã¾ã™..."
+msgstr ""
msgid "Cherry-pick this commit"
msgstr "ã“ã®ã‚³ãƒŸãƒƒãƒˆã‚’ãƒã‚§ãƒªãƒ¼ãƒ”ック"
@@ -3435,9 +3453,6 @@ msgstr "コンテナレジストリ"
msgid "Container registry images"
msgstr "コンテナレジストリã®ã‚¤ãƒ¡ãƒ¼ã‚¸"
-msgid "ContainerRegistry|Created"
-msgstr "作æˆæ¸ˆã¿"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "ã¾ãšã€GitLab ã®ã‚³ãƒ³ãƒ†ãƒŠãƒ¬ã‚¸ã‚¹ãƒˆãƒªã« GitLab ユーザーåã¨ãƒ‘スワードを使ã£ã¦ãƒ­ã‚°ã‚¤ãƒ³ã—ã¾ã™ã€‚%{link_2fa} を利用ã—ã¦ã„ã‚Œã°ã€%{link_token} を使用ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™:"
@@ -3447,6 +3462,9 @@ msgstr "GitLab ã§ã¯ã€æœ€å¤§ 3 ã¤ã®ãƒ¬ãƒ™ãƒ«ã®ã‚¤ãƒ¡ãƒ¼ã‚¸åをサãƒãƒ¼ãƒ
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "コンテナレジストリ使用方法"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "詳細ã«ã¤ã„ã¦"
@@ -4696,6 +4714,9 @@ msgstr "終了時刻 (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr "å°‘ãªãã¨ã‚‚3文字以上ã§æ¤œç´¢ã—ã¦ãã ã•ã„"
@@ -5645,12 +5666,6 @@ msgstr "完了"
msgid "First day of the week"
msgstr "一週間ã®é–‹å§‹æ›œæ—¥"
-msgid "FirstPushedBy|First"
-msgstr "åˆå›ž"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "プッシュã—ãŸäºº"
-
msgid "Fixed date"
msgstr ""
@@ -6816,6 +6831,12 @@ msgstr "レビュー"
msgid "IP Address"
msgstr "IP アドレス"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "識別å­"
@@ -8800,6 +8821,9 @@ msgstr "é¸æŠžã—ãŸæœŸé–“ã«ãƒ—ッシュã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "No repository"
msgstr "リãƒã‚¸ãƒˆãƒªãŒã‚ã‚Šã¾ã›ã‚“"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Runner ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
@@ -8809,9 +8833,15 @@ msgstr "スケジュールãªã—"
msgid "No start date"
msgstr "開始日ãªã—"
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9323,9 +9353,6 @@ msgstr ""
msgid "Pipeline"
msgstr "パイプライン"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "パイプラインスケジュール"
@@ -10860,9 +10887,6 @@ msgstr ""
msgid "Registry"
msgstr "レジストリ"
-msgid "Related Commits"
-msgstr "関連ã™ã‚‹ã‚³ãƒŸãƒƒãƒˆ"
-
msgid "Related Deployed Jobs"
msgstr "関連ã™ã‚‹ãƒ‡ãƒ—ロイ済ジョブ"
@@ -11225,6 +11249,9 @@ msgstr "レスãƒãƒ³ã‚¹ãƒ¡ãƒˆãƒªã‚¯ã‚¹ (NGINX)"
msgid "Restart Terminal"
msgstr "ターミナルをå†èµ·å‹•"
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "å†é–‹"
@@ -11821,7 +11848,7 @@ msgid "Service URL"
msgstr "サービス URL"
msgid "Session duration (minutes)"
-msgstr ""
+msgstr "セッション期間 (分)"
msgid "Session expiration, projects limit and attachment size."
msgstr "セッションã®æœ‰åŠ¹æœŸé™ã€ãƒ—ロジェクトã®ä¸Šé™ã€æ·»ä»˜ãƒ•ã‚¡ã‚¤ãƒ«ã®ã‚µã‚¤ã‚º"
@@ -12134,13 +12161,13 @@ msgid "SnippetsEmptyState|There are no snippets to show."
msgstr "表示ã™ã‚‹ã‚¹ãƒ‹ãƒšãƒƒãƒˆã¯ã‚ã‚Šã¾ã›ã‚“。"
msgid "SnippetsEmptyState|They can be either public or private."
-msgstr ""
+msgstr "公開ã¾ãŸã¯éžå…¬é–‹ã«è¨­å®šã§ãã¾ã™ã€‚"
msgid "Some email servers do not support overriding the email sender name. Enable this option to include the name of the author of the issue, merge request or comment in the email body instead."
msgstr "一部ã®ãƒ¡ãƒ¼ãƒ«ã‚µãƒ¼ãƒãƒ¼ã¯ã€ãƒ¡ãƒ¼ãƒ«é€ä¿¡è€…åã®ä¸Šæ›¸ãをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“。ã“ã®ã‚ªãƒ—ションを有効ã«ã™ã‚‹ã¨ã€ä»£ã‚ã‚Šã«ãƒ¡ãƒ¼ãƒ«æœ¬æ–‡ã«èª²é¡Œã€ãƒžãƒ¼ã‚¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆã€ã¾ãŸã¯ã‚³ãƒ¡ãƒ³ãƒˆã®ä½œæˆè€…ã®åå‰ã‚’å«ã‚ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚"
msgid "Someone edited this %{issueType} at the same time you did. The description has been updated and you will need to make your changes again."
-msgstr ""
+msgstr "ã‚ãªãŸã®ç·¨é›†ã¨åŒæ™‚ã«èª°ã‹ãŒã“ã® %{issueType} を編集ã—ãŸãŸã‚ã€èª¬æ˜ŽãŒæ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚ã‚‚ã†ä¸€åº¦ç·¨é›†ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚"
msgid "Someone edited this merge request at the same time you did. Please refresh the page to see changes."
msgstr ""
@@ -12605,7 +12632,7 @@ msgid "SubscriptionTable|GitLab allows you to continue using your subscription e
msgstr ""
msgid "SubscriptionTable|GitLab.com %{planName} %{suffix}"
-msgstr ""
+msgstr "GitLab.com %{planName} %{suffix}"
msgid "SubscriptionTable|Last invoice"
msgstr ""
@@ -13073,6 +13100,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "インãƒãƒ¼ãƒˆã¯ %{timeout} ã§ã‚¿ã‚¤ãƒ ã‚¢ã‚¦ãƒˆã—ã¾ã™ã€‚タイムアウトã™ã‚‹ãƒªãƒã‚¸ãƒˆãƒªã§ã¯ã€clone/push を組ã¿åˆã‚ã›ã¦ä½¿ç”¨ã—ã¦ãã ã•ã„。"
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13440,7 +13470,7 @@ msgid "This date is before the start date, so this epic won't appear in the road
msgstr ""
msgid "This device has already been registered with us."
-msgstr ""
+msgstr "ã“ã®ãƒ‡ãƒã‚¤ã‚¹ã¯æ—¢ã«ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã™ã€‚"
msgid "This device has not been registered with us."
msgstr ""
@@ -13469,6 +13499,9 @@ msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—"
msgid "This group does not provide any group Runners yet."
msgstr "ã“ã®ã‚°ãƒ«ãƒ¼ãƒ—ã¯ã¾ã ã‚°ãƒ«ãƒ¼ãƒ— Runner ã‚’æä¾›ã—ã¦ã„ã¾ã›ã‚“。"
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -13946,7 +13979,7 @@ msgid "Todo was successfully marked as done."
msgstr ""
msgid "Todos"
-msgstr ""
+msgstr "Todo"
msgid "Toggle Sidebar"
msgstr "サイドãƒãƒ¼ã‚’切り替ãˆ"
@@ -13997,7 +14030,7 @@ msgid "Too many changes to show."
msgstr ""
msgid "Topics"
-msgstr ""
+msgstr "トピック"
msgid "Total"
msgstr ""
@@ -14090,13 +14123,13 @@ msgid "Trigger variables:"
msgstr "トリガー変数:"
msgid "Trigger was created successfully."
-msgstr ""
+msgstr "トリガーã¯æ­£å¸¸ã«ä½œæˆã•ã‚Œã¾ã—ãŸã€‚"
msgid "Trigger was re-assigned."
msgstr ""
msgid "Trigger was successfully updated."
-msgstr ""
+msgstr "トリガーã¯æ­£å¸¸ã«æ›´æ–°ã•ã‚Œã¾ã—ãŸã€‚"
msgid "Triggerer"
msgstr "トリガー"
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -14726,7 +14759,7 @@ msgid "UserProfile|This user hasn't contributed to any projects"
msgstr ""
msgid "UserProfile|View all"
-msgstr ""
+msgstr "ã™ã¹ã¦è¡¨ç¤º"
msgid "UserProfile|View user in admin area"
msgstr ""
@@ -14849,7 +14882,7 @@ msgid "View eligible approvers"
msgstr ""
msgid "View epics list"
-msgstr ""
+msgstr "エピックリストを表示"
msgid "View file @ "
msgstr "ファイルを表示 @ "
@@ -15411,7 +15444,7 @@ msgid "You cannot write to this read-only GitLab instance."
msgstr "ã“ã®èª­ã¿å–り専用 GitLab インスタンスã«ã¯æ›¸ã込むã“ã¨ãŒã§ãã¾ã›ã‚“。"
msgid "You could not create a new trigger."
-msgstr ""
+msgstr "æ–°ã—ã„トリガーを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸã€‚"
msgid "You could not take ownership of trigger."
msgstr ""
@@ -15596,9 +15629,6 @@ msgstr ""
msgid "Your Groups"
msgstr "所属グループ"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "ã“ã®ãƒšãƒ¼ã‚¸ã® Kubernetes クラスター情報ã¯ç·¨é›†å¯èƒ½ã§ã™ãŒã€ç„¡åŠ¹ã«ã—ã¦å†è¨­å®šã™ã‚‹ã“ã¨ã‚’推奨ã—ã¾ã™"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] "インスタンスãŒå®Œäº†ã—ã¾ã—ãŸ"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16195,7 +16228,7 @@ msgid "is out of the hierarchy of the Group owning the template"
msgstr ""
msgid "issue"
-msgstr ""
+msgstr "課題"
msgid "issue boards"
msgstr "課題ボード"
@@ -16267,6 +16300,9 @@ msgstr "%{metricsLinkStart} メモリ %{metricsLinkEnd} 使用率㌠%{memoryFro
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} メモリ %{metricsLinkEnd} 使用率㯠%{memoryFrom} MB㧠%{emphasisStart} 変化ãªã— %{emphasisEnd}"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/ka_GE/gitlab.po b/locale/ka_GE/gitlab.po
index 2fe4fbc9d55..5510c93d891 100644
--- a/locale/ka_GE/gitlab.po
+++ b/locale/ka_GE/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/ko/gitlab.po b/locale/ko/gitlab.po
index a9b1d2f2f40..e9ae48c0a96 100644
--- a/locale/ko/gitlab.po
+++ b/locale/ko/gitlab.po
@@ -16,13 +16,13 @@ msgstr ""
"PO-Revision-Date: 2019-06-14 19:52\n"
msgid " Please sign in."
-msgstr ""
+msgstr " ë¡œê·¸ì¸ í•´ì£¼ì„¸ìš”."
msgid " Try to %{action} this file again."
-msgstr ""
+msgstr " ì´ íŒŒì¼ì— 대해 %{action} ë™ìž‘ì„ ë‹¤ì‹œ ì‹œë„하세요."
msgid " You need to do this before %{grace_period_deadline}."
-msgstr ""
+msgstr " %{grace_period_deadline} ì´ì „ì— ì´ ìž‘ì—…ì„ ìˆ˜í–‰ 하셔야 합니다."
msgid " and"
msgstr " 그리고"
@@ -61,7 +61,7 @@ msgstr "%dê°œì˜ ì»¤ë°‹"
msgid "%d contribution"
msgid_plural "%d contributions"
-msgstr[0] ""
+msgstr[0] "%d 기여"
msgid "%d exporter"
msgid_plural "%d exporters"
@@ -101,7 +101,7 @@ msgstr[0] "%d 측정치"
msgid "%d more comment"
msgid_plural "%d more comments"
-msgstr[0] ""
+msgstr[0] "%d 댓글 ë” ë³´ê¸°"
msgid "%d staged change"
msgid_plural "%d staged changes"
@@ -129,10 +129,10 @@ msgstr ""
msgid "%{count} approval required from %{name}"
msgid_plural "%{count} approvals required from %{name}"
-msgstr[0] ""
+msgstr[0] "%{name}ì—게서 %{count} ê±´ì— ëŒ€í•œ 승ì¸ì„ 요청받ìŒ"
msgid "%{count} approvals from %{name}"
-msgstr ""
+msgstr "%{name}께서 %{count} ê±´ì˜ ìŠ¹ì¸"
msgid "%{count} more"
msgstr "%{count} ê°œ ë”보기"
@@ -141,7 +141,7 @@ msgid "%{count} more assignees"
msgstr "%{count}ëª…ì˜ ë‹´ë‹¹ìž"
msgid "%{count} of %{required} approvals from %{name}"
-msgstr ""
+msgstr "%{name}ë‹˜ì´ %{required} 중 %{count} 승ì¸"
msgid "%{count} of %{total}"
msgstr "%{total} 중 %{count}"
@@ -819,9 +819,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr "환경 변수는 기본ì ìœ¼ë¡œ 보호ë©ë‹ˆë‹¤."
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "모든 프로ì íŠ¸ì˜ ìžë™ 앱 리뷰 ë° ìžë™ ë°°í¬ ë‹¨ê³„ì—ì„œ 기본ì ìœ¼ë¡œ 사용할 ë„ë©”ì¸ì„ 지정하십시오."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "새 환경 변수를 작성할 ë•Œ 기본ì ìœ¼ë¡œ 보호ë©ë‹ˆë‹¤."
@@ -3435,9 +3453,6 @@ msgstr "컨테ì´ë„ˆ 레지스트리"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "만든"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "GitLab ì‚¬ìš©ìž ì´ë¦„ ë° ì•”í˜¸ë¥¼ 사용 하여 GitLabì˜ ì»¨í…Œì´ë„ˆ ë ˆì§€ìŠ¤íŠ¸ë¦¬ì— ì²˜ìŒ ë¡œê·¸ì¸ í•©ë‹ˆë‹¤. %{link_2fa} 를 사용한다면 %{link_token} 를 사용해야 합니다."
@@ -3447,6 +3462,9 @@ msgstr "GitLabì€ ì´ë¯¸ì§€ ì´ë¦„ì— ìµœëŒ€ 3 ë ˆë²¨ì„ ì§€ì›í•©ë‹ˆë‹¤. 다ìŒ
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "컨테ì´ë„ˆ 레지스트리를 사용 하는 방법"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "ë” ì•Œì•„ë³´ê¸°"
@@ -4696,6 +4714,9 @@ msgstr "(UTC)ì— ì¢…ë£Œë©ë‹ˆë‹¤"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5645,12 +5666,6 @@ msgstr "완료"
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "처ìŒ"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "푸시한 사용ìž"
-
msgid "Fixed date"
msgstr "수정 날짜"
@@ -6816,6 +6831,12 @@ msgstr "리뷰"
msgid "IP Address"
msgstr "IP 주소"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "ì‹ë³„ìž"
@@ -8800,6 +8821,9 @@ msgstr "ì„ íƒí•œ 기간 ë™ì•ˆ 푸시하지 않습니다."
msgid "No repository"
msgstr "저장소 ì—†ìŒ"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Runners ì—†ìŒ"
@@ -8809,9 +8833,15 @@ msgstr "ì¼ì • ì—†ìŒ"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9323,9 +9353,6 @@ msgstr ""
msgid "Pipeline"
msgstr "파ì´í”„ë¼ì¸"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "파ì´í”„ë¼ì¸ 스케쥴"
@@ -10860,9 +10887,6 @@ msgstr ""
msgid "Registry"
msgstr "레지스트리"
-msgid "Related Commits"
-msgstr "관련 커밋"
-
msgid "Related Deployed Jobs"
msgstr "관련 ë°°í¬ ëœ ìž‘ì—…"
@@ -11225,6 +11249,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "재개"
@@ -13073,6 +13100,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "%{timeout} ì´í›„ 가져오기 ì‹œê°„ì´ ì´ˆê³¼ë˜ì—ˆìŠµë‹ˆë‹¤. 저장소가 ëŠë¦° 경우 복제/푸시 ì¡°í•©ì„ ì‚¬ìš©í•©ì‹œì˜¤."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13469,6 +13499,9 @@ msgstr "ì´ ê·¸ë£¹"
msgid "This group does not provide any group Runners yet."
msgstr "ì´ ê·¸ë£¹ì€ ì•„ì§ ê·¸ë£¹ Runners를 제공하지 않습니다."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15596,9 +15629,6 @@ msgstr ""
msgid "Your Groups"
msgstr "ë‚˜ì˜ ê·¸ë£¹ë“¤"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "ì´ íŽ˜ì´ì§€ì—ì„œ Kubernetes í´ëŸ¬ìŠ¤í„° 정보를 계ì†í•´ì„œ 편집할 수 있지만, 비활성화 하거나 재설정하는 ê²ƒì´ ì¢‹ìŠµë‹ˆë‹¤."
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16267,6 +16300,9 @@ msgstr "%{metricsLinkStart} 메모리 사용률 %{metricsLinkEnd} ì´ %{memoryFr
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} 메모리 사용률 %{metricsLinkEnd} ì´ %{memoryFrom}MB ì—ì„œ %{emphasisStart} 변하지 않았습니다. %{emphasisEnd}"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/mn_MN/gitlab.po b/locale/mn_MN/gitlab.po
index ba9868f8fd2..3e127d662ab 100644
--- a/locale/mn_MN/gitlab.po
+++ b/locale/mn_MN/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/nb_NO/gitlab.po b/locale/nb_NO/gitlab.po
index b818109b50b..1a65c08fd32 100644
--- a/locale/nb_NO/gitlab.po
+++ b/locale/nb_NO/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/nl_NL/gitlab.po b/locale/nl_NL/gitlab.po
index 8a3a8cf3af6..a21a659f33d 100644
--- a/locale/nl_NL/gitlab.po
+++ b/locale/nl_NL/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/pa_IN/gitlab.po b/locale/pa_IN/gitlab.po
index cf3724e3ad1..f24100b1dc5 100644
--- a/locale/pa_IN/gitlab.po
+++ b/locale/pa_IN/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/pl_PL/gitlab.po b/locale/pl_PL/gitlab.po
index eee5d9cd8c3..00fa4c3f03c 100644
--- a/locale/pl_PL/gitlab.po
+++ b/locale/pl_PL/gitlab.po
@@ -936,9 +936,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3579,9 +3597,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3591,6 +3606,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4843,6 +4861,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6969,6 +6984,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8965,6 +8986,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8974,9 +8998,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9491,9 +9521,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11031,9 +11058,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11402,6 +11426,9 @@ msgstr "Metryki odpowiedzi (NGINX)"
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13259,6 +13286,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13655,6 +13685,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15791,9 +15824,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16504,6 +16537,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/pt_BR/gitlab.po b/locale/pt_BR/gitlab.po
index 54a81af63d9..b5dab7c6379 100644
--- a/locale/pt_BR/gitlab.po
+++ b/locale/pt_BR/gitlab.po
@@ -858,9 +858,27 @@ msgstr "Ativar runners compartilhados para novos projetos"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Variáveis de ambiente são protegidas por padrão"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Especifique um domínio a ser usado por padrão para os estágios de Auto Review Application e Auto Deploy de cada projeto."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "Ao criar uma nova variável de ambiente, ela será protegida por padrão."
@@ -3483,9 +3501,6 @@ msgstr "Container Registry"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "Criado"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Primeiro faça login no Container Registry do Gitlab usando seu nome de usuário e senha. Se você tiver %{link_2fa}, será necessário usar um %{link_token}:"
@@ -3495,6 +3510,9 @@ msgstr "Gitlab suporta até três níveis de nomes de imagens. Os exemplos a seg
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Como usar o Container Registry"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "Leia mais sobre"
@@ -3550,7 +3568,7 @@ msgid "Contribution"
msgstr "Contribuições"
msgid "Contribution Analytics"
-msgstr "Gráficos de contribuição"
+msgstr "Análise de contribuição"
msgid "Contribution Charts"
msgstr "Gráficos de contribuição"
@@ -4745,6 +4763,9 @@ msgstr "Termina em (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5004,7 +5025,7 @@ msgid "Error Reporting and Logging"
msgstr "Relatório e registro de erros"
msgid "Error Tracking"
-msgstr "Acompanhamento de erros"
+msgstr "Rastreamento de erros"
msgid "Error creating a new path"
msgstr "Erro ao criar um novo caminho"
@@ -5695,12 +5716,6 @@ msgstr "Finalizado"
msgid "First day of the week"
msgstr "Primeiro dia da semana"
-msgid "FirstPushedBy|First"
-msgstr "Primeiro"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "publicado por"
-
msgid "Fixed date"
msgstr "Data fixa"
@@ -6269,7 +6284,7 @@ msgid "Git LFS is not enabled on this GitLab server, contact your admin."
msgstr "Git LFS não está habilitado neste servidor GitLab, contate seu administrador."
msgid "Git LFS objects will be synced in pull mirrors if LFS is %{docs_link_start}enabled for the project%{docs_link_end}. They will <strong>not</strong> be synced in push mirrors."
-msgstr ""
+msgstr "Objetos Git de LFS serão sincronizados em espelhos de pull se o LFS for %{docs_link_start}ativado para o projeto%{docs_link_end}. Eles <strong>não</strong> serão sincronizados em espelhos de push."
msgid "Git global setup"
msgstr "Configuração global do Git"
@@ -6867,6 +6882,12 @@ msgstr "Revisar"
msgid "IP Address"
msgstr "Endereço IP"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Identificador"
@@ -7069,7 +7090,7 @@ msgid "Include the username in the URL if required: <code>https://username@gitla
msgstr "Inclua o nome de usuário no URL, se necessário: <code>https: //username@gitlab.company.com/group/project.git</code>."
msgid "Includes LFS objects. It can be overridden per group, or per project. 0 for unlimited."
-msgstr ""
+msgstr "Inclui objetos LFS. Pode ser substituído individualmente por grupo ou por projeto. 0 para ilimitado."
msgid "Includes an MVC structure to help you get started."
msgstr ""
@@ -7413,7 +7434,7 @@ msgid "Job is stuck. Check runners."
msgstr "A tarefa travou. Verifique os runners."
msgid "Job traces and artifacts"
-msgstr ""
+msgstr "Rastreamento e artefatos de tarefas"
msgid "Job was retried"
msgstr ""
@@ -7545,7 +7566,7 @@ msgid "LFS"
msgstr "LFS"
msgid "LFS objects"
-msgstr ""
+msgstr "Objetos LFS"
msgid "LFSStatus|Disabled"
msgstr "Desabilitado"
@@ -8855,6 +8876,9 @@ msgstr "Nenhum push para o período de tempo selecionado."
msgid "No repository"
msgstr "Nenhum repositório"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Nenhum runner encontrado"
@@ -8864,9 +8888,15 @@ msgstr "Nenhum agendamento"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "Não, importe diretamente os endereços de e-mail e nomes de usuários existentes."
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9060,10 +9090,10 @@ msgid "Once imported, repositories can be mirrored over SSH. Read more %{link_st
msgstr "Uma vez importados, os repositórios podem ser espelhados por SSH. Leia mais %{link_start}aqui%{link_end}."
msgid "Once removed, the fork relationship cannot be restored and you will no longer be able to send merge requests to the source."
-msgstr ""
+msgstr "Uma vez removido, o relacionamento do fork não pode ser restaurando e você não poderá mais enviar merge requests para o repositório original."
msgid "Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page."
-msgstr ""
+msgstr "Quando o arquivo exportado estiver pronto, você receberá um e-mail de notificação com um link para download ou poderá fazer o download a partir desta página."
msgid "One more item"
msgid_plural "%d more items"
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Pipeline"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "Agendamento da Pipeline"
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr "Container Registry"
-msgid "Related Commits"
-msgstr "Commits Relacionados"
-
msgid "Related Deployed Jobs"
msgstr "Tarefas Implantadas Relacionadas"
@@ -10987,7 +11011,7 @@ msgid "Remove due date"
msgstr ""
msgid "Remove fork relationship"
-msgstr ""
+msgstr "Remover relacionamento de fork"
msgid "Remove group"
msgstr "Remover grupo"
@@ -11284,6 +11308,9 @@ msgstr "Métricas de resposta (NGINX)"
msgid "Restart Terminal"
msgstr "Reiniciar terminal"
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Continuar"
@@ -13109,10 +13136,10 @@ msgid "The file has been successfully deleted."
msgstr ""
msgid "The following items will NOT be exported:"
-msgstr ""
+msgstr "Os seguintes itens NÃO serão exportados:"
msgid "The following items will be exported:"
-msgstr ""
+msgstr "Os seguintes itens serão exportados:"
msgid "The fork relationship has been removed."
msgstr "O relacionamento como fork foi removido."
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "A importação expirará após %{timeout}. Para repositórios que demoram mais tempo, use a combinação clone/push."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr "O convite não pôde ser aceito."
@@ -13211,7 +13241,7 @@ msgid "The project can be accessed by any user who is logged in."
msgstr ""
msgid "The project can be accessed by anyone, regardless of authentication."
-msgstr ""
+msgstr "O projeto pode ser acessado por qualquer pessoa, independentemente da autenticação."
msgid "The project can be accessed without any authentication."
msgstr "O projeto pode ser acessado sem a necessidade de autenticação."
@@ -13531,6 +13561,9 @@ msgstr "Esse grupo"
msgid "This group does not provide any group Runners yet."
msgstr "Este grupo não fornece nenhum grupo de Runners ainda."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -13694,7 +13727,7 @@ msgid "This will redirect you to an external sign in page."
msgstr ""
msgid "This will remove the fork relationship to source project"
-msgstr ""
+msgstr "Isto irá remover o relacionamento de fork para o projeto de origem"
msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here."
msgstr "Esses e-mails se tornam automaticamente issues (com os comentários se tornando a conversa por e-mail) listados aqui."
@@ -14112,19 +14145,19 @@ msgid "TransferGroup|You don't have enough permissions."
msgstr ""
msgid "TransferProject|Cannot move project"
-msgstr ""
+msgstr "Não é possível mover o projeto"
msgid "TransferProject|Please select a new namespace for your project."
-msgstr ""
+msgstr "Por favor, selecione um novo namespace para o seu projeto."
msgid "TransferProject|Project cannot be transferred, because tags are present in its container registry"
-msgstr ""
+msgstr "O projeto não pode ser transferido porque as tags estão presentes em seu container registry"
msgid "TransferProject|Project with same name or path in target namespace already exists"
-msgstr ""
+msgstr "Um projeto com o mesmo nome ou caminho no namespace de destino já existe"
msgid "TransferProject|Transfer failed, please contact an admin."
-msgstr ""
+msgstr "A transferência falhou, por favor contate um administrador."
msgid "Tree"
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15590,7 +15623,7 @@ msgid "You will lose all the unstaged changes you've made in this project. This
msgstr ""
msgid "You will need to update your local repositories to point to the new location."
-msgstr ""
+msgstr "Você precisará atualizar seus repositórios locais para apontar para a nova localização."
msgid "You will not get any notifications via email"
msgstr "Você não será notificado por email"
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr "Seus Grupos"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "As informações do cluster do Kubernetes nesta página ainda são editáveis, mas é recomendado que você desative e reconfigure"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] "instâncias completas"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr "%{metricsLinkStart} Memória %{metricsLinkEnd} uso %{emphasisStart} aume
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} Memória %{metricsLinkEnd} uso é %{emphasisStart} inalterado %{emphasisEnd} em %{memoryFrom}MB"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/pt_PT/gitlab.po b/locale/pt_PT/gitlab.po
index aa680827bec..c9921faf129 100644
--- a/locale/pt_PT/gitlab.po
+++ b/locale/pt_PT/gitlab.po
@@ -192,7 +192,7 @@ msgid "%{gitlab_ci_yml} not found in this commit"
msgstr "%{gitlab_ci_yml} não foi encontrado neste envio"
msgid "%{group_docs_link_start}Groups%{group_docs_link_end} allow you to manage and collaborate across multiple projects. Members of a group have access to all of its projects."
-msgstr "%{group_docs_link_start}Grupos%{group_docs_link_end} permitem-te gerenciares e colaborares em vários projetos. Os membros de um grupo têm acesso a todos os teus projetos."
+msgstr "%{group_docs_link_start}Grupos%{group_docs_link_end} permitem-te gerires e colaborares em vários projetos. Os membros de um grupo têm acesso a todos os teus projetos."
msgid "%{group_name} uses group managed accounts. You need to create a new GitLab account which will be managed by %{group_name}."
msgstr ""
@@ -237,7 +237,7 @@ msgid "%{name}'s avatar"
msgstr "Avatar de %{name}"
msgid "%{number_commits_behind} commits behind %{default_branch}, %{number_commits_ahead} commits ahead"
-msgstr ""
+msgstr "%{number_commits_behind} envios atrás %{default_branch}, %{number_commits_ahead} envios à frente"
msgid "%{openOrClose} %{noteable}"
msgstr "%{openOrClose} %{noteable}"
@@ -271,8 +271,8 @@ msgstr "%{state} épicos"
msgid "%{strong_start}%{branch_count}%{strong_end} Branch"
msgid_plural "%{strong_start}%{branch_count}%{strong_end} Branches"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%{strong_start}%{branch_count}%{strong_end} Ramo"
+msgstr[1] "%{strong_start}%{branch_count}%{strong_end} Ramos"
msgid "%{strong_start}%{commit_count}%{strong_end} Commit"
msgid_plural "%{strong_start}%{commit_count}%{strong_end} Commits"
@@ -544,7 +544,7 @@ msgid "A member of the abuse team will review your report as soon as possible."
msgstr ""
msgid "A new branch will be created in your fork and a new merge request will be started."
-msgstr "Um novo ramo será criado no teu fork e um novo pedido de mesclagem será iniciado."
+msgstr "Um novo ramo será criado na tua bifurcação e um novo pedido de mesclagem será iniciado."
msgid "A new impersonation token has been created."
msgstr "Um novo token de representação foi criado."
@@ -733,7 +733,7 @@ msgid "Add italic text"
msgstr "Adicionar texto em itálico"
msgid "Add label(s)"
-msgstr "Adicionar rótulo(s)"
+msgstr "Adicionar etiqueta(s)"
msgid "Add license"
msgstr "Adicionar licença"
@@ -858,9 +858,27 @@ msgstr "Ativar runners compartilhados aos novos projetos"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Variáveis de ambiente são protegidas por padrão"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Especifica um domínio para utilizar por padrão para cada projeto, Revisão Automática de Aplicações e Implementação Automática de fases."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "Ao criar uma nova variável de ambiente, ela será protegida por padrão."
@@ -1017,7 +1035,7 @@ msgid "Allow projects within this group to use Git LFS"
msgstr "Permitir que projetos dentro deste grupo usem o Git LFS"
msgid "Allow public access to pipelines and job details, including output logs and artifacts"
-msgstr "Permitir acesso público às pipelines e detalhes do trabalho, incluindo registos de saída e artefatos"
+msgstr "Permitir acesso público às pipelines e detalhes do trabalho, incluindo registos de saída e artefactos"
msgid "Allow rendering of PlantUML diagrams in Asciidoc documents."
msgstr "Permitir renderização de diagramas PlantUML em documentos Asciidoc."
@@ -1032,7 +1050,7 @@ msgid "Allow users to register any application to use GitLab as an OAuth provide
msgstr "Permitir que os utilizadores se registem a qualquer aplicação para usar o GitLab como um fornecedor OAuth"
msgid "Allow users to request access"
-msgstr "Permitir que os utilizadores solicitem acesso"
+msgstr "Permitir que os utilizadores peçam acesso"
msgid "Allow users to request access if visibility is public or internal."
msgstr "Permitir que os utilizadores peçam acesso, caso a visibilidade for pública ou interna."
@@ -1041,7 +1059,7 @@ msgid "Allowed to fail"
msgstr "Permissão para falhar"
msgid "Allows you to add and manage Kubernetes clusters."
-msgstr "Permite -te adicionar e gerenciar clusters do Kubernetes."
+msgstr "Permite -te adicionar e gerir clusters do Kubernetes."
msgid "Also called \"Issuer\" or \"Relying party trust identifier\""
msgstr "Também chamado de \"Emissor\" ou \"identificador de confiança de terceiros\""
@@ -1110,7 +1128,7 @@ msgid "An error occurred while deleting the comment"
msgstr "Ocorreu um erro ao apagar o comentário"
msgid "An error occurred while detecting host keys"
-msgstr "Ocorreu um erro ao detectar as chaves do host"
+msgstr "Ocorreu um erro ao detetar as chaves do host"
msgid "An error occurred while disabling Service Desk."
msgstr "Ocorreu um erro ao desativar a Central de Serviços."
@@ -1131,7 +1149,7 @@ msgid "An error occurred while fetching folder content."
msgstr ""
msgid "An error occurred while fetching label colors."
-msgstr "Ocorreu um erro ao buscar as cores dos rótulos."
+msgstr "Ocorreu um erro ao buscar as cores dos etiquetas."
msgid "An error occurred while fetching markdown preview"
msgstr "Ocorreu um erro ao buscar a pré-visualização do markdown"
@@ -1179,7 +1197,7 @@ msgid "An error occurred while importing project: %{details}"
msgstr "Ocorreu um erro durante a importação do projeto: %{details}"
msgid "An error occurred while initializing path locks"
-msgstr "Ocorreu um erro ao iniciar bloqueios de caminho"
+msgstr "Ocorreu um erro ao começar bloqueios de caminho"
msgid "An error occurred while loading chart data"
msgstr "Ocorreu um erro ao carregar os dados do gráfico"
@@ -1532,10 +1550,10 @@ msgid "Are you sure? This will invalidate your registered applications and U2F d
msgstr ""
msgid "Artifact ID"
-msgstr "ID do Artefato"
+msgstr "ID do Artefacto"
msgid "Artifacts"
-msgstr "Artefatos"
+msgstr "Artefactos"
msgid "As U2F devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a U2F device. That way you'll always be able to log in - even when you're using an unsupported browser."
msgstr ""
@@ -1574,10 +1592,10 @@ msgid "Assign labels"
msgstr ""
msgid "Assign milestone"
-msgstr ""
+msgstr "Atribuir objetivo"
msgid "Assign some issues to this milestone."
-msgstr ""
+msgstr "Atribuir alguns problemas para este objetivo."
msgid "Assign to"
msgstr ""
@@ -1616,7 +1634,7 @@ msgid "Attach a file"
msgstr ""
msgid "Attach a file by drag &amp; drop or %{upload_link}"
-msgstr ""
+msgstr "Anexar um ficheiro ao arrastar &amp; soltar ou %{upload_link}"
msgid "Attaching a file"
msgid_plural "Attaching %d files"
@@ -1864,7 +1882,7 @@ msgid "BambooService|Bamboo root URL like https://bamboo.example.com"
msgstr "URL raiz do Bamboo como https://bamboo.example.com"
msgid "BambooService|You must set up automatic revision labeling and a repository trigger in Bamboo."
-msgstr "Deves configurar um rótulo de revisão automático e um disparador de repositório no Bamboo."
+msgstr "Deves configurar um etiqueta de revisão automático e um disparador de repositório no Bamboo."
msgid "BatchComments|Delete all pending comments"
msgstr "Apagar todos os comentários pendentes"
@@ -1927,7 +1945,7 @@ msgid "BillingPlans|This group uses the plan associated with its parent group."
msgstr "Este grupo utiliza o plano de associados com o teu grupo pai."
msgid "BillingPlans|To manage the plan for this group, visit the billing section of %{parent_billing_page_link}."
-msgstr "Para gerenciar o plano para este grupo, visita a secção de facturação de %{parent_billing_page_link}."
+msgstr "Para gerir o plano para este grupo, visita a secção de facturação de %{parent_billing_page_link}."
msgid "BillingPlans|Upgrade"
msgstr "Atualizar"
@@ -2012,10 +2030,10 @@ msgid "Branch not loaded - %{branchId}"
msgstr ""
msgid "BranchSwitcherPlaceholder|Search branches"
-msgstr ""
+msgstr "Procurar por ramos"
msgid "BranchSwitcherTitle|Switch branch"
-msgstr ""
+msgstr "Mudar de ramo"
msgid "Branches"
msgstr "Ramos"
@@ -2060,7 +2078,7 @@ msgid "Branches|Filter by branch name"
msgstr "Filtrar por nome de ramo"
msgid "Branches|Merged into %{default_branch}"
-msgstr ""
+msgstr "Mesclados para %{default_branch}"
msgid "Branches|New branch"
msgstr "Novo ramo"
@@ -2075,31 +2093,31 @@ msgid "Branches|Only a project maintainer or owner can delete a protected branch
msgstr "Somente um responsável ou dono do projeto poderá apagar ramos protegidas"
msgid "Branches|Overview"
-msgstr ""
+msgstr "Visão Geral"
msgid "Branches|Protected branches can be managed in %{project_settings_link}."
-msgstr ""
+msgstr "Ramos protegidos podem ser geridos em %{project_settings_link}."
msgid "Branches|Show active branches"
-msgstr ""
+msgstr "Mostrar ramos ativos"
msgid "Branches|Show all branches"
-msgstr ""
+msgstr "Mostrar todos os ramos"
msgid "Branches|Show more active branches"
-msgstr ""
+msgstr "Mostrar mais ramos ativos"
msgid "Branches|Show more stale branches"
msgstr "Mostrar mais ramos obsoletos"
msgid "Branches|Show overview of the branches"
-msgstr ""
+msgstr "Mostrar visão geral dos ramos"
msgid "Branches|Show stale branches"
msgstr "Mostrar os ramos obsoletos"
msgid "Branches|Sort by"
-msgstr ""
+msgstr "Ordernar por"
msgid "Branches|Stale"
msgstr "Obsoleto"
@@ -2114,19 +2132,19 @@ msgid "Branches|The default branch cannot be deleted"
msgstr "O ramo padrão não pode ser apagado"
msgid "Branches|This branch hasn’t been merged into %{default_branch}."
-msgstr ""
+msgstr "Este ramo não foi mesclado para '%{default_branch}'."
msgid "Branches|To avoid data loss, consider merging this branch before deleting it."
-msgstr ""
+msgstr "Para evitar a perda de dados, considera mesclar este ramo antes de eliminá-lo."
msgid "Branches|To confirm, type %{branch_name_confirmation}:"
-msgstr ""
+msgstr "Para confirmar, digita %{branch_name_confirmation}:"
msgid "Branches|To discard the local changes and overwrite the branch with the upstream version, delete it here and choose 'Update Now' above."
-msgstr ""
+msgstr "Para rejeitar as alterações locais e sobrescrever a ramificação com a versão upstream, apaga-o aqui e escolhe \"Atualizar Agora\" em cima."
msgid "Branches|You’re about to permanently delete the protected branch %{branch_name}."
-msgstr ""
+msgstr "Estás prestes a apagar, permanentemente, o ramo protegido %{branch_name}."
msgid "Branches|diverged from upstream"
msgstr "divergiu da upstream"
@@ -2135,10 +2153,10 @@ msgid "Branches|merged"
msgstr "mesclado"
msgid "Branches|project settings"
-msgstr ""
+msgstr "definições do projeto"
msgid "Branches|protected"
-msgstr ""
+msgstr "protegido"
msgid "Broadcast Message was successfully created."
msgstr ""
@@ -2198,7 +2216,7 @@ msgid "By default, all projects and groups will use the global notifications set
msgstr "Por padrão, todos os projetos e grupos usarão as definições globais de notificações."
msgid "ByAuthor|by"
-msgstr ""
+msgstr "por"
msgid "CHANGELOG"
msgstr ""
@@ -2234,46 +2252,46 @@ msgid "CI/CD settings"
msgstr ""
msgid "CICD|Auto DevOps"
-msgstr ""
+msgstr "Auto DevOps"
msgid "CICD|Auto DevOps will automatically build, test, and deploy your application based on a predefined Continuous Integration and Delivery configuration."
-msgstr ""
+msgstr "O Auto DevOps irá compilar, testar e implantar, a tua aplicação com base na configuração predefinida de Integração e Entrega Contínua."
msgid "CICD|Automatic deployment to staging, manual deployment to production"
-msgstr ""
+msgstr "Implantação automática da preparação, implementação manual para a produção"
msgid "CICD|Continuous deployment to production"
-msgstr ""
+msgstr "Implantação contínua para produção"
msgid "CICD|Continuous deployment to production using timed incremental rollout"
-msgstr ""
+msgstr "Desenvolvimento contínuo para a produção ao usar o lançamento incremental cronometrado"
msgid "CICD|Default to Auto DevOps pipeline"
-msgstr ""
+msgstr "Padrão para o pipeline de Auto DevOps"
msgid "CICD|Default to Auto DevOps pipeline for all projects"
-msgstr ""
+msgstr "Padrão para o pipeline deAuto DevOps para todos os projetos"
msgid "CICD|Deployment strategy"
-msgstr ""
+msgstr "Estratégia de implantação"
msgid "CICD|Jobs"
-msgstr ""
+msgstr "Trabalhos"
msgid "CICD|Learn more about Auto DevOps"
-msgstr ""
+msgstr "Aprender mais sobre Auto DevOps"
msgid "CICD|The Auto DevOps pipeline will run if no alternative CI configuration file is found."
-msgstr ""
+msgstr "A pipeline de Auto DevOps será executada, se nenhum ficheiro de configuração de IC alternativo, for encontrado."
msgid "CICD|You must add a %{kubernetes_cluster_start}Kubernetes cluster integration%{kubernetes_cluster_end} to this project with a domain in order for your deployment strategy to work correctly."
-msgstr ""
+msgstr "Deves adicionar uma %{kubernetes_cluster_start}integração de cluster de Kubernetes%{kubernetes_cluster_end} a este projeto com um domínio para que a tua estratégia de implantação funcione corretamente."
msgid "CICD|group enabled"
-msgstr ""
+msgstr "group ativado"
msgid "CICD|instance enabled"
-msgstr ""
+msgstr "instância ativada"
msgid "CONTRIBUTING"
msgstr ""
@@ -2318,7 +2336,7 @@ msgid "Cannot modify managed Kubernetes cluster"
msgstr ""
msgid "Cannot refer to a group milestone by an internal id!"
-msgstr ""
+msgstr "Não é possível referir um objetivo de grupo por um id interno!"
msgid "Cannot render the image. Maximum character count (%{charLimit}) has been exceeded."
msgstr ""
@@ -2369,19 +2387,19 @@ msgid "Change your password or recover your current one"
msgstr ""
msgid "ChangeTypeActionLabel|Pick into branch"
-msgstr ""
+msgstr "Escolher no ramo"
msgid "ChangeTypeActionLabel|Revert in branch"
-msgstr ""
+msgstr "Reverter no ramo"
msgid "ChangeTypeAction|Cherry-pick"
-msgstr ""
+msgstr "Cherry-pick"
msgid "ChangeTypeAction|Revert"
-msgstr ""
+msgstr "Reverter"
msgid "ChangeTypeAction|This will create a new commit in order to revert the existing changes."
-msgstr ""
+msgstr "Isto irá criar um envio para reverter as alterações existentes."
msgid "Changes"
msgstr ""
@@ -2486,142 +2504,142 @@ msgid "Choose your merge method, options, checks, and set up a default merge req
msgstr ""
msgid "CiStatusLabel|canceled"
-msgstr ""
+msgstr "cancelado"
msgid "CiStatusLabel|created"
-msgstr ""
+msgstr "criado"
msgid "CiStatusLabel|delayed"
-msgstr ""
+msgstr "atrasado"
msgid "CiStatusLabel|failed"
-msgstr ""
+msgstr "falhou"
msgid "CiStatusLabel|manual action"
-msgstr ""
+msgstr "ação manual"
msgid "CiStatusLabel|passed"
-msgstr ""
+msgstr "passou"
msgid "CiStatusLabel|passed with warnings"
-msgstr ""
+msgstr "passou com avisos"
msgid "CiStatusLabel|pending"
-msgstr ""
+msgstr "pendente"
msgid "CiStatusLabel|preparing"
-msgstr ""
+msgstr "a preparar"
msgid "CiStatusLabel|skipped"
-msgstr ""
+msgstr "ignorado"
msgid "CiStatusLabel|waiting for delayed job"
-msgstr ""
+msgstr "a aguardar trabalho atrasado"
msgid "CiStatusLabel|waiting for manual action"
-msgstr ""
+msgstr "a aguardar ação manual"
msgid "CiStatusText|blocked"
-msgstr ""
+msgstr "bloqueado"
msgid "CiStatusText|canceled"
-msgstr ""
+msgstr "cancelado"
msgid "CiStatusText|created"
-msgstr ""
+msgstr "criado"
msgid "CiStatusText|delayed"
-msgstr ""
+msgstr "atrasado"
msgid "CiStatusText|failed"
-msgstr ""
+msgstr "falhou"
msgid "CiStatusText|manual"
-msgstr ""
+msgstr "manual"
msgid "CiStatusText|passed"
-msgstr ""
+msgstr "passou"
msgid "CiStatusText|pending"
-msgstr ""
+msgstr "pendente"
msgid "CiStatusText|preparing"
-msgstr ""
+msgstr "preparação"
msgid "CiStatusText|skipped"
-msgstr ""
+msgstr "ignorado"
msgid "CiStatus|running"
-msgstr ""
+msgstr "em execução"
msgid "CiVariables|Cannot use Masked Variable with current value"
-msgstr ""
+msgstr "Não podes usar a Variável Mascarada com o valor atual"
msgid "CiVariables|Input variable key"
-msgstr ""
+msgstr "Chave da variável de entrada"
msgid "CiVariables|Input variable value"
-msgstr ""
+msgstr "Valor da variável de entrada"
msgid "CiVariables|Key"
-msgstr ""
+msgstr "Chave"
msgid "CiVariables|Masked"
-msgstr ""
+msgstr "Mascarado"
msgid "CiVariables|Remove variable row"
-msgstr ""
+msgstr "Remover linha da variável"
msgid "CiVariables|Scope"
-msgstr ""
+msgstr "Alcance"
msgid "CiVariables|State"
-msgstr ""
+msgstr "Estado"
msgid "CiVariables|Type"
-msgstr ""
+msgstr "Tipo"
msgid "CiVariables|Value"
-msgstr ""
+msgstr "Valor"
msgid "CiVariable|* (All environments)"
-msgstr ""
+msgstr "* (Todos os ambientes)"
msgid "CiVariable|All environments"
-msgstr ""
+msgstr "Todos os ambientes"
msgid "CiVariable|Create wildcard"
-msgstr ""
+msgstr "Criar caractere especial"
msgid "CiVariable|Error occurred while saving variables"
-msgstr ""
+msgstr "Ocorreu um erro ao guardar as variáveis"
msgid "CiVariable|Masked"
-msgstr ""
+msgstr "Mascarado"
msgid "CiVariable|New environment"
-msgstr ""
+msgstr "Novo ambiente"
msgid "CiVariable|Protected"
-msgstr ""
+msgstr "Protegido"
msgid "CiVariable|Search environments"
-msgstr ""
+msgstr "Pesquisar ambientes"
msgid "CiVariable|Toggle masked"
-msgstr ""
+msgstr "Alternar mascarado"
msgid "CiVariable|Toggle protected"
-msgstr ""
+msgstr "Alternar protegido"
msgid "CiVariable|Validation failed"
-msgstr ""
+msgstr "Falha na validação"
msgid "Classification Label (optional)"
msgstr ""
msgid "ClassificationLabelUnavailable|is unavailable: %{reason}"
-msgstr ""
+msgstr "está indisponível: %{reason}"
msgid "Clear"
msgstr ""
@@ -2642,7 +2660,7 @@ msgid "Clears weight."
msgstr ""
msgid "Click any <strong>project name</strong> in the project list below to navigate to the project milestone."
-msgstr ""
+msgstr "Clica em qualquer <strong>nome de projeto</strong> na lista a seguir para navegar para o objetivo do projeto."
msgid "Click here"
msgstr ""
@@ -2651,7 +2669,7 @@ msgid "Click the <strong>Download</strong> button and wait for downloading to co
msgstr ""
msgid "Click the <strong>Promote</strong> button in the top right corner to promote it to a group milestone."
-msgstr ""
+msgstr "Clica no botão <strong>Promover</strong> no canto superior direito para promovê-lo para um objetivo de grupo."
msgid "Click the <strong>Select none</strong> button on the right, since we only need \"Google Code Project Hosting\"."
msgstr ""
@@ -2699,7 +2717,7 @@ msgid "Close epic"
msgstr ""
msgid "Close milestone"
-msgstr ""
+msgstr "Fechar objetivo"
msgid "Close sidebar"
msgstr ""
@@ -2711,214 +2729,214 @@ msgid "Closed issues"
msgstr ""
msgid "ClusterIntegration| %{custom_domain_start}More information%{custom_domain_end}."
-msgstr ""
+msgstr "%{custom_domain_start}Mais informações%{custom_domain_end}."
msgid "ClusterIntegration| can be used instead of a custom domain."
-msgstr ""
+msgstr "pode ser usado em vez de um domínio personalizado."
msgid "ClusterIntegration| is the default environment scope for this cluster. This means that all jobs, regardless of their environment, will use this cluster. %{environment_scope_start}More information%{environment_scope_end}"
-msgstr ""
+msgstr "é o ambiente padrão do escopo deste cluster. Isto significa que todos os trabalhos, independentemente do seu ambiente, vai usar este cluster. %{environment_scope_start}Mais informações%{environment_scope_end}"
msgid "ClusterIntegration|%{appList} was successfully installed on your Kubernetes cluster"
-msgstr ""
+msgstr "%{appList} foi instalado com sucesso no teu cluster Kubernetes"
msgid "ClusterIntegration|%{title} uninstalled successfully."
-msgstr ""
+msgstr "%{title} desinstalado com sucesso."
msgid "ClusterIntegration|%{title} updated successfully."
msgstr ""
msgid "ClusterIntegration|A service token scoped to %{code}kube-system%{end_code} with %{code}cluster-admin%{end_code} privileges."
-msgstr ""
+msgstr "Um token de serviço com o alcance de %{code}kube-sistem%{end_code} com privilégios de %{code}cluster-admin%{end_code}."
msgid "ClusterIntegration|API URL"
-msgstr ""
+msgstr "API URL"
msgid "ClusterIntegration|API URL should be a valid http/https url."
-msgstr ""
+msgstr "API URL deve ser válido, http/https url."
msgid "ClusterIntegration|Add Kubernetes cluster"
-msgstr ""
+msgstr "Adicionar cluster Kubernetes"
msgid "ClusterIntegration|Add a Kubernetes cluster integration"
-msgstr ""
+msgstr "Adicionar uma integração de cluster Kubernetes"
msgid "ClusterIntegration|Adding a Kubernetes cluster to your group will automatically share the cluster across all your projects. Use review apps, deploy your applications, and easily run your pipelines for all projects using the same cluster."
-msgstr ""
+msgstr "Adicionar um cluster de Kubernetes ao teu grupo, automaticamente, irá compartilhar, o cluster em todos os teus projetos. Utiliza aplicações de análise, implementa as tuas aplicações, e executa facilmente os teus pipelines para todos os projetos que utilizam o mesmo cluster."
msgid "ClusterIntegration|Adding a Kubernetes cluster will automatically share the cluster across all projects. Use review apps, deploy your applications, and easily run your pipelines for all projects using the same cluster."
-msgstr ""
+msgstr "Adicionar um cluster de Kubernetes, irá compartilhar, automaticamente, o cluster em todos os projetos. Utiliza aplicações de análise, implementa as tuas aplicações, e executa facilmente os teus pipelines para todos os projetos que utilizam o mesmo cluster."
msgid "ClusterIntegration|Adding an integration to your group will share the cluster across all your projects."
-msgstr ""
+msgstr "Adicionar uma integração ao teu grupo compartilhará o cluster em todos os teus projetos."
msgid "ClusterIntegration|Adding an integration will share the cluster across all projects."
-msgstr ""
+msgstr "Adicionar uma integração compartilhará o cluster em todos os projetos."
msgid "ClusterIntegration|Advanced options on this Kubernetes cluster's integration"
-msgstr ""
+msgstr "Opções avançadas na integração deste cluster de Kubernetes"
msgid "ClusterIntegration|All data will be deleted and cannot be restored."
-msgstr ""
+msgstr "Todos os dados serão apagados e não podem ser restaurados."
msgid "ClusterIntegration|Allow GitLab to manage namespace and service accounts for this cluster."
-msgstr ""
+msgstr "Permitir que o GitLab gerêncie contas de espaço de nome e de serviço para este cluster."
msgid "ClusterIntegration|Alternatively"
-msgstr ""
+msgstr "Alternativamente"
msgid "ClusterIntegration|An error occurred when trying to contact the Google Cloud API. Please try again later."
-msgstr ""
+msgstr "Ocorreu um erro ao tentar contactar o Google Cloud API. Por favor, tenta novamente, mais tarde."
msgid "ClusterIntegration|An error occurred while trying to fetch project zones: %{error}"
-msgstr ""
+msgstr "Ocorreu um erro ao tentar buscar as zonas do projeto: %{error}"
msgid "ClusterIntegration|An error occurred while trying to fetch your projects: %{error}"
-msgstr ""
+msgstr "Ocorreu um erro ao tentar buscar teus projetos: %{error}"
msgid "ClusterIntegration|An error occurred while trying to fetch zone machine types: %{error}"
-msgstr ""
+msgstr "Ocorreu um erro ao tentar buscar as máquinas da zona: %{error}"
msgid "ClusterIntegration|Any running pipelines will be canceled."
-msgstr ""
+msgstr "Quaisquer pipelines em execução serão cancelados."
msgid "ClusterIntegration|Applications"
-msgstr ""
+msgstr "Aplicações"
msgid "ClusterIntegration|Apply for credit"
-msgstr ""
+msgstr "Aplicar crédito"
msgid "ClusterIntegration|Are you sure you want to remove this Kubernetes cluster's integration? This will not delete your actual Kubernetes cluster."
-msgstr ""
+msgstr "Tens a certeza de que desejas remover esta integração de cluster de Kubernetes? Isto não irá apagar o teu cluster de Kubernetes real."
msgid "ClusterIntegration|Base domain"
-msgstr ""
+msgstr "Domínio base"
msgid "ClusterIntegration|CA Certificate"
-msgstr ""
+msgstr "Certificado CA"
msgid "ClusterIntegration|Cert-Manager"
-msgstr ""
+msgstr "Gestor de Certificados"
msgid "ClusterIntegration|Cert-Manager is a native Kubernetes certificate management controller that helps with issuing certificates. Installing Cert-Manager on your cluster will issue a certificate by %{letsEncrypt} and ensure that certificates are valid and up-to-date."
-msgstr ""
+msgstr "O Gestor de Certificados é um controlador de gestão de certificados nativo do Kubernetes, que ajuda na emissão de certificados. A instalação no teu cluster, emitirá um certificado por %{letsEncrypt} e garantirá, que os certificados sejam válidos e atualizados."
msgid "ClusterIntegration|Certificate Authority bundle (PEM format)"
-msgstr ""
+msgstr "Pacote de Autoridade de Certificados (formato PEM)"
msgid "ClusterIntegration|Choose which applications to install on your Kubernetes cluster. Helm Tiller is required to install any of the following applications."
-msgstr ""
+msgstr "Escolhe quais aplicações instalar no teu cluster de Kubernetes. O Heml Tiller é necessário para instalar qualquer uma das seguintes aplicações."
msgid "ClusterIntegration|Choose which of your environments will use this cluster."
-msgstr ""
+msgstr "Escolhe qual dos teus ambientes usarás este cluster."
msgid "ClusterIntegration|Cluster health"
-msgstr ""
+msgstr " Integridade de cluster"
msgid "ClusterIntegration|Cluster name is required."
-msgstr ""
+msgstr "O nome do cluster é obrigatório."
msgid "ClusterIntegration|Clusters are utilized by selecting the nearest ancestor with a matching environment scope. For example, project clusters will override group clusters."
-msgstr ""
+msgstr "Os clusters são utilizados ao selecionar o antepassado mais próximo com um contexto de ambiente correspondente. Por exemplo, os clusters de projeto substituirão os clusters de grupo."
msgid "ClusterIntegration|Copy API URL"
-msgstr ""
+msgstr " Copiar URL da API"
msgid "ClusterIntegration|Copy CA Certificate"
-msgstr ""
+msgstr "Copiar Certificado CA"
msgid "ClusterIntegration|Copy Ingress Endpoint to clipboard"
-msgstr ""
+msgstr "Copiar Ponto Final do Ingress para a área de transferência"
msgid "ClusterIntegration|Copy Jupyter Hostname to clipboard"
-msgstr ""
+msgstr "Copiar o Nome de Anfitrião de Jupyter para a área de transferência"
msgid "ClusterIntegration|Copy Knative Endpoint to clipboard"
-msgstr ""
+msgstr "Copiar o Nome de Anfitrião de Knative para a área de transferência"
msgid "ClusterIntegration|Copy Kubernetes cluster name"
-msgstr ""
+msgstr "Copiar o nome do cluster de Kubernetes"
msgid "ClusterIntegration|Copy Service Token"
-msgstr ""
+msgstr "Copiar Token de Serviço"
msgid "ClusterIntegration|Create Kubernetes cluster"
-msgstr ""
+msgstr "Criar cluster de Kubernetes"
msgid "ClusterIntegration|Did you know?"
-msgstr ""
+msgstr "Sabias que?"
msgid "ClusterIntegration|Enable or disable GitLab's connection to your Kubernetes cluster."
-msgstr ""
+msgstr "Ativar ou desativar a conexão do GitLab com o teu cluster de Kubernetes."
msgid "ClusterIntegration|Enable this setting if using role-based access control (RBAC)."
-msgstr ""
+msgstr "Ativar esta definição, se ao usar o controlo de acesso baseado em funções (RBAC)."
msgid "ClusterIntegration|Enter the details for your Kubernetes cluster"
-msgstr ""
+msgstr " Insere os detalhes do teu cluster do Kubernetes"
msgid "ClusterIntegration|Environment scope"
-msgstr ""
+msgstr "Alcance de ambiente"
msgid "ClusterIntegration|Every new Google Cloud Platform (GCP) account receives $300 in credit upon %{sign_up_link}. In partnership with Google, GitLab is able to offer an additional $200 for both new and existing GCP accounts to get started with GitLab's Google Kubernetes Engine Integration."
-msgstr ""
+msgstr "Cada nova conta do Google Cloud Platform (GCP) recebe $300 em crédito após %{sign_up_link}. Em parceria com o Google, o GitLab pode oferecer $200 adicionais, para contas de GCP novas e existentes para começarem a usar o Google Kubernetes Engine Integration do GitLab."
msgid "ClusterIntegration|Failed to configure Google Kubernetes Engine Cluster: %{message}"
-msgstr ""
+msgstr "Falha ao configurar o Google Kubernetes Engine Cluster: %{message}"
msgid "ClusterIntegration|Failed to request to Google Cloud Platform: %{message}"
-msgstr ""
+msgstr "Falha ao pedir ao Google Cloud Platform: %{message}"
msgid "ClusterIntegration|Failed to run Kubeclient: %{message}"
-msgstr ""
+msgstr "Falha ao executar o Kubeclient: %{message}"
msgid "ClusterIntegration|Fetching machine types"
-msgstr ""
+msgstr "A buscar máquinas"
msgid "ClusterIntegration|Fetching projects"
-msgstr ""
+msgstr "A buscar projetos"
msgid "ClusterIntegration|Fetching zones"
-msgstr ""
+msgstr "A buscar zonas"
msgid "ClusterIntegration|GitLab Integration"
-msgstr ""
+msgstr "Integração GitLab"
msgid "ClusterIntegration|GitLab Runner"
-msgstr ""
+msgstr "Gitlab Runner"
msgid "ClusterIntegration|GitLab Runner connects to the repository and executes CI/CD jobs, pushing results back and deploying applications to production."
-msgstr ""
+msgstr "O GitLab Runner conecta-se ao repositório e executa os trabalhos CI/CD, ao empurrar os resultados para trás e implementar aplicações para produção."
msgid "ClusterIntegration|GitLab-managed cluster"
-msgstr ""
+msgstr "Cluster do GitLab-managed"
msgid "ClusterIntegration|Google Cloud Platform project"
-msgstr ""
+msgstr "Projeto Google Cloud Platform"
msgid "ClusterIntegration|Google Kubernetes Engine"
-msgstr ""
+msgstr " Google Kubernetes Engine"
msgid "ClusterIntegration|Google Kubernetes Engine project"
-msgstr ""
+msgstr " Projeto do Google Kubernetes Engine"
msgid "ClusterIntegration|Group cluster"
-msgstr ""
+msgstr "Cluster de grupo"
msgid "ClusterIntegration|Helm Tiller"
-msgstr ""
+msgstr "Helm Tiller"
msgid "ClusterIntegration|Helm streamlines installing and managing Kubernetes applications. Tiller runs inside of your Kubernetes Cluster, and manages releases of your charts."
-msgstr ""
+msgstr "O Helm simplifica a instalação e a gestão de aplicações do Kubernetes. O Tiller é executado dentro do Kubernetes Cluster e gerência os lançamentos dos teus gráficos."
msgid "ClusterIntegration|Hide"
-msgstr ""
+msgstr "Ocultar"
msgid "ClusterIntegration|If you are setting up multiple clusters and are using Auto DevOps, %{help_link_start}read this first%{help_link_end}."
-msgstr ""
+msgstr "Se estás a configurar múltiplos clusters e está a usar Auto DevOps, %{help_link_start}lê isto primeiro%{help_link_end}."
msgid "ClusterIntegration|In order to view the health of your cluster, you must first install Prometheus below."
-msgstr ""
+msgstr "Para visualizar a saúde do cluster, deves primeiro instalar o Prometheus abaixo."
msgid "ClusterIntegration|Ingress"
msgstr ""
@@ -3137,7 +3155,7 @@ msgid "ClusterIntegration|Something went wrong while uninstalling %{title}"
msgstr ""
msgid "ClusterIntegration|Something went wrong while updating Knative domain name."
-msgstr ""
+msgstr "Algo deu errado ao atualizar o nome do domínio Knative."
msgid "ClusterIntegration|Specifying a domain will allow you to use Auto Review Apps and Auto Deploy stages for %{auto_devops_start}Auto DevOps%{auto_devops_end}. The domain should have a wildcard DNS configured matching the domain."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -3502,7 +3520,7 @@ msgid "ContainerRegistry|No tags in Container Registry for this container image.
msgstr ""
msgid "ContainerRegistry|Once you log in, you&rsquo;re free to create and upload a container image using the common %{build} and %{push} commands"
-msgstr ""
+msgstr "Após autenticares-te, podes criar e enviar uma imagem de recipiente ao usar os comandos comuns de %{build} e %{push}"
msgid "ContainerRegistry|Remove repository"
msgstr ""
@@ -3625,7 +3643,7 @@ msgid "Copy file path to clipboard"
msgstr ""
msgid "Copy labels and milestone from %{source_issuable_reference}."
-msgstr ""
+msgstr "Copiar etiquetas e objetivo de %{source_issuable_reference}."
msgid "Copy labels and milestone from other issue or merge request in this project"
msgstr ""
@@ -3739,7 +3757,7 @@ msgid "Create group"
msgstr ""
msgid "Create group label"
-msgstr "Criar rótulo do grupo"
+msgstr "Criar etiqueta do grupo"
msgid "Create lists from labels. Issues with that label appear in that list."
msgstr ""
@@ -3751,7 +3769,7 @@ msgid "Create merge request and branch"
msgstr ""
msgid "Create milestone"
-msgstr ""
+msgstr "Criar objetivo"
msgid "Create new branch"
msgstr ""
@@ -3772,7 +3790,7 @@ msgid "Create new..."
msgstr ""
msgid "Create project label"
-msgstr "Criar rótulo do projeto"
+msgstr "Criar etiqueta do projeto"
msgid "Create your first page"
msgstr ""
@@ -3805,10 +3823,10 @@ msgid "Created issue %{issueLink} at %{projectLink}"
msgstr ""
msgid "Created merge request %{mergeRequestLink}"
-msgstr ""
+msgstr "Pedido de mesclagem criado %{mergeRequestLink}"
msgid "Created merge request %{mergeRequestLink} at %{projectLink}"
-msgstr ""
+msgstr "Pedido de mesclagem criado %{mergeRequestLink} em %{projectLink}"
msgid "Created on"
msgstr ""
@@ -3901,7 +3919,7 @@ msgid "CycleAnalyticsStage|Review"
msgstr ""
msgid "CycleAnalyticsStage|Staging"
-msgstr ""
+msgstr "Preparação"
msgid "CycleAnalyticsStage|Test"
msgstr ""
@@ -4524,7 +4542,7 @@ msgid "Edit Label"
msgstr ""
msgid "Edit Milestone"
-msgstr ""
+msgstr "Editar Objetivo"
msgid "Edit Password"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -4842,7 +4863,7 @@ msgid "Environments|Environments"
msgstr ""
msgid "Environments|Environments are places where code gets deployed, such as staging or production."
-msgstr ""
+msgstr "Os Ambientes são lugares onde o código é implantado, como preparação ou produção."
msgid "Environments|Job"
msgstr ""
@@ -4920,7 +4941,7 @@ msgid "Environments|This action will run the job defined by %{name} for commit %
msgstr ""
msgid "Environments|This action will run the job defined by staging for commit %{commit_id}, putting the environment in a previous version. You can revert it by re-deploying the latest version of your application. Are you sure you want to continue?"
-msgstr ""
+msgstr "Esta ação executará o trabalho definido pela preparação para enviar %{commit_id}, colocar o ambiente, numa versão anterior. Podes revertê-lo, novamente, ao implementar a versão mais recente da tua aplicação. Tens a certeza de que desejas continuar?"
msgid "Environments|Updated"
msgstr ""
@@ -4983,13 +5004,13 @@ msgid "Epics|Something went wrong while fetching child epics."
msgstr ""
msgid "Epics|These dates affect how your epics appear in the roadmap. Dates from milestones come from the milestones assigned to issues in the epic. You can also set fixed dates or remove them entirely."
-msgstr ""
+msgstr "Estas datas afetam a forma como os teus épicos aparecem no roteamento. As datas de objetivos vêm de objetivos atribuídos aos problemas nos épicos. Também podes definir datas fixas ou removê-las totalmente."
msgid "Epics|This will also remove any descendents of %{bStart}%{targetEpicTitle}%{bEnd} from %{bStart}%{parentEpicTitle}%{bEnd}. Are you sure?"
msgstr ""
msgid "Epics|To schedule your epic's %{epicDateType} date based on milestones, assign a milestone with a %{epicDateType} date to any issue in the epic."
-msgstr ""
+msgstr "Para agendar o teu épico da data de %{epicDateType}, com base em objetivos, atribui um objetivo com uma data de %{epicDateType} para qualquer problema no épico."
msgid "Epics|due"
msgstr ""
@@ -5097,13 +5118,13 @@ msgid "Error saving label update."
msgstr ""
msgid "Error updating %{issuableType}"
-msgstr ""
+msgstr "Erro ao atualizar %{issuableType}"
msgid "Error updating status for all todos."
-msgstr ""
+msgstr "Erro ao atualizar estado para todas as tarefas."
msgid "Error updating todo status."
-msgstr ""
+msgstr "Erro ao atualizar o estado do \"a fazer\"."
msgid "Error uploading file"
msgstr ""
@@ -5130,7 +5151,7 @@ msgid "ErrorTracking|Active"
msgstr ""
msgid "ErrorTracking|After adding your Auth Token, use the 'Connect' button to load projects"
-msgstr ""
+msgstr "Depois de adicionares as tuas Tokens de Autenticação, usa o botão 'Conectar' para carregar projetos"
msgid "ErrorTracking|Auth Token"
msgstr ""
@@ -5442,7 +5463,7 @@ msgid "Failed to upgrade."
msgstr ""
msgid "Failed to upload object map file"
-msgstr ""
+msgstr "Falha ao enviar o ficheiro de mapeamento de objeto"
msgid "Failure"
msgstr ""
@@ -5615,7 +5636,7 @@ msgid "File templates"
msgstr ""
msgid "File upload error."
-msgstr ""
+msgstr "Erro ao enviar o ficheiro."
msgid "Files"
msgstr ""
@@ -5642,7 +5663,7 @@ msgid "Filter by commit message"
msgstr ""
msgid "Filter by milestone name"
-msgstr ""
+msgstr "Filtrar por nome de objetivo"
msgid "Filter by two-factor authentication"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -5831,7 +5846,7 @@ msgid "From merge request merge until deploy to production"
msgstr ""
msgid "From milestones:"
-msgstr ""
+msgstr "De objetivos:"
msgid "From the Kubernetes cluster details view, install Runner from the applications list"
msgstr ""
@@ -6329,7 +6344,7 @@ msgid "GitLab single sign on URL"
msgstr ""
msgid "GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory."
-msgstr ""
+msgstr "O GitLab executará um trabalho em segundo plano que produzirá CSVs com pseudónimos da base de dados do GitLab que serão enviados no diretório de armazenamento de objetos configurados."
msgid "GitLab.com import"
msgstr ""
@@ -6611,7 +6626,7 @@ msgid "GroupSettings|The Auto DevOps pipeline will run if no alternative CI conf
msgstr ""
msgid "GroupSettings|There was a problem updating Auto DevOps pipeline: %{error_messages}."
-msgstr ""
+msgstr "Houve um problema de atualização da pipeline Auto DevOps: %{error_messages}."
msgid "GroupSettings|This setting is applied on %{ancestor_group} and has been overridden on this subgroup."
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -6958,7 +6979,7 @@ msgid "Import members from another project"
msgstr ""
msgid "Import multiple repositories by uploading a manifest file."
-msgstr ""
+msgstr "Importar vários repositórios ao enviar um ficheiro de manifesto."
msgid "Import project"
msgstr ""
@@ -7027,7 +7048,7 @@ msgid "ImportProjects|The repository could not be created."
msgstr ""
msgid "ImportProjects|Updating the imported projects failed"
-msgstr ""
+msgstr "Falhou a atualização dos projetos importados"
msgid "Improve Issue boards"
msgstr ""
@@ -7093,7 +7114,7 @@ msgid "Indicates whether this runner can pick jobs without tags"
msgstr ""
msgid "Inform users without uploaded SSH keys that they can't push over SSH until one is added"
-msgstr ""
+msgstr "Informar os utilizadores sem enviar as chaves SSH que não podem empurrar através de SSH até que um seja adicionado"
msgid "Information about additional Pages templates and how to install them can be found in our %{pages_getting_started_guide}."
msgstr ""
@@ -7563,7 +7584,7 @@ msgid "Label actions dropdown"
msgstr ""
msgid "Label lists show all issues with the selected label."
-msgstr "Listas de rótulos que mostram todos os problemas com o rótulo selecionado."
+msgstr "Listas de etiquetas que mostram todos os problemas com o etiqueta selecionado."
msgid "Label was created"
msgstr ""
@@ -7685,7 +7706,7 @@ msgid "Learn more"
msgstr ""
msgid "Learn more about %{issue_boards_url}, to keep track of issues in multiple lists, using labels, assignees, and milestones. If you’re missing something from issue boards, please create an issue on %{gitlab_issues_url}."
-msgstr ""
+msgstr "Aprende mais sobre %{issue_boards_url} para acompanhar os problemas em várias listas, usando etiquetas, responsáveis e objetivos. Se te está a faltar algo dos painéis de problemas, por favor, cria um problema em %{gitlab_issues_url}."
msgid "Learn more about Auto DevOps"
msgstr ""
@@ -8194,10 +8215,10 @@ msgid "MergeRequests|Failed to squash. Should be done manually."
msgstr ""
msgid "MergeRequests|Jump to next unresolved discussion"
-msgstr ""
+msgstr "Ir para a próxima discussão não resolvida"
msgid "MergeRequests|Reply..."
-msgstr ""
+msgstr "Responder..."
msgid "MergeRequests|Resolve this discussion in a new issue"
msgstr ""
@@ -8218,37 +8239,37 @@ msgid "MergeRequests|View replaced file @ %{commitId}"
msgstr ""
msgid "MergeRequests|commented on commit %{commitLink}"
-msgstr ""
+msgstr "comentou no envio %{commitLink}"
msgid "MergeRequests|started a discussion"
-msgstr ""
+msgstr "iniciou uma discussão"
msgid "MergeRequests|started a discussion on %{linkStart}an old version of the diff%{linkEnd}"
-msgstr ""
+msgstr "iniciou uma discussão sobre %{linkStart}uma versão antiga do diff%{linkEnd}"
msgid "MergeRequests|started a discussion on %{linkStart}the diff%{linkEnd}"
-msgstr ""
+msgstr " iniciou uma discussão sobre %{linkStart}o diff%{linkEnd}"
msgid "MergeRequests|started a discussion on an outdated change in commit %{linkStart}%{commitId}%{linkEnd}"
-msgstr ""
+msgstr "iniciou uma discussão sobre uma alteração desatualizada no commit %{linkStart}%{commitId}%{linkEnd}"
msgid "MergeRequests|started a discussion on commit %{linkStart}%{commitId}%{linkEnd}"
-msgstr ""
+msgstr "iniciou uma discussão sobre uma alteração desatualizada no commit %{linkStart}%{commitId}%{linkEnd}"
msgid "MergeRequest| %{paragraphStart}changed the description %{descriptionChangedTimes} times %{timeDifferenceMinutes}%{paragraphEnd}"
-msgstr ""
+msgstr "%{paragraphStart}alterou a descrição %{descriptionChangedTimes} vezes %{timeDifferenceMinutes}%{paragraphEnd}"
msgid "MergeRequest|Error dismissing suggestion popover. Please try again."
msgstr ""
msgid "MergeRequest|Error loading full diff. Please try again."
-msgstr ""
+msgstr "Erro ao carregar o diff completo. Por favor, tenta novamente."
msgid "MergeRequest|Filter files or search with %{modifier_key}+p"
msgstr ""
msgid "MergeRequest|No files found"
-msgstr ""
+msgstr "Nenhum ficheiro encontrado"
msgid "Merged"
msgstr ""
@@ -8389,46 +8410,46 @@ msgid "Migration successful."
msgstr ""
msgid "Milestone"
-msgstr ""
+msgstr "Objetivo"
msgid "Milestone lists not available with your current license"
-msgstr ""
+msgstr "Não está disponível as listas de objetivos com a tua licença atual"
msgid "Milestone lists show all issues from the selected milestone."
-msgstr ""
+msgstr "As listas de objetivos mostram todos os problemas do objetivo selecionado."
msgid "Milestones"
-msgstr ""
+msgstr "Objetivos"
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle} and remove it from %{issuesWithCount} and %{mergeRequestsWithCount}. Once deleted, it cannot be undone or recovered."
-msgstr ""
+msgstr "Estás prestes a apagar, permanentemente, o objetivo%{milestoneTitle} e removê-lo de %{issuesWithCount} e %{mergeRequestsWithCount}. Uma vez apagado, não será possível desfazer ou recuperar."
msgid "Milestones| You’re about to permanently delete the milestone %{milestoneTitle}. This milestone is not currently used in any issues or merge requests."
-msgstr ""
+msgstr "Estás prestes a apagar, permanentemente, o objetivo %{milestoneTitle}. Este objetivo não é, atualmente, usado em nenhum problema ou pedidos de mesclagem."
msgid "Milestones|Delete milestone"
-msgstr ""
+msgstr "Apagar objetivo"
msgid "Milestones|Delete milestone %{milestoneTitle}?"
-msgstr ""
+msgstr "Apagar objetivo %{milestoneTitle}?"
msgid "Milestones|Failed to delete milestone %{milestoneTitle}"
-msgstr ""
+msgstr "Falha ao apagar o objetivo %{milestoneTitle}"
msgid "Milestones|Milestone %{milestoneTitle} was not found"
-msgstr ""
+msgstr "O objetivo %{milestoneTitle} não foi encontrado"
msgid "Milestones|Promote %{milestoneTitle} to group milestone?"
-msgstr ""
+msgstr "Promover %{milestoneTitle} para objetivo de grupo?"
msgid "Milestones|Promote Milestone"
-msgstr ""
+msgstr "Promover Objetivo"
msgid "Milestones|Promoting %{milestoneTitle} will make it available for all projects inside %{groupName}. Existing project milestones with the same title will be merged."
msgstr ""
msgid "Milestones|This action cannot be reversed."
-msgstr ""
+msgstr "Esta ação não pode ser revertida."
msgid "Minimum capacity to be available before we schedule more mirrors preemptively."
msgstr ""
@@ -8631,7 +8652,7 @@ msgid "New Label"
msgstr ""
msgid "New Milestone"
-msgstr ""
+msgstr "Novo Objetivo"
msgid "New Pages Domain"
msgstr ""
@@ -8688,7 +8709,7 @@ msgid "New merge request"
msgstr ""
msgid "New milestone"
-msgstr ""
+msgstr "Novo objetivo"
msgid "New password"
msgstr ""
@@ -8832,10 +8853,10 @@ msgid "No messages were logged"
msgstr ""
msgid "No milestones to show"
-msgstr ""
+msgstr "Nenhum objetivo para mostrar"
msgid "No other labels with such name or description"
-msgstr "Nenhuns outros rótulos com tal nome ou descrição"
+msgstr "Nenhuns outros etiquetas com tal nome ou descrição"
msgid "No parent group"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -9920,7 +9947,7 @@ msgid "Profiles|Commit email"
msgstr ""
msgid "Profiles|Connect"
-msgstr ""
+msgstr "Conectar"
msgid "Profiles|Connected Accounts"
msgstr ""
@@ -9947,7 +9974,7 @@ msgid "Profiles|Deleting an account has the following effects:"
msgstr ""
msgid "Profiles|Disconnect"
-msgstr ""
+msgstr "Desconectar"
msgid "Profiles|Do not show on profile"
msgstr ""
@@ -10079,7 +10106,7 @@ msgid "Profiles|Update username"
msgstr ""
msgid "Profiles|Upload new avatar"
-msgstr ""
+msgstr "Enviar novo avatar"
msgid "Profiles|Use a private email - %{email}"
msgstr ""
@@ -10100,7 +10127,7 @@ msgid "Profiles|What's your status?"
msgstr ""
msgid "Profiles|Who you represent or work for"
-msgstr ""
+msgstr "Para quem representas ou trabalhas"
msgid "Profiles|You can change your avatar here"
msgstr ""
@@ -10112,10 +10139,10 @@ msgid "Profiles|You can set your current timezone here"
msgstr ""
msgid "Profiles|You can upload your avatar here"
-msgstr ""
+msgstr "Podes enviar o teu avatar aqui"
msgid "Profiles|You can upload your avatar here or change it at %{gravatar_link}"
-msgstr ""
+msgstr "Podes enviar o teu avatar aqui ou alterá-lo em %{gravatar_link}"
msgid "Profiles|You don't have access to delete this user."
msgstr ""
@@ -10610,10 +10637,10 @@ msgid "Promote"
msgstr ""
msgid "Promote these project milestones into a group milestone."
-msgstr ""
+msgstr "Promove estes objetivos de projeto num objetivo de grupo."
msgid "Promote to Group Milestone"
-msgstr ""
+msgstr "Promover para Objetivo de Grupo"
msgid "Promote to group label"
msgstr ""
@@ -10631,7 +10658,7 @@ msgid "Promotions|Don't show me this again"
msgstr ""
msgid "Promotions|Epics let you manage your portfolio of projects more efficiently and with less effort by tracking groups of issues that share a theme, across projects and milestones."
-msgstr ""
+msgstr "Os épicos permitem que gerencies o teu portefólio de projetos com mais eficiência e com menos esforço ao localizar grupos de problemas que compartilham um tema, entre projetos e objetivos."
msgid "Promotions|This feature is locked."
msgstr ""
@@ -10640,7 +10667,7 @@ msgid "Promotions|Upgrade plan"
msgstr ""
msgid "Prompt users to upload SSH keys"
-msgstr ""
+msgstr "Solicitar que os utilizadores enviem chaves SSH"
msgid "Protected"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11059,7 +11083,7 @@ msgid "Reopen epic"
msgstr ""
msgid "Reopen milestone"
-msgstr ""
+msgstr "Reabrir objetivo"
msgid "Repair authentication"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -11329,7 +11356,7 @@ msgid "Reviewing"
msgstr ""
msgid "Reviewing (merge request !%{mergeRequestId})"
-msgstr ""
+msgstr "A rever (pedido de mesclagem !%{mergeRequestId})"
msgid "Revoke"
msgstr ""
@@ -11560,7 +11587,7 @@ msgid "Search merge requests"
msgstr ""
msgid "Search milestones"
-msgstr ""
+msgstr "Pesquisar objetivos"
msgid "Search or filter results..."
msgstr ""
@@ -12354,13 +12381,13 @@ msgid "SortOptions|Manual"
msgstr ""
msgid "SortOptions|Milestone due date"
-msgstr ""
+msgstr "Data de vencimento do objetivo"
msgid "SortOptions|Milestone due later"
-msgstr ""
+msgstr "Objetivo que finalizam mais tarde"
msgid "SortOptions|Milestone due soon"
-msgstr ""
+msgstr "Objetivo que finaliza em breve"
msgid "SortOptions|More weight"
msgstr ""
@@ -12519,7 +12546,7 @@ msgid "Start Web Terminal"
msgstr ""
msgid "Start a %{new_merge_request} with these changes"
-msgstr ""
+msgstr "Iniciar um %{new_merge_request} a partir destas alterações"
msgid "Start a new merge request"
msgstr ""
@@ -13079,7 +13106,7 @@ msgid "The character highlighter helps you keep the subject line to %{titleLengt
msgstr ""
msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request."
-msgstr "O estágio de codificação mostra a hora do primeiro envio para criar o pedido de mesclagem. Os dados serão adicionados, automaticamente,, assim que criares o teu primeiro pedido de mesclagem."
+msgstr "A fase de codificação mostra a hora do primeiro envio para criar o pedido de mesclagem. Os dados serão adicionados, automaticamente,, assim que criares o teu primeiro pedido de mesclagem."
msgid "The collection of events added to the data gathered for that stage."
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13148,7 +13178,7 @@ msgid "The invitation was successfully resent."
msgstr ""
msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage."
-msgstr ""
+msgstr "A etapa do problema mostra o tempo necessário para criar um problema para atribuir o problema a um objetivo ou adicionar o problema a uma lista no teu Painel de Problemas. Começa a criar problemas para ver os dados desta etapa."
msgid "The license was removed. GitLab has fallen back on the previous license."
msgstr ""
@@ -13229,7 +13259,7 @@ msgid "The project was successfully imported."
msgstr ""
msgid "The pseudonymizer data collection is disabled. When enabled, GitLab will run a background job that will produce pseudonymized CSVs of the GitLab database that will be uploaded to your configured object storage directory."
-msgstr ""
+msgstr "A coleta de dados do pseudomizador está desativada. Quando ativado, o GitLab executará um trabalho em segundo produzir que produzirá CSVs com pseudónimo da base de dados do GitLab que serão enviados no diretório de armazenamento de objetos configurados."
msgid "The remote mirror took to long to complete."
msgstr ""
@@ -13274,7 +13304,7 @@ msgid "The snippet is visible to any logged in user."
msgstr ""
msgid "The staging stage shows the time between merging the MR and deploying code to the production environment. The data will be automatically added once you deploy to production for the first time."
-msgstr ""
+msgstr "A fase de preparação mostra o tempo entre a mesclagem do PM e a implementação do código no ambiente de produção. Os dados serão adicionados, automaticamente, quando implantares na produção pela primeira vez."
msgid "The tabs below will be removed in a future version"
msgstr ""
@@ -13346,7 +13376,7 @@ msgid "There are no issues to show"
msgstr ""
msgid "There are no labels yet"
-msgstr "Não há ainda rótulos"
+msgstr "Não há ainda etiquetas"
msgid "There are no open issues"
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -13959,7 +13992,7 @@ msgid "To link Sentry to GitLab, enter your Sentry URL and Auth Token."
msgstr ""
msgid "To move or copy an entire GitLab project from another GitLab installation to this one, navigate to the original project's settings page, generate an export file, and upload it here."
-msgstr ""
+msgstr "Para mover ou copiar todo um projeto do GitLab de outra instalação do GitLab para este, navega até a página de definições do projeto original, gera um ficheiro de exportação e envia-o aqui."
msgid "To only use CI/CD features for an external repository, choose <strong>CI/CD for external repo</strong>."
msgstr ""
@@ -14085,7 +14118,7 @@ msgid "Track activity with Contribution Analytics."
msgstr ""
msgid "Track groups of issues that share a theme, across projects and milestones"
-msgstr ""
+msgstr "Acompanhar grupos de problemas que compartilham um tema, através de projetos e objetivos"
msgid "Track time with quick actions"
msgstr ""
@@ -14382,7 +14415,7 @@ msgid "Updated %{updated_at} by %{updated_by}"
msgstr ""
msgid "Updating"
-msgstr ""
+msgstr "A atualizar"
msgid "Upgrade plan to unlock Canary Deployments feature"
msgstr ""
@@ -14409,31 +14442,31 @@ msgid "Upgrade your plan to improve Merge Requests."
msgstr ""
msgid "Upload <code>GoogleCodeProjectHosting.json</code> here:"
-msgstr ""
+msgstr "Enviar <code>GoogleCodeProjectHosting.json</code> aqui:"
msgid "Upload CSV file"
-msgstr ""
+msgstr "Enviar ficheiro CSV"
msgid "Upload New File"
-msgstr ""
+msgstr "Enviar Novo Ficheiro"
msgid "Upload a certificate for your domain with all intermediates"
-msgstr ""
+msgstr "Enviar um certificado para o teu domínio com todos os intermediários"
msgid "Upload a private key for your certificate"
-msgstr ""
+msgstr "Enviar uma chave privada do teu certificado"
msgid "Upload file"
-msgstr ""
+msgstr "Enviar ficheiro"
msgid "Upload file does not exist"
msgstr ""
msgid "Upload object map"
-msgstr ""
+msgstr "Enviar mapa de objetos"
msgid "UploadLink|click to upload"
-msgstr ""
+msgstr "clica para enviar"
msgid "Uploaded on"
msgstr ""
@@ -14523,7 +14556,7 @@ msgid "Use an one time password authenticator on your mobile device or computer
msgstr ""
msgid "Use group milestones to manage issues from multiple projects in the same milestone."
-msgstr ""
+msgstr "Utiliza o grupo de objetivos para gerir problemas de vários projetos no mesmo objetivo."
msgid "Use one line per URI"
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -14802,7 +14835,7 @@ msgid "UserProfile|You haven't created any personal projects."
msgstr ""
msgid "UserProfile|You haven't created any snippets."
-msgstr "UserProfile|Não criaste nenhuns fragmentos."
+msgstr "UserProfileNão criaste nenhuns fragmentos."
msgid "UserProfile|Your projects can be available publicly, internally, or privately, at your choice."
msgstr ""
@@ -15326,7 +15359,7 @@ msgid "Write access allowed"
msgstr ""
msgid "Write milestone description..."
-msgstr ""
+msgstr "Escreve a descrição do objetivo..."
msgid "Wrong extern UID provided. Make sure Auth0 is configured correctly."
msgstr ""
@@ -15401,7 +15434,7 @@ msgid "You can also test your %{gitlab_ci_yml} in %{lint_link_start}CI Lint%{lin
msgstr "Também podes testar o teu %{gitlab_ci_yml} em %{lint_link_start}CI Lint%{lint_link_end}"
msgid "You can also upload existing files from your computer using the instructions below."
-msgstr ""
+msgstr "Também podes enviar ficheiros existentes do teu computador ao usar as instruções abaixo."
msgid "You can create files directly in GitLab using one of the following options."
msgstr ""
@@ -15488,7 +15521,7 @@ msgid "You do not have permission to leave this %{namespaceType}."
msgstr ""
msgid "You do not have permission to run the Web Terminal. Please contact a project administrator."
-msgstr ""
+msgstr "Não tens permissão para executar o Terminal de Web. Por favor, contacta um administrador de projeto."
msgid "You do not have the correct permissions to override the settings from the LDAP group sync."
msgstr ""
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
@@ -16455,7 +16491,7 @@ msgid "mrWidget|No approval required"
msgstr ""
msgid "mrWidget|No approval required; you can still approve"
-msgstr ""
+msgstr "Nenhuma aprovação necessária; ainda podes aprovar"
msgid "mrWidget|Open in Web IDE"
msgstr ""
diff --git a/locale/ro_RO/gitlab.po b/locale/ro_RO/gitlab.po
index 4055a0fe933..3d77b1552b4 100644
--- a/locale/ro_RO/gitlab.po
+++ b/locale/ro_RO/gitlab.po
@@ -897,9 +897,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3531,9 +3549,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3543,6 +3558,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4794,6 +4812,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5745,12 +5766,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6918,6 +6933,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8910,6 +8931,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8919,9 +8943,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9435,9 +9465,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10974,9 +11001,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11343,6 +11367,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13197,6 +13224,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13593,6 +13623,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14670,7 +14703,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15726,9 +15759,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16332,6 +16362,9 @@ msgstr[2] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16425,6 +16458,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/ru/gitlab.po b/locale/ru/gitlab.po
index 68ce5b4d64d..521c7ea6203 100644
--- a/locale/ru/gitlab.po
+++ b/locale/ru/gitlab.po
@@ -936,9 +936,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Переменные Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð·Ð°Ñ‰Ð¸Ñ‰ÐµÐ½Ñ‹ по умолчанию"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Укажите домен, который будет иÑпользоватьÑÑ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ð²Ñех проектов в Auto Review приложениÑÑ… и ÑтадиÑÑ… Auto Deploy."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "При Ñоздании новой переменной Ð¾ÐºÑ€ÑƒÐ¶ÐµÐ½Ð¸Ñ Ð¾Ð½Ð° будет защищена по умолчанию."
@@ -3579,9 +3597,6 @@ msgstr "РееÑÑ‚Ñ€ Контейнеров"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "Создан"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Сначала авторизуйтеÑÑŒ в рееÑтре контейнеров GitLab, иÑÐ¿Ð¾Ð»ÑŒÐ·ÑƒÑ Ñвои Ð¸Ð¼Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ пароль. ЕÑли у Ð²Ð°Ñ ÐµÑÑ‚ÑŒ %{link_2fa}, вам необходимо иÑпользовать %{link_token}:"
@@ -3591,6 +3606,9 @@ msgstr "GitLab поддерживает до трех уровней имён о
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Как иÑпользовать РееÑÑ‚Ñ€ Контейнеров"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "Узнайте больше"
@@ -4843,6 +4861,9 @@ msgstr "ЗаканчиваетÑÑ Ð² (UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr "Завершено"
msgid "First day of the week"
msgstr "Первый день недели"
-msgid "FirstPushedBy|First"
-msgstr "Первый"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "отправлено автором"
-
msgid "Fixed date"
msgstr ""
@@ -6969,6 +6984,12 @@ msgstr "РецензиÑ"
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Идентификатор"
@@ -8965,6 +8986,9 @@ msgstr ""
msgid "No repository"
msgstr "Ðет репозиториÑ"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8974,9 +8998,15 @@ msgstr "Ðет раÑпиÑаний"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9491,9 +9521,6 @@ msgstr ""
msgid "Pipeline"
msgstr "Ð¡Ð±Ð¾Ñ€Ð¾Ñ‡Ð½Ð°Ñ Ð»Ð¸Ð½Ð¸Ñ"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "РаÑпиÑание Сборочной Линии"
@@ -11031,9 +11058,6 @@ msgstr ""
msgid "Registry"
msgstr "РееÑÑ‚Ñ€"
-msgid "Related Commits"
-msgstr "СвÑзанные коммиты"
-
msgid "Related Deployed Jobs"
msgstr "СвÑзанные Ð—Ð°Ð´Ð°Ð½Ð¸Ñ Ð Ð°Ð·Ð²ÐµÑ€Ñ‚Ñ‹Ð²Ð°Ð½Ð¸Ñ"
@@ -11402,6 +11426,9 @@ msgstr "Метрики откликов (NGINX)"
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Продолжить"
@@ -13259,6 +13286,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "Импорт будет отключен поÑле %{timeout}. Ð”Ð»Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ð¸ÐµÐ², которые импортируютÑÑ Ð·Ð° большее времÑ, иÑпользуйте комбинацию команд clone/push."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13655,6 +13685,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr "Эта группа пока не Ñодержит групповых обработчики заданий."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15791,9 +15824,6 @@ msgstr ""
msgid "Your Groups"
msgstr "Ваши Группы"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ Вашем Kubernetes клаÑтере на Ñтой Ñтранице по-прежнему доÑтупна Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ, но мы рекомендуем вам отключить его перед переконфигурированием"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] "завершенные ÑкземплÑры"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16504,6 +16537,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sk_SK/gitlab.po b/locale/sk_SK/gitlab.po
index 7bb9f36a887..763bb4a46f8 100644
--- a/locale/sk_SK/gitlab.po
+++ b/locale/sk_SK/gitlab.po
@@ -936,9 +936,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3579,9 +3597,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3591,6 +3606,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4843,6 +4861,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6969,6 +6984,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8965,6 +8986,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8974,9 +8998,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9491,9 +9521,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -11031,9 +11058,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11402,6 +11426,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13259,6 +13286,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13655,6 +13685,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15791,9 +15824,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16504,6 +16537,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sq_AL/gitlab.po b/locale/sq_AL/gitlab.po
index f9454822dc4..d136efa8675 100644
--- a/locale/sq_AL/gitlab.po
+++ b/locale/sq_AL/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sr_CS/gitlab.po b/locale/sr_CS/gitlab.po
index 1156a705653..4b89734ad03 100644
--- a/locale/sr_CS/gitlab.po
+++ b/locale/sr_CS/gitlab.po
@@ -897,9 +897,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3531,9 +3549,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3543,6 +3558,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4794,6 +4812,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5745,12 +5766,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6918,6 +6933,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8910,6 +8931,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8919,9 +8943,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9435,9 +9465,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10974,9 +11001,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11343,6 +11367,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13197,6 +13224,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13593,6 +13623,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14670,7 +14703,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15726,9 +15759,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16332,6 +16362,9 @@ msgstr[2] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16425,6 +16458,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sr_SP/gitlab.po b/locale/sr_SP/gitlab.po
index cdbb13acb65..8a796c7d2c4 100644
--- a/locale/sr_SP/gitlab.po
+++ b/locale/sr_SP/gitlab.po
@@ -897,9 +897,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3531,9 +3549,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3543,6 +3558,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4794,6 +4812,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5745,12 +5766,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6918,6 +6933,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8910,6 +8931,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8919,9 +8943,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9435,9 +9465,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10974,9 +11001,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11343,6 +11367,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13197,6 +13224,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13593,6 +13623,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14670,7 +14703,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15726,9 +15759,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16332,6 +16362,9 @@ msgstr[2] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16425,6 +16458,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sv_SE/gitlab.po b/locale/sv_SE/gitlab.po
index 059ac54c5b3..5fc6478d022 100644
--- a/locale/sv_SE/gitlab.po
+++ b/locale/sv_SE/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/sw_KE/gitlab.po b/locale/sw_KE/gitlab.po
index 8d2bfb693fc..3b0ac677db7 100644
--- a/locale/sw_KE/gitlab.po
+++ b/locale/sw_KE/gitlab.po
@@ -858,9 +858,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr ""
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3483,9 +3501,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr ""
-
-msgid "FirstPushedBy|pushed by"
-msgstr ""
-
msgid "Fixed date"
msgstr ""
@@ -6867,6 +6882,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/tr_TR/gitlab.po b/locale/tr_TR/gitlab.po
index 18def601116..a35ff0ce09f 100644
--- a/locale/tr_TR/gitlab.po
+++ b/locale/tr_TR/gitlab.po
@@ -858,9 +858,27 @@ msgstr "Yeni projeler için paylaşılan çalıştırıcıları etkinleştir"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Ortam değişkenleri öntanımlı olarak korunur"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Her projenin Otomatik İnceleme Uygulamaları ve Otomatik Dağıtma aşamaları için varsayılan olarak kullanılacak bir etki alanı belirleyin."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "Yeni bir ortam değişkeni oluştururken, öntanımlı olarak korunacaktır."
@@ -3483,9 +3501,6 @@ msgstr "Kapsayıcı Kaydı"
msgid "Container registry images"
msgstr "Kapsayıcı kaydı resimleri"
-msgid "ContainerRegistry|Created"
-msgstr "OluÅŸturuldu:"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3495,6 +3510,9 @@ msgstr "GitLab, 3 seviyeye kadar görüntü isimlerini destekler. Aşağıdaki g
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Kapsayıcı Kaydı nasıl kullanılır?"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "Hakkında daha fazlasını öğren"
@@ -4745,6 +4763,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr "Aramak için en az üç karakter girin"
@@ -5695,12 +5716,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "Ä°lk"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "Tarafından yollandı:"
-
msgid "Fixed date"
msgstr "Düzeltilme zamanı"
@@ -6867,6 +6882,12 @@ msgstr "Ä°ncele"
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8855,6 +8876,9 @@ msgstr ""
msgid "No repository"
msgstr ""
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8864,9 +8888,15 @@ msgstr ""
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9379,9 +9409,6 @@ msgstr ""
msgid "Pipeline"
msgstr ""
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr ""
@@ -10917,9 +10944,6 @@ msgstr ""
msgid "Registry"
msgstr "Kayıt Defteri"
-msgid "Related Commits"
-msgstr ""
-
msgid "Related Deployed Jobs"
msgstr ""
@@ -11284,6 +11308,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13135,6 +13162,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13531,6 +13561,9 @@ msgstr "Bu grup"
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14606,7 +14639,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15661,9 +15694,6 @@ msgstr ""
msgid "Your Groups"
msgstr "Gruplarınız"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16254,6 +16284,9 @@ msgstr[1] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16346,6 +16379,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/uk/gitlab.po b/locale/uk/gitlab.po
index 21c49e5c6f9..b802c6fa323 100644
--- a/locale/uk/gitlab.po
+++ b/locale/uk/gitlab.po
@@ -936,9 +936,27 @@ msgstr "Увімкнути загальні runner'и Ð´Ð»Ñ Ð½Ð¾Ð²Ð¸Ñ… прое
msgid "AdminSettings|Environment variables are protected by default"
msgstr "Змінні Ñередовища Ñ” захищеними за замовчуваннÑм"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "Вкажіть домен, Ñкий буде викориÑтовуватиÑÑ Ð² проекті за замовчуваннÑм Ð´Ð»Ñ Ñтадій Auto Review Apps Ñ– Auto Deploy."
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "При Ñтворенні нової змінної Ñередовища вона буде захищена за замовчуваннÑм."
@@ -3538,7 +3556,7 @@ msgid "Confirmation required"
msgstr "Ðеобхідне підтвердженнÑ"
msgid "Congratulations! You have enabled Two-factor Authentication!"
-msgstr ""
+msgstr "Вітаємо! Ви увімкнули двофакторну автентифікацію!"
msgid "Connect"
msgstr "Підключити"
@@ -3579,9 +3597,6 @@ msgstr "РеєÑÑ‚Ñ€ Контейнерів"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "Створений"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "Спочатку увійдіть до реєÑтру контейнерів GitLab, викориÑтовуючи логін та пароль. Якщо у Ð²Ð°Ñ %{link_2fa}, треба викориÑтовувати %{link_token}:"
@@ -3591,6 +3606,9 @@ msgstr "GitLab підтримує до 3 рівнів імен образів. Ð
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "Як викориÑтовувати РеєÑÑ‚Ñ€ Контейнерів"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "ДізнайтеÑÑ Ð±Ñ–Ð»ÑŒÑˆÐµ про"
@@ -4457,7 +4475,7 @@ msgid "Disable shared Runners"
msgstr "Вимкнути загальні Runner'и"
msgid "Disable two-factor authentication"
-msgstr ""
+msgstr "Вимкнути двофакторну автентифікацію"
msgid "Disabled"
msgstr "Вимкнено"
@@ -4843,6 +4861,9 @@ msgstr "ЗавершуєтьÑÑ Ð¾ (за Грінвічем)"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5795,12 +5816,6 @@ msgstr "Завершено"
msgid "First day of the week"
msgstr "Перший день тижнÑ"
-msgid "FirstPushedBy|First"
-msgstr "Перший"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "відправлено"
-
msgid "Fixed date"
msgstr "Дата виправленнÑ"
@@ -6306,10 +6321,10 @@ msgid "Geo|The URL defined on the primary node that secondary nodes should use t
msgstr "URL-адреÑа, визначена на оÑновному вузлі, Ñку викориÑтовують вторинні вузли, щоб зв'ÑзатиÑÑ Ð· ним. Повертає \"url\", Ñкщо не вÑтановлено"
msgid "Geo|The database is currently %{db_lag} behind the primary node."
-msgstr ""
+msgstr "База даних зараз %{db_lag} позаду оÑновного вузла."
msgid "Geo|The node is currently %{minutes_behind} behind the primary node."
-msgstr ""
+msgstr "Вузол зараз %{minutes_behind} позаду оÑновного вузла."
msgid "Geo|This is a primary node"
msgstr "Це — первинний вузол"
@@ -6318,7 +6333,7 @@ msgid "Geo|Tracking entry for project (%{project_id}) was successfully removed."
msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð²Ñ–Ð´ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ñ€Ð¾ÐµÐºÑ‚Ñƒ (%{project_id}) уÑпішно видалено."
msgid "Geo|Tracking entry for upload (%{type}/%{id}) was successfully removed."
-msgstr ""
+msgstr "Ð—Ð°Ð¿Ð¸Ñ Ð²Ñ–Ð´ÑÑ‚ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ (%{type}/%{id}) було уÑпішно видалено."
msgid "Geo|Tracking entry will be removed. Are you sure?"
msgstr "Буде видалено Ð·Ð°Ð¿Ð¸Ñ Ð¿Ñ€Ð¾ відÑтеженнÑ. Ви впевнені?"
@@ -6969,6 +6984,12 @@ msgstr "ОглÑд"
msgid "IP Address"
msgstr "IP-адреÑа"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "Ідентифікатор"
@@ -7096,7 +7117,7 @@ msgid "Import tasks"
msgstr ""
msgid "Import tasks from Phabricator into issues"
-msgstr ""
+msgstr "Імпортувати задачі (tasks) із Phabricator Ñк задачі"
msgid "Import timed out. Import took longer than %{import_jobs_expiration} seconds"
msgstr ""
@@ -8965,6 +8986,9 @@ msgstr "Ðемає відправок (push) за вказаний період
msgid "No repository"
msgstr "Ðемає репозиторію"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "Runner'ів не знайдено"
@@ -8974,9 +8998,15 @@ msgstr "Ðемає розкладів"
msgid "No start date"
msgstr "Ðемає дати початку"
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "ÐÑ–, безпоÑередньо імпортувати Ñ–Ñнуючі адреÑи електронної пошти та імена кориÑтувачів."
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9474,13 +9504,13 @@ msgid "Personal project creation is not allowed. Please contact your administrat
msgstr "Ð¡Ñ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ñональних проектів не дозволено. Будь лаÑка, звернітьÑÑ Ð´Ð¾ Ñвого адмініÑтратор із питаннÑми"
msgid "Phabricator Server Import"
-msgstr ""
+msgstr "Ð†Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ñ‚Ñ‚Ñ Ñ–Ð· Ñерверу Phabricator"
msgid "Phabricator Server URL"
-msgstr ""
+msgstr "URL-адреÑа Ñерверу Phabricator"
msgid "Phabricator Tasks"
-msgstr ""
+msgstr "Задачі Phabricator"
msgid "Pick a name"
msgstr "Виберіть ім'Ñ"
@@ -9491,9 +9521,6 @@ msgstr "PIN-код"
msgid "Pipeline"
msgstr "Конвеєр"
-msgid "Pipeline ID (IID)"
-msgstr "Ідентифікатор конвеєра (IID)"
-
msgid "Pipeline Schedule"
msgstr "Розклад Конвеєра"
@@ -11014,7 +11041,7 @@ msgid "Register U2F device"
msgstr "ЗареєÑтрувати приÑтрій U2F"
msgid "Register Universal Two-Factor (U2F) Device"
-msgstr ""
+msgstr "ЗареєÑтрувати універÑальний двофакторний приÑтрій (U2F)"
msgid "Register and see your runners for this group."
msgstr "ЗареєÑтруйте Ñ– переглÑдайте ваші Runner’и Ð´Ð»Ñ Ñ†Ñ–Ñ”Ñ— групи."
@@ -11031,9 +11058,6 @@ msgstr "РеєÑтраціÑ"
msgid "Registry"
msgstr "РеєÑÑ‚Ñ€"
-msgid "Related Commits"
-msgstr "Пов'Ñзані Коміти"
-
msgid "Related Deployed Jobs"
msgstr "Пов’Ñзані розгорнуті Ð·Ð°Ð²Ð´Ð°Ð½Ð½Ñ (Jobs)"
@@ -11402,6 +11426,9 @@ msgstr "Метрики відповідей (NGINX)"
msgid "Restart Terminal"
msgstr "ПерезапуÑтити термінал"
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "Продовжити"
@@ -13259,6 +13286,9 @@ msgstr "Групові Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ %{group_links} вимаг
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "Імпорт буде припинено піÑÐ»Ñ %{timeout}. Ð”Ð»Ñ Ñ€ÐµÐ¿Ð¾Ð·Ð¸Ñ‚Ð¾Ñ€Ñ–Ñ—Ð², Ñким потрібно більше чаÑу, викориÑтовуйте комбінацію clone/push."
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13335,7 +13365,7 @@ msgid "The project can be accessed by any user who is logged in."
msgstr ""
msgid "The project can be accessed by anyone, regardless of authentication."
-msgstr ""
+msgstr "ДоÑтуп до проекту Ñ” в будь-кого, незалежно від автентифікації."
msgid "The project can be accessed without any authentication."
msgstr "ДоÑтуп до проекту можливий без будь-Ñкої перевірки автентичноÑÑ‚Ñ–."
@@ -13410,7 +13440,7 @@ msgid "The time taken by each data entry gathered by that stage."
msgstr "ЧаÑ, витрачений на кожен елемент, зібраний на цій Ñтадії."
msgid "The unique identifier for the Geo node. Must match `geo_node_name` if it is set in gitlab.rb, otherwise it must match `external_url`"
-msgstr ""
+msgstr "Унікальний ідентифікатор Ð´Ð»Ñ Geo вузла. Має задовольнÑти \"geo_node_name\", Ñкщо воно вÑтановлено в gitlab.rb, інакше має задовольнÑти \"external_url\""
msgid "The update action will time out after %{number_of_minutes} minutes. For big repositories, use a clone/push combination."
msgstr "Ð§Ð°Ñ Ð´Ñ–Ñ— Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñплине через %{number_of_minutes} хвилин. Ð”Ð»Ñ Ð²ÐµÐ»Ð¸ÐºÐ¸Ñ… репозиторіїв викориÑтовуйте комбінацію clone/push."
@@ -13434,7 +13464,7 @@ msgid "The user map is a mapping of the FogBugz users that participated on your
msgstr "Мапа кориÑтувачів — це правила Ñ–Ð¼Ð¿Ð¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ñ€Ð¸Ñтувачів FogBugz, Ñкі приймали учаÑÑ‚ÑŒ у ваших проектах до Gitlab (зокрема Ñ—Ñ… імен та Ð°Ð´Ñ€ÐµÑ ÐµÐ»ÐµÐºÑ‚Ñ€Ð¾Ð½Ð½Ð¾Ñ— пошти). Ви можете вноÑити зміни шлÑхом Ð·Ð°Ð¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– нижче."
msgid "The user-facing URL of the Geo node."
-msgstr ""
+msgstr "URL-адреÑа вузла Geo, видима Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача."
msgid "The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6."
msgstr "Середнє Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² Ñ€Ñдку. Приклад: між 3, 5, 9, Ñередніми 5, між 3, 5, 7, 8, Ñередніми (5 + 7) / 2 = 6."
@@ -13655,6 +13685,9 @@ msgstr "Ð¦Ñ Ð³Ñ€ÑƒÐ¿Ð°"
msgid "This group does not provide any group Runners yet."
msgstr "Ð¦Ñ Ð³Ñ€ÑƒÐ¿Ð° ще не має жодного групового Runner’а."
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14324,13 +14357,13 @@ msgid "Twitter"
msgstr "Twitter"
msgid "Two-Factor Authentication"
-msgstr ""
+msgstr "Двофакторна автентифікаціÑ"
msgid "Two-factor Authentication"
-msgstr ""
+msgstr "Двофакторна автентифікаціÑ"
msgid "Two-factor Authentication Recovery codes"
-msgstr ""
+msgstr "Коди Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð²Ð¾Ñ„Ð°ÐºÑ‚Ð¾Ñ€Ð½Ð° автентифікації"
msgid "Two-factor Authentication has been disabled for this user"
msgstr "Двофакторну автентифікацію було вимкнено Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ кориÑтувача"
@@ -14342,7 +14375,7 @@ msgid "Type"
msgstr "Тип"
msgid "U2F Devices (%{length})"
-msgstr ""
+msgstr "U2F приÑтрої (%{length})"
msgid "U2F only works with HTTPS-enabled websites. Contact your administrator for more details."
msgstr "U2F працює лише з веб-Ñайтами з підтримкою HTTPS. Ð”Ð»Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð±Ñ–Ð»ÑŒÑˆ детальної інформації звернітьÑÑ Ð´Ð¾ адмініÑтратора."
@@ -14645,7 +14678,7 @@ msgid "Use Service Desk to connect with your users (e.g. to offer customer suppo
msgstr "ВикориÑтовуйте Service Desk Ð´Ð»Ñ Ð·Ð²â€™Ñзку з вашими кориÑтувачами (наприклад, щоб запропонувати клієнтÑьку підтримку) через електронну пошту безпоÑередньо із GitLab"
msgid "Use a hardware device to add the second factor of authentication."
-msgstr ""
+msgstr "ВикориÑтовуйте приÑтрій Ð´Ð»Ñ Ð´Ð¾Ð´Ð°Ð²Ð°Ð½Ð½Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ фактору автентифікацї."
msgid "Use an one time password authenticator on your mobile device or computer to enable two-factor authentication (2FA)."
msgstr ""
@@ -14734,7 +14767,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15624,7 +15657,7 @@ msgid "You do not have the correct permissions to override the settings from the
msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” необхідних прав доÑтупу, щоб перевизначити Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñинхронізації LDAP-груп."
msgid "You don't have any U2F devices registered yet."
-msgstr ""
+msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” жодного зареєÑтрованого U2F приÑтрою."
msgid "You don't have any active chat names."
msgstr "У Ð²Ð°Ñ Ð½ÐµÐ¼Ð°Ñ” активних імен Ð´Ð»Ñ Ñ‡Ð°Ñ‚Ñ–Ð²."
@@ -15791,9 +15824,6 @@ msgstr "Ваші ключі GPG (%{count})"
msgid "Your Groups"
msgstr "Ваші групи"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "Ð†Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ñ–Ñ Ð¿Ñ€Ð¾ ваш Kubernetes-клаÑтер вÑе ще доÑтупна Ð´Ð»Ñ Ñ€ÐµÐ´Ð°Ð³ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° цій Ñторінці, але ми радимо вимкнути Ñ– повторно налаштувати"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16410,6 +16440,9 @@ msgstr[3] "завершених інÑтанÑів"
msgid "invalid milestone state `%{state}`"
msgstr "некоректний Ñтан етапу '%{state}'"
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr "увімкнено."
@@ -16504,6 +16537,9 @@ msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ %{metricsLinkStart} пам’ÑÑ‚Ñ– %{metricsLi
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "ВикориÑÑ‚Ð°Ð½Ð½Ñ %{metricsLinkStart} пам’ÑÑ‚Ñ– %{metricsLinkEnd} %{emphasisStart} не змінилоÑÑ %{emphasisEnd} %{memoryFrom}Мб"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/zh_CN/gitlab.po b/locale/zh_CN/gitlab.po
index ae644040a5a..77064035305 100644
--- a/locale/zh_CN/gitlab.po
+++ b/locale/zh_CN/gitlab.po
@@ -819,9 +819,27 @@ msgstr "为新项目å¯ç”¨å…±äº«Runner"
msgid "AdminSettings|Environment variables are protected by default"
msgstr "环境å˜é‡é»˜è®¤å—ä¿æŠ¤"
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "为æ¯ä¸ªé¡¹ç›®çš„自动审阅应用 (Auto Review Apps) 和自动部署 (Auto Deploy) 阶段指定一个默认使用的域。"
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr "创建一个新的环境å˜é‡æ—¶ï¼Œå®ƒä¼šè¢«é»˜è®¤ä¿æŠ¤ã€‚"
@@ -3435,9 +3453,6 @@ msgstr "容器镜åƒåº“"
msgid "Container registry images"
msgstr "容器镜åƒåº“é•œåƒ"
-msgid "ContainerRegistry|Created"
-msgstr "创建时间"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "首先使用您的 GitLab 用户å和密ç ç™»å½• GitLab 的容器镜åƒåº“。如果您已ç»%{link_2fa},则需è¦ä½¿ç”¨%{link_token}:"
@@ -3447,6 +3462,9 @@ msgstr "GitLab 最多支æŒ3个级别的镜åƒå‘½å。以下镜åƒå称示例å
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "如何使用容器镜åƒåº“"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "进一步了解"
@@ -4696,6 +4714,9 @@ msgstr "结æŸäºŽ(UTC)"
msgid "Enforce DNS rebinding attack protection"
msgstr "强制DNSé‡æ–°ç»‘定攻击ä¿æŠ¤"
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr "请至少输入三个字符æ‰å¯æœç´¢"
@@ -5645,12 +5666,6 @@ msgstr "已完æˆ"
msgid "First day of the week"
msgstr "æ¯å‘¨çš„起始日"
-msgid "FirstPushedBy|First"
-msgstr "首次推é€"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "推é€è€…:"
-
msgid "Fixed date"
msgstr "ä¿®å¤æ—¥æœŸ"
@@ -6816,6 +6831,12 @@ msgstr "审阅"
msgid "IP Address"
msgstr "IP地å€"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "身份标识"
@@ -8800,6 +8821,9 @@ msgstr "所选时间段无推é€ã€‚"
msgid "No repository"
msgstr "无仓库"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "未找到Runner"
@@ -8809,9 +8833,15 @@ msgstr "无计划"
msgid "No start date"
msgstr "没有开始日期"
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "å¦, 请直接导入现有电å­é‚®ä»¶åœ°å€å’Œç”¨æˆ·å。"
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr "节点已æˆåŠŸåˆ›å»ºã€‚"
@@ -9323,9 +9353,6 @@ msgstr "Pinç "
msgid "Pipeline"
msgstr "æµæ°´çº¿"
-msgid "Pipeline ID (IID)"
-msgstr "æµæ°´çº¿ID (IID)"
-
msgid "Pipeline Schedule"
msgstr "æµæ°´çº¿è®¡åˆ’"
@@ -10860,9 +10887,6 @@ msgstr "注册"
msgid "Registry"
msgstr "é•œåƒåº“"
-msgid "Related Commits"
-msgstr "相关的æ交"
-
msgid "Related Deployed Jobs"
msgstr "相关的部署作业"
@@ -11225,6 +11249,9 @@ msgstr "å“应指标(NGINX)"
msgid "Restart Terminal"
msgstr "é‡å¯ç»ˆç«¯"
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "æ¢å¤"
@@ -13073,6 +13100,9 @@ msgstr "%{group_links} 的群组设置è¦æ±‚您为å¸æˆ·å¯ç”¨åŒé‡è®¤è¯ã€‚ä½ 
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "该导入过程将在 %{timeout}åŽè¶…时。对于需è¦é•¿äºŽè¯¥æ—¶é—´æ‰èƒ½å¯¼å…¥çš„仓库,请使用克隆/推é€ç»„åˆã€‚"
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr "无法接å—邀请。"
@@ -13469,6 +13499,9 @@ msgstr "当å‰ç¾¤ç»„"
msgid "This group does not provide any group Runners yet."
msgstr "该群组未æ供任何群组Runner。"
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr "此用户为“幽çµç”¨æˆ·â€ï¼Œç”¨äºŽæŒæœ‰è¢«åˆ é™¤ç”¨æˆ·çš„所有议题。该用户无法被删除。"
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15596,9 +15629,6 @@ msgstr "您的GPG密钥 (%{count})"
msgid "Your Groups"
msgstr "您的群组"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "在此页é¢ä¸Šçš„Kubernetes集群信æ¯ä»å¯ç¼–辑,但建议您ç¦ç”¨å¹¶é‡æ–°é…ç½®"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] "实例已完æˆ"
msgid "invalid milestone state `%{state}`"
msgstr "æ— æ•ˆçš„é‡Œç¨‹ç¢‘çŠ¶æ€ `%{state}`"
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr "å·²å¯ç”¨ã€‚"
@@ -16267,6 +16300,9 @@ msgstr "%{metricsLinkStart} 内存 %{metricsLinkEnd} å ç”¨ %{emphasisStart} 上
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} 内存 %{metricsLinkEnd} å ç”¨ %{emphasisStart} æ— å˜åŒ– %{emphasisEnd}, ä¿æŒåœ¨ %{memoryFrom}MB"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/zh_HK/gitlab.po b/locale/zh_HK/gitlab.po
index af61b64ccb9..8485e17cd0d 100644
--- a/locale/zh_HK/gitlab.po
+++ b/locale/zh_HK/gitlab.po
@@ -819,9 +819,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "為æ¯å€‹é …目的自動複閱應用åŠè‡ªå‹•éƒ¨ç½²æŒ‡å®šä¸€å€‹é è¨­çš„網域"
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3435,9 +3453,6 @@ msgstr ""
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr ""
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr ""
@@ -3447,6 +3462,9 @@ msgstr ""
msgid "ContainerRegistry|How to use the Container Registry"
msgstr ""
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr ""
@@ -4696,6 +4714,9 @@ msgstr ""
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5645,12 +5666,6 @@ msgstr ""
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "首次推é€"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "推é€è€…:"
-
msgid "Fixed date"
msgstr ""
@@ -6816,6 +6831,12 @@ msgstr ""
msgid "IP Address"
msgstr ""
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr ""
@@ -8800,6 +8821,9 @@ msgstr ""
msgid "No repository"
msgstr "沒有存儲庫"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr ""
@@ -8809,9 +8833,15 @@ msgstr "沒有計劃"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9323,9 +9353,6 @@ msgstr ""
msgid "Pipeline"
msgstr "æµæ°´ç·š"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "æµæ°´ç·šè¨ˆåŠƒ"
@@ -10860,9 +10887,6 @@ msgstr ""
msgid "Registry"
msgstr ""
-msgid "Related Commits"
-msgstr "相關的æ交"
-
msgid "Related Deployed Jobs"
msgstr "相關的部署作業"
@@ -11225,6 +11249,9 @@ msgstr ""
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr ""
@@ -13073,6 +13100,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr ""
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13469,6 +13499,9 @@ msgstr ""
msgid "This group does not provide any group Runners yet."
msgstr ""
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15596,9 +15629,6 @@ msgstr ""
msgid "Your Groups"
msgstr ""
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr ""
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] ""
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16267,6 +16300,9 @@ msgstr ""
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr ""
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/locale/zh_TW/gitlab.po b/locale/zh_TW/gitlab.po
index 435c5979172..e7be5df3c80 100644
--- a/locale/zh_TW/gitlab.po
+++ b/locale/zh_TW/gitlab.po
@@ -819,9 +819,27 @@ msgstr ""
msgid "AdminSettings|Environment variables are protected by default"
msgstr ""
+msgid "AdminSettings|No required pipeline"
+msgstr ""
+
+msgid "AdminSettings|Required pipeline configuration"
+msgstr ""
+
+msgid "AdminSettings|Select a pipeline configuration file"
+msgstr ""
+
+msgid "AdminSettings|Select a template"
+msgstr ""
+
+msgid "AdminSettings|Set an instance-wide auto included %{link_start}pipeline configuration%{link_end}. This pipeline configuration will be run after the project's own configuration."
+msgstr ""
+
msgid "AdminSettings|Specify a domain to use by default for every project's Auto Review Apps and Auto Deploy stages."
msgstr "å°æ¯å€‹å°ˆæ¡ˆçš„「自動檢閱應用程å¼ç¨‹å¼ã€å’Œã€Œè‡ªå‹•ä½ˆç½²éšŽæ®µã€æŒ‡å®šé è¨­ç¶²åŸŸã€‚"
+msgid "AdminSettings|The required pipeline configuration can be selected from the %{code_start}gitlab-ci%{code_end} directory inside of the configured %{link_start}instance template repository%{link_end} or from GitLab provided configurations."
+msgstr ""
+
msgid "AdminSettings|When creating a new environment variable it will be protected by default."
msgstr ""
@@ -3435,9 +3453,6 @@ msgstr "容器登錄表"
msgid "Container registry images"
msgstr ""
-msgid "ContainerRegistry|Created"
-msgstr "已建立"
-
msgid "ContainerRegistry|First log in to GitLab&rsquo;s Container Registry using your GitLab username and password. If you have %{link_2fa} you need to use a %{link_token}:"
msgstr "請先使用您的 GitLab 帳號登入到 GitLab 的容器登錄表。若您有設定 %{link_2fa} ,則必須使用 %{link_token}:"
@@ -3447,6 +3462,9 @@ msgstr "GitLab 支æ´å¤šé” 3 級的映åƒå稱。以下的映åƒç¯„例å°æ‚¨çš
msgid "ContainerRegistry|How to use the Container Registry"
msgstr "如何使用容器登錄表"
+msgid "ContainerRegistry|Last Updated"
+msgstr ""
+
msgid "ContainerRegistry|Learn more about"
msgstr "了解更多"
@@ -4696,6 +4714,9 @@ msgstr "æ–¼ (UTC) çµæŸ"
msgid "Enforce DNS rebinding attack protection"
msgstr ""
+msgid "Enter IP address range"
+msgstr ""
+
msgid "Enter at least three characters to search"
msgstr ""
@@ -5645,12 +5666,6 @@ msgstr "已完æˆ"
msgid "First day of the week"
msgstr ""
-msgid "FirstPushedBy|First"
-msgstr "第一次"
-
-msgid "FirstPushedBy|pushed by"
-msgstr "推é€è€…:"
-
msgid "Fixed date"
msgstr "修復日期"
@@ -6816,6 +6831,12 @@ msgstr "檢閱"
msgid "IP Address"
msgstr "IP ä½å€"
+msgid "IP address restriction is not editable in subgroups. Value inherited from top-level parent group."
+msgstr ""
+
+msgid "IP subnet restriction only allowed for top-level groups"
+msgstr ""
+
msgid "Identifier"
msgstr "識別碼"
@@ -8800,6 +8821,9 @@ msgstr "é¸å–的時間範åœä¸­æ²’有推é€ã€‚"
msgid "No repository"
msgstr "找ä¸åˆ°ç‰ˆæœ¬åº«"
+msgid "No required pipeline"
+msgstr ""
+
msgid "No runners found"
msgstr "找ä¸åˆ°åŸ·è¡Œå™¨"
@@ -8809,9 +8833,15 @@ msgstr "找ä¸åˆ°æŽ’程"
msgid "No start date"
msgstr ""
+msgid "No value set by top-level parent group."
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr "ä¸ï¼Œç›´æŽ¥åŒ¯å…¥ç¾æœ‰çš„é›»å­éƒµä»¶ä½å€å’Œä½¿ç”¨è€…å稱。"
+msgid "No, not interested right now"
+msgstr ""
+
msgid "Node was successfully created."
msgstr ""
@@ -9323,9 +9353,6 @@ msgstr ""
msgid "Pipeline"
msgstr "管線"
-msgid "Pipeline ID (IID)"
-msgstr ""
-
msgid "Pipeline Schedule"
msgstr "排程管線"
@@ -10860,9 +10887,6 @@ msgstr ""
msgid "Registry"
msgstr "註冊表"
-msgid "Related Commits"
-msgstr "相關æ交"
-
msgid "Related Deployed Jobs"
msgstr "相關佈署作業"
@@ -11225,6 +11249,9 @@ msgstr "回應指標 (NGINX)"
msgid "Restart Terminal"
msgstr ""
+msgid "Restrict access by IP address"
+msgstr ""
+
msgid "Resume"
msgstr "繼續"
@@ -13073,6 +13100,9 @@ msgstr ""
msgid "The import will time out after %{timeout}. For repositories that take longer, use a clone/push combination."
msgstr "匯入將在 %{timeout} 之後逾時。å°æ–¼éœ€è¦æ›´é•·æ™‚間的存儲庫,請使用 clone / push 組åˆã€‚"
+msgid "The instance-level Kubernetes service integration is deprecated. Your data has been migrated to an <a href=\"%{url}\"/>instance-level cluster</a>."
+msgstr ""
+
msgid "The invitation could not be accepted."
msgstr ""
@@ -13469,6 +13499,9 @@ msgstr "此群組"
msgid "This group does not provide any group Runners yet."
msgstr "這群組尚未æ供任何群組執行器。"
+msgid "This group, including all subgroups, projects and git repositories, will only be reachable from the specified IP address range. Example: <code>192.168.0.0/24</code>. %{read_more_link}."
+msgstr ""
+
msgid "This is a \"Ghost User\", created to hold all issues authored by users that have since been deleted. This user cannot be removed."
msgstr ""
@@ -14542,7 +14575,7 @@ msgstr ""
msgid "UserOnboardingTour|%{emphasisStart}Well done!%{emphasisEnd}%{lineBreak}%{lineBreak}That's it for our guided tour, congratulations for making it all the way to the end!%{lineBreak}%{lineBreak}We hope this gave you a good overview of GitLab and how it can help you. We'll now show you how to create your own project and invite your colleagues."
msgstr ""
-msgid "UserOnboardingTour|Adding other memembers to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
+msgid "UserOnboardingTour|Adding other members to a project is done through Project Settings. Click on %{emphasisStart}Settings%{emphasisEnd}."
msgstr ""
msgid "UserOnboardingTour|Alright, that's it for Commits. Let's take a look at the %{emphasisStart}Branches%{emphasisEnd}."
@@ -15596,9 +15629,6 @@ msgstr ""
msgid "Your Groups"
msgstr "你的群組"
-msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure"
-msgstr "您的Kuberneteså¢é›†è³‡è¨Šä»ç„¶å¯ä»¥ç·¨è¼¯ï¼Œä½†å»ºè­°æ‚¨ç¦ç”¨ä¸¦é‡æ–°è¨­å®šã€‚"
-
msgid "Your Primary Email will be used for avatar detection."
msgstr ""
@@ -16176,6 +16206,9 @@ msgstr[0] "實例完æˆ"
msgid "invalid milestone state `%{state}`"
msgstr ""
+msgid "is an invalid IP address range"
+msgstr ""
+
msgid "is enabled."
msgstr ""
@@ -16267,6 +16300,9 @@ msgstr "%{metricsLinkStart} 記憶體 %{metricsLinkEnd} 使用 %{emphasisStart}
msgid "mrWidget|%{metricsLinkStart} Memory %{metricsLinkEnd} usage is %{emphasisStart} unchanged %{emphasisEnd} at %{memoryFrom}MB"
msgstr "%{metricsLinkStart} 記憶體 %{metricsLinkEnd} 使用 %{emphasisStart} 沒有發生變化 %{emphasisEnd} 於 %{memoryFrom} MB"
+msgid "mrWidget|Added to the merge train at position %{mergeTrainPosition}"
+msgstr ""
+
msgid "mrWidget|Added to the merge train by"
msgstr ""
diff --git a/qa/README.md b/qa/README.md
index ef6f202464d..124a79a36b4 100644
--- a/qa/README.md
+++ b/qa/README.md
@@ -34,8 +34,23 @@ using `package-and-qa` manual action, to test if everything works fine.
## How can I use it?
-You can use GitLab QA to exercise tests on any live instance! For example, the
-following call would login to a local [GDK] instance and run all specs in
+You can use GitLab QA to exercise tests on any live instance! If you don't
+have an instance available you can follow the instructions below to use
+the [GitLab Development Kit (GDK)][GDK].
+This is the recommended option if you would like to contribute to the tests.
+
+### Run the end-to-end tests in a local development environment
+
+Follow the GDK instructions to [prepare](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/prepare.md)
+and [install](https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/doc/set-up-gdk.md)
+your local GitLab development environment.
+
+Once you have GDK running, switch to the `qa` directory. E.g., if you setup
+GDK to develop in the main `gitlab-ce` repo, the GitLab source code will be
+in a `gitlab` directory and so the end-to-end test code will be in `gitlab/qa`.
+
+From there you can run the tests. For example, the
+following call would login to the GDK instance and run all specs in
`qa/specs/features`:
```
diff --git a/spec/controllers/admin/application_settings_controller_spec.rb b/spec/controllers/admin/application_settings_controller_spec.rb
index b89348b7a7e..5ad5f9cdeea 100644
--- a/spec/controllers/admin/application_settings_controller_spec.rb
+++ b/spec/controllers/admin/application_settings_controller_spec.rb
@@ -116,6 +116,39 @@ describe Admin::ApplicationSettingsController do
end
end
end
+
+ describe 'verify panel actions' do
+ shared_examples 'renders correct panels' do
+ it 'renders correct action on error' do
+ expect_next_instance_of(ApplicationSettings::UpdateService) do |service|
+ allow(service).to receive(:execute).and_return(false)
+ end
+
+ patch action, params: { application_setting: { unused_param: true } }
+
+ expect(subject).to render_template(action)
+ end
+
+ it 'redirects to same panel on success' do
+ expect_next_instance_of(ApplicationSettings::UpdateService) do |service|
+ allow(service).to receive(:execute).and_return(true)
+ end
+
+ referer_path = public_send("#{action}_admin_application_settings_path")
+ request.env["HTTP_REFERER"] = referer_path
+
+ patch action, params: { application_setting: { unused_param: true } }
+
+ expect(subject).to redirect_to(referer_path)
+ end
+ end
+
+ (Admin::ApplicationSettingsController::VALID_SETTING_PANELS - %w(show templates geo)).each do |valid_action|
+ it_behaves_like 'renders correct panels' do
+ let(:action) { valid_action }
+ end
+ end
+ end
end
describe 'PUT #reset_registration_token' do
diff --git a/spec/controllers/projects/environments_controller_spec.rb b/spec/controllers/projects/environments_controller_spec.rb
index 9699f2952f2..4c2c6160c62 100644
--- a/spec/controllers/projects/environments_controller_spec.rb
+++ b/spec/controllers/projects/environments_controller_spec.rb
@@ -556,6 +556,19 @@ describe Projects::EnvironmentsController do
it_behaves_like 'has all dashboards'
end
end
+
+ context 'when the dashboard is intended for embedding' do
+ let(:dashboard_params) { { format: :json, embedded: true } }
+
+ it_behaves_like '200 response'
+
+ context 'when a dashboard path is provided' do
+ let(:dashboard_params) { { format: :json, dashboard: '.gitlab/dashboards/test.yml', embedded: true } }
+
+ # The dashboard path should simple be ignored.
+ it_behaves_like '200 response'
+ end
+ end
end
end
diff --git a/spec/fast_spec_helper.rb b/spec/fast_spec_helper.rb
index 0b5ab16ad71..91ef7653822 100644
--- a/spec/fast_spec_helper.rb
+++ b/spec/fast_spec_helper.rb
@@ -3,6 +3,7 @@ require 'bundler/setup'
ENV['GITLAB_ENV'] = 'test'
ENV['IN_MEMORY_APPLICATION_SETTINGS'] = 'true'
+require 'active_support/dependencies'
require_relative '../config/settings'
require_relative 'support/rspec'
require 'active_support/all'
diff --git a/spec/features/admin/admin_settings_spec.rb b/spec/features/admin/admin_settings_spec.rb
index 93ccb03d822..45ef5d07ff0 100644
--- a/spec/features/admin/admin_settings_spec.rb
+++ b/spec/features/admin/admin_settings_spec.rb
@@ -379,6 +379,27 @@ describe 'Admin updates settings' do
expect(page).to have_content "Application settings saved successfully"
end
+ it 'Change Real-time features settings' do
+ page.within('.as-realtime') do
+ fill_in 'Polling interval multiplier', with: 5.0
+ click_button 'Save changes'
+ end
+
+ expect(Gitlab::CurrentSettings.polling_interval_multiplier).to eq 5.0
+ expect(page).to have_content "Application settings saved successfully"
+ end
+
+ it 'shows an error when validation fails' do
+ page.within('.as-realtime') do
+ fill_in 'Polling interval multiplier', with: -1.0
+ click_button 'Save changes'
+ end
+
+ expect(Gitlab::CurrentSettings.polling_interval_multiplier).not_to eq(-1.0)
+ expect(page)
+ .to have_content "The form contains the following error: Polling interval multiplier must be greater than or equal to 0"
+ end
+
context 'When pages_auto_ssl is enabled' do
before do
stub_feature_flags(pages_auto_ssl: true)
diff --git a/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json b/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json
new file mode 100644
index 00000000000..7d2b409a0f6
--- /dev/null
+++ b/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json
@@ -0,0 +1,13 @@
+{
+ "type": "object",
+ "required": ["panel_groups"],
+ "properties": {
+ "panel_groups": {
+ "type": "array",
+ "items": {
+ "$ref": "spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json"
+ }
+ }
+ },
+ "additionalProperties": false
+}
diff --git a/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json b/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json
new file mode 100644
index 00000000000..bf05c054e2f
--- /dev/null
+++ b/spec/fixtures/lib/gitlab/metrics/dashboard/schemas/embedded_panel_groups.json
@@ -0,0 +1,11 @@
+{
+ "type": "object",
+ "required": ["panels"],
+ "properties": {
+ "panels": {
+ "type": "array",
+ "items": { "$ref": "panels.json" }
+ }
+ },
+ "additionalProperties": false
+}
diff --git a/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
new file mode 100644
index 00000000000..3ad6bfa9e5f
--- /dev/null
+++ b/spec/frontend/repository/components/__snapshots__/last_commit_spec.js.snap
@@ -0,0 +1,98 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Repository last commit component renders commit widget 1`] = `
+<div
+ class="info-well d-none d-sm-flex project-last-commit commit p-3"
+>
+ <useravatarlink-stub
+ class="avatar-cell"
+ imgalt=""
+ imgcssclasses=""
+ imgsize="40"
+ imgsrc="https://test.com"
+ linkhref="https://test.com/test"
+ tooltipplacement="top"
+ tooltiptext=""
+ username=""
+ />
+
+ <div
+ class="commit-detail flex-list"
+ >
+ <div
+ class="commit-content qa-commit-content"
+ >
+ <gllink-stub
+ class="commit-row-message item-title"
+ href="https://test.com/commit/123"
+ >
+
+ Commit title
+
+ </gllink-stub>
+
+ <!---->
+
+ <div
+ class="committer"
+ >
+ <gllink-stub
+ class="commit-author-link js-user-link"
+ href="https://test.com/test"
+ >
+
+ Test
+
+ </gllink-stub>
+
+ authored
+
+ <timeagotooltip-stub
+ cssclass=""
+ time="2019-01-01"
+ tooltipplacement="bottom"
+ />
+ </div>
+
+ <!---->
+ </div>
+
+ <div
+ class="commit-actions flex-row"
+ >
+ <gllink-stub
+ class="js-commit-pipeline"
+ data-original-title="Commit: failed"
+ href="https://test.com/pipeline"
+ title=""
+ >
+ <ciicon-stub
+ aria-label="Commit: failed"
+ cssclasses=""
+ size="24"
+ status="[object Object]"
+ />
+ </gllink-stub>
+
+ <div
+ class="commit-sha-group d-flex"
+ >
+ <div
+ class="label label-monospace monospace"
+ >
+
+ 12345678
+
+ </div>
+
+ <clipboardbutton-stub
+ cssclass="btn-default"
+ text="123456789"
+ title="Copy commit SHA to clipboard"
+ tooltipplacement="bottom"
+ />
+ </div>
+ </div>
+ </div>
+</div>
+`;
diff --git a/spec/frontend/repository/components/last_commit_spec.js b/spec/frontend/repository/components/last_commit_spec.js
new file mode 100644
index 00000000000..972690a60f6
--- /dev/null
+++ b/spec/frontend/repository/components/last_commit_spec.js
@@ -0,0 +1,103 @@
+import { shallowMount } from '@vue/test-utils';
+import LastCommit from '~/repository/components/last_commit.vue';
+import UserAvatarLink from '~/vue_shared/components/user_avatar/user_avatar_link.vue';
+
+let vm;
+
+function createCommitData(data = {}) {
+ return {
+ id: '123456789',
+ title: 'Commit title',
+ message: 'Commit message',
+ webUrl: 'https://test.com/commit/123',
+ authoredDate: '2019-01-01',
+ author: {
+ name: 'Test',
+ avatarUrl: 'https://test.com',
+ webUrl: 'https://test.com/test',
+ },
+ pipeline: {
+ detailedStatus: {
+ detailsPath: 'https://test.com/pipeline',
+ icon: 'failed',
+ tooltip: 'failed',
+ text: 'failed',
+ group: {},
+ },
+ },
+ ...data,
+ };
+}
+
+function factory(commit = createCommitData(), loading = false) {
+ vm = shallowMount(LastCommit, {
+ mocks: {
+ $apollo: {
+ queries: {
+ commit: {
+ loading: true,
+ },
+ },
+ },
+ },
+ });
+ vm.setData({ commit });
+ vm.vm.$apollo.queries.commit.loading = loading;
+}
+
+describe('Repository last commit component', () => {
+ afterEach(() => {
+ vm.destroy();
+ });
+
+ it.each`
+ loading | label
+ ${true} | ${'hides'}
+ ${false} | ${'shows'}
+ `('$label when $loading is true', ({ loading }) => {
+ factory(createCommitData(), loading);
+
+ expect(vm.isEmpty()).toBe(loading);
+ });
+
+ it('renders commit widget', () => {
+ factory();
+
+ expect(vm.element).toMatchSnapshot();
+ });
+
+ it('renders short commit ID', () => {
+ factory();
+
+ expect(vm.find('.label-monospace').text()).toEqual('12345678');
+ });
+
+ it('hides pipeline components when pipeline does not exist', () => {
+ factory(createCommitData({ pipeline: null }));
+
+ expect(vm.find('.js-commit-pipeline').exists()).toBe(false);
+ });
+
+ it('hides author component when author does not exist', () => {
+ factory(createCommitData({ author: null }));
+
+ expect(vm.find('.js-user-link').exists()).toBe(false);
+ expect(vm.find(UserAvatarLink).exists()).toBe(false);
+ });
+
+ it('does not render description expander when description is null', () => {
+ factory(createCommitData({ description: null }));
+
+ expect(vm.find('.text-expander').exists()).toBe(false);
+ expect(vm.find('.commit-row-description').exists()).toBe(false);
+ });
+
+ it('expands commit description when clicking expander', () => {
+ factory(createCommitData({ description: 'Test description' }));
+
+ vm.find('.text-expander').vm.$emit('click');
+
+ expect(vm.find('.commit-row-description').isVisible()).toBe(true);
+ expect(vm.find('.text-expander').classes('open')).toBe(true);
+ });
+});
diff --git a/spec/frontend/vue_shared/components/paginated_list_spec.js b/spec/frontend/vue_shared/components/paginated_list_spec.js
new file mode 100644
index 00000000000..31ac362d35f
--- /dev/null
+++ b/spec/frontend/vue_shared/components/paginated_list_spec.js
@@ -0,0 +1,56 @@
+import PaginatedList from '~/vue_shared/components/paginated_list.vue';
+import { PREV, NEXT } from '~/vue_shared/components/pagination/constants';
+import { mount } from '@vue/test-utils';
+
+describe('Pagination links component', () => {
+ let wrapper;
+ let glPaginatedList;
+
+ const template = `
+ <div class="slot" slot-scope="{ listItem }">
+ <span class="item">Item Name: {{listItem.id}}</span>
+ </div>
+ `;
+
+ const props = {
+ prevText: PREV,
+ nextText: NEXT,
+ };
+
+ beforeEach(() => {
+ wrapper = mount(PaginatedList, {
+ scopedSlots: {
+ default: template,
+ },
+ propsData: {
+ list: [{ id: 'foo' }, { id: 'bar' }],
+ props,
+ },
+ });
+
+ [glPaginatedList] = wrapper.vm.$children;
+ });
+
+ afterEach(() => {
+ wrapper.destroy();
+ });
+
+ describe('Paginated List Component', () => {
+ describe('props', () => {
+ // We test attrs and not props because we pass through to child component using v-bind:"$attrs"
+ it('should pass prevText to GitLab UI paginated list', () => {
+ expect(glPaginatedList.$attrs['prev-text']).toBe(props.prevText);
+ });
+ it('should pass nextText to GitLab UI paginated list', () => {
+ expect(glPaginatedList.$attrs['next-text']).toBe(props.nextText);
+ });
+ });
+
+ describe('rendering', () => {
+ it('it renders the gl-paginated-list', () => {
+ expect(wrapper.contains('ul.list-group')).toBe(true);
+ expect(wrapper.findAll('li.list-group-item').length).toBe(2);
+ });
+ });
+ });
+});
diff --git a/spec/javascripts/notes/components/diff_with_note_spec.js b/spec/javascripts/notes/components/diff_with_note_spec.js
index 0752bd05904..f849fe9d8bb 100644
--- a/spec/javascripts/notes/components/diff_with_note_spec.js
+++ b/spec/javascripts/notes/components/diff_with_note_spec.js
@@ -47,6 +47,19 @@ describe('diff_with_note', () => {
vm = mountComponentWithStore(Component, { props, store });
});
+ it('removes trailing "+" char', () => {
+ const richText = vm.$el.querySelectorAll('.line_holder')[4].querySelector('.line_content')
+ .textContent[0];
+
+ expect(richText).not.toEqual('+');
+ });
+
+ it('removes trailing "-" char', () => {
+ const richText = vm.$el.querySelector('#LC13').parentNode.textContent[0];
+
+ expect(richText).not.toEqual('-');
+ });
+
it('shows text diff', () => {
expect(selectors.container).toHaveClass('text-file');
expect(selectors.diffTable).toExist();
diff --git a/spec/lib/banzai/filter/relative_link_filter_spec.rb b/spec/lib/banzai/filter/relative_link_filter_spec.rb
index dad0a5535c0..8ff971114d6 100644
--- a/spec/lib/banzai/filter/relative_link_filter_spec.rb
+++ b/spec/lib/banzai/filter/relative_link_filter_spec.rb
@@ -101,6 +101,13 @@ describe Banzai::Filter::RelativeLinkFilter do
.to eq "/#{project_path}/blob/#{ref}/doc/api/README.md"
end
+ it 'does not modify relative URLs in system notes' do
+ path = "#{project_path}/merge_requests/1/diffs"
+ doc = filter(link(path), system_note: true)
+
+ expect(doc.at_css('a')['href']).to eq path
+ end
+
it 'ignores absolute URLs with two leading slashes' do
doc = filter(link('//doc/api/README.md'))
expect(doc.at_css('a')['href']).to eq '//doc/api/README.md'
diff --git a/spec/lib/gitaly/server_spec.rb b/spec/lib/gitaly/server_spec.rb
index 292ab870dad..34bd43cb3ab 100644
--- a/spec/lib/gitaly/server_spec.rb
+++ b/spec/lib/gitaly/server_spec.rb
@@ -47,6 +47,12 @@ describe Gitaly::Server do
end
end
+ describe "#filesystem_type" do
+ subject { server.filesystem_type }
+
+ it { is_expected.to be_present }
+ end
+
describe 'request memoization' do
context 'when requesting multiple properties', :request_store do
it 'uses memoization for the info request' do
diff --git a/spec/lib/gitlab/json_cache_spec.rb b/spec/lib/gitlab/json_cache_spec.rb
index b82c09af306..c6a6042c65c 100644
--- a/spec/lib/gitlab/json_cache_spec.rb
+++ b/spec/lib/gitlab/json_cache_spec.rb
@@ -106,6 +106,16 @@ describe Gitlab::JsonCache do
expect(cache.read(key)).to be_nil
end
+ context 'when the cached value is a boolean' do
+ it 'parses the cached value' do
+ allow(backend).to receive(:read)
+ .with(expanded_key)
+ .and_return(true)
+
+ expect(cache.read(key, BroadcastMessage)).to eq(true)
+ end
+ end
+
context 'when the cached value is a hash' do
it 'parses the cached value' do
allow(backend).to receive(:read)
diff --git a/spec/lib/gitlab/metrics/dashboard/dynamic_dashboard_service_spec.rb b/spec/lib/gitlab/metrics/dashboard/dynamic_dashboard_service_spec.rb
new file mode 100644
index 00000000000..eecd257b38d
--- /dev/null
+++ b/spec/lib/gitlab/metrics/dashboard/dynamic_dashboard_service_spec.rb
@@ -0,0 +1,30 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe Gitlab::Metrics::Dashboard::DynamicDashboardService, :use_clean_rails_memory_store_caching do
+ include MetricsDashboardHelpers
+
+ set(:project) { build(:project) }
+ set(:environment) { create(:environment, project: project) }
+
+ describe '#get_dashboard' do
+ let(:service_params) { [project, nil, { environment: environment, dashboard_path: nil }] }
+ let(:service_call) { described_class.new(*service_params).get_dashboard }
+
+ it_behaves_like 'valid embedded dashboard service response'
+
+ it 'caches the unprocessed dashboard for subsequent calls' do
+ expect(YAML).to receive(:safe_load).once.and_call_original
+
+ described_class.new(*service_params).get_dashboard
+ described_class.new(*service_params).get_dashboard
+ end
+
+ context 'when called with a non-system dashboard' do
+ let(:dashboard_path) { 'garbage/dashboard/path' }
+
+ it_behaves_like 'valid embedded dashboard service response'
+ end
+ end
+end
diff --git a/spec/lib/gitlab/metrics/dashboard/finder_spec.rb b/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
index 29fe1ae8d9c..b9a5ee9c2b3 100644
--- a/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
+++ b/spec/lib/gitlab/metrics/dashboard/finder_spec.rb
@@ -11,7 +11,7 @@ describe Gitlab::Metrics::Dashboard::Finder, :use_clean_rails_memory_store_cachi
describe '.find' do
let(:dashboard_path) { '.gitlab/dashboards/test.yml' }
- let(:service_call) { described_class.find(project, nil, environment, dashboard_path) }
+ let(:service_call) { described_class.find(project, nil, environment, dashboard_path: dashboard_path) }
it_behaves_like 'misconfigured dashboard service response', :not_found
@@ -45,6 +45,12 @@ describe Gitlab::Metrics::Dashboard::Finder, :use_clean_rails_memory_store_cachi
it_behaves_like 'valid dashboard service response'
end
+
+ context 'when the dashboard is expected to be embedded' do
+ let(:service_call) { described_class.find(project, nil, environment, dashboard_path: nil, embedded: true) }
+
+ it_behaves_like 'valid embedded dashboard service response'
+ end
end
describe '.find_all_paths' do
diff --git a/spec/lib/gitlab/usage_data_spec.rb b/spec/lib/gitlab/usage_data_spec.rb
index e44463dd767..67d49a30825 100644
--- a/spec/lib/gitlab/usage_data_spec.rb
+++ b/spec/lib/gitlab/usage_data_spec.rb
@@ -54,6 +54,7 @@ describe Gitlab::UsageData do
gitlab_shared_runners_enabled
gitlab_pages
git
+ gitaly
database
avg_cycle_analytics
web_ide_commits
@@ -205,6 +206,10 @@ describe Gitlab::UsageData do
expect(subject[:git][:version]).to eq(Gitlab::Git.version)
expect(subject[:database][:adapter]).to eq(Gitlab::Database.adapter_name)
expect(subject[:database][:version]).to eq(Gitlab::Database.version)
+ expect(subject[:gitaly][:version]).to be_present
+ expect(subject[:gitaly][:servers]).to be >= 1
+ expect(subject[:gitaly][:filesystems]).to be_an(Array)
+ expect(subject[:gitaly][:filesystems].first).to be_a(String)
end
end
diff --git a/spec/lib/gitlab_spec.rb b/spec/lib/gitlab_spec.rb
index e075904b0cc..82b0e819063 100644
--- a/spec/lib/gitlab_spec.rb
+++ b/spec/lib/gitlab_spec.rb
@@ -97,14 +97,42 @@ describe Gitlab do
end
describe '.ee?' do
+ before do
+ described_class.instance_variable_set(:@is_ee, nil)
+ end
+
+ after do
+ described_class.instance_variable_set(:@is_ee, nil)
+ end
+
it 'returns true when using Enterprise Edition' do
- stub_const('License', Class.new)
+ root = Pathname.new('dummy')
+ license_path = double(:path, exist?: true)
+
+ allow(described_class)
+ .to receive(:root)
+ .and_return(root)
+
+ allow(root)
+ .to receive(:join)
+ .with('ee/app/models/license.rb')
+ .and_return(license_path)
expect(described_class.ee?).to eq(true)
end
it 'returns false when using Community Edition' do
- hide_const('License')
+ root = double(:path)
+ license_path = double(:path, exists?: false)
+
+ allow(described_class)
+ .to receive(:root)
+ .and_return(Pathname.new('dummy'))
+
+ allow(root)
+ .to receive(:join)
+ .with('ee/app/models/license.rb')
+ .and_return(license_path)
expect(described_class.ee?).to eq(false)
end
diff --git a/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb b/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb
new file mode 100644
index 00000000000..93426f1f273
--- /dev/null
+++ b/spec/migrations/migrate_legacy_managed_clusters_to_unmanaged_spec.rb
@@ -0,0 +1,55 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require Rails.root.join('db', 'post_migrate', '20190606163724_migrate_legacy_managed_clusters_to_unmanaged.rb')
+
+describe MigrateLegacyManagedClustersToUnmanaged, :migration do
+ let(:cluster_type) { 'project_type' }
+ let(:created_at) { 1.hour.ago }
+
+ let!(:cluster) do
+ table(:clusters).create!(
+ name: 'cluster',
+ cluster_type: described_class::Cluster.cluster_types[cluster_type],
+ managed: true,
+ created_at: created_at
+ )
+ end
+
+ it 'marks the cluster as unmanaged' do
+ migrate!
+ expect(cluster.reload).not_to be_managed
+ end
+
+ context 'cluster is not project type' do
+ let(:cluster_type) { 'group_type' }
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+
+ context 'cluster has a kubernetes namespace associated' do
+ before do
+ table(:clusters_kubernetes_namespaces).create!(
+ cluster_id: cluster.id,
+ namespace: 'namespace'
+ )
+ end
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+
+ context 'cluster was recently created' do
+ let(:created_at) { 2.minutes.ago }
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+end
diff --git a/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb b/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb
new file mode 100644
index 00000000000..b73bd16cb60
--- /dev/null
+++ b/spec/migrations/migrate_managed_clusters_with_no_token_to_unmanaged_spec.rb
@@ -0,0 +1,59 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+require Rails.root.join('db', 'post_migrate', '20190613231640_migrate_managed_clusters_with_no_token_to_unmanaged.rb')
+
+describe MigrateManagedClustersWithNoTokenToUnmanaged, :migration do
+ let(:cluster_type) { 'project_type' }
+ let(:created_at) { Date.new(2018, 11, 1).midnight }
+
+ let!(:cluster) do
+ table(:clusters).create!(
+ name: 'cluster',
+ cluster_type: described_class::Cluster.cluster_types[cluster_type],
+ managed: true,
+ created_at: created_at
+ )
+ end
+
+ let!(:kubernetes_namespace) do
+ table(:clusters_kubernetes_namespaces).create!(
+ cluster_id: cluster.id,
+ namespace: 'namespace'
+ )
+ end
+
+ it 'marks the cluster as unmanaged' do
+ migrate!
+ expect(cluster.reload).not_to be_managed
+ end
+
+ context 'cluster is not project type' do
+ let(:cluster_type) { 'group_type' }
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+
+ context 'kubernetes namespace has a service account token' do
+ before do
+ kubernetes_namespace.update!(encrypted_service_account_token: "TOKEN")
+ end
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+
+ context 'cluster was created after the cutoff' do
+ let(:created_at) { Date.new(2019, 1, 1).midnight }
+
+ it 'does not update the cluster' do
+ migrate!
+ expect(cluster.reload).to be_managed
+ end
+ end
+end
diff --git a/spec/models/clusters/platforms/kubernetes_spec.rb b/spec/models/clusters/platforms/kubernetes_spec.rb
index 1fb3a8de808..0fa5d031736 100644
--- a/spec/models/clusters/platforms/kubernetes_spec.rb
+++ b/spec/models/clusters/platforms/kubernetes_spec.rb
@@ -281,14 +281,14 @@ describe Clusters::Platforms::Kubernetes, :use_clean_rails_memory_store_caching
it_behaves_like 'setting variables'
- it 'sets KUBE_TOKEN' do
- expect(subject).to include(
+ it 'does not set KUBE_TOKEN' do
+ expect(subject).not_to include(
{ key: 'KUBE_TOKEN', value: kubernetes.token, public: false, masked: true }
)
end
end
- context 'kubernetes namespace is created with no service account token' do
+ context 'kubernetes namespace is created with service account token' do
let!(:kubernetes_namespace) { create(:cluster_kubernetes_namespace, :with_token, cluster: cluster) }
it_behaves_like 'setting variables'
@@ -340,32 +340,6 @@ describe Clusters::Platforms::Kubernetes, :use_clean_rails_memory_store_caching
end
end
- context 'namespace is provided' do
- let(:namespace) { 'my-project' }
-
- before do
- kubernetes.namespace = namespace
- end
-
- it_behaves_like 'setting variables'
-
- it 'sets KUBE_TOKEN' do
- expect(subject).to include(
- { key: 'KUBE_TOKEN', value: kubernetes.token, public: false, masked: true }
- )
- end
- end
-
- context 'no namespace provided' do
- it_behaves_like 'setting variables'
-
- it 'sets KUBE_TOKEN' do
- expect(subject).to include(
- { key: 'KUBE_TOKEN', value: kubernetes.token, public: false, masked: true }
- )
- end
- end
-
context 'group level cluster' do
let!(:cluster) { create(:cluster, :group, platform_kubernetes: kubernetes) }
diff --git a/spec/models/concerns/deployment_platform_spec.rb b/spec/models/concerns/deployment_platform_spec.rb
index 0e34d8fccf3..96465a51db2 100644
--- a/spec/models/concerns/deployment_platform_spec.rb
+++ b/spec/models/concerns/deployment_platform_spec.rb
@@ -8,40 +8,7 @@ describe DeploymentPlatform do
describe '#deployment_platform' do
subject { project.deployment_platform }
- context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service and a Kubernetes template configured' do
- let!(:kubernetes_service) { create(:kubernetes_service, template: true) }
-
- it 'returns a platform kubernetes' do
- expect(subject).to be_a_kind_of(Clusters::Platforms::Kubernetes)
- end
-
- it 'creates a cluster and a platform kubernetes' do
- expect { subject }
- .to change { Clusters::Cluster.count }.by(1)
- .and change { Clusters::Platforms::Kubernetes.count }.by(1)
- end
-
- it 'includes appropriate attributes for Cluster' do
- cluster = subject.cluster
- expect(cluster.name).to eq('kubernetes-template')
- expect(cluster.project).to eq(project)
- expect(cluster.provider_type).to eq('user')
- expect(cluster.platform_type).to eq('kubernetes')
- end
-
- it 'creates a platform kubernetes' do
- expect { subject }.to change { Clusters::Platforms::Kubernetes.count }.by(1)
- end
-
- it 'copies attributes from Clusters::Platform::Kubernetes template into the new Cluster::Platforms::Kubernetes' do
- expect(subject.api_url).to eq(kubernetes_service.api_url)
- expect(subject.ca_pem).to eq(kubernetes_service.ca_pem)
- expect(subject.token).to eq(kubernetes_service.token)
- expect(subject.namespace).to eq(kubernetes_service.namespace)
- end
- end
-
- context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service and no Kubernetes template configured' do
+ context 'with no Kubernetes configuration on CI/CD, no Kubernetes Service' do
it { is_expected.to be_nil }
end
@@ -126,23 +93,5 @@ describe DeploymentPlatform do
end
end
end
-
- context 'when user configured kubernetes integration from project services' do
- let!(:kubernetes_service) { create(:kubernetes_service, project: project) }
-
- it 'returns the Kubernetes service' do
- expect(subject).to eq(kubernetes_service)
- end
- end
-
- context 'when the cluster creation fails' do
- let!(:kubernetes_service) { create(:kubernetes_service, template: true) }
-
- before do
- allow_any_instance_of(Clusters::Cluster).to receive(:persisted?).and_return(false)
- end
-
- it { is_expected.to be_nil }
- end
end
end
diff --git a/spec/models/project_services/kubernetes_service_spec.rb b/spec/models/project_services/kubernetes_service_spec.rb
index 34ee1eafd5c..5d7d6c34e67 100644
--- a/spec/models/project_services/kubernetes_service_spec.rb
+++ b/spec/models/project_services/kubernetes_service_spec.rb
@@ -7,7 +7,7 @@ describe KubernetesService, :use_clean_rails_memory_store_caching do
include ReactiveCachingHelpers
let(:project) { create(:kubernetes_project) }
- let(:service) { project.deployment_platform }
+ let(:service) { create(:kubernetes_service, project: project) }
describe 'Associations' do
it { is_expected.to belong_to :project }
@@ -78,7 +78,7 @@ describe KubernetesService, :use_clean_rails_memory_store_caching do
it 'includes an error with a deprecation message' do
kubernetes_service.valid?
- expect(kubernetes_service.errors[:base].first).to match(/Kubernetes service integration has been deprecated/)
+ expect(kubernetes_service.errors[:base].first).to match(/Kubernetes service integration has been disabled/)
end
end
@@ -383,13 +383,13 @@ describe KubernetesService, :use_clean_rails_memory_store_caching do
let(:kubernetes_service) { create(:kubernetes_service) }
it 'indicates the service is deprecated' do
- expect(kubernetes_service.deprecation_message).to match(/Kubernetes service integration has been deprecated/)
+ expect(kubernetes_service.deprecation_message).to match(/Kubernetes service integration has been disabled/)
end
context 'if the service is not active' do
it 'returns a message' do
kubernetes_service.update_attribute(:active, false)
- expect(kubernetes_service.deprecation_message).to match(/Fields on this page are now uneditable/)
+ expect(kubernetes_service.deprecation_message).to match(/Fields on this page are not used by GitLab/)
end
end
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 20b98b5eb85..cc0f5002a1e 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -2656,8 +2656,8 @@ describe Project do
let!(:cluster) { create(:cluster, :project, :provided_by_gcp) }
let(:project) { cluster.project }
- it 'returns variables from this service' do
- expect(project.deployment_variables).to include(
+ it 'does not return variables from this service' do
+ expect(project.deployment_variables).not_to include(
{ key: 'KUBE_TOKEN', value: project.deployment_platform.token, public: false, masked: true }
)
end
diff --git a/spec/serializers/merge_request_widget_entity_spec.rb b/spec/serializers/merge_request_widget_entity_spec.rb
index a27c22191f4..ffbfac9b326 100644
--- a/spec/serializers/merge_request_widget_entity_spec.rb
+++ b/spec/serializers/merge_request_widget_entity_spec.rb
@@ -32,6 +32,19 @@ describe MergeRequestWidgetEntity do
end
end
+ describe 'issues links' do
+ it 'includes issues links when requested' do
+ data = described_class.new(resource, request: request, issues_links: true).as_json
+
+ expect(data).to include(:issues_links)
+ expect(data[:issues_links]).to include(:assign_to_closing, :closing, :mentioned_but_not_closing)
+ end
+
+ it 'omits issue links by default' do
+ expect(subject).not_to include(:issues_links)
+ end
+ end
+
describe 'pipeline' do
let(:pipeline) { create(:ci_empty_pipeline, project: project, ref: resource.source_branch, sha: resource.source_branch_sha, head_pipeline_of: resource) }
diff --git a/spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb b/spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb
index a5806559b14..93c0dc37ade 100644
--- a/spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb
+++ b/spec/services/clusters/gcp/kubernetes/fetch_kubernetes_token_service_spec.rb
@@ -17,7 +17,7 @@ describe Clusters::Gcp::Kubernetes::FetchKubernetesTokenService do
)
end
- subject { described_class.new(kubeclient, service_account_token_name, namespace).execute }
+ subject { described_class.new(kubeclient, service_account_token_name, namespace, token_retry_delay: 0).execute }
before do
stub_kubeclient_discover(api_url)
@@ -26,8 +26,7 @@ describe Clusters::Gcp::Kubernetes::FetchKubernetesTokenService do
context 'when params correct' do
let(:decoded_token) { 'xxx.token.xxx' }
let(:token) { Base64.encode64(decoded_token) }
-
- context 'when gitlab-token exists' do
+ context 'when the secret exists' do
before do
stub_kubeclient_get_secret(
api_url,
@@ -50,13 +49,62 @@ describe Clusters::Gcp::Kubernetes::FetchKubernetesTokenService do
it { expect { subject }.to raise_error(Kubeclient::HttpError) }
end
- context 'when gitlab-token does not exist' do
+ context 'when the secret does not exist on the first try' do
+ before do
+ stub_kubeclient_get_secret_not_found_then_found(
+ api_url,
+ {
+ metadata_name: service_account_token_name,
+ namespace: namespace,
+ token: token
+ }
+ )
+ end
+
+ it 'retries and finds the token' do
+ expect(subject).to eq(decoded_token)
+ end
+ end
+
+ context 'when the secret permanently does not exist' do
before do
stub_kubeclient_get_secret_error(api_url, service_account_token_name, namespace: namespace, status: 404)
end
it { is_expected.to be_nil }
end
+
+ context 'when the secret is missing a token on the first try' do
+ before do
+ stub_kubeclient_get_secret_missing_token_then_with_token(
+ api_url,
+ {
+ metadata_name: service_account_token_name,
+ namespace: namespace,
+ token: token
+ }
+ )
+ end
+
+ it 'retries and finds the token' do
+ expect(subject).to eq(decoded_token)
+ end
+ end
+
+ context 'when the secret is permanently missing a token' do
+ before do
+ stub_kubeclient_get_secret(
+ api_url,
+ {
+ metadata_name: service_account_token_name,
+ namespace: namespace,
+ token: nil
+ }
+ )
+ end
+
+ it { is_expected.to be_nil }
+ end
end
end
end
diff --git a/spec/support/helpers/kubernetes_helpers.rb b/spec/support/helpers/kubernetes_helpers.rb
index 011c4df0fe5..3c7bcba2b42 100644
--- a/spec/support/helpers/kubernetes_helpers.rb
+++ b/spec/support/helpers/kubernetes_helpers.rb
@@ -104,6 +104,26 @@ module KubernetesHelpers
.to_return(status: [status, "Internal Server Error"])
end
+ def stub_kubeclient_get_secret_not_found_then_found(api_url, **options)
+ options[:metadata_name] ||= "default-token-1"
+ options[:namespace] ||= "default"
+
+ WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{options[:namespace]}/secrets/#{options[:metadata_name]}")
+ .to_return(status: [404, "Not Found"])
+ .then
+ .to_return(kube_response(kube_v1_secret_body(options)))
+ end
+
+ def stub_kubeclient_get_secret_missing_token_then_with_token(api_url, **options)
+ options[:metadata_name] ||= "default-token-1"
+ options[:namespace] ||= "default"
+
+ WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{options[:namespace]}/secrets/#{options[:metadata_name]}")
+ .to_return(kube_response(kube_v1_secret_body(options.merge(token: nil))))
+ .then
+ .to_return(kube_response(kube_v1_secret_body(options)))
+ end
+
def stub_kubeclient_get_service_account(api_url, name, namespace: 'default')
WebMock.stub_request(:get, api_url + "/api/v1/namespaces/#{namespace}/serviceaccounts/#{name}")
.to_return(kube_response({}))
@@ -184,11 +204,11 @@ module KubernetesHelpers
"kind" => "SecretList",
"apiVersion": "v1",
"metadata": {
- "name": options[:metadata_name] || "default-token-1",
+ "name": options.fetch(:metadata_name, "default-token-1"),
"namespace": "kube-system"
},
"data": {
- "token": options[:token] || Base64.encode64('token-sample-123')
+ "token": options.fetch(:token, Base64.encode64('token-sample-123'))
}
}
end
diff --git a/spec/support/helpers/metrics_dashboard_helpers.rb b/spec/support/helpers/metrics_dashboard_helpers.rb
index 1f36b0e217c..6de00eea474 100644
--- a/spec/support/helpers/metrics_dashboard_helpers.rb
+++ b/spec/support/helpers/metrics_dashboard_helpers.rb
@@ -28,9 +28,7 @@ module MetricsDashboardHelpers
end
end
- shared_examples_for 'valid dashboard service response' do
- let(:dashboard_schema) { JSON.parse(fixture_file('lib/gitlab/metrics/dashboard/schemas/dashboard.json')) }
-
+ shared_examples_for 'valid dashboard service response for schema' do
it 'returns a json representation of the dashboard' do
result = service_call
@@ -40,4 +38,16 @@ module MetricsDashboardHelpers
expect(JSON::Validator.fully_validate(dashboard_schema, result[:dashboard])).to be_empty
end
end
+
+ shared_examples_for 'valid dashboard service response' do
+ let(:dashboard_schema) { JSON.parse(fixture_file('lib/gitlab/metrics/dashboard/schemas/dashboard.json')) }
+
+ it_behaves_like 'valid dashboard service response for schema'
+ end
+
+ shared_examples_for 'valid embedded dashboard service response' do
+ let(:dashboard_schema) { JSON.parse(fixture_file('lib/gitlab/metrics/dashboard/schemas/embedded_dashboard.json')) }
+
+ it_behaves_like 'valid dashboard service response for schema'
+ end
end