Merge branch 'ce-docker_image_replication-event-generation' into 'master'
Backport of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14597 See merge request gitlab-org/gitlab-ce!30520
This commit is contained in:
commit
feb07ce08e
7 changed files with 83 additions and 0 deletions
|
@ -86,4 +86,9 @@ class ContainerRepository < ApplicationRecord
|
||||||
def self.build_root_repository(project)
|
def self.build_root_repository(project)
|
||||||
self.new(project: project, name: '')
|
self.new(project: project, name: '')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def self.find_by_path!(path)
|
||||||
|
self.find_by!(project: path.repository_project,
|
||||||
|
name: path.repository_name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -400,6 +400,15 @@ production: &base
|
||||||
# path: shared/registry
|
# path: shared/registry
|
||||||
# issuer: gitlab-issuer
|
# issuer: gitlab-issuer
|
||||||
|
|
||||||
|
# Add notification settings if you plan to use Geo Replication for the registry
|
||||||
|
# notifications:
|
||||||
|
# - name: geo_event
|
||||||
|
# url: https://example.com/api/v4/container_registry_event/events
|
||||||
|
# timeout: 2s
|
||||||
|
# threshold: 5
|
||||||
|
# backoff: 1s
|
||||||
|
# headers:
|
||||||
|
# Authorization: secret_phrase
|
||||||
|
|
||||||
## Error Reporting and Logging with Sentry
|
## Error Reporting and Logging with Sentry
|
||||||
sentry:
|
sentry:
|
||||||
|
|
|
@ -259,6 +259,7 @@ Settings.registry['key'] ||= nil
|
||||||
Settings.registry['issuer'] ||= nil
|
Settings.registry['issuer'] ||= nil
|
||||||
Settings.registry['host_port'] ||= [Settings.registry['host'], Settings.registry['port']].compact.join(':')
|
Settings.registry['host_port'] ||= [Settings.registry['host'], Settings.registry['port']].compact.join(':')
|
||||||
Settings.registry['path'] = Settings.absolute(Settings.registry['path'] || File.join(Settings.shared['path'], 'registry'))
|
Settings.registry['path'] = Settings.absolute(Settings.registry['path'] || File.join(Settings.shared['path'], 'registry'))
|
||||||
|
Settings.registry['notifications'] ||= []
|
||||||
|
|
||||||
#
|
#
|
||||||
# Error Reporting and Logging with Sentry
|
# Error Reporting and Logging with Sentry
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddGeoContainerRepositoryUpdatedEventsTable < ActiveRecord::Migration[5.1]
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
def change
|
||||||
|
create_table :geo_container_repository_updated_events, force: :cascade do |t|
|
||||||
|
t.integer :container_repository_id, null: false
|
||||||
|
|
||||||
|
t.index :container_repository_id, name: :idx_geo_con_rep_updated_events_on_container_repository_id, using: :btree
|
||||||
|
end
|
||||||
|
|
||||||
|
add_column :geo_event_log, :container_repository_updated_event_id, :bigint
|
||||||
|
end
|
||||||
|
end
|
17
db/migrate/20190611100202_add_index_to_geo_event_log.rb
Normal file
17
db/migrate/20190611100202_add_index_to_geo_event_log.rb
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddIndexToGeoEventLog < ActiveRecord::Migration[5.1]
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def up
|
||||||
|
add_concurrent_index :geo_event_log, :container_repository_updated_event_id
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
remove_concurrent_index(:geo_event_log, :container_repository_updated_event_id)
|
||||||
|
end
|
||||||
|
end
|
|
@ -0,0 +1,25 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class AddForeignKeysForContainerRepository < ActiveRecord::Migration[5.1]
|
||||||
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
|
DOWNTIME = false
|
||||||
|
|
||||||
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
def up
|
||||||
|
add_concurrent_foreign_key(:geo_container_repository_updated_events, :container_repositories, column: :container_repository_id, on_delete: :cascade)
|
||||||
|
|
||||||
|
add_concurrent_foreign_key(:geo_event_log, :geo_container_repository_updated_events, column: :container_repository_updated_event_id, on_delete: :cascade)
|
||||||
|
end
|
||||||
|
|
||||||
|
def down
|
||||||
|
if foreign_key_exists?(:geo_container_repository_updated_events, :container_repositories)
|
||||||
|
remove_foreign_key(:geo_container_repository_updated_events, :container_repositories)
|
||||||
|
end
|
||||||
|
|
||||||
|
if foreign_key_exists?(:geo_event_log, :geo_container_repository_updated_events)
|
||||||
|
remove_foreign_key(:geo_event_log, :geo_container_repository_updated_events)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1277,6 +1277,11 @@ ActiveRecord::Schema.define(version: 2019_07_15_142138) do
|
||||||
t.string "key", null: false
|
t.string "key", null: false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "geo_container_repository_updated_events", force: :cascade do |t|
|
||||||
|
t.integer "container_repository_id", null: false
|
||||||
|
t.index ["container_repository_id"], name: "idx_geo_con_rep_updated_events_on_container_repository_id"
|
||||||
|
end
|
||||||
|
|
||||||
create_table "geo_event_log", force: :cascade do |t|
|
create_table "geo_event_log", force: :cascade do |t|
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.bigint "repository_updated_event_id"
|
t.bigint "repository_updated_event_id"
|
||||||
|
@ -1291,7 +1296,9 @@ ActiveRecord::Schema.define(version: 2019_07_15_142138) do
|
||||||
t.bigint "job_artifact_deleted_event_id"
|
t.bigint "job_artifact_deleted_event_id"
|
||||||
t.bigint "reset_checksum_event_id"
|
t.bigint "reset_checksum_event_id"
|
||||||
t.bigint "cache_invalidation_event_id"
|
t.bigint "cache_invalidation_event_id"
|
||||||
|
t.bigint "container_repository_updated_event_id"
|
||||||
t.index ["cache_invalidation_event_id"], name: "index_geo_event_log_on_cache_invalidation_event_id", where: "(cache_invalidation_event_id IS NOT NULL)"
|
t.index ["cache_invalidation_event_id"], name: "index_geo_event_log_on_cache_invalidation_event_id", where: "(cache_invalidation_event_id IS NOT NULL)"
|
||||||
|
t.index ["container_repository_updated_event_id"], name: "index_geo_event_log_on_container_repository_updated_event_id"
|
||||||
t.index ["hashed_storage_attachments_event_id"], name: "index_geo_event_log_on_hashed_storage_attachments_event_id", where: "(hashed_storage_attachments_event_id IS NOT NULL)"
|
t.index ["hashed_storage_attachments_event_id"], name: "index_geo_event_log_on_hashed_storage_attachments_event_id", where: "(hashed_storage_attachments_event_id IS NOT NULL)"
|
||||||
t.index ["hashed_storage_migrated_event_id"], name: "index_geo_event_log_on_hashed_storage_migrated_event_id", where: "(hashed_storage_migrated_event_id IS NOT NULL)"
|
t.index ["hashed_storage_migrated_event_id"], name: "index_geo_event_log_on_hashed_storage_migrated_event_id", where: "(hashed_storage_migrated_event_id IS NOT NULL)"
|
||||||
t.index ["job_artifact_deleted_event_id"], name: "index_geo_event_log_on_job_artifact_deleted_event_id", where: "(job_artifact_deleted_event_id IS NOT NULL)"
|
t.index ["job_artifact_deleted_event_id"], name: "index_geo_event_log_on_job_artifact_deleted_event_id", where: "(job_artifact_deleted_event_id IS NOT NULL)"
|
||||||
|
@ -3702,7 +3709,9 @@ ActiveRecord::Schema.define(version: 2019_07_15_142138) do
|
||||||
add_foreign_key "fork_network_members", "projects", on_delete: :cascade
|
add_foreign_key "fork_network_members", "projects", on_delete: :cascade
|
||||||
add_foreign_key "fork_networks", "projects", column: "root_project_id", name: "fk_e7b436b2b5", on_delete: :nullify
|
add_foreign_key "fork_networks", "projects", column: "root_project_id", name: "fk_e7b436b2b5", on_delete: :nullify
|
||||||
add_foreign_key "forked_project_links", "projects", column: "forked_to_project_id", name: "fk_434510edb0", on_delete: :cascade
|
add_foreign_key "forked_project_links", "projects", column: "forked_to_project_id", name: "fk_434510edb0", on_delete: :cascade
|
||||||
|
add_foreign_key "geo_container_repository_updated_events", "container_repositories", name: "fk_212c89c706", on_delete: :cascade
|
||||||
add_foreign_key "geo_event_log", "geo_cache_invalidation_events", column: "cache_invalidation_event_id", name: "fk_42c3b54bed", on_delete: :cascade
|
add_foreign_key "geo_event_log", "geo_cache_invalidation_events", column: "cache_invalidation_event_id", name: "fk_42c3b54bed", on_delete: :cascade
|
||||||
|
add_foreign_key "geo_event_log", "geo_container_repository_updated_events", column: "container_repository_updated_event_id", name: "fk_6ada82d42a", on_delete: :cascade
|
||||||
add_foreign_key "geo_event_log", "geo_hashed_storage_migrated_events", column: "hashed_storage_migrated_event_id", name: "fk_27548c6db3", on_delete: :cascade
|
add_foreign_key "geo_event_log", "geo_hashed_storage_migrated_events", column: "hashed_storage_migrated_event_id", name: "fk_27548c6db3", on_delete: :cascade
|
||||||
add_foreign_key "geo_event_log", "geo_job_artifact_deleted_events", column: "job_artifact_deleted_event_id", name: "fk_176d3fbb5d", on_delete: :cascade
|
add_foreign_key "geo_event_log", "geo_job_artifact_deleted_events", column: "job_artifact_deleted_event_id", name: "fk_176d3fbb5d", on_delete: :cascade
|
||||||
add_foreign_key "geo_event_log", "geo_lfs_object_deleted_events", column: "lfs_object_deleted_event_id", name: "fk_d5af95fcd9", on_delete: :cascade
|
add_foreign_key "geo_event_log", "geo_lfs_object_deleted_events", column: "lfs_object_deleted_event_id", name: "fk_d5af95fcd9", on_delete: :cascade
|
||||||
|
|
Loading…
Reference in a new issue