CONFIGURATION tab
    • 21 Mar 2024
    • 7 Minutes to read
    • Dark
      Light
    • PDF

    CONFIGURATION tab

    • Dark
      Light
    • PDF

    Article summary

    Profiles are configured on this page.

    About Dynamic Templates

    A dynamic template can be used to apply a dynamic configuration/script to one or more devices, using the Jinja2 format. When this type of template is applied, it contain embedded configuration details and scripts. Based on device specifications, the template is easily configured by the user. Dynamic templates can contain 2 types of pre-defined variables, static and dynamic ones.

    The process to apply a dynamic template requires these conditions:

    1. Identify needed custom fields (existing or newly created)
    2. Enable the dynamic custom fields that are intended to be used.
    3. Identify the configuration/script (create, clone, edit as needed).
    4. Identify the devices to apply the template (must be Enrolled).
    5. When the device(s) are selected, select the dynamic template that are contained in the scopes applied.
    6. When applied, the device is updated.


    Dynamic Variables Example

    For this, device.version, site.name and site.address must be previously enabled.

    #!/bin/bash
    echo "What's the device version?"
    echo "The device version is {{ device.version }}!"
    echo "And the device's site? What's its name?"
    echo "The device site is {{ site.name }} and its address is {{ site.address }}"
    echo "Look at these nice curly brackets! {{ '{{' }} remember.to.escape.it {{ '}}' }}"
    echo "More nice brackets {% raw %} {{ another.way.to.escape }} {% endraw %}!"
    

    Manage Configurations/Script

    Download Configuration/Script

    1. Go to PROFILES :: CONFIGURATION.
    2. Locate configuration/script.
    3. On Download column, click Downloadicon.
      If password protected, on the Profile File Download dialog, enter Password and click CONFIRM
    4. The file is saved on the local computer's Download location.

    Add New Configuration

    1. Go to PROFILES :: CONFIGURATION.
    2. Click +ADD (displays dialog).
    3. Enter Name and Description.
    4. From the Configuration drop-down list, select one (Configuration, Script).
    5. Select Automatically apply on device enrollment checkbox (if selected, the configuration is applied when the device is enrolled).
    6. Select Apply on Device Reconnect Event: Applies profiles automatically to the Nodegrid device when it goes from offline state to online state. For example, if you factory reset a device or upgrade a device you may lose the old configuration, you can use this option to automatically import those profiles to apply the old configuration once the device is available or upgraded. 
      • When the script is enabled, every time a device gets back from an offline to an online state, the system is alerted with a notification, based on the mentioned code. For example, you can write a script to determine if the device has an updated revision tag. If the revision tag is updated, the old configuration is restored once the device is online. For more information on creating a Configuration, see https://docs.zpesystems.com/docs/user-interfaces#cli-interface.
        Note
        • If the script contains a reboot condition, the system will be stuck in a loop indefinitely.
        • Only those devices listed on the ENROLLED tab are considered for applying the profiles.

    7. Select the Dynamic Template checkbox.
    8. Select the Password Protected checkbox (if selected expand dialog). Enter Password.
    9. Select the Custom Command checkbox (expands dialog). Enter the Button name.
    10. On View Code as drop-down, select the type of code (Plain Text, Shell, Python, Javascript/Node JS)
    11. In the Code textbox, paste lines of code.
    12. Click SAVE.

    On PROFILES :: CONIGURATION table, Custom Command column, is set to Enabled.

    NOTE
    To disable Custom Command, select the checkbox and click EDIT.
    On the dialog, unselect Custom Command checkbox and click SAVE.

    Add Configuration from File

    1. Go to PROFILES :: CONFIGURATION.
    2. Click +ADD FROM FILE (displays dialog).
    3. Enter Name and Description.
    4. Click Import from File (opens dialog to select a local file).
    5. Select Automatically apply on device enrollment checkbox (if selected, the configuration is applied when the device is enrolled).
    6. Select Apply on Device Reconnect Event: Applies profiles automatically to the Nodegrid device when it goes from offline state to online state. For example, if you factory reset a device or upgrade a device you may lose the old configuration, you can use this option to automatically import those profiles to apply the old configuration once the device is available or upgraded. 
      • When the script is enabled, every time a device gets back from an offline to an online state, the system is alerted with a notification, based on the mentioned code. For example, you can write a script to determine if the device has an updated revision tag. If the revision tag is updated, the old configuration is restored once the device is online. For more information on creating a Configuration, see https://docs.zpesystems.com/docs/user-interfaces#cli-interface.
        Note
        • If the script contains a reboot condition, the system will be stuck in a loop indefinitely.
        • Only those devices listed on the ENROLLED tab are considered forapplying the profiles.
    7. Select the Dynamic Template checkbox.
    8. Select the Password Protected checkbox (if selected expands the dialog). Enter Password
    9. Select the Custom Command checkbox (if selected, expands dialog). Enter Button name
    10. On View Code as drop-down, select the type of code (Plain Text, Shell, Python, Javascript/Node JS)
    11. In Code textbox (paste lines of code).
    12. Click SAVE.

    Add Configuration from Template

    1. Go to PROFILES :: CONFIGURATION.
    2. Click ADD FROM TEMPLATE (displays dialog). 
    3. Enter Name and Description.
    4. From the Template drop-down, select the required template.
      Note: 
    5. From the Configuration drop-down, select one (Configuration, Script).
    6. Select the Automatically apply on the device enrollment checkbox (if selected, the configuration is applied when the device is enrolled).
    7. Select Apply on Device Reconnect Event: Applies profiles automatically to the Nodegrid device when it goes from offline state to online state. For example, if you factory reset a device you lose the old configuration, you can use this option to automatically import those profiles to apply the old configuration once the device is available or upgraded. 
      • When the script is enabled, every time a device gets back from an offline to an online state, the system is alerted with a notification, based on the mentioned code. For example, you can write a script to determine if the device has an updated revision tag. If the revision tag is updated, the old configuration is restored once the device is online. For more information on creating a Configuration, see https://docs.zpesystems.com/docs/user-interfaces#cli-interface.
        Note
        • If the script contains a reboot condition, the system will be stuck in a loop indefinitely.
        • Only those devices listed on the ENROLLED tab are considered for applying the profiles.
    8. Select the Dynamic Template field.
    9. Select the Password Protected field. Enter Password
    10. On the Custom Command checkbox (expands dialog). Enter Buton name
    11. On View Code as drop-down, select the type of code (Plain Text, Shell, Python, Javascript/Node JS)..
    12. In Code textbox (paste lines of code).
    13. Click SAVE.

    Clone a Configuration

    NOTE
    The configuration details and code are also cloned.
    1. Go to PROFILES :: CONFIGURATION.
    2. In the table, locate profile and select the checkbox.
    3. Click CLONE (displays dialog).
    4. Enter Name.
    5. Modify details, as needed.
    6. Click SAVE.

    Edit a Configuration

    1. Go to PROFILES :: CONFIGURATION.
    2. In the table, locate the profile and select the checkbox.
    3. Click EDIT (displays dialog).
    4. Make changes, as needed.
    5. Click SAVE.

    Delete a Configuration

    1. Go to PROFILES :: CONFIGURATION.
    2. In the table, locate profile and select checkbox.
    3. Click DELETE (displays dialog).
    4. On the confirmation dialog, click DELETE.

    Enable Password Protection on the Configuration/Script

    If password-protected, the file is only installed on the device(s) configured with the matching password.

    1. Log into the device and go to Security :: Services :: General Services.
    2. In the ZPE Cloud menu, if the Enable File Protection checkbox is selected, must include the Passcode and Confirm Passcode (must match the password in the Add New Configuration dialog).


    Encrypt Configuration Files

    Before uploading ZPE Cloud, configuration/script files can be encrypted. The file can only be installed if the Nodegrid device settings are correctly enabled.

    1. Log into the Nodegrid device.
    2. Go to Security :: Services :: ZPE Cloud.
    3. Select Enable File Protection checkbox and enter Passcode.
    4. Select Enable File Encryption checkbox.
    5. Click Save.

    Encryption Requirements

    To add extra security to the file encryption process, the following openssl features must be enabled:

    • Cipher: aes-256-cbc
    • Encoding: base64
    • Salted: yes
    • Key Digest Algorithm: sha256

    Requirements

    • Openssl version :: 1.1.0

    Before upload to ZPE Cloud; Files (CLI commands, custom scripts and save_config tarball) can be encrypted externally or on the Nodegrid device.

    OS Encryption

    Nodegrid OS Requirements

    • Nodegrid version >= 4.1
    • Openssl 1.1.1

    To encrypt a file using Nodegrid, enter:

    openssl aes-256-cbc -base64 -salt -md sha256 -in <input_file> -out <encrypted_file>

    To encrypt the file, openssl asks for the password. Alternatively, instead of entering at the prompts, use – k, followed by the password flag.

    Linux OS Requirements

    Openssl 1.1.0

    To install on Ubuntu machines, enter:

    sudo apt-get install libssl-dev

    To encrypt the file using Linux, enter:

    openssl aes-256-cbc -base64 -salt -md sha256 -in <input_file> -out <encrypted_file>

    To encrypt the file, openssl asks for the password. Alternatively, instead of entering at the prompts, use – k, followed by the password flag.

    Mac OS Encryption Requirements

    Openssl >= 1.1.0

    On Mac OS, install Brew. Follow the steps at https://brew.sh/

    After Brew is installed, to install openssl, enter:

    brew install openssl brew link --force openssl

    To encrypt the file on Mac OS, enter:

    openssl aes-256-cbc -base64 -salt -md sha256 -in <input_file> -out <encrypted_file>

    To encrypt the file, openssl asks for the password. Alternatively, instead of entering at the prompts, use – k, followed by the password flag.

    Windows OS Encryption Requirements

    Openssl >= 1.1.0

    Openssl can be installed on Windows via the binary installer. For more information, please see the Openssl Wiki.

    To encrypt the file using Windows, use the following command:

    openssl aes-256-cbc -base64 -salt -md sha256 -in <input_file> -out <encrypted_file>

    To encrypt the file, openssl asks for the password. Alternatively, instead of entering at the prompts, use – k, followed by the password flag.



    Was this article helpful?

    What's Next
    ESC

    Eddy AI, facilitating knowledge discovery through conversational intelligence