Create a Data Store

Introduction

A data store is an interface to your centralized storage repository. The repository can be your own file server, third-party cloud storage, or container service. You can store all your app images and also files (such as licenses or certificates) that are available for deploying to your edge nodes. This article covers creating a persistent data store for a file storage or container registry.

This article is specific to creating your own data store. See Hosted EVE-OS Images if you're interested in using ZEDEDA-hosted data stores for EVE-OS images.

The edge nodes in your enterprise must be able to reach your 3rd party storage services. If the storage services or data stores reside behind private FQDNs/IPs or firewalls, the reachability should be taken into consideration when planning for a device or a fleet.

Prerequisites

This is a series of articles. You will likely follow them in this order.

  1. Storage Overview
  2. Create a Data Store  - You are here!
  3. Manage a Data Store
  4. Use the ZEDEDA CLI to Manage a Data Store 

Add a Data Store

You can add a data store for persistent storage of app images and files to help optimize the distribution and update process across edge nodes. This might be necessary if you are running large fleets of devices that need access to the same or different app images, licenses, certificates, and more. The data store is the entity that delivers the actual files to the edge nodes (the files are not stored in ZEDEDA Cloud). Each data store name is exclusive. You can’t have multiple data stores with the same name in an Enterprise.  

  1. From the left panel, go to Library > Data Stores.
  2. Click the Add icon at the top right of the page.
  3. Continue on to the configuration sections as needed, such as configure the data store identity.
  4. Click Add when finished.

Configure the Data Store Identity

  1. Enter the data store Name.
    This is unique across the enterprise and cannot be changed.
  2. Enter the data store Title.
    This value is not used by the ZEDEDA Cloud system. It’s offered to give you more flexibility in organizing your enterprise. It can be changed after you create the object. 
  3. Enter a Description to help other admins understand the purpose of the network or any important details.
  4. Select the Category.
    • File Storage - For storing generic file-based data that needs to be persisted and accessed by edge nodes (such as scripts, custom configurations, and more).
    • Container Registry - For storing Docker images or other containerized application formats that will be pulled onto devices for deployment.
  5. Select the Project or multiple projects.
  6. Continue on to configure the data store details.

Configure the Data Store Details

After you configure the file store identity, configure the details for file storage or container registry.

Configure file storage details 

  1. Enter the FQDN.
    The complete domain name for a specific computer, or host, on the internet. If you select SFTP as the 'Type' of Datastore, FQDN must be of <IP>:<Port> format. For example, 192.168.25.101:22 or 192.168.16.11:23456.
  2. Enter the Path.
    Specifies the path to the application image. 
  3. Select the Type from the drop-down:
    • HTTP - Data store hosted on HTTP server. Unsecured connection. 
    • HTTPS - Data store hosted on HTTPS server. Secured connection. You can upload one or more certificates.
    • Amazon S3 - Data store hosted on AWS S3.
      • Region - A valid geographic region, such as 'us-east-1', 'us-east-2', 'us-west-1', 'us-west-2'.
      • Access Key ID -  The access key generated in IAM, such as AKIAIOSFODNN7EXAMPLE. 
      • Secret Access Key  - The secret key that corresponds to your Access Key ID, such as wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY.
    • SFTP - Data store hosted on SFTP server. 
      • Username - Your SFTP server username.
      • Password - Your SFTP server password.
    • Azure Blob Storage - Data store hosted on Azure Blob Storage.
      • Access Key ID -  Typically your Storage Account Name when using shared key authentication. 
      • Secret Access Key  - Obtained from the Access keys section of your Azure Storage Account.
  4. Click Add.

Configure container registry details

You might want to store your containers on your private container registry. The following table shows the procedure for some of the often-used registries.

 
Docker Registry FQDN Username Password Details
Docker docker.io username (Dockerhub username) password (Dockerhub password) URL
GCP docker://gcr.io "_token" (Fixed string without quote) Authentication Token generated from GCP Console. URL
Azure
docker://uniquer.azurecr.io
(unique: is the name of the registry created in Azure)
"_token" (Fixed string without quote) AD or SP password from Azure URL
GitHub
docker://ghcr.io
Username (GitHub username)

Create a GitHub personal token
Select

  • write:packages
  • read:packages
  • delete:packages
  • repo (if your repository is private; do not select if it is public)
URL
 
 
  1. Enter the FQDN.
    The complete domain name for a specific computer, or host, on the internet. 
    • Docker -  docker://docker.io
    • Azure - zedcontrolapiteststore.azurecr.io, where zedcontrolApiTestStore is the registry name.
    • Google -  docker://gcr.io
    • GitHub - docker://ghcr.io
  2. Select the Type as Container from the drop-down.
  3. Username - The username for authenticating with the registry, such as Docker Hub account name.
  4. Password - The password corresponding to the username, such as Docker Hub password or access token.
  5. Click Add.
 

Azure Blob Datastore Example

The following steps outline the addition of Azure Blob Data Store at https://azure.microsoft.com/en-us/products/storage/blobs. Note that the navigation could change at any time and the screenshots could be out of date.   

Azure

  1. Log in to the Azure portal, go to storage accounts, and click on your account.
  2. Click on Access Keys under Storage + networking on the left and copy the storage account name and one of the security Keys (you can copy the key by clicking show keys at the top). You need this info for creating the datastore in the ZEDEDA platform.
  3. Click on Containers under Data Storage from the left panel.
  4. Create a container if one doesn't exist with the appropriate permissions or click on the existing container.
  5. Store your application images in there.
  6. Click on properties under settings (on the left) and copy the URL.
  7. Add it to ZEDEDA GUI

ZEDEDA GUI

After you create the Azure Blob Data Store, you can add the interface in ZEDEDA GUI.

  1. Log into ZEDEDA GUI.
  2. From the left panel, go to Library > Data Stores.
  3. Click the Add icon at the top right of the page.
  4. Create the data store with the following fields:
    1. Name and Title of your choice.
    2. Select Category as File Storage.
    3. The FQDN is the URL you previously copied, minus the container name, and the path is the container name. For example, in this case, the URL is: 'https://zededacentral.blob.core.windows.net/qcow2images'. So the FQDN is 'https://zededacentral.blob.core.windows.net,' and the path is 'qcow2images'.
    4. The datastore Type is Azure Blob Storage.
    5. The Access Key Id is the Storage account name, and the Secret Access Key is the Key portion of key1 or key2 that you previously copied.
  5. Click Add.

Next Steps

This is a series of articles. You will likely follow them in this order.

  1. Storage Overview
  2. Create a Data Store  - You are here!
  3. Manage a Data Store
  4. Use the ZEDEDA CLI to Manage a Data Store 

After you’ve completed the series, you might be interested in the following articles. 

Was this article helpful?
3 out of 4 found this helpful