From 6d16252f1af01a6f10d5a04f9532fc279724466a Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 10:39:53 +0300 Subject: [PATCH 01/13] Update console README --- console/db/README.md | 4 ++-- console/service/README.md | 8 ++++---- console/ui/README.md | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/console/db/README.md b/console/db/README.md index 748b441a7..a88a8877a 100644 --- a/console/db/README.md +++ b/console/db/README.md @@ -1,4 +1,4 @@ -## Database Schema for PostgreSQL Cluster Console +## Database Schema for Autobase Console ### Introduction @@ -75,7 +75,7 @@ status - Table containing logs of operations performed on cluster. - Note: The migration includes a DO block that checks for the presence of the timescaledb extension. If the extension is installed, the operations table is converted into a hypertable with monthly partitioning. Additionally, the block checks the timescaledb license. If the license is a Community license (timescale), a hypertable compression policy is created for partitions older than one month. - `postgres_versions` - - Table containing the major PostgreSQL versions supported by the postgresql_cluster + - Table containing the major PostgreSQL versions supported by the autobase - `settings` - Table containing configuration parameters, including console and other component settings diff --git a/console/service/README.md b/console/service/README.md index 18aa0dfe8..919ba4193 100644 --- a/console/service/README.md +++ b/console/service/README.md @@ -1,8 +1,8 @@ -# PostgreSQL Cluster Console API service +# Autobase Console API service -Server-side component for PostgreSQL Cluster Console. This REST service implements the API for UI integration. +Server-side component for autobase console. This REST service implements the API for UI integration. -The project is written in `Go` and uses [Swagger](https://github.com/go-swagger/go-swagger) for server-side code generation. The server receives requests from the web to create and manage clusters. Under the hood, the server uses Docker to run `postgresql_cluster` image with Ansible playbooks for cluster deployment logic. +The project is written in `Go` and uses [Swagger](https://github.com/go-swagger/go-swagger) for server-side code generation. The server receives requests from the web to create and manage clusters. Under the hood, the server uses Docker to run `autobase/automation` image with Ansible playbooks for cluster deployment logic. ## Build Swagger specification is used for creating the server REST API. First, you need to install the Swagger tool to build the auto-generated Go files. @@ -57,7 +57,7 @@ PG_CONSOLE_DB_MIGRATIONDIR String /etc/db/migrations PG_CONSOLE_ENCRYPTIONKEY String super_secret Encryption key for secret storage PG_CONSOLE_DOCKER_HOST String unix:///var/run/docker.sock Docker host PG_CONSOLE_DOCKER_LOGDIR String /tmp/ansible Directory inside docker container for ansible json log -PG_CONSOLE_DOCKER_IMAGE String vitabaks/postgresql_cluster:2.0.0 Docker image for postgresql_cluster +PG_CONSOLE_DOCKER_IMAGE String autobase/automation:2.0.0 Docker image for autobase automation PG_CONSOLE_LOGWATCHER_RUNEVERY Duration 1m LogWatcher run interval PG_CONSOLE_LOGWATCHER_ANALYZEPAST Duration 48h LogWatcher gets operations to analyze which created_at > now() - AnalyzePast PG_CONSOLE_CLUSTERWATCHER_RUNEVERY Duration 1m ClusterWatcher run interval diff --git a/console/ui/README.md b/console/ui/README.md index 3739e8833..a17e5f9fd 100644 --- a/console/ui/README.md +++ b/console/ui/README.md @@ -1,6 +1,6 @@ -# PostgreSQL Cluster Console UI +# Autobase Console UI -The UI part of PostgreSQL Cluster Console. This project provides a user-friendly web interface for managing, monitoring, and configuring Postgres clusters. +The UI part of autobase console. This project provides a user-friendly web interface for managing, monitoring, and configuring Postgres clusters. ## Features From 45eaece6aa5c3793a035d11be1edc0c9b2ea5c41 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 10:47:38 +0300 Subject: [PATCH 02/13] autobase console --- README.md | 10 +++++----- console/service/api/swagger.yaml | 4 ++-- console/ui/index.html | 2 +- console/ui/src/pages/login/ui/index.tsx | 2 +- console/ui/src/widgets/header/ui/index.tsx | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 154121d1a..502d63c27 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ### Production-ready PostgreSQL High-Availability Cluster (based on Patroni). Automating with Ansible. -`postgresql_cluster` automates the deployment and management of highly available PostgreSQL clusters in production environments. This solution is tailored for use on dedicated physical servers, virtual machines, and within both on-premises and cloud-based infrastructures. +**Autobase for PostgreSQL®** automates the deployment and management of highly available PostgreSQL clusters in production environments. This solution is tailored for use on dedicated physical servers, virtual machines, and within both on-premises and cloud-based infrastructures. You can find a version of this documentation that is searchable and also easier to navigate at [postgresql-cluster.org](http://postgresql-cluster.org) @@ -200,20 +200,20 @@ You have the option to easily deploy Postgres clusters using the Console (UI) or ### Console (UI) -To run the PostgreSQL Cluster Console, execute the following command: +To run the autobase console, execute the following command: ``` -docker run -d --name pg-console \ +docker run -d --name autobase-console \ --publish 80:80 \ --publish 8080:8080 \ --env PG_CONSOLE_API_URL=http://localhost:8080/api/v1 \ --env PG_CONSOLE_AUTHORIZATION_TOKEN=secret_token \ - --env PG_CONSOLE_DOCKER_IMAGE=vitabaks/postgresql_cluster:latest \ + --env PG_CONSOLE_DOCKER_IMAGE=autobase/automation:latest \ --volume console_postgres:/var/lib/postgresql \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume /tmp/ansible:/tmp/ansible \ --restart=unless-stopped \ - vitabaks/postgresql_cluster_console:2.0.0 + autobase/console:2.0.0 ``` > [!NOTE] diff --git a/console/service/api/swagger.yaml b/console/service/api/swagger.yaml index 2566dcbbb..00cd33a31 100644 --- a/console/service/api/swagger.yaml +++ b/console/service/api/swagger.yaml @@ -1,8 +1,8 @@ --- swagger: '2.0' info: - title: PG Console - description: API for PostgreSQL Cluster Console + title: autobase console + description: API for autobase console version: 2.0.0 host: localhost:8080 schemes: diff --git a/console/ui/index.html b/console/ui/index.html index c53d9a151..d0a5ac96d 100644 --- a/console/ui/index.html +++ b/console/ui/index.html @@ -4,7 +4,7 @@ - PostgreSQL Cluster Console + Autobase Console
diff --git a/console/ui/src/pages/login/ui/index.tsx b/console/ui/src/pages/login/ui/index.tsx index a39661378..95aca7d6e 100644 --- a/console/ui/src/pages/login/ui/index.tsx +++ b/console/ui/src/pages/login/ui/index.tsx @@ -34,7 +34,7 @@ const Login: FC = () => { height="max-content" padding="16px"> - PostgreSQL Cluster Console + Autobase Console { - PostgreSQL Cluster + autobase - Console + for PostgreSQL® From 6e0d03068ae984d9101b941dc79db3481561f5ea Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 11:18:56 +0300 Subject: [PATCH 03/13] Autobase logo --- console/ui/index.html | 4 ++-- console/ui/src/pages/login/ui/index.tsx | 6 +++--- console/ui/src/shared/assets/AutobaseLogo.svg | 3 +++ console/ui/src/shared/assets/PGCLogo.svg | 9 --------- console/ui/src/widgets/header/ui/index.tsx | 10 +++++----- 5 files changed, 13 insertions(+), 19 deletions(-) create mode 100644 console/ui/src/shared/assets/AutobaseLogo.svg delete mode 100644 console/ui/src/shared/assets/PGCLogo.svg diff --git a/console/ui/index.html b/console/ui/index.html index d0a5ac96d..4976b2a65 100644 --- a/console/ui/index.html +++ b/console/ui/index.html @@ -2,9 +2,9 @@ - + - Autobase Console + Autobase for PostgreSQL®
diff --git a/console/ui/src/pages/login/ui/index.tsx b/console/ui/src/pages/login/ui/index.tsx index 95aca7d6e..9e9548138 100644 --- a/console/ui/src/pages/login/ui/index.tsx +++ b/console/ui/src/pages/login/ui/index.tsx @@ -8,7 +8,7 @@ import { Controller, useForm } from 'react-hook-form'; import { LoginFormValues } from '@pages/login/model/types.ts'; import { LOGIN_FORM_FIELD_NAMES } from '@pages/login/model/constants.ts'; import { version } from '../../../../package.json'; -import Logo from '@shared/assets/PGCLogo.svg?react'; +import Logo from '@shared/assets/AutobaseLogo.svg?react'; const Login: FC = () => { const { t } = useTranslation('shared'); @@ -33,8 +33,8 @@ const Login: FC = () => { width="300px" height="max-content" padding="16px"> - - Autobase Console + + Autobase for PostgreSQL® + + diff --git a/console/ui/src/shared/assets/PGCLogo.svg b/console/ui/src/shared/assets/PGCLogo.svg deleted file mode 100644 index a056ae882..000000000 --- a/console/ui/src/shared/assets/PGCLogo.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/console/ui/src/widgets/header/ui/index.tsx b/console/ui/src/widgets/header/ui/index.tsx index 09559d656..d012b026d 100644 --- a/console/ui/src/widgets/header/ui/index.tsx +++ b/console/ui/src/widgets/header/ui/index.tsx @@ -1,6 +1,6 @@ import { FC, useEffect } from 'react'; import { AppBar, Box, MenuItem, SelectChangeEvent, Stack, TextField, Toolbar, Typography } from '@mui/material'; -import Logo from '@shared/assets/PGCLogo.svg?react'; +import Logo from '@shared/assets/AutobaseLogo.svg?react'; import { grey } from '@mui/material/colors'; import LogoutButton from '@features/logout-button'; import { useGetProjectsQuery } from '@shared/api/api/projects.ts'; @@ -28,14 +28,14 @@ const Header: FC = () => { theme.zIndex.drawer + 1 }} elevation={0} variant="outlined"> - + - + - + autobase - + for PostgreSQL® From f8a12ad5d2a286503c15822817257aea962a07d2 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 11:19:33 +0300 Subject: [PATCH 04/13] logo size --- console/ui/src/pages/login/ui/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/console/ui/src/pages/login/ui/index.tsx b/console/ui/src/pages/login/ui/index.tsx index 9e9548138..333931496 100644 --- a/console/ui/src/pages/login/ui/index.tsx +++ b/console/ui/src/pages/login/ui/index.tsx @@ -33,7 +33,7 @@ const Login: FC = () => { width="300px" height="max-content" padding="16px"> - + Autobase for PostgreSQL® Date: Thu, 28 Nov 2024 11:21:09 +0300 Subject: [PATCH 05/13] Update README.md --- console/ui/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/console/ui/README.md b/console/ui/README.md index a17e5f9fd..fc6076354 100644 --- a/console/ui/README.md +++ b/console/ui/README.md @@ -19,8 +19,8 @@ To run this project locally, follow these steps: 1. **Clone repository** ``` -git clone https://github.com/vitabaks/postgresql_cluster.git -cd postgresql_cluster/console/ui +git clone https://github.com/vitabaks/autobase.git +cd autobase/console/ui ``` 2. **Install dependencies** From abbde43721370eca7dd9cd970b5abcac7c33ea69 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 11:23:23 +0300 Subject: [PATCH 06/13] update links to autobase.tech --- console/ui/src/widgets/sidebar/model/constants.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/console/ui/src/widgets/sidebar/model/constants.ts b/console/ui/src/widgets/sidebar/model/constants.ts index 79f8ab375..6b6e56f8d 100644 --- a/console/ui/src/widgets/sidebar/model/constants.ts +++ b/console/ui/src/widgets/sidebar/model/constants.ts @@ -30,22 +30,22 @@ export const sidebarLowData = (t: TFunction) => [ { icon: GithubIcon, label: t('github', { ns: 'shared' }), - path: 'https://github.com/vitabaks/postgresql_cluster', + path: 'https://github.com/vitabaks/autobase', }, { icon: DocumentationIcon, label: t('documentation', { ns: 'shared' }), - path: 'https://postgresql-cluster.org', + path: 'https://autobase.tech', }, { icon: SupportIcon, label: t('support', { ns: 'shared' }), - path: 'https://github.com/vitabaks/postgresql_cluster/issues', + path: 'https://autobase.tech/docs/support', }, { icon: SponsorIcon, label: t('sponsor', { ns: 'shared' }), - path: 'https://github.com/vitabaks/postgresql_cluster?tab=readme-ov-file#sponsor-this-project', + path: 'https://autobase.tech/docs/sponsor', }, ]; From 76e62a3b65dccd028f3b7cfea2697994b82d72f0 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 11:23:44 +0300 Subject: [PATCH 07/13] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 502d63c27..4186d77dd 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ **Autobase for PostgreSQL®** automates the deployment and management of highly available PostgreSQL clusters in production environments. This solution is tailored for use on dedicated physical servers, virtual machines, and within both on-premises and cloud-based infrastructures. -You can find a version of this documentation that is searchable and also easier to navigate at [postgresql-cluster.org](http://postgresql-cluster.org) +You can find a version of this documentation that is searchable and also easier to navigate at [autobase.tech](http://autobase.tech) postgresql-cluster.org - The open-source alternative to cloud-managed databases | Product Hunt @@ -229,7 +229,7 @@ Go to http://localhost:80 (or the address of your server) and use `secret_token` ![Cluster creation demo](images/pg_console_create_cluster_demo.gif) -Refer to the [Deployment](https://postgresql-cluster.org/docs/category/deployment) section to learn more about the different deployment methods. +Refer to the [Deployment](https://autobase.tech/docs/category/deployment) section to learn more about the different deployment methods. ### Command line From 63920d364095f18c5ef0585f1e4e275eeed04752 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 11:48:32 +0300 Subject: [PATCH 08/13] Update main color --- console/ui/src/shared/theme/theme.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/console/ui/src/shared/theme/theme.ts b/console/ui/src/shared/theme/theme.ts index 5cf939486..4f591a075 100644 --- a/console/ui/src/shared/theme/theme.ts +++ b/console/ui/src/shared/theme/theme.ts @@ -16,7 +16,7 @@ const theme = createTheme( { palette: { primary: { - main: blue[800], + main: '#3367D6', lighter10: '#0D8CE91A', }, }, From b335b4a65f2af91365e98c689fa01d2c2e3ce736 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 12:53:20 +0300 Subject: [PATCH 09/13] Update README --- README.md | 70 +++++++++++++++++++------------------ images/github-autobase.png | Bin 0 -> 26830 bytes 2 files changed, 36 insertions(+), 34 deletions(-) create mode 100644 images/github-autobase.png diff --git a/README.md b/README.md index 4186d77dd..8b0e0b0cf 100644 --- a/README.md +++ b/README.md @@ -1,28 +1,34 @@ -# PostgreSQL High-Availability Cluster :elephant: :sparkling_heart: +

+ +

-[](https://github.com/vitabaks/postgresql_cluster/actions?query=workflow%3AAnsible-lint) -[](https://github.com/vitabaks/postgresql_cluster/actions?query=workflow%3AYamllint) -[](https://github.com/vitabaks/postgresql_cluster/actions?query=workflow%3AFlake8) -[](https://github.com/vitabaks/postgresql_cluster/actions?query=workflow%3AMolecule) -[![GitHub license](https://img.shields.io/github/license/vitabaks/postgresql_cluster)](https://github.com/vitabaks/postgresql_cluster/blob/master/LICENSE) -![GitHub stars](https://img.shields.io/github/stars/vitabaks/postgresql_cluster) +# Autobase for PostgreSQL® :elephant: :sparkling_heart: -### Production-ready PostgreSQL High-Availability Cluster (based on Patroni). Automating with Ansible. +[](https://github.com/vitabaks/autobase/actions?query=workflow%3AAnsible-lint) +[](https://github.com/vitabaks/autobase/actions?query=workflow%3AYamllint) +[](https://github.com/vitabaks/autobase/actions?query=workflow%3AFlake8) +[](https://github.com/vitabaks/autobase/actions?query=workflow%3AMolecule) +[![GitHub license](https://img.shields.io/github/license/vitabaks/autobase)](https://github.com/vitabaks/autobase/blob/master/LICENSE) +![GitHub stars](https://img.shields.io/github/stars/vitabaks/autobase) -**Autobase for PostgreSQL®** automates the deployment and management of highly available PostgreSQL clusters in production environments. This solution is tailored for use on dedicated physical servers, virtual machines, and within both on-premises and cloud-based infrastructures. +**Autobase for PostgreSQL®** is an open-source alternative to cloud-managed databases (DBaaS) such as Amazon RDS, Google Cloud SQL, Azure Database, and more. + +This automated database platform enables you to create and manage production-ready, highly available PostgreSQL clusters. It simplifies the deployment process, reduces operational costs, and makes database management accessible—even for teams without specialized expertise. + +**Automate failover, backups, restore, upgrades, scaling, and more with ease.** You can find a version of this documentation that is searchable and also easier to navigate at [autobase.tech](http://autobase.tech) postgresql-cluster.org - The open-source alternative to cloud-managed databases | Product Hunt -:trophy: **Use the [sponsoring](https://github.com/vitabaks/postgresql_cluster#sponsor-this-project) program to get personalized support, or just to contribute to this project.** +:trophy: **Use the [sponsoring](https://github.com/vitabaks/autobase#sponsor-this-project) program to get personalized support, or just to contribute to this project.** --- ### Supported setups of Postgres Cluster -![postgresql_cluster](images/postgresql_cluster.png#gh-light-mode-only) -![postgresql_cluster](images/postgresql_cluster.dark_mode.png#gh-dark-mode-only) +![pg_cluster_scheme](images/postgresql_cluster.png#gh-light-mode-only) +![pg_cluster_scheme](images/postgresql_cluster.dark_mode.png#gh-dark-mode-only) You have three schemes available for deployment: @@ -102,17 +108,17 @@ all supported PostgreSQL versions _Table of results of daily automated testing of cluster deployment:_ | Distribution | Test result | |--------------|:----------:| -| Debian 11 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_debian11.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_debian11.yml) | -| Debian 12 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_debian11.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_debian12.yml) | -| Ubuntu 22.04 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_ubuntu2204.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_ubuntu2204.yml) | -| Ubuntu 24.04 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_ubuntu2204.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_ubuntu2404.yml) | -| CentOS Stream 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_centosstream9.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_centosstream9.yml) | -| Oracle Linux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_oracle_linux8.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_oracle_linux8.yml) | -| Oracle Linux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_oracle_linux9.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_oracle_linux9.yml) | -| Rocky Linux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_rockylinux8.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_rockylinux8.yml) | -| Rocky Linux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_rockylinux9.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_rockylinux9.yml) | -| AlmaLinux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_almalinux8.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_almalinux8.yml) | -| AlmaLinux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/postgresql_cluster/schedule_pg_almalinux9.yml?branch=master)](https://github.com/vitabaks/postgresql_cluster/actions/workflows/schedule_pg_almalinux9.yml) | +| Debian 11 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_debian11.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_debian11.yml) | +| Debian 12 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_debian11.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_debian12.yml) | +| Ubuntu 22.04 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_ubuntu2204.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_ubuntu2204.yml) | +| Ubuntu 24.04 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_ubuntu2204.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_ubuntu2404.yml) | +| CentOS Stream 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_centosstream9.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_centosstream9.yml) | +| Oracle Linux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_oracle_linux8.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_oracle_linux8.yml) | +| Oracle Linux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_oracle_linux9.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_oracle_linux9.yml) | +| Rocky Linux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_rockylinux8.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_rockylinux8.yml) | +| Rocky Linux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_rockylinux9.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_rockylinux9.yml) | +| AlmaLinux 8 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_almalinux8.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_almalinux8.yml) | +| AlmaLinux 9 | [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/vitabaks/autobase/schedule_pg_almalinux9.yml?branch=master)](https://github.com/vitabaks/autobase/actions/workflows/schedule_pg_almalinux9.yml) | ###### Ansible version Minimum supported Ansible version: 8.0.0 (ansible-core 2.15.0) @@ -245,13 +251,13 @@ pip3 install ansible 1. Download or clone this repository ``` -git clone https://github.com/vitabaks/postgresql_cluster.git +git clone https://github.com/vitabaks/autobase.git ``` 2. Go to the automation directory ``` -cd postgresql_cluster/automation +cd autobase/automation ``` 3. Install requirements on the control node @@ -338,11 +344,11 @@ This command will delete the specified components, allowing you to start a new i If you find our project helpful, consider giving it a star on GitHub! Your support helps us grow and motivates us to keep improving. Starring the project is a simple yet effective way to show your appreciation and help others discover it. - + - - - Star History Chart + + + Star History Chart @@ -360,10 +366,6 @@ Support our work through [Patreon](https://www.patreon.com/vitabaks) [![Support me on Patreon](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fshieldsio-patreon.vercel.app%2Fapi%3Fusername%3Dvitabaks%26type%3Dpatrons&style=for-the-badge)](https://patreon.com/vitabaks) -Support our work through a crypto wallet: - -USDT (TRC20): `TSTSXZzqDCUDHDjZwCpuBkdukjuDZspwjj` - ## License Licensed under the MIT License. See the [LICENSE](./LICENSE) file for details. @@ -372,4 +374,4 @@ Vitaliy Kukharik (PostgreSQL DBA) \ vitabaks@gmail.com ## Feedback, bug-reports, requests, ... -Are [welcome](https://github.com/vitabaks/postgresql_cluster/issues)! +Are [welcome](https://github.com/vitabaks/autobase/issues)! diff --git a/images/github-autobase.png b/images/github-autobase.png new file mode 100644 index 0000000000000000000000000000000000000000..3aa0d576c64a1d339e698e8b54c73e5ed1dbc4b3 GIT binary patch literal 26830 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 Date: Thu, 28 Nov 2024 17:10:21 +0300 Subject: [PATCH 10/13] rename postgresql_cluster to autobase --- .config/make/docker.mak | 30 ++++++++-------- CONTRIBUTING.md | 10 +++--- README.md | 4 +-- automation/Dockerfile | 14 ++++---- automation/entrypoint.sh | 6 ++-- .../roles/upgrade/tasks/update_config.yml | 1 - automation/vars/Debian.yml | 2 +- automation/vars/RedHat.yml | 2 +- ...40520144338_2.0.0_initial_scheme_setup.sql | 2 +- .../service/internal/configuration/config.go | 2 +- ...de.png => pg_cluster_scheme.dark_mode.png} | Bin ...esql_cluster.png => pg_cluster_scheme.png} | Bin meta/main.yml | 33 ------------------ meta/runtime.yml | 2 -- 14 files changed, 36 insertions(+), 72 deletions(-) rename images/{postgresql_cluster.dark_mode.png => pg_cluster_scheme.dark_mode.png} (100%) rename images/{postgresql_cluster.png => pg_cluster_scheme.png} (100%) delete mode 100644 meta/main.yml delete mode 100644 meta/runtime.yml diff --git a/.config/make/docker.mak b/.config/make/docker.mak index 5366f5364..42f490e5c 100644 --- a/.config/make/docker.mak +++ b/.config/make/docker.mak @@ -35,23 +35,23 @@ docker-build: docker-build-automation docker-build-console-ui docker-build-conso docker-build-automation: ## Build automation image @echo "Build automation docker image with tag $(TAG)"; - docker build --no-cache --platform linux/amd64 --tag postgresql_cluster:$(TAG) --file automation/Dockerfile . + docker build --no-cache --platform linux/amd64 --tag automation:$(TAG) --file automation/Dockerfile . docker-build-console-ui: ## Build console ui image @echo "Build console ui docker image with tag $(TAG)" - docker build --no-cache --platform linux/amd64 --tag postgresql_cluster_console_ui:$(TAG) --file console/ui/Dockerfile . + docker build --no-cache --platform linux/amd64 --tag console_ui:$(TAG) --file console/ui/Dockerfile . docker-build-console-api: ## Build console api image @echo "Build console api docker image with tag $(TAG)" - docker build --no-cache --platform linux/amd64 --tag postgresql_cluster_console_api:$(TAG) --file console/service/Dockerfile . + docker build --no-cache --platform linux/amd64 --tag console_api:$(TAG) --file console/service/Dockerfile . docker-build-console-db: ## Build console db image @echo "Build console db docker image with tag $(TAG)" - docker build --no-cache --platform linux/amd64 --tag postgresql_cluster_console_db:$(TAG) --file console/db/Dockerfile . + docker build --no-cache --platform linux/amd64 --tag console_db:$(TAG) --file console/db/Dockerfile . docker-build-console: ## Build console image (all services) @echo "Build console docker image with tag $(TAG)" - docker build --no-cache --platform linux/amd64 --tag postgresql_cluster_console:$(TAG) --file console/Dockerfile . + docker build --no-cache --platform linux/amd64 --tag console:$(TAG) --file console/Dockerfile . .PHONY: docker-push docker-push-console-ui docker-push-console-api docker-push-console-db docker-push-console docker-push: docker-push-automation docker-push-console-ui docker-push-console-api docker-push-console-db docker-push-console ## Push all images to Dockerhub (example: make docker-push TAG=my_tag DOCKER_REGISTRY=my_repo DOCKER_REGISTRY_USER="my_username" DOCKER_REGISTRY_PASSWORD="my_password") @@ -59,32 +59,32 @@ docker-push: docker-push-automation docker-push-console-ui docker-push-console-a docker-push-automation: ## Push automation to Dockerhub @echo "Push automation docker image with tag $(TAG)"; echo "$(DOCKER_REGISTRY_PASSWORD)" | docker login --username "$(DOCKER_REGISTRY_USER)" --password-stdin - docker tag postgresql_cluster:$(TAG) $(DOCKER_REGISTRY)/postgresql_cluster:$(TAG) - docker push $(DOCKER_REGISTRY)/postgresql_cluster:$(TAG) + docker tag automation:$(TAG) $(DOCKER_REGISTRY)/automation:$(TAG) + docker push $(DOCKER_REGISTRY)/automation:$(TAG) docker-push-console-ui: ## Push console ui image to Dockerhub @echo "Push console ui docker image with tag $(TAG)" echo "$(DOCKER_REGISTRY_PASSWORD)" | docker login --username "$(DOCKER_REGISTRY_USER)" --password-stdin - docker tag postgresql_cluster_console_ui:$(TAG) $(DOCKER_REGISTRY)/postgresql_cluster_console_ui:$(TAG) - docker push $(DOCKER_REGISTRY)/postgresql_cluster_console_ui:$(TAG) + docker tag console_ui:$(TAG) $(DOCKER_REGISTRY)/console_ui:$(TAG) + docker push $(DOCKER_REGISTRY)/console_ui:$(TAG) docker-push-console-api: ## Push console api image to Dockerhub @echo "Push console api docker image with tag $(TAG)" echo "$(DOCKER_REGISTRY_PASSWORD)" | docker login --username "$(DOCKER_REGISTRY_USER)" --password-stdin - docker tag postgresql_cluster_console_api:$(TAG) $(DOCKER_REGISTRY)/postgresql_cluster_console_api:$(TAG) - docker push $(DOCKER_REGISTRY)/postgresql_cluster_console_api:$(TAG) + docker tag console_api:$(TAG) $(DOCKER_REGISTRY)/console_api:$(TAG) + docker push $(DOCKER_REGISTRY)/console_api:$(TAG) docker-push-console-db: ## Push console db image to Dockerhub @echo "Push console db docker image with tag $(TAG)" echo "$(DOCKER_REGISTRY_PASSWORD)" | docker login --username "$(DOCKER_REGISTRY_USER)" --password-stdin - docker tag postgresql_cluster_console_db:$(TAG) $(DOCKER_REGISTRY)/postgresql_cluster_console_db:$(TAG) - docker push $(DOCKER_REGISTRY)/postgresql_cluster_console_db:$(TAG) + docker tag console_db:$(TAG) $(DOCKER_REGISTRY)/console_db:$(TAG) + docker push $(DOCKER_REGISTRY)/console_db:$(TAG) docker-push-console: ## Push console image to Dockerhub (all services) @echo "Push console docker image with tag $(TAG)" echo "$(DOCKER_REGISTRY_PASSWORD)" | docker login --username "$(DOCKER_REGISTRY_USER)" --password-stdin - docker tag postgresql_cluster_console:$(TAG) $(DOCKER_REGISTRY)/postgresql_cluster_console:$(TAG) - docker push $(DOCKER_REGISTRY)/postgresql_cluster_console:$(TAG) + docker tag console:$(TAG) $(DOCKER_REGISTRY)/console:$(TAG) + docker push $(DOCKER_REGISTRY)/console:$(TAG) .PHONY: docker-tests docker-tests: ## Run tests for docker diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6628dc2e2..7035d5846 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,18 +11,18 @@ Your contributions are appreciated and will be taken seriously. ### 1. Create an issue -Report problems or suggest improvements by [creating an issue](https://github.com/vitabaks/postgresql_cluster/issues). +Report problems or suggest improvements by [creating an issue](https://github.com/vitabaks/autobase/issues). ### 2. Fork the project -[Fork the repository](https://github.com/vitabaks/postgresql_cluster) to your GitHub account. +[Fork the repository](https://github.com/vitabaks/autobase) to your GitHub account. ### 3. Make changes Clone your fork locally and make the necessary changes: ```bash -git clone git@github.com:YOURNAMESPACE/postgresql_cluster.git +git clone git@github.com:YOURNAMESPACE/autobase.git ``` ### 4. Test your changes (Optional) @@ -32,8 +32,8 @@ git clone git@github.com:YOURNAMESPACE/postgresql_cluster.git Use Gitpod for a cloud-based development environment: 1. Sign up for Gitpod: https://gitpod.io -2. Fork the `postgresql_cluster` repository -3. Open your fork in Gitpod: `https://gitpod.io/#https://github.com/username/postgresql_cluster` +2. Fork the `autobase` repository +3. Open your fork in Gitpod: `https://gitpod.io/#https://github.com/username/autobase` 4. Create a new branch: `git checkout -b my-feature-branch` 5. Make your changes and commit: `git add .` and `git commit -m "Description of changes"` 6. Test with Molecule: `make tests` or `make tests-fast` diff --git a/README.md b/README.md index 8b0e0b0cf..bdcd1a89f 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ You can find a version of this documentation that is searchable and also easier ### Supported setups of Postgres Cluster -![pg_cluster_scheme](images/postgresql_cluster.png#gh-light-mode-only) -![pg_cluster_scheme](images/postgresql_cluster.dark_mode.png#gh-dark-mode-only) +![pg_cluster_scheme](images/pg_cluster_scheme.png#gh-light-mode-only) +![pg_cluster_scheme](images/pg_cluster_scheme.dark_mode.png#gh-dark-mode-only) You have three schemes available for deployment: diff --git a/automation/Dockerfile b/automation/Dockerfile index 1552d0ecf..7264259a3 100644 --- a/automation/Dockerfile +++ b/automation/Dockerfile @@ -6,8 +6,8 @@ USER root # Set SHELL to Bash to ensure pipefail is supported SHELL ["/bin/bash", "-o", "pipefail", "-c"] -# Copy postgresql_cluster repository -COPY automation /postgresql_cluster/automation +# Copy autobase repository +COPY automation /autobase/automation # Install required packages, Python dependencies, Ansible requirements, and perform cleanup RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \ @@ -16,11 +16,11 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \ ca-certificates gnupg git python3 python3-dev python3-pip keychain ssh-client sshpass\ gcc g++ cmake make libssl-dev curl apt-transport-https lsb-release gnupg \ && pip3 install --break-system-packages --no-cache-dir -r \ - /postgresql_cluster/automation/requirements.txt \ + /autobase/automation/requirements.txt \ && ansible-galaxy install --force -r \ - /postgresql_cluster/automation/requirements.yml \ + /autobase/automation/requirements.yml \ && ansible-galaxy install --force -r \ - /postgresql_cluster/automation/roles/consul/requirements.yml \ + /autobase/automation/roles/consul/requirements.yml \ && ansible-galaxy collection list \ && pip3 install --break-system-packages --no-cache-dir -r \ /root/.ansible/collections/ansible_collections/azure/azcollection/requirements.txt \ @@ -30,12 +30,12 @@ RUN apt-get clean && rm -rf /var/lib/apt/lists/partial \ && apt-get autoremove -y --purge gnupg git python3-dev gcc g++ cmake make libssl-dev \ && apt-get clean -y autoclean \ && rm -rf /var/lib/apt/lists/* /tmp/* \ - && chmod +x /postgresql_cluster/automation/entrypoint.sh + && chmod +x /autobase/automation/entrypoint.sh # Set environment variable for Ansible collections paths ENV ANSIBLE_COLLECTIONS_PATH=/root/.ansible/collections/ansible_collections:/usr/local/lib/python3.11/dist-packages/ansible_collections ENV USER=root -WORKDIR /postgresql_cluster/automation +WORKDIR /autobase/automation ENTRYPOINT ["./entrypoint.sh"] diff --git a/automation/entrypoint.sh b/automation/entrypoint.sh index 76a32780a..9068df6da 100644 --- a/automation/entrypoint.sh +++ b/automation/entrypoint.sh @@ -13,13 +13,13 @@ is_base64() { if [[ -n "${ANSIBLE_INVENTORY_JSON}" ]]; then if is_base64 "${ANSIBLE_INVENTORY_JSON}"; then echo "Creating inventory.json with the (base64 decoded) content of ANSIBLE_INVENTORY_JSON" - echo "${ANSIBLE_INVENTORY_JSON}" | base64 -d > /postgresql_cluster/inventory.json + echo "${ANSIBLE_INVENTORY_JSON}" | base64 -d > /autobase/inventory.json else echo "Creating inventory.json with the content of ANSIBLE_INVENTORY_JSON" - echo "${ANSIBLE_INVENTORY_JSON}" > /postgresql_cluster/inventory.json + echo "${ANSIBLE_INVENTORY_JSON}" > /autobase/inventory.json fi # Set ANSIBLE_INVENTORY environment variable - export ANSIBLE_INVENTORY=/postgresql_cluster/inventory.json + export ANSIBLE_INVENTORY=/autobase/inventory.json # Set ANSIBLE_SSH_ARGS environment variable export ANSIBLE_SSH_ARGS="-o StrictHostKeyChecking=no" fi diff --git a/automation/roles/upgrade/tasks/update_config.yml b/automation/roles/upgrade/tasks/update_config.yml index 0e96ff120..cfefa6517 100644 --- a/automation/roles/upgrade/tasks/update_config.yml +++ b/automation/roles/upgrade/tasks/update_config.yml @@ -7,7 +7,6 @@ dest: "{{ patroni_config_file }}.bkp" remote_src: true -# https://github.com/vitabaks/postgresql_cluster/issues/666 - name: Remove patroni.dynamic.json file ansible.builtin.file: path: "{{ pg_old_datadir }}/patroni.dynamic.json" diff --git a/automation/vars/Debian.yml b/automation/vars/Debian.yml index e0b076795..5e2d99900 100644 --- a/automation/vars/Debian.yml +++ b/automation/vars/Debian.yml @@ -151,7 +151,7 @@ haproxy_compile_requirements: # ================================================================================================= # # Offline installation (if installation_method: "file") # -# You can also download the necessary packages into postgresql_cluster/files/ directory. +# You can also download the necessary packages into /autobase/automation/files/ directory. # Packages from this directory will be used for installation. # if installation_method: "file" and patroni_installation_method: "deb" diff --git a/automation/vars/RedHat.yml b/automation/vars/RedHat.yml index f838ed97d..46e158bcc 100644 --- a/automation/vars/RedHat.yml +++ b/automation/vars/RedHat.yml @@ -176,7 +176,7 @@ haproxy_compile_requirements: # ================================================================================================= # # Offline installation (if installation_method: "file") # -# You can also download the necessary packages into postgresql_cluster/files/ directory. +# You can also download the necessary packages into /autobase/automation/files/ directory. # Packages from this directory will be used for installation. # if installation_method: "file" and patroni_installation_method: "rpm" diff --git a/console/db/migrations/20240520144338_2.0.0_initial_scheme_setup.sql b/console/db/migrations/20240520144338_2.0.0_initial_scheme_setup.sql index 27ba92317..9c10d1a7d 100644 --- a/console/db/migrations/20240520144338_2.0.0_initial_scheme_setup.sql +++ b/console/db/migrations/20240520144338_2.0.0_initial_scheme_setup.sql @@ -958,7 +958,7 @@ CREATE TABLE public.postgres_versions ( end_of_life date ); -COMMENT ON TABLE public.postgres_versions IS 'Table containing the major PostgreSQL versions supported by the postgresql_cluster'; +COMMENT ON TABLE public.postgres_versions IS 'Table containing the major PostgreSQL versions supported by the autobase'; COMMENT ON COLUMN public.postgres_versions.major_version IS 'The major version of PostgreSQL'; COMMENT ON COLUMN public.postgres_versions.release_date IS 'The release date of the PostgreSQL version'; COMMENT ON COLUMN public.postgres_versions.end_of_life IS 'The end of life date for the PostgreSQL version'; diff --git a/console/service/internal/configuration/config.go b/console/service/internal/configuration/config.go index 5f44fde57..45a6c90b2 100644 --- a/console/service/internal/configuration/config.go +++ b/console/service/internal/configuration/config.go @@ -43,7 +43,7 @@ type Config struct { Docker struct { Host string `default:"unix:///var/run/docker.sock" desc:"Docker host"` LogDir string `default:"/tmp/ansible" desc:"Directory inside docker container for ansible json log"` - Image string `default:"vitabaks/postgresql_cluster:2.0.0" desc:"Docker image for postgresql_cluster"` + Image string `default:"autobase/automation:2.0.0" desc:"Docker image for autobase automation"` } LogWatcher struct { RunEvery time.Duration `default:"1m" desc:"LogWatcher run interval"` diff --git a/images/postgresql_cluster.dark_mode.png b/images/pg_cluster_scheme.dark_mode.png similarity index 100% rename from images/postgresql_cluster.dark_mode.png rename to images/pg_cluster_scheme.dark_mode.png diff --git a/images/postgresql_cluster.png b/images/pg_cluster_scheme.png similarity index 100% rename from images/postgresql_cluster.png rename to images/pg_cluster_scheme.png diff --git a/meta/main.yml b/meta/main.yml deleted file mode 100644 index 1c66ea939..000000000 --- a/meta/main.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -galaxy_info: - role_name: postgresql_cluster - description: PostgreSQL High-Availability Cluster (based on Patroni) - namespace: vitabaks - author: Vitaliy Kukharik (vitabaks@gmail.com) - license: MIT - - min_ansible_version: "2.11.0" - - platforms: - - name: EL - versions: - - "7" - - "8" - - "9" - - name: Debian - versions: - - buster - - bullseye - - name: Ubuntu - versions: - - bionic - - focal - - jammy - - galaxy_tags: - - postgresql - - cluster - - patroni - - etcd - -dependencies: [] diff --git a/meta/runtime.yml b/meta/runtime.yml deleted file mode 100644 index be99ccf4b..000000000 --- a/meta/runtime.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -requires_ansible: '>=2.14.0' From dce90af4b59e339754fc44d47784b30bef9c0395 Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 17:45:07 +0300 Subject: [PATCH 11/13] Update docker.mak --- .config/make/docker.mak | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.config/make/docker.mak b/.config/make/docker.mak index 42f490e5c..deec0bff8 100644 --- a/.config/make/docker.mak +++ b/.config/make/docker.mak @@ -1,6 +1,6 @@ ## —— Docker ————————————————————————————————————————————————————————————————————————————————————— TAG ?= local -DOCKER_REGISTRY ?= vitabaks +DOCKER_REGISTRY ?= autobase .PHONY: docker-lint docker-lint-console-ui docker-lint-console-api docker-lint-console-db docker-lint-console docker-lint: docker-lint-automation docker-lint-console-ui docker-lint-console-api docker-lint-console-db docker-lint-console ## Lint all Dockerfiles From 3ed9d8fb28689daad54b12f066190c31052433dd Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 18:06:41 +0300 Subject: [PATCH 12/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bdcd1a89f..28cc23836 100644 --- a/README.md +++ b/README.md @@ -219,7 +219,7 @@ docker run -d --name autobase-console \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume /tmp/ansible:/tmp/ansible \ --restart=unless-stopped \ - autobase/console:2.0.0 + autobase/console:latest ``` > [!NOTE] From 6e71a0e7d9ba27472976efa7f7f45a1fa2393a6c Mon Sep 17 00:00:00 2001 From: Vitaliy Kukharik Date: Thu, 28 Nov 2024 18:07:49 +0300 Subject: [PATCH 13/13] Update constants.ts --- console/ui/src/widgets/sidebar/model/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/console/ui/src/widgets/sidebar/model/constants.ts b/console/ui/src/widgets/sidebar/model/constants.ts index 6b6e56f8d..55cfc8bb6 100644 --- a/console/ui/src/widgets/sidebar/model/constants.ts +++ b/console/ui/src/widgets/sidebar/model/constants.ts @@ -35,7 +35,7 @@ export const sidebarLowData = (t: TFunction) => [ { icon: DocumentationIcon, label: t('documentation', { ns: 'shared' }), - path: 'https://autobase.tech', + path: 'https://autobase.tech/docs', }, { icon: SupportIcon,