diff --git a/ci/vale/dictionary.txt b/ci/vale/dictionary.txt index 625987616c..52f6c09237 100644 --- a/ci/vale/dictionary.txt +++ b/ci/vale/dictionary.txt @@ -1767,6 +1767,8 @@ oneof ons opcache openapi +openbao +OpenBao opencart opendkim openfire @@ -2707,6 +2709,8 @@ vagrantfile valheim validator valim +valkey +Valkey variadic varnishlog varonis diff --git a/docs/products/tools/marketplace/guides/_index.md b/docs/products/tools/marketplace/guides/_index.md index 40e275b247..4138830ffc 100644 --- a/docs/products/tools/marketplace/guides/_index.md +++ b/docs/products/tools/marketplace/guides/_index.md @@ -25,6 +25,7 @@ See the [Marketplace](/docs/marketplace/) listing page for a full list of all Ma - [Ant Media Server Enterprise Edition](/docs/products/tools/marketplace/guides/antmediaenterpriseserver/) - [Ant Media Server](/docs/products/tools/marketplace/guides/antmediaserver/) - [Apache Airflow](/docs/products/tools/marketplace/guides/apache-airflow/) +- [Apache Cassandra Cluster](/docs/products/tools/marketplace/guides/apache-cassandra-cluster/) - [Apache Kafka Cluster](/docs/products/tools/marketplace/guides/apache-kafka-cluster/) - [Appwrite](/docs/products/tools/marketplace/guides/appwrite/) - [AzuraCast](/docs/products/tools/marketplace/guides/azuracast/) @@ -57,6 +58,7 @@ See the [Marketplace](/docs/marketplace/) listing page for a full list of all Ma - [HashiCorp Nomad](/docs/products/tools/marketplace/guides/hashicorp-nomad/) - [HashiCorp Vault](/docs/products/tools/marketplace/guides/hashicorp-vault/) - [ILLA Builder](/docs/products/tools/marketplace/guides/illa-builder/) +- [InfluxDB](/docs/products/tools/marketplace/guides/influxdb/) - [Jenkins](/docs/products/tools/marketplace/guides/jenkins/) - [JetBackup](/docs/products/tools/marketplace/guides/jetbackup/) - [Jitsi](/docs/products/tools/marketplace/guides/jitsi/) @@ -84,6 +86,7 @@ See the [Marketplace](/docs/marketplace/) listing page for a full list of all Ma - [Node.js](/docs/products/tools/marketplace/guides/nodejs/) - [Odoo](/docs/products/tools/marketplace/guides/odoo/) - [ONLYOFFICE](/docs/products/tools/marketplace/guides/onlyoffice/) +- [Openbao](/docs/products/tools/marketplace/guides/openbao/) - [OpenLiteSpeed Django](/docs/products/tools/marketplace/guides/openlitespeed-django/) - [OpenLiteSpeed Node.js](/docs/products/tools/marketplace/guides/openlitespeed-nodejs/) - [OpenLiteSpeed Rails](/docs/products/tools/marketplace/guides/openlitespeed-rails/) @@ -117,6 +120,7 @@ See the [Marketplace](/docs/marketplace/) listing page for a full list of all Ma - [Superinsight](/docs/products/tools/marketplace/guides/superinsight/) - [Uptime Kuma](/docs/products/tools/marketplace/guides/uptime-kuma/) - [UTunnel VPN](/docs/products/tools/marketplace/guides/utunnel/) +- [Valkey](/docs/products/tools/marketplace/guides/valkey/) - [VictoriaMetrics Single](/docs/products/tools/marketplace/guides/victoriametrics-single/) - [VS Code](/docs/products/tools/marketplace/guides/vscode/) - [WarpSpeed VPN](/docs/products/tools/marketplace/guides/warpspeed/) diff --git a/docs/products/tools/marketplace/guides/apache-cassandra-cluster/index.md b/docs/products/tools/marketplace/guides/apache-cassandra-cluster/index.md new file mode 100644 index 0000000000..ad676cd44b --- /dev/null +++ b/docs/products/tools/marketplace/guides/apache-cassandra-cluster/index.md @@ -0,0 +1,113 @@ +--- +title: "Deploy Apache Cassandra Cluster through the Linode Marketplace" +description: "Apache Cassandra is an open-source, distributed NoSQL database management system designed for handling large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra offers robust support for clusters with asynchronous masterless replication allowing low-latency operations for all clients. " +published: 2024-08-05 +keywords: ['nosql','database', 'marketplace', 'cassandra'] +tags: ["ubuntu","marketplace", "database", "linode platform", "cloud manager", "ssl", "cloud storage", "high availability", "compute storage"] +external_resources: +- '[About Apache Cassandra](https://cassandra.apache.org/)' +- '[Apache Cassandra Documentation](https://cassandra.apache.org/doc/latest/cassandra/architecture/overview.html)' +--- + +## Cluster Deployment Architecture + +Create a highly available Apache Cassandra cluster through the Linode Marketplace. Apache Cassandra is an open-source, distributed NoSQL database management system designed for handling large amounts of data across many commodity servers, providing high availability with no single point of failure. Cassandra offers robust support for clusters with asynchronous masterless replication, allowing low-latency operations for all clients. + +## Deploying a Marketplace App + +{{% content "deploy-marketplace-apps-shortguide" %}} + +{{% content "marketplace-verify-standard-shortguide" %}} + +{{< note >}} +**Estimated deployment time:** Your Apache Cassandra cluster should be fully installed within 10-15 minutes after the Compute Instance has finished provisioning. +{{< /note >}} + +## Configuration Options + +- **Supported distributions:** Ubuntu 22.04 LTS +- **Suggested minimum plan:** All plan types and sizes can be used. For best results, a minimum of 8GB Dedicated CPU or Shared Compute Instance is recommended. + +### Apache Cassandra Options + +- **[Linode API Token](/docs/products/tools/api/guides/manage-api-tokens/#create-an-api-token):** The provisioner node uses an authenticated API token to create the additional components to the cluster. This is required to fully create the Apache Cassandra cluster. + +{{% content "marketplace-required-limited-user-fields-shortguide" %}} + +{{% content "marketplace-special-character-limitations-shortguide" %}} + +- **Cassandra Database User:** Enter your database super username for the Cassandra cluster. + +- **Number of clients connecting to Cassandra:** The number of clients that will be connecting to the cluster. The application will create SSL certificates for your clients that need to connect to the cluster. The number of clients should be an integer equal or greater than 1. + +- **Cassandra cluster size:** The size of the Cassandra cluster + +- **Country or Region:** Enter the country or region for you or your organization. + +- **State or Province:** Enter the state or province for you or your organization. + +- **Locality:** Enter the town or other locality for you or your organization. + +- **Organization:** Enter the name of your organization. + +- **Email Address:** Enter the email address you wish to use for your certificate file. + +## Getting Started After Deployment + +This Marketplace App creates a 3-5 node cluster using Apache Cassandra. Authentication to the cluster is secured via a user-supplied username. The default `cassandra` database role is removed and superseded by the new user role provided by the client. In addition, cluster communication is secured via SSL/TLS with self-signed keystores. + +Both certificates and keystores can be found on every node in the `/etc/cassandra/ssl` directory. Only the first Cassandra server will have client certificates. This playbook also creates *_n_* amount of client certificates so that applications can connect to the Cassandra cluster. + +### Connecting to Cassandra + +Connect to Cassandra using `cqlsh` using client or server certificates. You will need 4 components to connect to the cluster: + +- Username and password created by the playbook. You can find the credentials in `/home/$SUDO_USER/.credentials`, where `$SUDO_USER` is your sudo user created during deployment. +- Client certificate +- Client key +- CA certificate + +1. On the client node, create the `/home/$SUDO_USER/cassandra_ssl` directory, where `$SUDO_USER` is your sudo user created during deployment. + +2. From the first Cassandra node, securely transfer the following files and directories: `/etc/cassandra/ssl/cert/client1.crt`, `/etc/cassandra/ssl/key/client1.key`, and `/etc/cassandra/ssl/ca/ca.crt` to the `/home/$SUDO_USER/cassandra_ssl` directory on the client node. + +3. Create a Cassandra resource file to use our client certificate. Create the `/home/$SUDO_USER/.cassandra` directory. In the `.cassandra` directory, create a `cqlshrc` file with the following content: + + ``` + [connection] + ssl = true + factory = cqlshlib.ssl.ssl_transport_factory + [ssl] + certfile = /home/$SUDO_USER/cassandra_ssl/ca.crt + userkey = /home/$SUDO_USER/cassandra_ssl/client1.key + usercert = /home/$SUDO_USER/cassandra_ssl/client1.crt + validate = true + ``` + +4. Connect to one of the Cassandra servers using `cqlsh`: + + ```command + cqlsh 192.168.139.160 -u superuser --ssl + ``` + +Replace `192.168.139.160` with the private IP address of one of the Cassandra nodes and `superuser` with the Cassandra database user you provided when deploying the cluster. Once you are connected, enter the password from `/home/$SUDO_USER/.credentials` at the prompt to authenticate to the cluster. + +```output +Connected to Cassandra Cluster at 192.168.139.160:9042 +[cqlsh 6.1.0 | Cassandra 4.1.5 | CQL spec 3.4.6 | Native protocol v5] +Use HELP for help. +superadmin@cqlsh> +``` + +You can distribute the remainder of client certificates to the rest of the nodes. + +## Software Included + +The Apache Cassandra Marketplace App installs the following software on your Linode: + +| **Software** | **Description** | +|:--------------|:------------| +| [**Apache Cassandra**](https://cassandra.apache.org/) | Open Source NoSQL Database. | +| [**UFW**](https://help.ubuntu.com/community/UFW) | Uncomplicated Firewall | + +{{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/marketplace/guides/influxdb/index.md b/docs/products/tools/marketplace/guides/influxdb/index.md new file mode 100644 index 0000000000..07499869e7 --- /dev/null +++ b/docs/products/tools/marketplace/guides/influxdb/index.md @@ -0,0 +1,63 @@ +--- +description: "Deploy InfluxDB on a Linode Compute Instance. InfluxDB is a high-performance time series database designed to handle massive volumes of data with ease." +keywords: ['time series database','monitoring','analytics','data'] +tags: ["marketplace", "linode platform", "cloud manager"] +published: 2024-08-05 +modified_by: + name: Linode +title: "Deploy InfluxDB through the Linode Marketplace" +external_resources: +- '[InfluxData](https://www.influxdata.com/)' +authors: ["Linode"] +--- + +[InfluxDB](https://www.influxdata.com/) is a high-performance time series database designed to handle massive volumes of data with ease. Its intuitive query language and powerful visualization capabilities make it the go-to choice for monitoring, analytics, and IoT applications. + +## Deploying a Marketplace App + +{{% content "deploy-marketplace-apps-shortguide" %}} + +{{% content "marketplace-verify-standard-shortguide" %}} + +{{< note >}} +**Estimated deployment time:** InfluxDB should be fully installed within 5-10 minutes after the Linode has finished provisioning. +{{< /note >}} + +## Configuration Options + +- **Supported distributions:** Ubuntu 22.04 LTS +- **Suggested plan:** All plan types and sizes can be used. + +### InfluxDB Options + +- **Email address** *(required)*: Enter the email address to use for generating the SSL certificates. +- **Admin Username** *(required)*: Username for InfluxDB admin. +- **Organization Name** *(required)*: Name of the InfluxDB organization. +- **Bucket Name** *(required)*: Name of initial InfluxDB bucket. + +{{% content "marketplace-required-limited-user-fields-shortguide" %}} + +{{% content "marketplace-custom-domain-fields-shortguide" %}} + +{{% content "marketplace-special-character-limitations-shortguide" %}} + +## Getting Started after Deployment + +### Accessing the InfluxDB Server + +1. Access InfluxDB's welcome page by launching your preferred web browser and navigating to either the custom domain designated during deployment or your Linode's rDNS domain, such as `192-0-2-17.ip.linodeusercontent.com`. If you need assistance in finding your Linode's IP addresses and rDNS information, refer to the [Managing IP Addresses](/docs/products/compute/compute-instances/guides/manage-ip-addresses/) guide for detailed instructions. + + ![Screenshot of InfluxDB login page](influxdb_login.jpg) + +1. Enter the username `admin` and the generated password provided in the compute instance's `/home/$SUDO_USER/.credentials` file. This lets you access the dashboard and begin using InfluxDB. + + ![Screenshot of InfluxDB login page](influxdb_dashboard.jpg) + +### More Information + +You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. + +- [InfluxData](https://www.influxdata.com/) +- [InfluxDB Documentation](https://docs.influxdata.com/influxdb/v2/) + +{{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/marketplace/guides/influxdb/influxdb_dashboard.jpg b/docs/products/tools/marketplace/guides/influxdb/influxdb_dashboard.jpg new file mode 100644 index 0000000000..55ed7235c6 Binary files /dev/null and b/docs/products/tools/marketplace/guides/influxdb/influxdb_dashboard.jpg differ diff --git a/docs/products/tools/marketplace/guides/influxdb/influxdb_login.jpg b/docs/products/tools/marketplace/guides/influxdb/influxdb_login.jpg new file mode 100644 index 0000000000..234d797d86 Binary files /dev/null and b/docs/products/tools/marketplace/guides/influxdb/influxdb_login.jpg differ diff --git a/docs/products/tools/marketplace/guides/jenkins/index.md b/docs/products/tools/marketplace/guides/jenkins/index.md index 6f575bcb96..02d5b6ec39 100644 --- a/docs/products/tools/marketplace/guides/jenkins/index.md +++ b/docs/products/tools/marketplace/guides/jenkins/index.md @@ -2,7 +2,7 @@ title: "Deploy Jenkins through the Linode Marketplace" description: "This guide shows how to install Jenkins, an open source automation tool which system administrators can use to build, test, and deploy your infrastructure." published: 2020-03-12 -modified: 2022-03-08 +modified: 2024-08-05 keywords: ['jenkins','marketplace','pipeline','continuous delivery'] tags: ["linode platform","automation","marketplace","cloud-manager"] external_resources: @@ -26,39 +26,51 @@ aliases: ['/platform/marketplace/how-to-deploy-jenkins-with-marketplace-apps/', ## Configuration Options -- **Supported distributions:** Debian 10 -- **Recommended minimum plan:** All plan types and sizes can be used. +- **Supported distributions:** Ubuntu 22.04 LTS +- **Suggested minimum plan:** All plan types and sizes can be used. + +### Jenkins Options + +{{% content "marketplace-required-limited-user-shortguide" %}} +{{% content "marketplace-special-character-limitations-shortguide" %}} + +{{% content "marketplace-custom-domain-fields-shortguide" %}} + +- **Let's Encrypt SOA Email:** *(required)* Email address for free Let's Encrypt SSL certificate. +- **Jenkins Version:** *(required)* Version of Jenkins to deploy. ## Getting Started after Deployment -After deploying your Jenkins instance, you are ready to log in and continue the configuration process. Follow the steps in the next section to get started. +After deploying your Jenkins instance, log in and continue the configuration. ### Access Your Jenkins Instance -1. [Connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance). +1. [Connect to your Linode via SSH](/docs/products/compute/compute-instances/guides/set-up-and-secure/#connect-to-the-instance) using `root` or the `sudo user` created during deployment if you added Account SSH Keys. -1. Retrieve your Jenkins admin password by viewing the contents of the `/var/lib/jenkins/secrets/initialAdminPassword` file. +1. Retrieve your Jenkins admin password from the `/home/$SUDO_USER/.credentials` file. ```command - cat /var/lib/jenkins/secrets/initialAdminPassword + cat /home/$SUDO_USER/.credentials ``` - You should see a similar output + You should see a similar output: ```output - 0f6fed516bc4ceab24373fe5de513dc + Sudo Username: $SUDO_USER + Sudo Password: ifdQUa3mD2UJSJ2NA9ddSDVl5NCWfKl + Jenkins Admin password: BeVrZwVkn1mUO0Gl38lRabp ``` -1. Open a browser and navigate to `http://192.0.2.0:8080/`. Replace `192.0.2.0` with your [Linode's IP address](/docs/products/compute/compute-instances/guides/manage-ip-addresses/). This will bring you the *Unlock Jenkins* page. Enter the password you retrieved in the previous step and click **continue**. +1. Open a web browser and navigate to `https://192-0-2-17.ip.linodeusercontent.com`. Replace `192-0-2-17.ip.linodeusercontent.com` with the reverse DNS for your Compute Instance. This will open the *Unlock Jenkins* page. Enter the password you retrieved in the previous step and click **Continue**. ![Log into Jenkins with your admin password](jenkins-admin-login.png) -1. You are now ready to continue to configure Jenkins by installing the community suggested plugins or manually selecting plugins to install. Select the option you prefer. +1. Install the community-suggested plugins or select the plugins to install manually. ![Install Jenkins Plugins](install-jenkins-plugins.png) -1. After you have installed the desired plugins, you will be prompted to create your first admin user. Since the login password retrieved in the beginning of this section is temporary, you should create your admin user now. +1. After you install the desired plugins, create your first admin user. The Jenkins admin password you used earlier is temporary. ![Create your first Jenkins admin user.](create-admin-user.png) -{{% content "marketplace-update-note-shortguide" %}} +{{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/marketplace/guides/openbao/index.md b/docs/products/tools/marketplace/guides/openbao/index.md new file mode 100644 index 0000000000..e0ac61f495 --- /dev/null +++ b/docs/products/tools/marketplace/guides/openbao/index.md @@ -0,0 +1,151 @@ +--- +title: "Deploy OpenBao through the Linode Marketplace" +description: "OpenBao is a open source tool secrets management tool that helps to provide secure, automated access to sensitive data." +published: 2024-08-05 +keywords: ['openbao','marketplace', 'vault'] +tags: ["ubuntu","marketplace", "web applications","linode platform", "cloud manager", "secrets", "education"] +external_resources: +- '[About OpenBao](https://openbao.org/)' +- '[OpenBao] Documentation](https://openbao.org/docs/)' +--- + +OpenBao is an open source solution to manage, store, and distribute sensitive data including secrets, certificates, and keys. This project is a forked alternative to Vault managed by the Linux Foundation, and development is driven by the community. + +{{< note type="warning" title="OpenBao is still early in development" >}} +While OpenBao is a fork of a production-ready 1.14.x release of Hashicorp Vault, the OpenBao codebase is still early in development and is subject to change as development takes place. We recommend following the [release cycles](https://github.com/openbao/openbao/releases) for any breaking changes to minimize any downtime on a production environment. +{{< /note >}} + +## Deploying a Marketplace App + +{{% content "deploy-marketplace-apps-shortguide" %}} + +{{% content "marketplace-verify-standard-shortguide" %}} + +{{< note >}} +**Estimated deployment time:** OpenBao should be fully installed within 5-7 minutes after the Compute Instance has finished provisioning. +{{< /note >}} + +## Configuration Options + +- **Supported distributions:** Ubuntu 24.04 LTS +- **Suggested minimum plan:** All plan types and sizes can be used. For best results, use a 8GB Dedicated CPU or Shared Compute Instance. + +### OpenBao Options + +{{% content "marketplace-custom-domain-fields-shortguide" %}} +- **List of IP addresses to whitelist:** A list of IP address that will be whitelisted for OpenBao. These should be client IPs that will need to obtain secrets from your OpenBao instance. +- **Country or region** *(required)*: Enter the country or region for you or your organization. +- **State or province** *(required)*: Enter the state or province for you or your organization. +- **Locality** *(required)*: Enter the town or other locality for you or your organization. +- **Organization** *(required)*: Enter the name of your organization. +- **Email address** *(required)*: Enter the email address you wish to use for your certificate file. +{{% content "marketplace-required-limited-user-fields-shortguide" %}} + +{{% content "marketplace-special-character-limitations-shortguide" %}} + +## Getting Started After Deployment + +Once the deployment is complete, OpenBao is installed and ready to use. You can SSH into your machine and obtain the credentials found in the `.credentials` file in the sudo users home directory `/home/$SUDO_USER/.credentials`. + +1. `bao` commands can run to continue setting up your OpenBao instance. To confirm, you can run the `bao status` command: + + ```command + bao status + ``` + + {{< note >}} + If you receive an error when running the `bao status` command, reload the environment variable by sourcing your server's bashrc file: + + ```command + source /root/.bashrc + ``` + {{< /note >}} + +2. The OpenBao instance is initialized as part of the deployment. The unseal keys along with the root token can be found in the `.credentials` file in the sudo users home directory `/home/$SUDO_USER/.credentials`. + +The unseal keys should be stored in separate locations. For example, store one key in a password manager such as 1Password, encrypted with gpg, and another offline on a USB key. Doing so ensures that compromising one storage location is not sufficient to recover the number of unseal keys required to decrypt the OpenBao database. + +The `Initial Root Token` is equivalent to the root or superuser account for the OpenBao API. Record and protect this token in a similar fashion. Like the `root` account on a Unix system, this token should be used to create less-privileged accounts to use for day-to-day interactions with OpenBao and the root token should be used infrequently due to its widespread privileges. + +### Unseal OpenBao + +After the deployment is complete, OpenBao will be sealed. The following unseal steps must be performed any time the `openbao` service is brought down and then brought up again, such as when performing `systemctl restart openbao` or restarting the host machine. + +1. With `VAULT_ADDR` set appropriately, execute the unseal command. + + ```command + bao operator unseal + ``` + + A prompt will appear: + + ```output + Unseal Key (will be hidden): + ``` + +2. Paste or enter one unseal key and press **Enter**. The command will finish with output similar to the following: + + ```output + Unseal Key (will be hidden): + Key Value + --- ----- + Seal Type shamir + Initialized true + Sealed true + Total Shares 3 + Threshold 2 + Unseal Progress 1/2 + Unseal Nonce n/a + Version 2.0.0-alpha20240329 + Storage Type raft + HA Enabled false + ``` + + The output indicates that one out of the two required unseal keys has been provided. + +3. Perform the `unseal` command again. + + ```command + bao operator unseal + ``` + +4. Enter a _different_ unseal key when the prompt appears. + + ```output + Unseal Key (will be hidden): + ``` + +5. The resulting output should indicate that OpenBao is now unsealed (`Sealed:false`). + + ```output + Unseal Key (will be hidden): + Key Value + --- ----- + Seal Type shamir + Initialized true + Sealed false + Total Shares 3 + Threshold 2 + Version 2.0.0-alpha20240329 + Build Date 2024-03-29T21:37:50Z + Storage Type raft + Cluster Name vault-cluster-9b0549a6 + Cluster ID 4cb3e7c0-6ce5-2d54-2549-f88d29cb9691 + HA Enabled true + HA Cluster n/a + HA Mode standby + Active Node Address + Raft Committed Index 27 + Raft Applied Index 27 + ``` + +OpenBao is now operational. + +## More Information + +You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials. + +- [OpenBao](https://openbao.org/) +- [OpenBao Documentation](https://openbao.org/docs/) + +{{% content "marketplace-update-note-shortguide" %}} \ No newline at end of file diff --git a/docs/products/tools/marketplace/guides/valkey/index.md b/docs/products/tools/marketplace/guides/valkey/index.md new file mode 100644 index 0000000000..32f0acc858 --- /dev/null +++ b/docs/products/tools/marketplace/guides/valkey/index.md @@ -0,0 +1,100 @@ +--- +title: "Deploy Valkey through the Linode Marketplace" +description: "Valkey is an open-source, keyvalue database driven by community development and supported by the Linux Foundation. Valkey is forked from Redis release 7.2, and maintains BSD-3 licensing. Valkey can serve production roles such as caching and message queues, or as a primary database." +published: 2024-08-05 +keywords: ['nosql','database', 'marketplace', 'valkey'] +tags: ["ubuntu","marketplace", "database", "linode platform", "cloud manager", "ssl", "cloud storage", "high availability", "compute storage"] +external_resources: +- '[About Valkey](https://valkey.io/)' +- '[Valkey Documentation](https://valkey.io/docs/)' +--- + +Valkey is an open-source (BSD) key/value datastore that supports diverse workloads such as caching and message queues, and can act as a primary database. The Akamai Connected Cloud One-Click App for Valkey is configured as a standalone system daemon with TLS support. + +Valkey natively supports a broad collection of data types, extensibility with built-in scripting support for Lua, and module plugins to create new commands, data types, and more. + +{{< note type="warning" title="Valkey is still early in development" >}} +While Valkey is a fork of a production-ready 7.2.4 release of Redis, the Valkey codebase is still early in development and is subject to change as development takes place. We recommend following the [release cycles](https://github.com/valkey-io/valkey/releases) for any breaking changes to minimize downtime on a production environment. +{{< /note >}} + +## Deploying a Marketplace App + +{{% content "deploy-marketplace-apps-shortguide" %}} + +{{% content "marketplace-verify-standard-shortguide" %}} + +{{< note >}} +**Estimated deployment time:** Valkey should be fully installed within 10-15 minutes after the Compute Instance has finished provisioning. +{{< /note >}} + +## Configuration Options + +- **Supported distributions:** Ubuntu 22.04 LTS +- **Suggested minimum plan:** All plan types and sizes can be used. For best results, a minimum of 8GB Dedicated CPU or Shared Compute Instance is recommended. + +### Valkey Options + +{{% content "marketplace-required-limited-user-fields-shortguide" %}} + +{{% content "marketplace-special-character-limitations-shortguide" %}} + +- **Number of clients connecting to Valkey:** The number of clients that will be connecting to the cluster. The application will create SSL certificates for your client that need to connect to the cluster. This should be an integer equal or greater than 1. + +- **Valkey Version:** Version of Valkey to install. + +### Self Signed SSL/TLS Options + +- **Country or Region:** Enter the country or region for you or your organization. + +- **State or Province:** Enter the state or province for you or your organization. + +- **Locality:** Enter the town or other locality for you or your organization. + +- **Organization:** Enter the name of your organization. + +- **Email Address:** Enter the email address you wish to use for your certificate file. + +- **CA Common Name:** The common name that will be shared as the authority for all SSL certificates. Example: "Valkey CA" + +## Getting Started After Deployment + +Connect to the compute instance using either `root` or the `sudo user` created during deployment if you provided account SSH keys. In order to access the TLS-encrypted Valkey database, path arguments must be provided to `valkey-cli`. The directory paths are provided in the MOTD: + +```output +********************************************************* +Akamai Connected Cloud Valkey Marketplace App +Credentials File: /home/$SUDO_USER/.credentials +Valkey Configuration Directory: /etc/valkey/ +Valkey Configuration File: /etc/valkey/valkey.conf +Valkey SSL directories: /etc/valkey/ssl/[ca,certs,keys,reqs] +Valkey Install directory: /var/valkey +Valkey Data Directory: /var/valkey/data +Valkey SRC: /var/valkey/lib/[...] +Valkey DEFAULT Configuration File: /var/valkey/lib/valkey.conf +Documentation: https://www.linode.com/docs/products/tools/marketplace/guides/valkey/ +********************************************************* +To delete this message of the day: rm /etc/motd +``` + +Access the Valkey database from the compute instance using the `valkey-cli` command, for example: + +```command +--tls --cacert /etc/valkey/ssl/ca/ca.crt --cert /etc/valkey/ssl/certs/client1.crt --key /etc/valkey/ssl/keys/client1.key.pem +``` + +This enters the Valkey interface and allows you to authenticate as either the `default` user or the `sudo user`. The `sudo user` is created during deployment using the passwords provided in the `/home/$SUDO_USER/.credentials` file. + +Valkey is deployed to listen only on `127.0.0.1` loopback. Additional configurations to Valkey and the firewall may be necessary to connect to external clients and resources. + +{{< note >}} +Valkey is still in early development and has limited documentation. Pending further major release, Redis usage and configuration documentation is generally applicable to Valkey. +{{< /note >}} + +## More Information + +Additional resources are available from the Valkey community. + +- [Valkey](https://valkey.io/) +- [Valkey Github Repo](https://github.com/valkey-io/valkey) + +{{% content "marketplace-update-note-shortguide" %}}