{"id":15048339,"url":"https://github.com/github/puppet-orchestrator-for-mysql","last_synced_at":"2025-10-19T22:33:00.454Z","repository":{"id":65974884,"uuid":"63967308","full_name":"github/puppet-orchestrator-for-mysql","owner":"github","description":"Puppet Module used with Orchestrator","archived":false,"fork":false,"pushed_at":"2024-10-02T19:03:24.000Z","size":16,"stargazers_count":33,"open_issues_count":2,"forks_count":24,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-01-30T07:42:43.237Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/github.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-07-22T16:21:12.000Z","updated_at":"2024-12-24T19:52:01.000Z","dependencies_parsed_at":"2023-09-25T03:52:40.879Z","dependency_job_id":null,"html_url":"https://github.com/github/puppet-orchestrator-for-mysql","commit_stats":{"total_commits":13,"total_committers":2,"mean_commits":6.5,"dds":"0.23076923076923073","last_synced_commit":"bcffc60218c4c17db6de54334d5e55512b963a4c"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fpuppet-orchestrator-for-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fpuppet-orchestrator-for-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fpuppet-orchestrator-for-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fpuppet-orchestrator-for-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/puppet-orchestrator-for-mysql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237224904,"owners_count":19275107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T21:11:00.754Z","updated_at":"2025-10-19T22:33:00.120Z","avatar_url":"https://github.com/github.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppet-orchestrator-for-mysql \n\nThis module is to install the MySQL tool called Orchestrator via puppet. Orchestrator is used for managing replication topologies. See https://github.com/github/orchestrator for instructions on appopriate configuration and setup.\n\n# Usage\n\n```\n  $config_override = {\n    'Debug'                                      =\u003e true,\n    'ReadOnly'                                   =\u003e false,\n    'MySQLOrchestratorHost'                      =\u003e 'orchestrator.example.com',\n    'MySQLOrchestratorPort'                      =\u003e 3306,\n    'MySQLOrchestratorDatabase'                  =\u003e 'orchestrator',\n    'RemoveTextFromHostnameDisplay'              =\u003e '.example.com:3306',\n    'SlaveLagQuery'                              =\u003e 'select lag from test.heartbeat_table',\n    'DiscoverByShowSlaveHosts'                   =\u003e false,\n    'DetectClusterAliasQuery'                    =\u003e 'select cluster_alias from test.cluster_info_table where 1=1',\n    'DetectClusterDomainQuery'                   =\u003e 'select cluster_domain from test.cluster_info_table where 1=1',\n    'DataCenterPattern'                          =\u003e '.*-(.*)-.*[.].*[.]example[.]com',\n    'PhysicalEnvironmentPattern'                 =\u003e '.*-.*-(.*)[.].*[.]example[.]com',\n    'PseudoGTIDPattern'                          =\u003e '`heartbeat` (ts, server_id, file, position, relay_master_log_file, exec_master_log_pos) VALUES',\n    'PseudoGTIDPatternIsFixedSubstring'          =\u003e true,\n    'PseudoGTIDMonotonicHint'                    =\u003e 'heartbeat',\n    'DetectPseudoGTIDQuery'                      =\u003e 'select count(*)\u003e0 as pseudo_gtid_exists from test.heartbeat_table where ts \u003e NOW() - INTERVAL 2 DAY;',\n    'ProblemIgnoreHostnameFilters'               =\u003e [\n      'test-server-mysql',\n    ],\n    'PromotionIgnoreHostnameFilters'             =\u003e [\n      'test-server-mysql',\n    ],\n    'AuditLogFile'                               =\u003e '',\n    'AuthenticationMethod'                       =\u003e 'token',\n    'FailureDetectionPeriodBlockMinutes'         =\u003e 60,\n    'RecoveryPollSeconds'                        =\u003e 5,\n    'RecoveryPeriodBlockSeconds'                 =\u003e 600,\n    'RecoveryIgnoreHostnameFilters'              =\u003e [],\n    'RecoverMasterClusterFilters'                =\u003e [\n      'mysqla',\n      'mysqlb',\n    ],\n    'RecoverIntermediateMasterClusterFilters'    =\u003e [\n      'mysqlb',\n      'mysqlc',\n    ],\n    'OnFailureDetectionProcesses'                =\u003e [\n      \"sudo -i recovery-handler -t 'detection' -f '{failureType}' -h '{failedHost}' -C '{failureCluster}' -n '{countSlaves}'\"\n    ],\n    'PreFailoverProcesses'                       =\u003e [\n      \"sudo -i recovery-handler -t 'pre-failover' -f '{failureType}' -h '{failedHost}' -C '{failureCluster}' -n '{countSlaves}'\"\n    ],\n    'PostFailoverProcesses'                      =\u003e [\n      \"sudo -i recovery-handler -t 'post-failover' -f '{failureType}' -h '{failedHost}' -H '{successorHost}' -C '{failureCluster}' -n '{countSlaves}'\"\n    ],\n    'PostUnsuccessfulFailoverProcesses'          =\u003e [],\n    'PostMasterFailoverProcesses'                =\u003e [\n      \"sudo setuidgid orc_user ssh {failedHost}    'sudo -i do_something_on_failed_host \u003e /dev/null 2\u003e /dev/null'\",\n      \"sudo setuidgid orc_user ssh {successorHost} 'sudo -i do_something_on_new_host \u003e /dev/null 2\u003e /dev/null'\",\n    ],\n    'PostIntermediateMasterFailoverProcesses'    =\u003e [\n    ],\n    'CoMasterRecoveryMustPromoteOtherCoMaster'   =\u003e true,\n    'DetachLostSlavesAfterMasterFailover'        =\u003e true,\n    'ApplyMySQLPromotionAfterMasterFailover'     =\u003e false,\n    'MasterFailoverLostInstancesDowntimeMinutes' =\u003e 60,\n    'PostponeSlaveRecoveryOnLagMinutes'          =\u003e 10,\n    'GraphitePollSeconds'                        =\u003e 60,\n    'GraphiteAddr'                               =\u003e 'graphite.example.com:2113',\n    'GraphitePath'                               =\u003e 'hosts.{hostname}.orchestrator',\n    'GraphiteConvertHostnameDotsToUnderscores'   =\u003e true,\n  }\n\n  class { '::orchestrator':\n    config_override =\u003e $config_override,\n    package_ensure  =\u003e 'latest',\n    package_manage  =\u003e true,\n  }\n```\n# Assumptions\n\n* Puppetlab's stdlib is used by this module.\n\n* The orchestrator deb/rpm package is available to puppet if `orchestrator::params::package_manage` is `true`.\n\n* Puppet will manage the [Orchestrator Packagecloud repo](https://packagecloud.io/github/orchestrator) if `orchestrator::params::repo_manage` is `true`. *Note*: this functionality will require the [computology/packagecloud]( https://forge.puppet.com/computology/packagecloud) module dependency.\n\n## Status\nStable and in active development.\n\n## Contributions\nContributions are encouraged. See [CONTRIBUTING.md](https://github.com/github/puppet-orchestrator-for-mysql/blob/master/CONTRIBUTING.md) for more information.\n\n## License\nLicensed under the [MIT License](http://en.wikipedia.org/wiki/MIT_License).\nThe full license text is available in [LICENSE](https://github.com/github/puppet-orchestrator-for-mysql/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fpuppet-orchestrator-for-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Fpuppet-orchestrator-for-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fpuppet-orchestrator-for-mysql/lists"}