From de521b26cf6f5fb190db1fd448039e1360a8e110 Mon Sep 17 00:00:00 2001 From: John Dutton <118553549+jddocs@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:18:35 -0500 Subject: [PATCH 1/3] [Updated] DBaaS avail notes and links (#7143) * [Updated] DBaaS avail notes and links * updated shortguide with new techdoc link and added dictionary term --- ci/vale/dictionary.txt | 1 + .../databases/general/database-solutions/index.md | 7 ++++--- docs/guides/databases/mysql/install-mysql/index.md | 4 ++-- .../mysql/mysql-command-line-client/index.md | 11 +++++------ .../guides/databases/mysql/mysqldump-backups/index.md | 10 +++++----- .../databases/sql-syntax/sharded-database/index.md | 3 ++- .../managed-databases/_shortguides/dbass-eos/index.md | 4 +--- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/ci/vale/dictionary.txt b/ci/vale/dictionary.txt index 09addb95532..552ad16407d 100644 --- a/ci/vale/dictionary.txt +++ b/ci/vale/dictionary.txt @@ -29,6 +29,7 @@ ahci0 Aho ahvz aircrack +Aiven ajenti ajp Akamai diff --git a/docs/guides/databases/general/database-solutions/index.md b/docs/guides/databases/general/database-solutions/index.md index f1ee81afee6..41d067f321c 100644 --- a/docs/guides/databases/general/database-solutions/index.md +++ b/docs/guides/databases/general/database-solutions/index.md @@ -5,6 +5,7 @@ description: "Learn about the most popular database management systems and how t authors: ["Linode"] contributors: ["Linode"] published: 2023-07-11 +modified: 2024-11-14 keywords: ['DBMS', 'managed database'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' --- @@ -79,14 +80,14 @@ Many users employ provisioning tools like Terraform and configuration management *Use Managed Databases when you want to offload database software and infrastructure management and do not require full root control or setting customization.* -The [Managed Database](/docs/products/databases/managed-databases/) service is an easy-to-use and fully-managed database solution. When a database is deployed through Managed Databases, the infrastructure, software, firewall, and high availability systems are configured automatically. This saves you time and resources. Once provisioned, you can add your application's IP addresses to allow traffic and then connect to the database directly from your application. +The [Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases) service is an easy-to-use and fully-managed database solution. When a database is deployed through Managed Databases, the infrastructure, software, firewall, and high availability systems are configured automatically. This saves you time and resources. Once provisioned, you can add your application's IP addresses to allow traffic and then connect to the database directly from your application. Managed Databases can be deployed with a single node (1 underlying machine) or a cluster of 3 nodes. Using 3 nodes provides you with a highly available database cluster, complete with data redundancy and automatic failover. Further, you can customize the size of the nodes and select from [Dedicated CPU](/docs/products/compute/compute-instances/plans/dedicated-cpu/) or [Shared CPU](/docs/products/compute/compute-instances/plans/shared-cpu/) Compute Instance plans. Since the underlying machines are fully-managed, direct root or console access is not provided and there is limited customization options for the database software. Currently, the following databases are supported. Click on each database below to learn more and to view the available software versions. -- [MySQL](/docs/products/databases/managed-databases/guides/database-engines/#mysql) -- [PostgreSQL](/docs/products/databases/managed-databases/guides/database-engines/#postgresql) +- [MySQL](https://techdocs.akamai.com/cloud-computing/docs/mysql-managed-database) +- [PostgreSQL](https://techdocs.akamai.com/cloud-computing/docs/postgresql-managed-databases) {{< note >}} Updates and security patches are automatically applied to the underlying operating system but *not* to the database software. For more details, review the [Automatic Updates and Maintenance Windows](/docs/products/databases/managed-databases/guides/updates-and-maintenance/) guide. diff --git a/docs/guides/databases/mysql/install-mysql/index.md b/docs/guides/databases/mysql/install-mysql/index.md index 53101eab17e..e788a77bd46 100644 --- a/docs/guides/databases/mysql/install-mysql/index.md +++ b/docs/guides/databases/mysql/install-mysql/index.md @@ -5,7 +5,7 @@ description: "Learn how to install MySQL on Linux (through your distribution's n authors: ["Linode"] contributors: ["Linode"] published: 2022-07-01 -modified: 2023-05-30 +modified: 2024-11-14 keywords: ['mysql','repository','database'] tags: ['mysql'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' @@ -33,7 +33,7 @@ For additional instructions on installing MySQL on any supported operating syste - **Consider other deployment options, such as fully managed solutions or automated installations.** - - [Linode MySQL Managed Databases](https://www.linode.com/products/mysql/): Fully managed database clusters, complete with automatic updates and backups, hosted on Linode's reliable platform. + - [Managed Databases](https://techdocs.akamai.com/cloud-computing/docs/managed-databases): Fully managed database clusters hosted on Akamai's reliable platform. {{% content "dbass-eos" %}} diff --git a/docs/guides/databases/mysql/mysql-command-line-client/index.md b/docs/guides/databases/mysql/mysql-command-line-client/index.md index 0eea89ed066..d4eb5b10425 100644 --- a/docs/guides/databases/mysql/mysql-command-line-client/index.md +++ b/docs/guides/databases/mysql/mysql-command-line-client/index.md @@ -5,6 +5,7 @@ description: "This guide shows you how to install and use the MySQL command-Line authors: ["Linode"] contributors: ["Linode"] published: 2022-07-01 +modified: 2024-11-14 keywords: ['mysql connect','remote database','mysql database'] tags: ['mysql'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' @@ -16,12 +17,14 @@ external_resources: This guide shows you how to connect to a MySQL database using [mysql](https://dev.mysql.com/doc/refman/8.0/en/mysql.html), the MySQL command-line client. This opens up a simple SQL shell environment, allowing you to perform [SQL queries and commands](/docs/guides/sql-commands/) on your database. If you require more advanced capabilities, consider using the [MySQL Shell](https://dev.mysql.com/doc/mysql-shell/8.0/en/). {{< note >}} -If you wish to connect to a Linode MySQL Managed Database, review the [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide instead. +If you wish to connect to a MySQL Managed Database, review the [Connect to a MySQL Managed Database](https://techdocs.akamai.com/cloud-computing/docs/connect-to-a-mysql-managed-database) guide instead. {{< /note >}} ## Before You Begin -- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://www.linode.com/products/mysql/), [deploy the MySQL Marketplace App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/docs/guides/install-mysql/). **This instance must allow remote connections or you must run the mysql command from within same system.** +- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Marketplace App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/docs/guides/install-mysql/). **This instance must allow remote connections or you must run the mysql command from within same system.** + + {{% content "dbass-eos" %}} - **Ensure mysql is installed and is compatible with the MySQL version on your database server.** Run the following command on the system you intend on using to verify that mysql is installed. @@ -45,10 +48,6 @@ The main purpose of the mysql utility is to connect to a MySQL database server a mysql -h [host] -p [port] -u [username] -p - {{< note respectIndent=false >}} -If you wish to connect to a Linode MySQL Managed Database, review the [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide instead. -{{< /note >}} - ## Common Command Options The following list is a collection of common options used with the mysqldump command. At minimum, the username and password is required. When connecting to a remote database server, the host (and perhaps the port) should be provided. For a full list of available options, reference the [Command Options for Connecting to the Server](https://dev.mysql.com/doc/refman/8.0/en/connection-options.html) documentation. diff --git a/docs/guides/databases/mysql/mysqldump-backups/index.md b/docs/guides/databases/mysql/mysqldump-backups/index.md index c26b28c338c..32e7272a2cd 100644 --- a/docs/guides/databases/mysql/mysqldump-backups/index.md +++ b/docs/guides/databases/mysql/mysqldump-backups/index.md @@ -5,7 +5,7 @@ description: "Learn how to use mysqldump to back up MySQL (and MariaDB) database authors: ["Linode"] contributors: ["Linode"] published: 2018-01-30 -modified: 2022-07-01 +modified: 2024-11-14 keywords: ["mysql", "mariadb", "backup", "back up", "mysqldump"] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' aliases: ['/databases/mysql/backup-options/','/security/backups/back-up-your-mysql-databases/','/databases/mysql/back-up-your-mysql-databases/','/databases/mysql/use-mysqldump-to-back-up-mysql-or-mariadb/','/guides/use-mysqldump-to-back-up-mysql-or-mariadb/'] @@ -24,7 +24,7 @@ Since the mysqldump utility needs to connect to the database, the database manag ## Before You Begin -- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://www.linode.com/products/mysql/), [deploy the MySQL Marketplace App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/docs/guides/install-mysql/). +- **Obtain the connection details for the MySQL instance you wish to use.** If you do not have a MySQL instance yet, you can [create a Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases), [deploy the MySQL Marketplace App](https://www.linode.com/marketplace/apps/linode/mysql-mariadb/), or [install MySQL server (or MariaDB) on a Compute Instance](/docs/guides/install-mysql/). {{% content "dbass-eos" %}} @@ -57,7 +57,7 @@ The following list represents mysqldump commands for various scenarios. Within t mysqldump [options] --all-databases > backup.sql {{< note type="alert" respectIndent=false >}} -Do not use the `--all-databases` option if you intend on restoring this database to a Linode MySQL Managed Database. It may delete existing users and restrict access to your database. +Do not use the `--all-databases` option if you intend on restoring this database to a MySQL Managed Database. It may delete existing users and restrict access to your database. {{< /note >}} {{< note >}} @@ -69,7 +69,7 @@ Depending on the size of the database, it could take a while to complete. For la The following list is a collection of common options used with the mysqldump command. At minimum, the username and password is required. When connecting to a remote database server, the host (and perhaps the port) should be provided. For a full list of available options, reference the [Option Syntax](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#mysqldump-option-summary) documentation. {{< note >}} -When backing up a Linode MySQL [Managed Database](/docs/products/databases/managed-databases/) with mysqldump, review the [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide for instructions on viewing the connection details (including the username, password, host, and port). +When backing up a MySQL [Managed Database](https://techdocs.akamai.com/cloud-computing/docs/managed-databases) with mysqldump, review the [Connect to a MySQL Managed Database](https://techdocs.akamai.com/cloud-computing/docs/connect-to-a-mysql-managed-database) guide for instructions on viewing the connection details (including the username, password, host, and port). {{< /note >}} - **Username** (`--user=[]` or `-u []`): The username of your MySQL user. This user must have proper grants to access the database. @@ -102,7 +102,7 @@ If you are frequently backing up a database with mysqldump or running a backup t mysqldump -h 192.0.2.1 -u exampleuser -p --single-transaction SampleDatabase > backup-$(date +%F).sql -- **Single database on a *Linode MySQL* [***Managed Database***](/docs/products/databases/managed-databases/):** In this example, the mysqldump command is used to backup a database called *Test* in a Linode MySQL Managed Database cluster. See [Connect to a MySQL Managed Database](/docs/products/databases/managed-databases/guides/mysql-connect/) guide for instructions on viewing the connection details (including the username, password, host, and port). +- **Single database on a *MySQL* [***Managed Database***](https://techdocs.akamai.com/cloud-computing/docs/managed-databases):** In this example, the mysqldump command is used to backup a database called *Test* in a MySQL Managed Database cluster. See [Connect to a MySQL Managed Database](https://techdocs.akamai.com/cloud-computing/docs/connect-to-a-mysql-managed-database) guide for instructions on viewing the connection details (including the username, password, host, and port). mysqldump -h lin-1111-1111-mysql-primary.servers.linodedb.net -u linroot -p --single-transaction --set-gtid-purged=OFF Test > backup-$(date +%F-%H.%M.%S).sql diff --git a/docs/guides/databases/sql-syntax/sharded-database/index.md b/docs/guides/databases/sql-syntax/sharded-database/index.md index f68c127c53e..03461c593aa 100644 --- a/docs/guides/databases/sql-syntax/sharded-database/index.md +++ b/docs/guides/databases/sql-syntax/sharded-database/index.md @@ -5,6 +5,7 @@ description: 'Database sharding divides data into smaller chunks and distributes authors: ["Jeff Novotny"] contributors: ["Jeff Novotny"] published: 2022-05-26 +modified: 2024-11-14 keywords: ['sharded database','db sharding','sharding strategy','database sharding examples'] license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' external_resources: @@ -228,6 +229,6 @@ Sharding allows a database to scale horizontally, taking advantage of the increa Sharding can be accomplished using range sharding, hash sharding, or directory-based sharding. Range sharding is the easiest method, but is more likely to result in unequal shards. Hash sharding more effectively distributes the records, but is more difficult to implement. Directory-based sharding groups related items together on the same shard. -A sharded database can be implemented using multiple Linode servers. Linode allows you to configure a full web application on a powerful Linux operating system running the industry-standard LAMP stack. Choose from a high-performance [*Dedicated CPU*](https://www.linode.com/products/dedicated-cpu/) service, or a flexible and affordable [*Shared CPU*](https://www.linode.com/products/shared/) alternative. Similarly, you can also use [Linode's Managed Database service](/docs/products/databases/managed-databases/) to deploy a database cluster without the need to install and maintain the database infrastructure. +A sharded database can be implemented using multiple Linode servers. Linode allows you to configure a full web application on a powerful Linux operating system running the industry-standard LAMP stack. Choose from a high-performance [*Dedicated CPU*](https://www.linode.com/products/dedicated-cpu/) service, or a flexible and affordable [*Shared CPU*](https://www.linode.com/products/shared/) alternative. Similarly, you can also use our [Managed Database service](https://techdocs.akamai.com/cloud-computing/docs/managed-databases) to deploy a database cluster without the need to install and maintain the database infrastructure. {{% content "dbass-eos" %}} \ No newline at end of file diff --git a/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md b/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md index 47fa11fb6dd..dcfeff77695 100644 --- a/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md +++ b/docs/products/databases/managed-databases/_shortguides/dbass-eos/index.md @@ -6,7 +6,5 @@ show_on_rss_feed: false --- {{< note type="warning" title="Managed Database Availability">}} -As part of our ongoing commitment to innovation and better serving our customers, we have made the strategic decision to pause the sale of our Managed Database offering for all customers who do not have an active database deployed. We recognize the need for a product that offers higher performance and the capacity to handle more complex workloads. - -If you have an existing database already deployed, you will continue to be able to deploy, provision, and manage the service exactly as you do today, and we’ll fully support your Managed Database workloads until our next-generation database solution is available. For future news and announcements related to Managed Databases, [please sign up using the form on our product page](/products/databases/). +Starting November 14, 2024, Akamai is re-introducing its Managed Database service in partnership with Aiven to bring customers higher performance, reliability, and flexibility. At launch, the new service is available in 20 core compute sites across the globe for distribution and low latency. Click here for more information: [Database migration notice](https://techdocs.akamai.com/cloud-computing/docs/migration-notice) {{< /note >}} \ No newline at end of file From 73049331a9c2d74891efb95913c486c4c0ac76a2 Mon Sep 17 00:00:00 2001 From: Nathan Melehan Date: Thu, 14 Nov 2024 13:18:56 -0500 Subject: [PATCH 2/3] Theme updates (#7142) * Theme updates: - Refactor content shortcode * Update Hugo to 0.138.0 * Fix broken shortguide references --- .../workflows/update-algolia-on-schedule.yaml | 2 +- CONTRIBUTING.md | 16 ++++++------- .../linode/linode-docs-theme/config.toml | 2 +- .../layouts/partials/sections/head-src.html | 2 +- .../layouts/shortcodes/content.html | 24 +++++-------------- _vendor/modules.txt | 2 +- config.toml | 2 +- .../index.md | 2 +- .../index.md | 2 +- .../index.md | 2 +- docs/marketplace-docs/guides/jenkins/index.md | 2 +- docs/marketplace-docs/guides/plesk/index.md | 4 +++- .../guides/secure-your-server/index.md | 2 +- .../guides/wireguard/index.md | 2 +- docs/marketplace-docs/guides/zabbix/index.md | 2 +- go.mod | 2 +- go.sum | 2 ++ netlify.toml | 4 ++-- 18 files changed, 34 insertions(+), 42 deletions(-) diff --git a/.github/workflows/update-algolia-on-schedule.yaml b/.github/workflows/update-algolia-on-schedule.yaml index 1c9de944959..359a087d3ea 100644 --- a/.github/workflows/update-algolia-on-schedule.yaml +++ b/.github/workflows/update-algolia-on-schedule.yaml @@ -48,7 +48,7 @@ jobs: - name: Set up Hugo uses: peaceiris/actions-hugo@v2 with: - hugo-version: '0.125.7' + hugo-version: ${{ vars.HUGO_VERSION }} - name: Checkout docs repo uses: actions/checkout@v3 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d8bdc278dd5..1d52293eedd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -70,7 +70,7 @@ To Install the latest Node.js LTS release on Windows, navigate to the [downloads ### Install Hugo -The Linode documentation library is built using [Hugo](http://gohugo.io), an open-source static site generator. In order to preview your guide before submission, you need to install Hugo on your local computer. This site currently uses **Hugo v0.125.7**. To remain consistent in the testing and development process, it's recommended to install this version instead of using a newer version. +The Linode documentation library is built using [Hugo](http://gohugo.io), an open-source static site generator. In order to preview your guide before submission, you need to install Hugo on your local computer. This site currently uses **Hugo v0.138.0**. To remain consistent in the testing and development process, it's recommended to install this version instead of using a newer version. Note: If you observe any issues on a newer version, please [file an issue](https://github.com/linode/docs/issues) in the docs GitHub repository. @@ -78,10 +78,10 @@ Note: If you observe any issues on a newer version, please [file an issue](https To install Hugo, download the appropriate binary for your system, extract it, and move it to a directory within your PATH. -1. Download the file below that corresponds with the OS and platform on your local system. If you don't see your system on this list, you can find additional files on the [Hugo v0.125.7 GitHub release page](https://github.com/gohugoio/hugo/releases/tag/v0.125.7) under **Assets**. +1. Download the file below that corresponds with the OS and platform on your local system. If you don't see your system on this list, you can find additional files on the [Hugo v0.138.0 GitHub release page](https://github.com/gohugoio/hugo/releases/tag/v0.138.0) under **Assets**. - - **macOS:** https://github.com/gohugoio/hugo/releases/download/v0.125.7/hugo_extended_0.125.7_darwin-universal.tar.gz - - **Linux:** https://github.com/gohugoio/hugo/releases/download/v0.125.7/hugo_extended_0.125.7_Linux-64bit.tar.gz + - **macOS:** https://github.com/gohugoio/hugo/releases/download/v0.138.0/hugo_extended_0.138.0_darwin-universal.tar.gz + - **Linux:** https://github.com/gohugoio/hugo/releases/download/v0.138.0/hugo_extended_0.138.0_Linux-64bit.tar.gz You can download this file through a terminal using the curl command, replacing [url] with the URL for your platform: @@ -115,7 +115,7 @@ To install Hugo, download the appropriate binary for your system, extract it, an While macOS and Linux are preferred by most of the core Linode Docs team, it's also possible to use Hugo on Windows. -1. Download the [hugo_extended_0.125.7_windows-amd64.zip](https://github.com/gohugoio/hugo/releases/download/v0.125.7/hugo_extended_0.125.7_windows-amd64.zip) file. Additional files for other operating systems can be found on the [Hugo v0.125.7 GitHub release page](https://github.com/gohugoio/hugo/releases/tag/v0.125.7) under **Assets**. +1. Download the [hugo_extended_0.138.0_windows-amd64.zip](https://github.com/gohugoio/hugo/releases/download/v0.138.0/hugo_extended_0.138.0_windows-amd64.zip) file. Additional files for other operating systems can be found on the [Hugo v0.138.0 GitHub release page](https://github.com/gohugoio/hugo/releases/tag/v0.138.0) under **Assets**. 1. Extract the file to the directory you'd like to install Hugo under, such as `C:\Hugo\bin`. @@ -184,10 +184,10 @@ For more information about using Git, refer to the [official Git documentation]( This section is only relevant to contributors who have previously worked on the docs repo prior to the Tailwind v3 upgrade (which occurred on July 6th, 2023 in docs release v1.252.0). After you merge in changes from this release (and onward), you will likely notice display issues when previewing the site locally. This is due to Tailwind v3 and the way it integrates with Hugo (and our theme). To complete the upgrade locally and fix any display issues, follow the steps below. -1. Upgrade Hugo to v0.125.7. On macOS, run the following commands in a temporary folder (not in your docs repo): +1. Upgrade Hugo to v0.138.0. On macOS, run the following commands in a temporary folder (not in your docs repo): - curl -OL https://github.com/gohugoio/hugo/releases/download/v0.125.7/hugo_extended_0.125.7_darwin-universal.tar.gz - tar -xvzf hugo_extended_0.125.7_darwin-universal.tar.gz + curl -OL https://github.com/gohugoio/hugo/releases/download/v0.138.0/hugo_extended_0.138.0_darwin-universal.tar.gz + tar -xvzf hugo_extended_0.138.0_darwin-universal.tar.gz mv hugo /usr/local/bin If you are using a different operating system, refer to the [Install Hugo](#install-hugo) section above. diff --git a/_vendor/github.com/linode/linode-docs-theme/config.toml b/_vendor/github.com/linode/linode-docs-theme/config.toml index 7838573bb9e..850f986ae64 100644 --- a/_vendor/github.com/linode/linode-docs-theme/config.toml +++ b/_vendor/github.com/linode/linode-docs-theme/config.toml @@ -177,7 +177,7 @@ path = "github.com/gohugoio/hugo-mod-jslibs/turbo/v8" [security] enableInlineShortcodes = false [security.exec] - allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$'] + allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$', '^git$'] osEnv = ['(?i)^(.*)$'] [security.funcs] diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html index ef77010842a..638d408d457 100644 --- a/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html +++ b/_vendor/github.com/linode/linode-docs-theme/layouts/partials/sections/head-src.html @@ -15,7 +15,7 @@ {{/* styles */}} {{ $options := dict "inlineImports" true }} {{ $styles := resources.Get "css/styles.css" }} -{{ $styles = $styles | resources.PostCSS $options }} +{{ $styles = $styles | css.PostCSS $options }} {{ if (ne hugo.Environment "development") }} {{ $styles = $styles | minify | fingerprint | resources.PostProcess }} {{ end }} diff --git a/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/content.html b/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/content.html index 02abb52289c..63851cf9a79 100644 --- a/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/content.html +++ b/_vendor/github.com/linode/linode-docs-theme/layouts/shortcodes/content.html @@ -1,20 +1,8 @@ -{{ $file := .Get 0 }} -{{ if .Page.Params.os }} - {{ $class := .Get 1 }} - {{ $p := .Site.GetPage $file }} - {{ if $p }} -
- {{ $p.Content }} -
- {{ else }} - {{/* warnf "Content shortcode is empty: %s" .Position */}} - {{ end }} -{{ else }} - {{ $p := .Site.GetPage $file }} - {{ if $p }} +{{ $file := .Get 0 -}} +{{ $p := or (.Page.GetPage $file) (site.GetPage $file) -}} +{{ if $p -}} {{/* Note: The indendation matters here and we want none, and especially not 4 spaces, which will render it as a code block. */}} {{ $p.RenderShortcodes }} - {{ else }} - {{/* warnf "Content shortcode is empty: %s" .Position */}} - {{ end }} -{{ end }} +{{ else -}} + {{ warnf "Included content not found: %s" .Position -}} +{{ end -}} \ No newline at end of file diff --git a/_vendor/modules.txt b/_vendor/modules.txt index 69746d94008..048c8fca94b 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -1,4 +1,4 @@ -# github.com/linode/linode-docs-theme v0.0.0-20241107185827-f54f3d0cc486 +# github.com/linode/linode-docs-theme v0.0.0-20241112191537-cb59b44a8bd6 # github.com/linode/linode-website-partials v0.0.0-20241107184419-08ebb197096e # github.com/gohugoio/hugo-mod-jslibs-dist/alpinejs/v3 v3.21300.20800 # github.com/gohugoio/hugo-mod-jslibs/turbo/v8 v8.20000.20400 diff --git a/config.toml b/config.toml index adb8fa465e3..e80f792af16 100644 --- a/config.toml +++ b/config.toml @@ -163,7 +163,7 @@ anchor = "smart" [security] enableInlineShortcodes = false [security.exec] - allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$'] + allow = ['^dart-sass-embedded$', '^go$', '^npx$', '^postcss$', '^git$'] osEnv = ['(?i)^(.*)$'] [security.funcs] diff --git a/docs/guides/security/ssl/_shortguides/installing-snapd-certbot-dnf-rhel-shortguide/index.md b/docs/guides/security/ssl/_shortguides/installing-snapd-certbot-dnf-rhel-shortguide/index.md index e4372bcdeea..d2e4b4b2f83 100644 --- a/docs/guides/security/ssl/_shortguides/installing-snapd-certbot-dnf-rhel-shortguide/index.md +++ b/docs/guides/security/ssl/_shortguides/installing-snapd-certbot-dnf-rhel-shortguide/index.md @@ -1,5 +1,5 @@ --- -slug: installing-snapd-certbot-dnf-shortguide +slug: installing-snapd-certbot-dnf-rhel-shortguide title: "Shortguide" description: "Shortguide" authors: ["Linode"] diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md index 456f94606f6..8bbb7d04ebf 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-apache-on-fedora/index.md @@ -37,7 +37,7 @@ This guide is written for a non-root user. Commands that require elevated privil {{% content "configuring-firewalld-for-web-traffic-shortguide" %}} -{{% content "installing-snapd-certbot-dnf-shortguide" %}} +{{% content "installing-snapd-certbot-dnf-rhel-shortguide" %}} {{% content "requesting-certificate-apache-certbot-shortguide" %}} diff --git a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md index 980dd438b35..fab335ea9df 100644 --- a/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md +++ b/docs/guides/security/ssl/enabling-https-using-certbot-with-nginx-on-fedora/index.md @@ -35,7 +35,7 @@ This guide is written for a non-root user. Commands that require elevated privil {{% content "configuring-firewalld-for-web-traffic-shortguide" %}} -{{% content "installing-snapd-certbot-dnf-shortguide" %}} +{{% content "installing-snapd-certbot-dnf-rhel-shortguide" %}} {{% content "requesting-certificate-nginx-certbot-shortguide" %}} diff --git a/docs/marketplace-docs/guides/jenkins/index.md b/docs/marketplace-docs/guides/jenkins/index.md index fe23b514608..66eca264670 100644 --- a/docs/marketplace-docs/guides/jenkins/index.md +++ b/docs/marketplace-docs/guides/jenkins/index.md @@ -34,7 +34,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' ### Jenkins Options -{{% content "marketplace-required-limited-user-shortguide" %}} +{{% content "marketplace-required-limited-user-fields-shortguide" %}} {{% content "marketplace-special-character-limitations-shortguide" %}} {{% content "marketplace-custom-domain-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/plesk/index.md b/docs/marketplace-docs/guides/plesk/index.md index 5539710eaa9..4d20c2f7b51 100644 --- a/docs/marketplace-docs/guides/plesk/index.md +++ b/docs/marketplace-docs/guides/plesk/index.md @@ -33,9 +33,11 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' - **Suggested minimum plan:** All plan types and sizes can be used. - **SOA Email Address** *(required):* An email address for free Let's Encrypt SSL. -{{% content "marketplace-required-limited-user-shortguide" %}} + +{{% content "marketplace-required-limited-user-fields-shortguide" %}} {{% content "marketplace-custom-domain-fields-shortguide" %}} + ## Getting Started after Deployment ### Access your Plesk Site diff --git a/docs/marketplace-docs/guides/secure-your-server/index.md b/docs/marketplace-docs/guides/secure-your-server/index.md index 55516aff8aa..bad37d019e2 100644 --- a/docs/marketplace-docs/guides/secure-your-server/index.md +++ b/docs/marketplace-docs/guides/secure-your-server/index.md @@ -30,7 +30,7 @@ This Marketplace App automatically configures a new Compute Instance with a limi ### Secure Your Server Setup Options -{{% content "marketplace-required-limited-user-shortguide" %}} +{{% content "marketplace-required-limited-user-fields-shortguide" %}} {{% content "marketplace-custom-domain-fields-shortguide" %}} diff --git a/docs/marketplace-docs/guides/wireguard/index.md b/docs/marketplace-docs/guides/wireguard/index.md index a4aa89953d0..1f71c73713f 100644 --- a/docs/marketplace-docs/guides/wireguard/index.md +++ b/docs/marketplace-docs/guides/wireguard/index.md @@ -155,6 +155,6 @@ This test should be performed once you have configured a WireGuard client and up | [**WireGuard**](https://www.wireguard.com) | VPN software. | | [**UFW (UncomplicatedFireWall)**](https://wiki.ubuntu.com/UncomplicatedFirewall) | Firewall utility. The Port assigned during the [WireGuard Options](#wireguard-options) step of the deployment will allow outgoing and incoming traffic. | -{{% content "marketplace-update-note" %}} +{{% content "marketplace-update-note-shortguide" %}} "WireGuard" is a registered trademark of Jason A. Donenfeld. \ No newline at end of file diff --git a/docs/marketplace-docs/guides/zabbix/index.md b/docs/marketplace-docs/guides/zabbix/index.md index 75a6773f718..0a5b3e8add2 100644 --- a/docs/marketplace-docs/guides/zabbix/index.md +++ b/docs/marketplace-docs/guides/zabbix/index.md @@ -39,7 +39,7 @@ license: '[CC BY-ND 4.0](https://creativecommons.org/licenses/by-nd/4.0)' {{% content "marketplace-required-limited-user-fields-shortguide" %}} -{{% content "marketplace-custom-domains-field-shortguide" %}} +{{% content "marketplace-custom-domain-fields-shortguide" %}} - **Zabbix Server Name:** Local hostname for Zabbix server. Defaults to `zabbix-server` diff --git a/go.mod b/go.mod index 73daf4bb2e8..970f5ee3103 100644 --- a/go.mod +++ b/go.mod @@ -7,5 +7,5 @@ require ( github.com/gohugoio/hugo-mod-jslibs/turbo/v7 v7.20300.20000 // indirect github.com/instantpage/instant.page v5.1.1+incompatible // indirect github.com/linode/linode-api-docs/v4 v4.176.0 // indirect - github.com/linode/linode-docs-theme v0.0.0-20241107185827-f54f3d0cc486 // indirect + github.com/linode/linode-docs-theme v0.0.0-20241112191537-cb59b44a8bd6 // indirect ) diff --git a/go.sum b/go.sum index c3e82120760..6fedd19aa39 100644 --- a/go.sum +++ b/go.sum @@ -304,6 +304,8 @@ github.com/linode/linode-docs-theme v0.0.0-20241107173628-e39045c56363 h1:Q129Rq github.com/linode/linode-docs-theme v0.0.0-20241107173628-e39045c56363/go.mod h1:f3XbKgch4DFA6jz2k7snVPDoQEiWwsJu4u54BbUiCKs= github.com/linode/linode-docs-theme v0.0.0-20241107185827-f54f3d0cc486 h1:MFZMFqmpEcI7UK6b0Qp8rGLVefdDd5TzElLOACP1CWc= github.com/linode/linode-docs-theme v0.0.0-20241107185827-f54f3d0cc486/go.mod h1:MCx/heCsE3R5qiYUpDueNgFiTG9TphMMgy4U+GiM0O0= +github.com/linode/linode-docs-theme v0.0.0-20241112191537-cb59b44a8bd6 h1:hSQHr/kOf7n7SZzHmgf6gwYLc+71/tCUHmLhka2YILs= +github.com/linode/linode-docs-theme v0.0.0-20241112191537-cb59b44a8bd6/go.mod h1:MCx/heCsE3R5qiYUpDueNgFiTG9TphMMgy4U+GiM0O0= github.com/linode/linode-website-partials v0.0.0-20221205205120-b6ea1aaa59fb/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao= github.com/linode/linode-website-partials v0.0.0-20221222200538-99862e429110/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao= github.com/linode/linode-website-partials v0.0.0-20230201145731-a8703d0a954a/go.mod h1:K1Em3lwb16JiCwNVftAFwWGhyB9Zkl/nXhxjBBUC1Ao= diff --git a/netlify.toml b/netlify.toml index ba7a2a3f05e..ad0a41d9eac 100644 --- a/netlify.toml +++ b/netlify.toml @@ -3,11 +3,11 @@ publish = "public" command = "hugo version && hugo config && hugo --gc --minify -d public/docs;" [context.production.environment] -HUGO_VERSION = "0.125.7" +HUGO_VERSION = "0.138.0" HUGO_PARAMS_TESTENV="Netlify" [context.deploy-preview.environment] -HUGO_VERSION = "0.125.7" +HUGO_VERSION = "0.138.0" HUGO_PARAMS_TESTENV="Netlify" [[plugins]] From f5385ad69dbd8be317e3faf36a65e987fa475274 Mon Sep 17 00:00:00 2001 From: Julia Tetrud <34220625+juliatetrud@users.noreply.github.com> Date: Thu, 14 Nov 2024 13:19:08 -0500 Subject: [PATCH 3/3] [Update] Using HAProxy for Load Balancing (#7136) * Update index.md Made grammatical and clarity fixes. * Copy edits --------- Co-authored-by: Nathan Melehan --- .../index.md | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md index bf46d64c5ad..a53c07b84b4 100644 --- a/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md +++ b/docs/guides/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/index.md @@ -20,22 +20,22 @@ aliases: ['/uptime/loadbalancing/how-to-use-haproxy-for-load-balancing/'] ## What is HAProxy? -HAProxy (High Availability Proxy) is a TCP/HTTP load balancer and proxy server that allows a webserver to spread incoming requests across multiple endpoints. This is useful in cases where too many concurrent connections over-saturate the capability of a single server. Instead of a client connecting to a single server which processes all of the requests, the client will connect to an HAProxy instance, which will use a reverse proxy to forward the request to one of the available endpoints, based on a load-balancing algorithm. +HAProxy (High Availability Proxy) is a TCP/HTTP load balancer and proxy server that allows a webserver to spread incoming requests across multiple endpoints. This is useful in cases where too many concurrent connections over-saturate the capability of a single server. Instead of a client connecting to a single server that processes all of the requests, the client will connect to an HAProxy instance, which will use a reverse proxy to forward the request to one of the available endpoints, based on a load-balancing algorithm. -This guide will describe the installation and configuration of HAProxy for load-balancing HTTP requests, but the configuration can be adapted for most load-balancing scenarios. The setup is simplified from a typical production setup and will use a single HAProxy node with two web server nodes which will service the requests forwarded from the HAProxy node. +This guide will describe the installation and configuration of HAProxy for load-balancing HTTP requests, but the configuration can be adapted for most load-balancing scenarios. The setup is simplified from a typical production setup and will use a single HAProxy node with two web server nodes to service the requests forwarded from the HAProxy node. ## Before You Begin -1. This guide will use `sudo` wherever possible. Complete the sections of our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to create a standard user account, harden SSH access and remove unnecessary network services. +1. This guide will use `sudo` for commands that require administrative privileges. To get started, follow the steps in our [Securing Your Server](/docs/products/compute/compute-instances/guides/set-up-and-secure/) guide to set up a standard user account, secure SSH access, and remove any unnecessary network services. 2. Update your system: sudo apt-get update && sudo apt-get upgrade -3. This guide uses private IP addresses in the example configurations. Refer to our [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide to add private IP addresses and internally network your Linodes. +3. This guide uses private IP addresses in the example configurations. To set up private IPs and enable internal networking between Linodes, follow the steps in our [Linux Static IP Configuration](/docs/products/compute/compute-instances/guides/manual-network-configuration/) guide. {{< note >}} -This guide is written for a non-root user. Commands that require elevated privileges are prefixed with `sudo`. If you’re not familiar with the `sudo` command, see the [Users and Groups](/docs/guides/linux-users-and-groups/) guide. +This guide is written for a non-root user. Commands requiring administrative privileges are prefixed with `sudo`. Refer to our [Users and Groups](/docs/guides/linux-users-and-groups/) guide for more information on how to use `sudo`. {{< /note >}} ## Installation @@ -52,7 +52,7 @@ HAProxy is included in the package management systems of most Linux distribution ## Initial Configuration -1. Review the default configuration file at `/etc/haproxy/haproxy.cfg`, which is created automatically during installation. This file defines a standard setup without any load balancing: +1. Review the default configuration file located at `/etc/haproxy/haproxy.cfg`, which is generated automatically during installation. This file provides a basic setup without any load balancing configured: {{< file "/etc/haproxy/haproxy.cfg" aconf >}} global @@ -96,23 +96,23 @@ defaults {{< /file >}} - The `global` section defines system level parameters such as file locations and the user and group under which HAProxy is executed. In most cases you will not need to change anything in this section. The user **haproxy** and group **haproxy** are both created during installation. + The `global` section defines system-level parameters, such as file locations and the user and group that HAProxy runs under. Generally, no changes are needed in this section. During installation, both the **haproxy** user and **haproxy** group are created automatically. - The `defaults` section defines additional logging parameters and options related to timeouts and errors. By default, both normal and error messages will be logged. + The `defaults` section specifies additional logging parameters and options for handling timeouts and errors. By default, it logs both standard and error messages. -2. If you wish to disable normal operation messages from being logged you can add the following after `option dontlognull`: +2. To stop logging regular operation messages, add the following line after `option dontlognull`: option dontlog-normal -3. You can also choose to have the error logs in a separate log file: +3. A separate log file for error messages can be configured using the following command: option log-separate-errors ## Configure Load Balancing -When you configure load balancing using HAProxy, there are two types of nodes which need to be defined: frontend and backend. The frontend is the node by which HAProxy listens for connections. Backend nodes are those by which HAProxy can forward requests. A third node type, the stats node, can be used to monitor the load balancer and the other two nodes. +When configuring load balancing with HAProxy, two types of nodes need to be defined: frontend and backend. The frontend node listens for incoming connections, while backend nodes handle the requests forwarded by HAProxy. A third node type, the stats node, can be set up to monitor the load balancer and the other two nodes. -1. Open `/etc/haproxy/haproxy.cfg` in a text editor and append the configuration for the front end: +1. Open `/etc/haproxy/haproxy.cfg` in a text editor and add the following configuration for the frontend node: {{< file "/etc/haproxy/haproxy.cfg" aconf >}} frontend haproxynode @@ -124,10 +124,10 @@ frontend haproxynode {{< note respectIndent=false >}} -Throughout this guide, replace `203.0.113.2` with the IP address of your frontend node. 192.168.1.3 and 192.168.1.4 will be used as the IP addresses for the backend nodes. +Throughout this guide, replace `203.0.113.2` with the IP address of the frontend node. 192.168.1.3 and 192.168.1.4 will be used as the IP addresses for the backend nodes. {{< /note >}} - This configuration block specifies a frontend node named **haproxynode**, which is bound to all network interfaces on port 80. It will listen for HTTP connections (it is possible to use TCP mode for other purposes) and it will use the back end **backendnodes**. + This configuration block specifies a frontend node named **haproxynode**, which is bound to all network interfaces on port 80. It will listen for HTTP connections (TCP mode can be used for other purposes) and direct traffic to the back end group, **backendnodes**. 2. Add the back end configuration: @@ -146,12 +146,12 @@ backend backendnodes This defines **backendnodes** and specifies several configuration options: - - The `balance` setting specifies the load-balancing strategy. In this case, the `roundrobin` strategy is used. This strategy uses each server in turn but allows for weights to be assigned to each server: servers with higher weights are used more frequently. - Other strategies include `static-rr`, which is similar to `roundrobin` but does not allow weights to be adjusted on the fly; and `leastconn`, which will forward requests to the server with the lowest number of connections. - - The `forwardfor` option ensures the forwarded request includes the actual client IP address. - - The first `http-request` line allows the forwarded request to include the port of the client HTTP request. The second adds the proto-header containing https if `ssl_fc`, a HAProxy system variable, returns true. This will be the case if the connection was first made via an SSL/TLS transport layer. - - `Option httpchk` defines the check HAProxy uses to test if a web server is still valid for forwarding requests. If the server does not respond to the defined request it will not be used for load balancing until it passes the test. - - The `server` lines define the actual server nodes and their IP addresses, to which IP addresses will be forwarded. The servers defined here are **node1** and **node2**, each of which will use the health check you have defined. + - The `balance` setting specifies the load-balancing strategy. In this example, the `roundrobin` strategy is used, which cycles through each server in turn. This strategy allows for assigning weights to servers, so those with higher weights receive more traffic. + Other strategies include `static-rr`, which works like `roundrobin` but does not support dynamic weight adjustments, and `leastconn`, which routes requests to the server with the fewest active connections. + - The `forwardfor` option ensures that the client's IP address is included in the forwarded request. + - The first `http-request` line includes the client's original port in the forwarded request. The second `http-request` line adds the `proto` header with https if `ssl_fc`, a HAProxy system variable, is true. This happens when the initial connection is made over SSL/TLS. + - `Option httpchk` specifies the health check HAProxy uses to determine if a web server is available for forwarding requests. If the server does not respond to the defined check, it will be excluded from load balancing until it passes the test. + - The `server` lines define the server nodes and the IP addresses where requests will be forwarded. In this example, the servers are **node1** and **node2**, and each will use the defined health check. 3. Add the optional stats node to the configuration: @@ -166,9 +166,9 @@ listen stats {{< /file >}} - The HAProxy stats node will listen on port 32700 for connections and is configured to hide the version of HAProxy as well as to require a password login. Replace `password` with a more secure password. In addition, it is recommended to disable stats login in production. + The HAProxy stats node is set to listen for connections on port 32700. It is configured to hide the HAProxy version and requires a password login. Replace `password` with a more secure password. It is recommended to disable stats login in production environments. -4. Here is the complete configuration file after modifications: +4. Below is the complete configuration file after applying the modifications: {{< file "/etc/haproxy/haproxy.cfg" aconf >}} global @@ -235,10 +235,10 @@ listen stats ## Running and Monitoring -1. Restart the HAProxy service so that the new configuration can take effect: +1. Restart the HAProxy service to apply the new configuration: sudo service haproxy restart -Now, any incoming requests to the HAProxy node at IP address 203.0.113.2 will be forwarded to an internally networked node with an IP address of either 192.168.1.3 or 192.168.1.4. These backend nodes will serve the HTTP requests. If at any time either of these nodes fails the health check, they will not be used to serve any requests until they pass the test. +Now, any incoming requests to the HAProxy node at IP address 203.0.113.2 will be forwarded to one of the backend nodes at 192.168.1.3 or 192.168.1.4, which will handle the HTTP requests. If either backend node fails the health check, it will be temporarily removed from service until it passes the test. -In order to view statistics and monitor the health of the nodes, navigate to the IP address or domain name of the frontend node in a web browser at the assigned port, e.g., http://203.0.113.2:32700. This will display statistics such as the number of times a request was forwarded to a particular node as well the number of current and previous sessions handled by the frontend node. +To view statistics and monitor node health, open a web browser and navigate to the frontend node's IP address or domain using the designated port, e.g., http://203.0.113.2:32700. This page displays statistics such as the number of requests each backend node has handled and the current and previous sessions handled by the frontend node.