GithubHelp home page GithubHelp logo

ansible-citus's Introduction

Ansible Playbook for Citus (with repmgr and pgbouncer)

Overview

This ansible playbook will provisioning Postgres and Citus Extension to Master & Worker nodes (CentOS only). It also create Citus Master Replica by using repmgr. On top of these master, it has pgbouncer to identify which master is currently active. You can see diagram below.

Citus with repmgr and PgBouncer Diagram

How to run

  1. $ cp hosts.example hosts
  2. $ cp ansible-extra-vars.yaml.example ansible-extra-vars.yaml
  3. Define your master, replica and worker in hosts file. This must be public ip or host name, so your machine can ssh to installed machine
  4. Define ansible extra variable in ansible-extra-vars.yaml. This must be private ip, so master will communicate to its worker internally.
  5. Run ansible-playbook citus-playbook.yaml --extra-vars "@ansible-extra-vars.yaml""

Remark: Feel free to contribute.

Notes

  • Currently, this playbook only support CentOS 7
  • Any node in (10.0.0.0/8) subnet is able to connect to PostgreSQL without authentication. This can be avoid after this citus's issue is fixed.
  • User created by this playbook is SUPERUSER

How to Update Citus version

You can update citus version by running ansible-playbook below. Please note that it require database restarted.

Update Patch Version

ansible-playbook citus-patch-upgrade.yaml --extra-vars "@ansible-extra-vars.yaml"

Update Minor Version

ansible-playbook citus-minor-upgrade.yaml --extra-vars "@ansible-extra-vars.yaml"

Reference: https://docs.citusdata.com/en/v7.1/admin_guide/upgrading_citus.html#major-and-minor-version-upgrades

TODO

ansible-citus's People

Contributors

chaintng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.