diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..c712c2f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,29 @@ +name: ci +on: + push: + branches: + - master + - main +permissions: + contents: write +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Configure Git Credentials + run: | + git config user.name github-actions[bot] + git config user.email 41898282+github-actions[bot]@users.noreply.github.com + - uses: actions/setup-python@v5 + with: + python-version: 3.x + - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV + - uses: actions/cache@v4 + with: + key: mkdocs-material-${{ env.cache_id }} + path: .cache + restore-keys: | + mkdocs-material- + - run: pip install mkdocs-material + - run: mkdocs gh-deploy --force \ No newline at end of file diff --git a/archived/percona-for-mysql.md b/archived/percona-for-mysql.md new file mode 100644 index 0000000..eed03c8 --- /dev/null +++ b/archived/percona-for-mysql.md @@ -0,0 +1,182 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +
+
+ +![Percona for MySQL logo](assets/logo-dark-mysql.svg) + +# Percona for MySQL + +Quickstart guides, help guides, reference lists, release notes, the latest downloads. We have everything you need to optimize your MySQL databases is right here. + +[Select documentation](#percona-for-mysql-documentation){.md-button .md-button--primary} [What's new](#whats-new){.md-button} + +
+
+ + + +## Percona for MySQL documentation + +
+
+ +### Percona Server for MySQL {.title} + +A drop-in replacement for MySQL, with advanced features and functionality. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Percona Operator based on Percona Server for MySQL {.title} + +Automate deployment and management of MySQL clusters on Kubernetes with Operator. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Percona XtraDB Cluster {.title} + +A high-availability clustering solution based on Percona Server for MySQL. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Percona Operator based on Percona XtraDB Cluster {.title} + +Automate deployment and management of Percona XtraDB Clusters on Kubernetes with this Operator. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Percona XtraBackup {.title} + +A hot backup solution for MySQL. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Percona Distribution for MySQL {.title} + +The most stable, scalable and secure open source MySQL distribution with choice on either Percona Server for MySQL or Percona XtraDB Cluster. + +
+ +[Releases](#) +[Downloads](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### Monitoring MySQL with PMM {.title} + +High-quality, polyglot monitoring, alerting and more functionalities for MySQL and other database technologies. + +
+ +[PMM Documentation :material-arrow-right:](https://docs.percona.com/percona-monitoring-and-management) + +
+
+
+ + + +## What's new + +
+
+ +**Percona Everest 0.7.0 Beta release** + +We are excited to announce the beta release of Percona Everest 0.7.0, marking a significant step forward in our commitment to enhancing database management and performance. + +[Release Notes](#) +[Update Guide](#) + +
+ +**Provisioning databases in Percona Everest (video)** + +[Watch Now](#) + +
+ +**Percona Operator based on Percona Server for MySQL 7.8 release** + +Introducing the latest iteration of the Percona Operator based on Percona Server for MySQL 7.8. This release simplifies deployment, scaling, and management of MySQL instances, ensuring high availability, and automatic backups. + +[Release Notes](#) +[Update Guide](#) + +
+ +**Percona Server for MySQL 7.8 release** + +This version introduces significant performance improvements, tighter security protocols, and an array of new features aimed at providing unparalleled efficiency and usability. + +[Release Notes](#) +[Update Guide](#) + +
+ +**Percona Everest walkthrough (video)** + +[Watch Now](#) + +
+ +**Percona XtraBackup 13.8 release** + +This new release brings forth substantial improvements to backup performance, efficiency, and usability. Key enhancements include faster backup and recovery times, improved support for large databases, and enhanced security features to safeguard your data. + +[Release Notes](#) +[Update Guide](#) + +
+ +[Read all news :material-arrow-right:](#){.md-button} + +
\ No newline at end of file diff --git a/docs/.DS_Store b/docs/.DS_Store new file mode 100644 index 0000000..7c75914 Binary files /dev/null and b/docs/.DS_Store differ diff --git a/docs/assets/highlight.jpg b/docs/assets/highlight.jpg new file mode 100644 index 0000000..7020c52 Binary files /dev/null and b/docs/assets/highlight.jpg differ diff --git a/docs/assets/logo-dark-mongodb.svg b/docs/assets/logo-dark-mongodb.svg new file mode 100644 index 0000000..5e287d3 --- /dev/null +++ b/docs/assets/logo-dark-mongodb.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/assets/logo-dark-mysql.svg b/docs/assets/logo-dark-mysql.svg new file mode 100644 index 0000000..af1f59a --- /dev/null +++ b/docs/assets/logo-dark-mysql.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/assets/logo-dark-operators.svg b/docs/assets/logo-dark-operators.svg new file mode 100644 index 0000000..60ff336 --- /dev/null +++ b/docs/assets/logo-dark-operators.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/assets/logo-dark-postgresql.svg b/docs/assets/logo-dark-postgresql.svg new file mode 100644 index 0000000..a5e3c94 --- /dev/null +++ b/docs/assets/logo-dark-postgresql.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/assets/logo-everest.svg b/docs/assets/logo-everest.svg new file mode 100644 index 0000000..5b2c427 --- /dev/null +++ b/docs/assets/logo-everest.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/logo-mongodb.svg b/docs/assets/logo-mongodb.svg new file mode 100644 index 0000000..3bf6132 --- /dev/null +++ b/docs/assets/logo-mongodb.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/logo-mysql.svg b/docs/assets/logo-mysql.svg new file mode 100644 index 0000000..4bcd1fa --- /dev/null +++ b/docs/assets/logo-mysql.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/logo-operators.svg b/docs/assets/logo-operators.svg new file mode 100644 index 0000000..6833644 --- /dev/null +++ b/docs/assets/logo-operators.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/docs/assets/logo-pmm.svg b/docs/assets/logo-pmm.svg new file mode 100644 index 0000000..05435dc --- /dev/null +++ b/docs/assets/logo-pmm.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/assets/logo-postgresql.svg b/docs/assets/logo-postgresql.svg new file mode 100644 index 0000000..9ee4b34 --- /dev/null +++ b/docs/assets/logo-postgresql.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/logo-pt.svg b/docs/assets/logo-pt.svg new file mode 100644 index 0000000..b425ba4 --- /dev/null +++ b/docs/assets/logo-pt.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/percona-fav.svg b/docs/assets/percona-fav.svg new file mode 100644 index 0000000..e671a46 --- /dev/null +++ b/docs/assets/percona-fav.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/assets/percona-mark.svg b/docs/assets/percona-mark.svg new file mode 100644 index 0000000..e38acc8 --- /dev/null +++ b/docs/assets/percona-mark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/css/design.css b/docs/css/design.css new file mode 100644 index 0000000..189a58c --- /dev/null +++ b/docs/css/design.css @@ -0,0 +1,669 @@ +/* +* Prefixed by https://autoprefixer.github.io +* PostCSS: v8.4.14, +* Autoprefixer: v10.4.7 +* Browsers: last 4 version +*/ + +/* Custom fonts */ + +@font-face { + font-family: "Poppins"; + src: url("../fonts/Poppins-Regular.ttf"); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: "Poppins"; + src: url("../fonts/Poppins-Italic.ttf"); + font-weight: normal; + font-style: italic; +} +@font-face { + font-family: "Poppins"; + src: url("../fonts/Poppins-SemiBold.ttf"); + font-weight: bold; + font-style: normal; +} +@font-face { + font-family: "Poppins"; + src: url("../fonts/Poppins-SemiBoldItalic.ttf"); + font-weight: bold; + font-style: italic; +} + +/* Variables */ + +:root { + + /* Typography */ + --fHeading: "Poppins", "Roboto", Arial, Helvetica, sans-serif; + + /* Colors */ + --white: #fff; + + /* Percona Night */ + --night500: #0E1A53; + --night400: #3E4875; + --night300: #5E668C; + + /* Percona Aqua */ + --aqua900: #14584B; + --aqua800: #1A7362; + --aqua700: #22947E; + --aqua600: #2CBEA2; + + /* Percona Sky */ + --sky900: #08386B; + --sky800: #0B4A8C; + --sky700: #0E5FB5; + --sky600: #127AE8; + --sky500: #1486FF; + --sky400: #439EFF; + --sky300: #62AEFF; + --sky200: #93C7FF; + + /* Percona Stone */ + --stone900: #2C323E; + --stone800: #3A4151; + --stone700: #4B5468; + --stone100: #D1D5DE; + --stone50: #F0F1F4; + + /* mkdocs root override */ + --md-primary-fg-color--dark: var(--night400); +} +:root, +[data-md-color-scheme="percona-light"] { + + /* Primitives */ + --md-primary-fg-color: var(--sky700); + + /* Type */ + --md-typeset-color: #2C323E; + --md-typeset-a-color: var(--sky700); + + /* Defaults */ + --md-default-bg-color: var(--white); + --md-default-fg-color--light: rgba(44,50,62,0.72); + --md-default-fg-color--lighter: rgba(44,50,62,0.40); + --md-default-fg-color--lightest: rgba(44,50,62,0.25); + + /* Accent */ + --md-accent-fg-color: var(--sky500); + + /* Footer */ + --md-footer-fg-color: var(--md-typeset-color); + --md-footer-fg-color--light: var(--md-default-fg-color--light); + --md-footer-fg-color--lighter: var(--md-default-fg-color--lighter); + --md-footer-bg-color: var(--stone50); + --md-footer-bg-color--dark: var(--stone50); + + /* Code */ + --md-code-bg-color: var(--stone800); + --md-code-bg-color: var(--stone50); +} +[data-md-color-scheme="percona-dark"] { + + /* Primitives */ + --md-hue: 230; + --md-primary-fg-color: var(--sky200); + + /* Type */ + --md-typeset-color: #FBFBFB; + --md-typeset-a-color: var(--sky200); + + /* Defaults */ + --md-default-bg-color: var(--stone900); + --md-default-fg-color--light: rgba(251,251,251,0.72); + --md-default-fg-color--lighter: rgba(251,251,251,0.4); + --md-default-fg-color--lightest: rgba(209,213,222,0.25); + + /* Accent */ + --md-accent-fg-color: var(--sky400); + --md-accent-bg-color: var(--stone900); + + /* Footer */ + --md-footer-fg-color: var(--md-typeset-color); + --md-footer-fg-color--light: var(--md-default-fg-color--light); + --md-footer-fg-color--lighter: var(--md-default-fg-color--lighter); + --md-footer-bg-color--dark: var(--stone800); + + /* Code */ + --md-code-bg-color: var(--stone50); + --md-code-bg-color: var(--stone800); +} + +/* Typography */ + +.md-typeset { + font-size: 0.75rem; +} +.md-typeset h1, +.md-typeset h2, +.md-typeset h3, +.md-typeset h4, +.md-typeset h5, +.md-typeset h6 { + font-family: var(--fHeading); + font-weight: bold; +} +.md-typeset h1 { + color: inherit; +} +.md-typeset h1 { + margin: 0 0 0.75em; +} +.md-header { + font-family: var(--fHeading); + font-weight: bold; +} +.md-header__button.md-logo { + margin: 0.2rem 0.1rem 0.2rem 0.4rem; + padding: 0.2rem; +} +.md-header__button.md-logo:focus-visible { + outline: 2px solid var(--sky600); +} +.md-header__button.md-logo img, +.md-header__button.md-logo svg { + height: 1.6rem; +} +.md-nav__link--active { + font-weight: bold; +} +.md-typeset small { + opacity: 0.5; +} +.md-content a:not(.md-button) { + text-decoration: underline; +} +.md-content .tabbed-labels a { + text-decoration: none; +} + +/* Header nav */ + +.md-header, +.md-tabs { + background-color: var(--night400); +} +[dir=ltr] .md-header__title { + margin-left: 0; +} +[dir=rtl] .md-header__title { + margin-right: 0; +} +.md-tabs .md-tabs__link { + font-family: var(--fHeading); + font-weight: bold; +} +.md-nav__source { + margin-top: -0.25rem; +} +.md-header__inner > :last-child { + padding-right: 0.6rem; +} +.md-tabs__item { + height: 2rem; +} +.md-tabs__link { + margin-top: 0.55rem; +} +.md-header__topic { + -webkit-transition: opacity .25s; + -o-transition: opacity .25s; + transition: opacity .25s; +} +.md-header__topic:hover { + opacity: 0.7; +} + +/* Footer */ + +.md-footer a { + text-decoration: underline; +} +.md-copyright, +.md-copyright__highlight { + color: var(--md-footer-fg-color--light); +} + +/* Base components */ + +.md-typeset .md-button { + font-family: var(--fHeading); + font-size: 0.6818rem; + font-weight: bold; + padding: 0.4167em 1.6em; + border-radius: 10rem; + -webkit-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +.md-typeset .md-button--primary { + color: var(--md-accent-bg-color); + -webkit-box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.20); + box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.20); +} +.md-typeset .md-button--primary:focus, +.md-typeset .md-button--primary:hover { + -webkit-box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.20); + box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.20); +} +.md-typeset .md-button:not(.md-button--primary):focus, +.md-typeset .md-button:not(.md-button--primary):hover { + background: none; + color: var(--md-accent-fg-color); +} +.md-typeset code { + font-size: 0.9091em; + color: var(--md-typeset-color); + vertical-align: baseline; + padding: 0 0.2em 0.1em; + border-radius: 0.15em; +} +.md-button code, +[data-md-color-scheme="percona-dark"] .md-button:not(.md-button--primary) code { + background-color: rgba(255, 255, 255, 0.1); + -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1) inset; + box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1) inset; +} +.md-button:not(.md-button--primary) code { + background-color: rgba(0, 0, 0, 0.05); + -webkit-box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05) inset; + box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.05) inset; +} +.md-content .md-button { + margin: 0 0.25em 0.5em 0; +} +.md-typeset .tabbed-labels--linked > label > a { + font-size: 0.75rem; + padding: 0.75em 1em; +} +.js .md-typeset .tabbed-labels:before { + height: 4px; + background-color: var(--md-typeset-a-color); +} +.md-typeset [class*="moji"] { + vertical-align: -0.25em; +} +.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child, .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10), .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11), .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12), .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13), .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14), .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15), .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16), .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17), .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18), .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19), .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2), .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20), .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3), .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4), .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5), .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6), .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7), .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8), .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9) { + color: var(--md-typeset-a-color); +} +.md-typeset .md-button [class*="moji"], +.md-typeset .tabbed-set [class*="moji"] { + height: 1.3333em; + vertical-align: -0.3333em; +} +.md-typeset .md-button [class*="moji"] svg, +.md-typeset .tabbed-set [class*="moji"] svg { + width: 1.3333em; +} +.md-typeset a [class*="moji"] { + vertical-align: -0.2222em; +} +.md-clipboard { + color: var(--md-default-fg-color--lighter); +} +.md-typeset hr { + margin: 2em 0; + border-color: var(--md-default-fg-color--lightest) +} +.md-typeset .tabbed-labels { + -webkit-box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest) inset; + box-shadow: 0 -0.05rem var(--md-default-fg-color--lightest) inset; +} +.md-typeset .tabbed-labels > label:hover { + color: var(--md-accent-fg-color); +} +.md-typeset .tabbed-button { + width: 1.25rem; + height: 1.25rem; + margin-top: 0.0625rem; +} +.md-typeset .tabbed-control { + width: 2.25rem; + height: 2.25rem; +} +.tabbed-block > *:last-child { + margin-bottom: 0; +} + +/* Content re-styling */ + +.md-main__inner { + margin-top: 0.75rem; + margin-bottom: 0.75rem; +} +.md-typeset [type=checkbox]:checked + .task-list-indicator:before { + background-color: var(--aqua600); +} +.md-feedback { + margin: 2em 0 !important; +} +:not([data-banner]):not(.splash) + .md-feedback { + padding-top: 2em; + border-top: 0.05rem solid var(--md-default-fg-color--lightest); +} +.md-typeset .admonition, +.md-typeset details { + --md-admonition-bg-color: var(--md-default-bg-color); + --md-admonition-fg-color: var(--md-typeset-color); + border-width: 0.1125rem; + -webkit-box-shadow: none; + box-shadow: none; +} +.md-tabs__link { + font-size: 0.67rem; +} +.md-tabs__item--active .md-tabs__link, +.md-tabs__item--active .md-tabs__link a { + font-weight: bold; + border-bottom: 0.15em solid currentColor; +} +.md-sidebar__scrollwrap { + scrollbar-gutter: unset; +} + +/* Custom Banner */ + +[data-banner] { + padding: 1.5em; + margin: 1.5em 0; + border: 0.05rem solid var(--md-default-fg-color--lightest); + border-radius: 0.2rem; + /* box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.12), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 3px 1px -2px rgba(0, 0, 0, 0.20); */ + -webkit-transition: all 0.2s ease-out; + -o-transition: all 0.2s ease-out; + transition: all 0.2s ease-out; +} +[data-banner]:hover { + -webkit-box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.20); + box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.20); +} +[data-banner] .title { + font-weight: bold; + margin: 0; +} +[data-banner] .title + * { + margin-top: 0.25em; +} +[data-banner] > :last-child { + margin-bottom: 0; +} +[data-banner] a:link { + font-family: var(--fHeading); + font-size: 0.6818rem; + font-weight: bold; + text-decoration: none; +} +[data-banner] .actions > p { + margin: 0; +} +[data-banner] .actions a { + display: inline-block; + margin: 0 1em 0 0; +} +[data-banner] > :only-child, +[data-banner] .actions a:first-of-type { + margin-top: 0; +} +[data-banner] a [class*="moji"] { + height: 1.3333em; + vertical-align: -0.3333em; +} +[data-banner] a [class*="moji"] svg { + width: 1.3333em; +} +[data-banner="logo"] > p:first-child { + margin-top: 0; +} +[data-banner="logo"] > p:first-child [class*="moji"] { + font-size: 4em; +} +[data-grid] { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + margin-right: -1rem; +} +[data-grid] [data-banner] { + -webkit-box-flex: 1; + -ms-flex: 1 1 320px; + flex: 1 1 320px; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + margin: 0 1rem 1rem 0; +} +[data-grid] .title { + font-size: 0.8rem; + font-weight: bold; +} +[data-grid] [data-banner] > p:last-child { + margin-top: 0; +} +[data-grid] [data-banner] > p:nth-last-child(2) { + -webkit-box-flex: 2; + -ms-flex-positive: 2; + flex-grow: 2; +} +[data-grid] + [data-banner] { + margin-top: 0; +} +[data-grid] .md-button { + margin: 0.5em 0.25em 0 0; +} + +/* Custom lists */ + +[dir] .power-bullet + ul, +[dir] .power-bullet + ul ul, +[dir] .power-bullet + ul ol, +[dir] .power-number + ol, +[dir] .power-number + ol ol, +[dir] .power-number + ol ul { + list-style: none; + --power-list-indent: 2em; + --power-list-gap: 0.5em; + --power-list-counter-size: calc(var(--power-list-indent) - var(--power-list-gap)); + margin: 1.25em 0 2em; +} +[dir] .power-bullet + ul ul:last-child, +[dir] .power-bullet + ul ol:last-child, +[dir] .power-number + ol ol:last-child, +[dir] .power-number + ol ul:last-child { + margin-bottom: 0; +} +.power-bullet + ul > li:not(:last-child), +.power-bullet + ul ul > li:not(:last-child), +.power-bullet + ul ol > li:not(:last-child), +.power-number + ol > li:not(:last-child), +.power-number + ol ol > li:not(:last-child), +.power-number + ol ul > li:not(:last-child) { + margin-bottom: 1.25em; +} +[dir=ltr] .power-bullet + ul > li, +[dir=ltr] .power-bullet + ul ul > li, +[dir=ltr] .power-bullet + ul ol > li, +[dir=ltr] .power-number + ol > li, +[dir=ltr] .power-number + ol ol > li, +[dir=ltr] .power-number + ol ul > li { + margin-left: var(--power-list-indent); +} +[dir=rtl] .power-bullet + ul > li, +[dir=rtl] .power-bullet + ul ul > li, +[dir=rtl] .power-bullet + ul ol > li, +[dir=rtl] .power-number + ol > li, +[dir=rtl] .power-number + ol ol > li, +[dir=rtl] .power-number + ol ul > li { + margin-right: var(--power-list-indent); +} +.power-bullet + ul > li::before, +.power-bullet + ul ul > li::before, +.power-number + ol ul > li::before { + content: "→"; +} +.power-number + ol, +.power-number + ol ol, +.power-bullet + ul ol { + counter-reset: power-list; +} +.power-number + ol > li, +.power-number + ol ol > li, +.power-bullet + ul ol > li { + counter-increment: power-list; + position: relative; +} +.power-number + ol > li::before, +.power-number + ol ol > li::before, +.power-bullet + ul ol > li::before { + content: counter(power-list); + font-family: var(--fHeading); +} +.power-bullet + ul > li::before, +.power-bullet + ul ul > li::before, +.power-bullet + ul ol > li::before, +.power-number + ol > li::before, +.power-number + ol ol > li::before, +.power-number + ol ul > li::before { + display: inline-block; + position: absolute; + font-weight: bold; + text-align: center; + line-height: var(--power-list-counter-size); + width: var(--power-list-counter-size); + height: var(--power-list-counter-size); + margin-right: var(--power-list-gap); + border-radius: 50%; + color: var(--md-default-bg-color); + background-color: var(--md-typeset-color); +} +[dir=ltr] .power-bullet + ul > li::before, +[dir=ltr] .power-bullet + ul ul > li::before, +[dir=ltr] .power-bullet + ul ol > li::before, +[dir=ltr] .power-number + ol > li::before, +[dir=ltr] .power-number + ol ol > li::before, +[dir=ltr] .power-number + ol ul > li::before { + margin-left: calc(var(--power-list-indent) - (var(--power-list-indent) * 2)); +} +[dir=rtl] .power-bullet + ul > li::before, +[dir=rtl] .power-bullet + ul ul > li::before, +[dir=rtl] .power-bullet + ul ol > li::before, +[dir=rtl] .power-number + ol > li::before, +[dir=rtl] .power-number + ol ol > li::before, +[dir=rtl] .power-number + ol ul > li::before { + margin-right: calc(var(--power-list-indent) - (var(--power-list-indent) * 2)); +} +.power-bullet + ul ul > li::before, +.power-bullet + ul ol > li::before, +.power-number + ol ul > li::before, +.power-number + ol ol > li::before { + opacity: 0.3; +} + +/* Custom highlights */ + +i[info], +i[warning] { + font-style: normal; + font-weight: bold; + display: inline-block; + padding: 0 0.25em; + border-radius: 0.2em; +} +i[info] { + background-color: #00b8d41a; + border-width: 0.05rem; + border-style: solid; + border-color: #00b8d41a; +} +i[info] [class*="moji"] { + color: #00b8d4; +} +i[warning] { + background-color: #ff91001a; + border-width: 0.05rem; + border-style: solid; + border-color: #ff91001a; +} +i[warning] [class*="moji"] { + color: #ff9100; +} + +/* Modals */ + +.md-consent__overlay { + -webkit-backdrop-filter: blur(.2rem); + backdrop-filter: blur(.2rem); + background-color: rgba(44,50,62,0.72); +} +.md-consent__inner { + background-color: var(--md-footer-bg-color--dark); +} + +/* Code injections */ + +.injections { + position: absolute; + width: 0; + height: 0; + padding: 0; + margin: 0; + visibility: hidden; + pointer-events: none; +} + +/* Super Nav */ + +.superNav { + font-family: var(--fHeading); + font-size: 0.5625rem; + line-height: 1; + font-weight: bold; + text-transform: uppercase; + letter-spacing: 0.0625em; + color: var(--white); + background-color: var(--stone800); +} +.superNav a { + display: inline-block; + padding: 0.25rem 0.625rem !important; + transition: all 0.2s ease-out; +} +.superNav a:hover { + opacity: 0.7; +} +.superNav svg { + width: 1.375em; + height: 1.375em; + margin-right: 0.125em; + fill: currentColor; + vertical-align: -0.3125em; +} + +/* Media queries */ + +@media screen and (max-width: 76.1875em) { + .md-nav--primary .md-nav__title[for=__drawer], + .md-nav--primary .md-nav__title { + line-height: 1.5; + height: unset; + padding: 3.5rem .8rem 0.5rem; + color: var(--md-primary-bg-color); + background-color: var(--md-primary-fg-color--dark); + } +} +@media screen and (max-width: 60em) { + [data-banner] { + padding: 1em; + } +} +/**/ \ No newline at end of file diff --git a/docs/css/landing.css b/docs/css/landing.css new file mode 100644 index 0000000..3cc6ef7 --- /dev/null +++ b/docs/css/landing.css @@ -0,0 +1,309 @@ +/* +* Prefixed by https://autoprefixer.github.io +* PostCSS: v8.4.14, +* Autoprefixer: v10.4.7 +* Browsers: last 4 version +*/ + + +/* Type */ + +.landing h1, +.landing h2 { + font-size: calc(1.5em + 1vw); + line-height: 1; + text-transform: uppercase; + letter-spacing: 0; + margin: 0.5em 0; +} + +/* Layout adjustments */ + +.md-header, .md-tabs { + background-color: var(--stone800); +} +.landing > :not(:last-child) { + margin-bottom: 2em; +} +[data-grid] [data-banner] { + flex: 0 1 calc(50% - 1rem); +} + +/* Splash Box */ + +.splash { + display: flex; + position: relative; + justify-content: space-between; + align-items: center; + line-height: 1.25; + padding: calc(0.5em + 3%); + border: 1px solid var(--md-default-fg-color--lightest); + border-radius: calc(0.5rem + 0.75vw); + background: linear-gradient(110deg, var(--md-default-bg-color) 33%, var(--md-footer-bg-color--dark) 95%); + overflow: hidden; + background-repeat: no-repeat; +} +.splash.dark { + color: var(--white); + --md-primary-fg-color: var(--stone50); + --md-accent-fg-color: var(--white); +} +.splash.subpage h1 { + text-transform: initial; +} +.splash.highlight { + background: + linear-gradient( + 110deg, + rgba(44,50,62,0.9) 10%, + rgba(44,50,62,0.1) 90% + ), + url(../assets/highlight.jpg) center / cover var(--stone800); + border: none; + background-repeat: no-repeat; +} +.splash.mysql { + background: + linear-gradient( + 110deg, + rgba(0,0,0,0.2) 33%, + rgba(0,0,0,0.1) 95% + ), + linear-gradient( + 110deg, + rgb(14,95,181) 33%, + rgb(48,209,178) 95% + ); +} +.splash.postgresql { + background: + linear-gradient( + 110deg, + rgba(0,0,0,0.4) 33%, + rgba(0,0,0,0.1) 95% + ), + linear-gradient( + 110deg, + rgb(78,91,150) 33%, + rgb(67,158,255) 95% + ); +} +.splash.mongodb { + background: + linear-gradient( + 110deg, + rgba(0,0,0,0.4) 33%, + rgba(0,0,0,0.1) 95% + ), + linear-gradient( + 110deg, + rgb(24,109,73) 33%, + rgb(48,209,190) 95% + ); +} +.splash.operators { + background: + linear-gradient( + 110deg, + transparent 33%, + rgba(0,0,0,0.1) 95% + ), + linear-gradient( + 110deg, + rgb(11,39,140) 33%, + rgb(20,142,255) 95% + ); +} +.splash.header { + flex-direction: column; + justify-content: center; + align-items: flex-start; + border: none; + background-repeat: no-repeat; + min-height: 12rem; +} + +/* Splash Contents */ + +.splash > * { + flex: 0 1 45%; +} +.splash h1, +.splash h2 { + margin-top: 0; + margin-bottom: -0.125em; +} +.splash > :last-child { + margin-bottom: 0; +} +.splash-links > :not(:last-child) { + margin-bottom: 1em; +} +.splash.dark .md-button { + border-color: rgba(255, 255, 255, 0.4) +} +.splash.dark .md-button:hover { + border-color: var(--white) +} +.splash.dark .md-button--primary, +.splash.dark .md-button--primary:hover { + color: var(--stone700); +} +.splash.dark .md-button--primary:hover { + color: var(--stone900); +} +.splash.header > * { + max-width: 30rem; + z-index: 1; +} +.splash.header > :first-child { + margin: 0; +} +.splash.header img { + display: block; + position: absolute; + top: 50%; + right: 1rem; + width: 12rem; + height: 12rem; + margin: 0; + transform: translateY(-50%); + z-index: 0; +} + +/* Splash Card */ + +a.splash-card { + display: flex; + flex-direction: column; + justify-content: center; + min-height: 6.75em; + padding: 0.75rem 0.375rem 0.5rem 4.75rem; + border: 1px solid var(--md-default-fg-color--lightest); + border-radius: calc(0.25rem + 0.375vw); + cursor: pointer; + text-decoration: none !important; + color: var(--md-typeset-color); + position: relative; + background-color: var(--md-default-bg-color); + transition: all 0.2s ease-out; +} +.splash.highlight a.splash-card { + color: var(--white); + background-color: rgba(255, 255, 255, 0.2); + -webkit-backdrop-filter: blur(0.75rem); + backdrop-filter: blur(0.75rem); + border-color: rgba(255,255,255,0.1); +} +a.splash-card:hover { + box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.12), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 2px 4px -1px rgba(0, 0, 0, 0.20); + color: var(--md-typeset-color); +} +.splash.highlight a.splash-card:hover { + background-color: rgba(255, 255, 255, 0.4); + border-color: rgba(255,255,255,0.2); + -webkit-backdrop-filter: blur(1.5rem); + backdrop-filter: blur(1.5rem); +} +a.splash-card img { + display: block; + position: absolute; + top: 0.75rem; + left: 0.75rem; + width: 3.5rem; + height: 3.5rem; + border-radius: 0.25rem; + float: left; +} +.splash-card > * { + margin: 0 0.25rem 0.25rem 0 !important; +} +.splash-card > h3 { + font-size: 0.875rem; + margin-bottom: 0.0625rem !important; +} + +/* News elements */ + +[data-news] { + display: flex; + flex-wrap: wrap; + margin-right: -1rem; +} +[data-news] [data-article] { + flex: 0 1 calc(50% - 1rem); + display: flex; + flex-direction: column; + margin: 0 1rem 1rem 0; + padding: 0 1rem 1rem 0; + border-bottom: 1px solid var(--md-default-fg-color--lightest); +} +[data-article] > * { + margin: 0.25rem 0; +} +[data-article] > :first-child { + font-family: var(--fHeading); + font-size: 0.8rem; + /* flex-grow: 1; */ +} +[data-article] > :nth-child(2):not(:last-child) { + font-size: 0.875em; + line-height: 1.4; + display: -webkit-box; + -webkit-line-clamp: 3; + -webkit-box-orient: vertical; + overflow: hidden; + text-overflow: ellipsis; + max-height: 2.8em; + position: relative; +} +[data-article] > :nth-child(2):not(:last-child)::after { + content: ""; + position: absolute; + display: block; + right: 0; + bottom: 0; + width: 4rem; + height: 1.4em; + background: linear-gradient(to right, transparent 0%, var(--md-default-bg-color) 50%); +} +[data-article] > :last-child > * { + margin-right: 1em; +} +[data-article] a:link { + font-family: var(--fHeading); + font-size: 0.6818rem; + font-weight: bold; + text-decoration: none; +} + +/* Super Nav overrides */ + +.superNav { + display: none; +} + +/* Conditionals */ + +@media screen and (max-width: 76.1875em) { + .md-nav--primary .md-nav__title[for=__drawer], + .md-nav--primary .md-nav__title { + background-color: var(--stone800); + } +} +@media screen and (max-width: 55em) { + .splash.header img { + right: -2rem; + opacity: 0.2; + } +} +@media screen and (max-width: 45em) { + .splash { + flex-direction: column; + } + [data-grid] [data-banner], + [data-news] [data-article] { + flex: 1 1 100%; + } +} \ No newline at end of file diff --git a/docs/css/osano.css b/docs/css/osano.css new file mode 100644 index 0000000..8f3a181 --- /dev/null +++ b/docs/css/osano.css @@ -0,0 +1,202 @@ +/* General styling */ + +.osano-cm-window { + font-family: "Roboto", Arial, Helvetica, sans-serif; + font-size: 20px; +} +.osano-cm-dialog--type_bar { + justify-content: center; +} +.osano-cm-dialog { + font-size: 0.75em; + padding: 2em 1em; + color: var(--md-typeset-color); + background: var(--md-footer-bg-color--dark); +} +.osano-cm-header, +.osano-cm-info-dialog-header { + background: var(--md-default-bg-color); +} +.osano-cm-link, +.osano-cm-disclosure__toggle, +.osano-cm-expansion-panel__toggle { + color: var(--md-typeset-a-color); +} +.osano-cm-link:hover, +.osano-cm-link:active, +.osano-cm-disclosure__toggle:hover, +.osano-cm-disclosure__toggle:active, +.osano-cm-disclosure__toggle:focus, +.osano-cm-expansion-panel__toggle:hover, +.osano-cm-expansion-panel__toggle:active, +.osano-cm-expansion-panel__toggle:focus { + color: var(--md-accent-fg-color); +} +.osano-cm-drawer-links { + display: inline-block; +} +.osano-cm-link.osano-cm-storage-policy { + margin-right: 0.5em; +} +.osano-cm-description { + font-weight: 400; +} +.osano-cm-info { + color: var(--md-typeset-color); + background: var(--md-default-bg-color); + box-shadow: unset; +} +.osano-cm-dialog--hidden, +.osano-cm-info-dialog--hidden { + transition-delay: 0ms, 0ms; +} +.osano-cm-disclosure { + padding-top: 0; +} +.osano-cm-disclosure--collapse { + border-color: var(--md-default-fg-color--lightest); +} + +/* Closing button */ + +.osano-cm-dialog__close, +.osano-cm-dialog__close:hover, +.osano-cm-dialog__close:focus, +.osano-cm-dialog__close:focus:hover { + color: var(--md-typeset-color); + stroke: var(--md-typeset-color); + border-color: transparent; + outline: initial; +} +.osano-cm-dialog__close:focus { + background-color: var(--md-default-fg-color--lightest); +} +.osano-cm-close { + padding: 0.25em; + margin: 0.5em; + stroke-width: 2px; + border-width: 2px; + opacity: 0.4; +} +.osano-cm-close:focus, +.osano-cm-close:hover { + stroke-width: 2px; + opacity: 1; +} +.osano-cm-info-dialog-header__close:focus { + background-color: var(--md-typeset-color); +} + +/* Switch buttons */ + +.osano-cm-toggle__switch { + background-color: var(--md-default-fg-color--lightest); + transition: all 0.1s ease-out; +} +.osano-cm-toggle__input:hover + .osano-cm-toggle__switch { + background-color: var(--md-default-fg-color--light); + border-color: transparent; +} +.osano-cm-toggle__input:focus + .osano-cm-toggle__switch { + background-color: var(--md-default-fg-color--lightest); + border-color: transparent; +} +.osano-cm-toggle__input:focus + .osano-cm-toggle__switch::before { + border-color: var(--md-accent-fg-color); +} +.osano-cm-toggle__input:focus:hover + .osano-cm-toggle__switch { + background-color: var(--md-default-fg-color--light); + border-color: transparent; +} +.osano-cm-toggle__input:checked + .osano-cm-toggle__switch, +.osano-cm-toggle__input:disabled:checked + .osano-cm-toggle__switch { + background-color: var(--md-primary-fg-color); + border-color: var(--md-primary-fg-color); +} +.osano-cm-toggle__input:checked:hover + .osano-cm-toggle__switch, +.osano-cm-toggle__input:disabled:checked:hover + .osano-cm-toggle__switch { + background-color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); +} +.osano-cm-toggle__input:checked:focus + .osano-cm-toggle__switch, +.osano-cm-toggle__input:disabled:checked:focus + .osano-cm-toggle__switch { + background-color: var(--md-primary-fg-color); + border-color: var(--md-primary-fg-color); +} +.osano-cm-toggle__input:checked:focus + .osano-cm-toggle__switch::before { + border-color: var(--md-accent-fg-color); +} +.osano-cm-toggle__input:checked:focus:hover + .osano-cm-toggle__switch { + background-color: var(--md-accent-fg-color); + border-color: var(--md-accent-fg-color); +} +.osano-cm-toggle__input:disabled:checked + .osano-cm-toggle__switch, +.osano-cm-toggle__input:disabled:checked:focus + .osano-cm-toggle__switch, +.osano-cm-toggle__input:disabled:checked:hover + .osano-cm-toggle__switch { + opacity: 0.3; + cursor: not-allowed; +} +.osano-cm-toggle__input + .osano-cm-toggle__switch::after { + background-color: var(--md-default-bg-color) !important; +} +.osano-cm-toggle__input:checked + .osano-cm-toggle__switch::before { + border-color: transparent; +} +.osano-cm-list { + gap: 0.75em; +} + +/* CTA Buttons */ + +.osano-cm-dialog__buttons { + display: flex; + justify-content: flex-start; + flex-wrap: wrap; + gap: 0.5em 0.75em; +} +.osano-cm-button { + font-family: var(--fHeading); + flex: 1 1 20em; + color: var(--md-primary-fg-color); + background-color: transparent; + border-width: 2px; + border-color: var(--md-primary-fg-color); + border-radius: 20em; +} +.osano-cm-button:hover { + color: var(--md-accent-fg-color); + background-color: transparent; + border-color: var(--md-accent-fg-color); +} + +/* Widget */ + +.osano-cm-widget { + display: none; + opacity: 0.5; + border-radius: 10em; + bottom: 3em; +} +.osano-cm-widget:focus { + outline-offset: 0.125em; + outline-color: var(--md-default-fg-color--lighter); + outline-width: 0.1875em; +} +.osano-cm-widget__outline { + fill: transparent; + stroke: var(--md-typeset-color); +} +.osano-cm-widget__dot { + fill: var(--md-typeset-color); +} + +/* Media conditions */ + +@media screen and (min-width: 768px) { + .osano-cm-dialog--type_bar .osano-cm-dialog__content { + max-width: 50em; + } + .osano-cm-dialog--type_bar .osano-cm-dialog__buttons { + max-width: 20em; + } +} \ No newline at end of file diff --git a/docs/dummy.md b/docs/dummy.md new file mode 100644 index 0000000..717fbad --- /dev/null +++ b/docs/dummy.md @@ -0,0 +1 @@ +--8<-- "dummy.md" \ No newline at end of file diff --git a/docs/fonts/Poppins-Italic.ttf b/docs/fonts/Poppins-Italic.ttf new file mode 100644 index 0000000..12b7b3c Binary files /dev/null and b/docs/fonts/Poppins-Italic.ttf differ diff --git a/docs/fonts/Poppins-Light.ttf b/docs/fonts/Poppins-Light.ttf new file mode 100644 index 0000000..bc36bcc Binary files /dev/null and b/docs/fonts/Poppins-Light.ttf differ diff --git a/docs/fonts/Poppins-LightItalic.ttf b/docs/fonts/Poppins-LightItalic.ttf new file mode 100644 index 0000000..9e70be6 Binary files /dev/null and b/docs/fonts/Poppins-LightItalic.ttf differ diff --git a/docs/fonts/Poppins-Medium.ttf b/docs/fonts/Poppins-Medium.ttf new file mode 100644 index 0000000..6bcdcc2 Binary files /dev/null and b/docs/fonts/Poppins-Medium.ttf differ diff --git a/docs/fonts/Poppins-MediumItalic.ttf b/docs/fonts/Poppins-MediumItalic.ttf new file mode 100644 index 0000000..be67410 Binary files /dev/null and b/docs/fonts/Poppins-MediumItalic.ttf differ diff --git a/docs/fonts/Poppins-Regular.ttf b/docs/fonts/Poppins-Regular.ttf new file mode 100644 index 0000000..9f0c71b Binary files /dev/null and b/docs/fonts/Poppins-Regular.ttf differ diff --git a/docs/fonts/Poppins-SemiBold.ttf b/docs/fonts/Poppins-SemiBold.ttf new file mode 100644 index 0000000..74c726e Binary files /dev/null and b/docs/fonts/Poppins-SemiBold.ttf differ diff --git a/docs/fonts/Poppins-SemiBoldItalic.ttf b/docs/fonts/Poppins-SemiBoldItalic.ttf new file mode 100644 index 0000000..3e6c942 Binary files /dev/null and b/docs/fonts/Poppins-SemiBoldItalic.ttf differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..5a0b00c --- /dev/null +++ b/docs/index.md @@ -0,0 +1,123 @@ +--- +hide: +- toc +- feedback +- navigation +--- +
+ + + +
+ +
+

+ Open-source databases +

+

+ Learn how to set up Percona's open-source solutions for your database needs. Pick your favorite technology to access our step-by-step guidance and documentation. +

+
+ + +
+ + + +
+ +
+

+ Cloud-native databases +

+

+ Leverage the power of modern open-source databases on the cloud with Percona solutions for PostgreSQL, MongoDB, and MySQL. Click to start your cloud-native databases journey with our documentation. +

+
+ + +
+ + + +
+ +
+

+ Database tools +

+

+ Learn how to set up Percona's open-source solutions for your database needs. Pick your favorite technology to access our step-by-step guidance and documentation. +

+
+ + +
+ +
\ No newline at end of file diff --git a/docs/js/consent.js b/docs/js/consent.js new file mode 100644 index 0000000..b6f8a8a --- /dev/null +++ b/docs/js/consent.js @@ -0,0 +1,6 @@ +var consent = __md_get("__consent") +if (consent && consent.custom) { + /* The user accepted the cookie */ +} else { + /* The user rejected the cookie */ +} \ No newline at end of file diff --git a/docs/percona-for-mongodb.md b/docs/percona-for-mongodb.md new file mode 100644 index 0000000..4f3a893 --- /dev/null +++ b/docs/percona-for-mongodb.md @@ -0,0 +1,89 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +
+
+ +![Percona for MongoDB logo](assets/logo-dark-mongodb.svg) + +# Percona for MongoDB + +Explore our Percona Software for MongoDB documentation. Find user guides, quickstarts, and how-tos tailored to help you build, deploy, manage, and automate MongoDB effectively. + +
+
+ + + +## Documentation + +
+
+ +### :percona-mongodb: Percona Server for MongoDB {.title} + +An enhanced, fully compatible, source available, drop-in replacement for MongoDB Community Edition with enterprise-grade features. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pbm-docs/) + +
+
+
+ +### :percona-operators: Percona Operator for MongoDB {.title} + +Based on best practices for the configuration of Percona Server for MongoDB, the Operator automates deployment and management of MongoDB clusters on Kubernetes, saving your time and ensuring a consistent environment. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pbm-docs/) + +
+
+
+ +### :percona-mongodb: Percona Backup for MongoDB {.title} + +An open source, community backup tool for performing consistent backups and restores in MongoDB clusters and replica sets. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pbm-docs/) + +
+
+
+ +### :percona-mongodb: Percona Distribution for MongoDB {.title} + +A collection of solutions to run and operate your MongoDB efficiently with the data being consistently backed up. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pbm-docs/) + +
+
+
+ +### :percona-pmm: Monitoring MongoDB with PMM {.title} + +High-quality, polyglot monitoring, alerting and more functionalities for MongoDB and other database technologies. + +
+ +[PMM Documentation :material-arrow-right:](https://docs.percona.com/percona-monitoring-and-management) + +
+
+
\ No newline at end of file diff --git a/docs/percona-for-mysql.md b/docs/percona-for-mysql.md new file mode 100644 index 0000000..ef9c4b3 --- /dev/null +++ b/docs/percona-for-mysql.md @@ -0,0 +1,128 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +
+
+ +![Percona for MySQL logo](assets/logo-dark-mysql.svg) + +# Percona for MySQL + +Quickstart guides, user guides, and how-tos, release notes, and the latest downloads. Everything you need to optimize your MySQL databases is right here. + +
+
+ + + +## Documentation + +
+
+ +### :percona-mysql: Percona Server for MySQL {.title} + +An enhanced, fully compatible, source available, drop-in replacement for MySQL Community Edition with enterprise-level features. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-operators: Percona Operator based on Percona Server for MySQL {.title} + +Automate deployment and management of MySQL clusters on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-mysql: Percona XtraDB Cluster {.title} + +A database cluster solution for MySQL. +It ensures high availability, prevents downtime and data loss, and provides linear scalability for a growing environment. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-operators: Percona Operator based on Percona XtraDB Cluster {.title} + +Automate deployment and management of Percona XtraDB Clusters (MySQL clustering solution) on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-mysql: Percona XtraBackup {.title} + +An open source, hot backup utility for MySQL-based servers that keeps your database fully available during planned maintenance windows. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-mysql: Percona Distribution for MySQL {.title} + +A single solution with the best and most critical enterprise components from the MySQL open source community, designed and tested to work together. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/pxb-docs/) + +
+
+
+ +### :percona-mysql: ProxySQL Admin Utilities {.title} + +Use ProxySQL Admin to configure Percona XtraDB Cluster nodes into ProxySQL. The Percona Scheduler Admin has a segment-aware failover mechanism and can automatically perform a failover due to node failures, service degradation, or maintenance requirements. + +
+ +[Documentation :material-arrow-right:](#) + +
+
+
+ +### :percona-pmm: Monitoring MySQL with PMM {.title} + +An open source database monitoring, management and observability solution for MySQL and other database technologies. + +
+ +[PMM Documentation :material-arrow-right:](https://docs.percona.com/percona-monitoring-and-management) + +
+
+
\ No newline at end of file diff --git a/docs/percona-for-postgresql.md b/docs/percona-for-postgresql.md new file mode 100644 index 0000000..16b4ec5 --- /dev/null +++ b/docs/percona-for-postgresql.md @@ -0,0 +1,76 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +
+
+ +![Percona for PostgreSQL logo](assets/logo-dark-postgresql.svg) + +# Percona for PostgreSQL + +Explore our Percona Software for PostgreSQL documentation. Find user guides, quickstarts, and how-tos tailored to help you build, deploy, manage, and automate PostgreSQL effectively. + +
+
+ + + +## Documentation + +
+
+ +### :percona-postgresql: Percona Distribution for PostgreSQL {.title} + +A native PostgreSQL server enhanced with the set of extensions for high availability, backup, security, and observability, all tested to work together. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/postgresql-docs/) + +
+
+
+ +### :percona-operators: Percona Operator for PostgreSQL {.title} + +Automate deployment and management of PostgreSQL clusters on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/postgresql-docs/) + +
+
+
+ +### :percona-postgresql: Query Performance Monitoring for PostgreSQL {.title} + +A query performance monitoring tool that brings more insight and details around query performance, planning statistics and metadata on PostgreSQL systems. It improves observability, enabling you to debug and tune query performance with precision. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/postgresql-docs/) + +
+
+
+ +### :percona-pmm: Monitoring PostgreSQL with PMM {.title} + +An open source database monitoring, management and observability solution for PostgreSQL and other database technologies. + +
+ +[PMM Documentation :material-arrow-right:](https://docs.percona.com/percona-monitoring-and-management) + +
+
+
\ No newline at end of file diff --git a/docs/percona-lab.md b/docs/percona-lab.md new file mode 100644 index 0000000..d6feeb3 --- /dev/null +++ b/docs/percona-lab.md @@ -0,0 +1,25 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +!!! warning "Disclaimer" + + The software is in the testing stage and may cause unexpected behavior. Not all features may be available or be fully functional. Back up your data before using this software, it may cause data loss. Do not use this software in a production environment. We provide no support for this software. Check the system requirements and release notes for any known compatibility issues before installing. Be prepared for unexpected behavior. Help us to improve by sharing your experiences and reporting any issues. The documentation in this section is based on early versions of the software and describes incomplete features. Expect frequent updates. The features described may change or be removed. New features may be added in the future. + +## Percona Lab software + +
+ +### Transparent Data Encryption for PosgreSQL {.title} + +A extension that brings in [Transparent Data Encryption (TDE)](https://percona-lab.github.io/pg_tde/main/tde.html) to PostgreSQL and enables users to keep sensitive data safe and secure. + +
+ +[Documentation :material-arrow-right:](https://percona-lab.github.io/pg_tde/main/) + +
+
\ No newline at end of file diff --git a/docs/percona-operators.md b/docs/percona-operators.md new file mode 100644 index 0000000..8c497b6 --- /dev/null +++ b/docs/percona-operators.md @@ -0,0 +1,77 @@ +--- +hide: +- feedback +- navigation +- toc +--- + +
+
+ +![Percona Operators logo](assets/logo-dark-operators.svg) + +# Percona Operators + +Explore our Percona Kubernetes Operators documentation. Find user guides, quickstarts, and how-tos tailored to help you deploy and scale your databases with Kubernetes. + +
+
+ + + +## Documentation + +
+
+ +### :percona-operators: Percona Operator for PostgreSQL {.title} + +Automate deployment and management of PostgreSQL clusters on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/k8spg-docs/) + +
+
+
+ +### :percona-operators: Percona Operator for MongoDB {.title} + +Based on best practices for the configuration of Percona Server for MongoDB, the Operator automates deployment and management of MongoDB clusters on Kubernetes, saving your time and ensuring a consistent environment. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/k8spg-docs/) + +
+
+
+ +### :percona-operators: Percona Operator based on Percona Server for MySQL {.title} + +Automate deployment and management of MySQL clusters on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/k8spg-docs/) + +
+
+
+ +### :percona-operators: Percona Operator based on Percona XtraDB Cluster {.title} + +Automate deployment and management of Percona XtraDB Clusters (MySQL clustering solution) on Kubernetes with Operator. + +
+ +[Releases](#) +[Quickstart Docs :material-arrow-right:](https://pmcf-percona.github.io/k8spg-docs/) + +
+
+
\ No newline at end of file diff --git a/docs/test/ps-mysql.md b/docs/test/ps-mysql.md new file mode 100644 index 0000000..c08345d --- /dev/null +++ b/docs/test/ps-mysql.md @@ -0,0 +1,41 @@ +# Percona Server for MySQL + +Percona Server for MySQL is a high-performance, open-source drop-in replacement for MySQL. It allows you to enhance your database with superior performance, scalability, availability, and enhanced backups and is trusted by enterprises for demanding workloads. + +Starting with Percona Server for MySQL is easy. Follow our documentation guides, and you’ll be set up in a minute. + +
+ +## :material-progress-download: Installation guides { .title } + +Want to see it for yourself? Get started quickly with our step-by-step installation instructions. + +[Quickstart Guides :material-arrow-right:](#){ .md-button } + +
+ +## :material-security: Top-notch security { .title } + +Rest assured! Learn more about our security features designed to protect your valuable data. + +[Security Measures :material-arrow-right:](#){ .md-button } + +
+ +## :material-console: Smooth your deployment { .title } + +Discover the requirements to start with Percona Server for MySQL production. + +[Production Requirements :material-arrow-right:](#){ .md-button } + +
+ +## :material-frequently-asked-questions: Troubleshooting and Q&A { .title } + +Our comprehensive resources will help you overcome challenges, from everyday issues to specific doubts. + +[Troubleshoot and Q&A :material-arrow-right:](#){ .md-button } + +
+ +--8<-- "services-banner.md" \ No newline at end of file diff --git a/docs/test/quickstart-guides.md b/docs/test/quickstart-guides.md new file mode 100644 index 0000000..e384365 --- /dev/null +++ b/docs/test/quickstart-guides.md @@ -0,0 +1,61 @@ +# Quickstart Guides + +Percona Server for MySQL is a high-performance, open-source drop-in replacement for MySQL. It allows you to enhance your database with superior performance, scalability, availability, and enhanced backups and is trusted by enterprises for demanding workloads. [Read more :material-arrow-top-right:](#) + +You can select from multiple easy-to-follow installation options, but **we recommend using a Package Manager** for a convenient and quick way to try the software first. + +=== ":simple-windowsterminal: Package Manager" + + If you're on **Ubuntu** or **Debian**, use `apt` for convenience. + + On the other hand, if you're on **Red Hat Enterprise Linux** or **CentOS**, you can easily use `yum`. + + Choose your package manager below to get access to a detailed step-by-step guide. + + [Install via `apt` :material-arrow-down:](#install-via-apt){ .md-button .md-button--primary } [Install via `yum` :material-arrow-right:](#){ .md-button } + +=== ":simple-kubernetes: Kubernetes" + + **Percona Operator for Kubernetes** is a controller introduced to simplify complex deployments that require meticulous and secure database expertise. + + Check below to get access to a detailed step-by-step guide. + + [View Kubernetes Guide :material-arrow-right:](#){ .md-button } + +=== ":simple-docker: Docker" + + Get our image from **Docker Hub** and spin up a cluster on a Docker container for quick evaluation. + + Check below to get access to a detailed step-by-step guide. + + [View Docker Guide :material-arrow-right:](#){ .md-button } + +=== ":octicons-download-16: Manual Download" + + If you prefer to start with a specific version or implement it offline, check out the link below for a step-by-step guide and get access to the downloads directory. + + [View Manual Installation Guide :material-arrow-right:](#){ .md-button } + +--- + +## Install via `apt` + +--8<-- "quickstart.md" + +## Next steps + +Want to quickly test Percona Server for MySQL? Navigate into our easy-to-follow guide below, so you can understand the power of fast and performant databases with Percona. + +[Create a database :material-arrow-right:](#){ .md-button } + +Here are a few other useful topics to continue venturing into Percona Server: + +- Follow our [Prepare for production guide](#) to run a robust and scalable enterprise-grade database. + +- Check if you want to [change the storage engine](#). + +- Always a good idea to [improve checksums speed](#) before anything. + +- You can also [install a pre-release](#) to test things out. + +--8<-- "services-banner.md" \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..911c26e --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,94 @@ +site_name: Percona Documentation +theme: + name: material + custom_dir: overrides + logo: assets/percona-mark.svg + favicon: assets/percona-fav.svg + palette: + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Color theme set to Automatic. Click to change + - media: "(prefers-color-scheme: light)" + scheme: percona-light + primary: custom + accent: custom + toggle: + icon: material/brightness-7 + name: Color theme set to Light Mode. Click to change + - media: "(prefers-color-scheme: dark)" + scheme: percona-dark + primary: custom + accent: custom + toggle: + icon: material/brightness-4 + name: Color theme set to Dark Mode. Click to change + features: + - navigation.indexes + - navigation.instant + - navigation.tracking + - navigation.tabs + - navigation.tabs.sticky + - navigation.top + - content.code.copy + - content.code.annotate + - toc.follow +extra_css: + - css/design.css + - css/landing.css + - css/osano.css +markdown_extensions: + - admonition + - pymdownx.details + - md_in_html + - attr_list + - pymdownx.emoji: + emoji_index: !!python/name:material.extensions.emoji.twemoji + emoji_generator: !!python/name:material.extensions.emoji.to_svg + options: + custom_icons: + - overrides/.icons + - pymdownx.snippets: + base_path: ["snippets"] + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true +extra: + # consent: + # title: Cookie Consent + # description: >- + # We use cookies to recognize your preferences, as well as measure the effectiveness of our documentation to your needs, and whether you can find what you're searching for. With this consent, you're helping us to make our documentation better for you. Thank you. Read more about Percona Cookie Policy. + # cookies: + # analytics: Google Analytics + # github: Github + # actions: + # - manage + # - accept + analytics: + provider: google + property: G-XXXXXXXXXX + feedback: + title: Was this page helpful? + ratings: + - icon: material/emoticon-happy-outline + name: This page was helpful + data: 1 + note: >- + Thank you for your feedback! + - icon: material/emoticon-sad-outline + name: This page could be improved + data: 0 + note: >- + Thank you for your feedback! Help us improve by following this feedback form. +copyright: >- + Percona LLC and its affiliates © 2024 — Cookie Preferences +nav: + - Welcome: index.md + - PostgreSQL: percona-for-postgresql.md + - MongoDB: percona-for-mongodb.md + - MySQL: percona-for-mysql.md + - Percona Operators: percona-operators.md + - Percona Everest: "https://pmcf-percona.github.io/everest-doc/" + - PMM: "https://pmcf-percona.github.io/pmm-doc/" + - Legacy docs: "https://docs.percona.com/legacy-documentation/" + - Percona Lab: percona-lab.md \ No newline at end of file diff --git a/overrides/.icons/percona/logo.svg b/overrides/.icons/percona/logo.svg new file mode 100644 index 0000000..6bb15ed --- /dev/null +++ b/overrides/.icons/percona/logo.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/overrides/.icons/percona/mongodb.svg b/overrides/.icons/percona/mongodb.svg new file mode 100644 index 0000000..e7a26fb --- /dev/null +++ b/overrides/.icons/percona/mongodb.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/overrides/.icons/percona/mysql.svg b/overrides/.icons/percona/mysql.svg new file mode 100644 index 0000000..81cb538 --- /dev/null +++ b/overrides/.icons/percona/mysql.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/overrides/.icons/percona/operators.svg b/overrides/.icons/percona/operators.svg new file mode 100644 index 0000000..16ccde2 --- /dev/null +++ b/overrides/.icons/percona/operators.svg @@ -0,0 +1,4 @@ + + + + diff --git a/overrides/.icons/percona/pmm.svg b/overrides/.icons/percona/pmm.svg new file mode 100644 index 0000000..8a60926 --- /dev/null +++ b/overrides/.icons/percona/pmm.svg @@ -0,0 +1,4 @@ + + + + diff --git a/overrides/.icons/percona/postgresql.svg b/overrides/.icons/percona/postgresql.svg new file mode 100644 index 0000000..37a680d --- /dev/null +++ b/overrides/.icons/percona/postgresql.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/overrides/main.html b/overrides/main.html new file mode 100644 index 0000000..4fd922f --- /dev/null +++ b/overrides/main.html @@ -0,0 +1,38 @@ +{% extends "base.html" %} + +{% block scripts %} + + {{ super() }} + + +{% endblock %} + +{% block footer %} + {{ super() }} +
+ +
+{% endblock %} diff --git a/overrides/partials/header.html b/overrides/partials/header.html new file mode 100644 index 0000000..2665a0b --- /dev/null +++ b/overrides/partials/header.html @@ -0,0 +1,135 @@ + + + +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} + + +
+ + +
+ +
+ + + + + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
\ No newline at end of file diff --git a/snippets/dummy.md b/snippets/dummy.md new file mode 100644 index 0000000..0380d9d --- /dev/null +++ b/snippets/dummy.md @@ -0,0 +1,3 @@ +# Hi there 👋 + +This is just a page to fill in the blanks in this prototype's interaction flows. Nothing to see here... 😅 \ No newline at end of file diff --git a/snippets/quickstart.md b/snippets/quickstart.md new file mode 100644 index 0000000..211d9ce --- /dev/null +++ b/snippets/quickstart.md @@ -0,0 +1,33 @@ +Before starting, we advise updating the `apt` repositories and installing `curl` download utility to fetch the package. If you want to fetch the package manually, follow this guide instead: [Manual Installation](#). +```{.bash data-prompt="$"} +$ sudo apt update +$ sudo apt install curl +``` + +Once everything is updated and ready, you can follow the below tasks to install: +{.power-number} + +1. The first step is downloading the `percona-release` repository package: + ```{.bash data-prompt="$"} + $ curl -O https://repo.percona.com/apt/percona-release_latest.generic_all.deb + ``` + +2. Install the downloaded package with `apt` as root or with `sudo`, and then refresh the local cache to update the package information: + ```{.bash data-prompt="$"} + $ sudo apt install gnupg2 lsb-release ./percona-release_latest.generic_all.deb + $ sudo apt update + ``` + +3. Use `percona-release` to set up the repository for the Percona Server for MySQL 8.0 version: + ```{.bash data-prompt="$"} + $ sudo percona-release setup ps80 + ``` + You can check the repository setup for the Percona original release list in `/etc/apt/sources.list.d/percona-original-release.list`. + +4. Install the server package with the `percona-release` command: + ```{.bash data-prompt="$"} + $ sudo apt install percona-server-server + ``` + For more information on `percona-release` command see [Configuring Percona Repositories](https://docs.percona.com/percona-software-repositories/percona-release.html). + +5. It should now be installed! Percona Server runs automatically after installation. To control the service, learn how to [Stop/Run Percona Server](#). \ No newline at end of file diff --git a/snippets/services-banner.md b/snippets/services-banner.md new file mode 100644 index 0000000..947407b --- /dev/null +++ b/snippets/services-banner.md @@ -0,0 +1,11 @@ +
+ +## Get expert help { .title } + +If you need assistance, visit the community forum for comprehensive and free database knowledge, or contact our Percona Database Experts for professional support and services. + +
+ +[:material-forum-outline: Community Forum](https://forums.percona.com/) [:percona-logo: Get a Percona Expert](https://www.percona.com/about/contact) + +
\ No newline at end of file