Valkey

Deploy Valkey, an open source in-memory key-value data store that supports caching, message queues, and primary database workloads. This app deploys Valkey with TLS support and generates client certificates for secure access.

Note: 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. Follow the release cycles for any breaking changes to minimize downtime in a production environment.

1. Deploy Valkey

 Estimated deployment time: 10-15 minutes

Follow the deployment instructions from the Get started section to configure the app, deploy it, and verify software installation.

For information on the app-specific configurations, see the Configuration options section.

Base distribution and plan

  • Supported distribution: Ubuntu 24.04 LTS
  • Recommended plans: All plan types and sizes can be used. For best results, use at least an 8GB Dedicated CPU or Shared Compute Instance.

Configuration options

Configure the required options to deploy your instance. For additional customization, add advanced options.

The table maps the Cloud Manager UI fields to their corresponding API/CLI keys (stackscript_data) required for automated deployments.

StackScript ID: 1403815

UI fieldAPI/CLI keyDescription
Required options
Limited sudo useruser_nameYour preferred username for the limited sudo user entered without any capital letters, spaces, or special characters.
When adding a limited sudo user, the user is created with a strong generated password for your new Linode instance, and the account is assigned to the sudo group, which provides elevated permissions when running commands with the sudo prefix.
Note: For easier and more secure access with the sudo user, add an account SSH key for the Cloud Manager user during deployment and select that user as an authorized_user. Their SSH pubkey will be assigned to both the root and limited user.
SSL InformationsslheaderSet to Yes by default. This requires providing details for a self-signed TLS/SSL certificate, like country, town, organization, and email address.
Country or regioncountry_nameApplies to a self-signed TLS/SSL certificate. The country or region for you or your organization. When using the API/CLI, specify it as a two-letter ISO country or region code.
State or provincestate_or_province_nameApplies to a self-signed TLS/SSL certificate. The state or province for you or your organization.
Localitylocality_nameApplies to a self-signed TLS/SSL certificate. The town or other locality for you or your organization.
Organizationorganization_nameApplies to a self-signed TLS/SSL certificate. The name of your organization.
Email addressemail_addressApplies to a self-signed TLS/SSL certificate. The email address used for a certificate file.
CA Common Nameca_common_nameApplies to a self-signed TLS/SSL certificate. A common name for the certificate authority. For example, Valkey CA.
Version of Valkey to installvalkey_versionThe Valkey version to install. Current value is 8.0.1.
Number of clients connecting to Valkeyclient_countThe 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 to or greater than 1.
Advanced options
Disable root access over SSHdisable_rootApplies to a limited sudo user. To block the root user from logging in over SSH, select Yes. Defaults to No.
Note: When you disable the root user from logging in over SSH and don't provide a valid Account SSH Key assigned to the authorized_user, you can still switch to the root user. To do that, log in as root via the Lish console and run cat /home/$USERNAME/.credentials to view the generated password for the limited sudo user.
Optional data exporter Add-onsadd_onsAn option to include add-ons for your deployment. Possible values are:
  • none (default)
  • newrelic
  • node_exporter
  • mysqld_exporter

Note: After the app deployment completes, the password for your limited sudo user is generated and stored in the .credentials file in the home directory, along with Valkey credentials. Log in to your instance as root through the Lish console or SSH, then run cat /home/$USERNAME/.credentials to view its contents.

Use API, CLI, or Terraform

In addition to deploying the app to a new Linode instance via Cloud Manager, you can also use the Linode API, CLI, or Terraform. When running the operation, you need to provide the StackScript ID, supported Linux distribution, and app-specific fields along with the standard Linode deployment configurations.

Note: Generate a personal access token to authenticate your API, CLI, or Terraform requests.

curl --location 'https://api.linode.com/v4/linode/instances' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer abc123def456hij789klm' \
  --data-raw '{
    "region": "us-east",
    "type": "g6-standard-2",
    "image": "linode/ubuntu24.04",
    "label": "my-valkey-one-click-app",
    "root_pass": "@C0mpl3x#P@ssw0rd",
    "stackscript_id": 1403815,
    "stackscript_data": {
      "user_name": "jsmith",
      "country_name": "US",
      "state_or_province_name": "Massachusetts",
      "locality_name": "Cambridge",
      "organization_name": "Akamai Technologies",
      "email_address": "jsmith@example.com",
      "ca_common_name": "Valkey CA",
      "valkey_version": "8.0.1",
      "client_count": "1"
    }
  }'
linode-cli linodes create \
  --region us-east \
  --type g6-standard-2 \
  --label my-valkey-one-click-app \
  --image linode/ubuntu24.04 \
  --root_pass @C0mpl3x#P@ssw0rd \
  --stackscript_id 1403815 \
  --stackscript_data '{"user_name":"jsmith", "country_name":"US", "state_or_province_name":"Massachusetts", "locality_name":"Cambridge", "organization_name":"Akamai Technologies", "email_address":"jsmith@example.com", "ca_common_name":"Valkey CA", "valkey_version":"8.0.1", "client_count":"1"}'
resource "linode_instance" "my-linode" {
  region         = "us-east"
  type           = "g6-standard-2"
  label          = "my-valkey-one-click-app"
  image          = "linode/ubuntu24.04"
  root_pass      = "@C0mpl3x#P@ssw0rd"
  stackscript_id = 1403815
  stackscript_data = {
    "user_name"              = "jsmith"
    "country_name"           = "US"
    "state_or_province_name" = "Massachusetts"
    "locality_name"          = "Cambridge"
    "organization_name"      = "Akamai Technologies"
    "email_address"          = "jsmith@example.com"
    "ca_common_name"         = "Valkey CA"
    "valkey_version"         = "8.0.1"
    "client_count"           = "1"
  }
}

2. Access Valkey

  1. Connect to the compute instance using either root or the sudo user created during deployment if you provided account SSH keys.

  2. To access the TLS-encrypted Valkey database, path arguments must be provided to valkey-cli. The directory paths are provided in the message of the day (MOTD).

    *********************************************************
    Akamai Connected Cloud Valkey Quick Deploy 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://techdocs.akamai.com/quick-deploy-apps/docs/valkey
    *********************************************************
    To delete this message of the day: rm /etc/motd
  3. Access the Valkey database from the compute instance using the valkey-cli command.

    valkey-cli --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 .credentials file.

Valkey is deployed to listen only on a 127.0.0.1 loopback. You may need to add additional configurations to Valkey and the firewall to connect to external clients and resources.

Additional resources

For more information about the installed packages, see their official documentation.

📘

Note that we can't vouch for the accuracy or timeliness of externally hosted resources.


Did this page help you?