active_postgres 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +23 -0
- data/README.md +158 -0
- data/exe/activepostgres +5 -0
- data/lib/active_postgres/cli.rb +157 -0
- data/lib/active_postgres/cluster_deployment_flow.rb +85 -0
- data/lib/active_postgres/component_resolver.rb +24 -0
- data/lib/active_postgres/components/base.rb +38 -0
- data/lib/active_postgres/components/core.rb +158 -0
- data/lib/active_postgres/components/extensions.rb +99 -0
- data/lib/active_postgres/components/monitoring.rb +55 -0
- data/lib/active_postgres/components/pgbackrest.rb +94 -0
- data/lib/active_postgres/components/pgbouncer.rb +137 -0
- data/lib/active_postgres/components/repmgr.rb +651 -0
- data/lib/active_postgres/components/ssl.rb +86 -0
- data/lib/active_postgres/configuration.rb +190 -0
- data/lib/active_postgres/connection_pooler.rb +429 -0
- data/lib/active_postgres/credentials.rb +17 -0
- data/lib/active_postgres/deployment_flow.rb +154 -0
- data/lib/active_postgres/error_handler.rb +185 -0
- data/lib/active_postgres/failover.rb +83 -0
- data/lib/active_postgres/generators/active_postgres/install_generator.rb +186 -0
- data/lib/active_postgres/health_checker.rb +244 -0
- data/lib/active_postgres/installer.rb +114 -0
- data/lib/active_postgres/log_sanitizer.rb +67 -0
- data/lib/active_postgres/logger.rb +125 -0
- data/lib/active_postgres/performance_tuner.rb +246 -0
- data/lib/active_postgres/rails/database_config.rb +174 -0
- data/lib/active_postgres/rails/migration_guard.rb +25 -0
- data/lib/active_postgres/railtie.rb +28 -0
- data/lib/active_postgres/retry_helper.rb +80 -0
- data/lib/active_postgres/rollback_manager.rb +140 -0
- data/lib/active_postgres/secrets.rb +86 -0
- data/lib/active_postgres/ssh_executor.rb +288 -0
- data/lib/active_postgres/standby_deployment_flow.rb +122 -0
- data/lib/active_postgres/validator.rb +143 -0
- data/lib/active_postgres/version.rb +3 -0
- data/lib/active_postgres.rb +67 -0
- data/lib/tasks/postgres.rake +855 -0
- data/lib/tasks/rolling_update.rake +258 -0
- data/lib/tasks/rotate_credentials.rake +193 -0
- data/templates/pg_hba.conf.erb +47 -0
- data/templates/pgbackrest.conf.erb +43 -0
- data/templates/pgbouncer.ini.erb +55 -0
- data/templates/postgresql.conf.erb +157 -0
- data/templates/repmgr.conf.erb +40 -0
- metadata +224 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
require_relative 'active_postgres/version'
|
|
2
|
+
require_relative 'active_postgres/configuration'
|
|
3
|
+
require_relative 'active_postgres/credentials'
|
|
4
|
+
require_relative 'active_postgres/secrets'
|
|
5
|
+
|
|
6
|
+
# Utilities
|
|
7
|
+
require_relative 'active_postgres/log_sanitizer'
|
|
8
|
+
require_relative 'active_postgres/logger'
|
|
9
|
+
require_relative 'active_postgres/retry_helper'
|
|
10
|
+
require_relative 'active_postgres/error_handler'
|
|
11
|
+
require_relative 'active_postgres/validator'
|
|
12
|
+
require_relative 'active_postgres/rollback_manager'
|
|
13
|
+
|
|
14
|
+
# Shared modules
|
|
15
|
+
require_relative 'active_postgres/component_resolver'
|
|
16
|
+
|
|
17
|
+
# Core functionality
|
|
18
|
+
require_relative 'active_postgres/deployment_flow'
|
|
19
|
+
require_relative 'active_postgres/cluster_deployment_flow'
|
|
20
|
+
require_relative 'active_postgres/standby_deployment_flow'
|
|
21
|
+
require_relative 'active_postgres/cli'
|
|
22
|
+
require_relative 'active_postgres/installer'
|
|
23
|
+
require_relative 'active_postgres/ssh_executor'
|
|
24
|
+
require_relative 'active_postgres/health_checker'
|
|
25
|
+
require_relative 'active_postgres/failover'
|
|
26
|
+
require_relative 'active_postgres/performance_tuner'
|
|
27
|
+
require_relative 'active_postgres/connection_pooler'
|
|
28
|
+
|
|
29
|
+
# Components
|
|
30
|
+
require_relative 'active_postgres/components/base'
|
|
31
|
+
require_relative 'active_postgres/components/core'
|
|
32
|
+
require_relative 'active_postgres/components/repmgr'
|
|
33
|
+
require_relative 'active_postgres/components/pgbouncer'
|
|
34
|
+
require_relative 'active_postgres/components/pgbackrest'
|
|
35
|
+
require_relative 'active_postgres/components/monitoring'
|
|
36
|
+
require_relative 'active_postgres/components/ssl'
|
|
37
|
+
require_relative 'active_postgres/components/extensions'
|
|
38
|
+
|
|
39
|
+
# Rails integration
|
|
40
|
+
require_relative 'active_postgres/rails/database_config'
|
|
41
|
+
require_relative 'active_postgres/rails/migration_guard'
|
|
42
|
+
|
|
43
|
+
begin
|
|
44
|
+
require_relative 'active_postgres/railtie'
|
|
45
|
+
rescue LoadError
|
|
46
|
+
# Rails not available - skip railtie
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
module ActivePostgres
|
|
50
|
+
class Error < StandardError; end
|
|
51
|
+
|
|
52
|
+
def self.root
|
|
53
|
+
File.expand_path('..', __dir__)
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
def self.status
|
|
57
|
+
config = Configuration.load
|
|
58
|
+
health_checker = HealthChecker.new(config)
|
|
59
|
+
health_checker.cluster_status
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.failover_to(node_or_host)
|
|
63
|
+
config = Configuration.load
|
|
64
|
+
failover = Failover.new(config)
|
|
65
|
+
failover.promote(node_or_host)
|
|
66
|
+
end
|
|
67
|
+
end
|