Cloud customer?
Start for Free >
Upgrade in MyJFrog >
What's New in Cloud >

Search





Overview

JFrog Artifactory Edge (an "Edge node") is an edition of JFrog Artifactory whose available features have been customized to serve the primary purpose of distributing software to a runtime such as a data center, a point-of-sale or even a mobile device. All packages hosted in an Edge node are part of a Release Bundle which is a secure and immutable collection of software packages that make up a release to be provisioned or can be uploaded using direct file upload through the UI or REST API.

Distributing Release Bundles REST API can be found here

JFrog Subscription Levels

CLOUD (SaaS) | SELF-HOSTED
ENTERPRISE+
Page Contents



Installing an Edge Node

Before You Get Started

The Replicator  is a process that optimizes replication when distributing software with JFrog Distribution, dramatically reducing the load on the network and the time taken to synchronize Release Bundles from a source Artifactory instance to target instance or Edge node.

Activate the Replicator

The primary purpose of an Edge node is to receive Release Bundles for deployment to a runtime which requires the use of the Replicator. Therefore, once your Edge node is installed, you need to ensure its Replicator has been activated and is ready for use as described in Installation and Activation

Activating the Replicator is done on the source Artifactory and not on the Edge one.

Circle of Trust

An Edge node can only receive Release Bundles from an Artifactory service if they are both within the same circle of trust. Once you have completed the installation of the Edge node, make sure to add it to the circle of trust for any Artifactory service from which it should receive Release Bundles. To learn how to establish a circle of trust, please refer to Establishing the Circle of Trust in the JFrog Access User Guide.



Installing Artifactory Edge Using Linux Archive

Edge Installation Options

The process of installing an Edge node is identical to installing any other Artifactory instance. The following section details the process of installing Artifactory using Linux Archive a popular installation option. For other Artifactory installation options, see Installing Artifactory.


Linux Archive Installation

  1. Create a JFrog Home directory and move the downloaded installer archive into that directory, for example:

    mkdir jfrog
    mv jfrog-artifactory-<pro|oss|cpp-ce>-<version>-linux.tar.gz jfrog
    cd jfrog


  2. Set the JFrog Home environment variable

    export JFROG_HOME=<full path of the jfrog directory>

    To learn more about the system variable JFROG_HOME, click below.

     JFrog Product Directory Structure

    ProductEnvironment Variable

    Linux/Windows Archive

    RPM/DebianDocker ContainerDocker Host
    JFrog HomeJFROG_HOME

    <extracted directory>

    /opt/jfrog/opt/jfrogROOT_DATA_DIR *
    Note: Defined and customized in the .env file
    Default value~/.jfrog
    Application

    JFROG_HOME/<product>/app

    <extracted directory>/<product>/app/opt/jfrog/<product>/app/opt/jfrog/<product>/app-
    Data

    JFROG_HOME/<product>/var

    <extracted directory>/<product>/var/var/opt/jfrog/<product>/var1.
    Note: symbolic link
    /var/opt/jfrog/<product>/varROOT_DATA_DIR/var *
    Default value~/.jfrog/<product>/var

    Directory is customizable

    1. Customizing the RPM/Debian JFrog product data

    There are 2 ways to customize the data folder:

    1. Manual Option: Create a symbolic link from your custom folders to the default folders. For example, $JFROG_HOME/artifactory/var → /mnt/artifactory/var .
    2. Environment Variable Option: Set the JF_PRODUCT_VAR environment variable to point to a custom location in your system's environment variables files. See Ubuntu System environment variables for reference.

    Generic Directory Layout

    This is a generic directory layout for all JFrog products.

    JFROG_HOME
      └── <product>
         ├── app
         │   ├── bin
         │   ├── run
         │   ├── doc
         │   ├── <third-party>
         │   │   ├── java
         │   │   ├── yq
         │   │   └── others
         │   └── <service>
         │   │   ├── bin
         │   │   └── lib
         │   └── misc
         │
         └── var
            ├── backup
            │   └── <service>
            ├── bootstrap
            │   └── <service>
            ├── data
            │   └── <service>
            ├── etc
            │   ├── system.yaml
            │   ├── <service>
            │   └── security
            │       └──master.key
            │       └──join.key
            ├── log
            │   └── <service logs>
            │   └── archived
            │       └── <archived service logs>
            └── work
                └── <service>
    
    

  3. Extract the contents of the compressed archive and move it into the artifactory directory.

    tar -xvf jfrog-artifactory-<pro|oss|cpp-ce>-<version>-linux.tar.gz
    mv artifactory-<pro|oss|cpp-ce>-<version> artifactory
  4. Customize the product configuration (optional) including database, Java Opts, and filestore.
  5. Run Artifactory as a foreground, background process, or as a service.
    As a Process
    Run Artifactory as a foreground or daemon process: When when running as a foreground process, the console will be locked and the process can be stopped at any time.

    Foreground Process
    $JFROG_HOME/artifactory/app/bin/artifactoryctl
    Daemon Process
    $JFROG_HOME/artifactory/app/bin/artifactoryctl start

    Manage the process.

    $JFROG_HOME/artifactory/app/bin/artifactoryctl check|stop

    As a Service

    Artifactory is packaged as an archive file with a bundled Tomcat, and a complete install script that can be used to install it as a service running under a custom user. Currently supported on Linux and Solaris systems.

    OS User Permissions

    When running Artifactory as a service, the installation script creates a user called artifactory which must have run and execute permissions on the installation directory.

    It is recommended to extract the Artifactory download file into a directory that gives run and execute permissions to all users such as /opt.

    To install Artifactory as a service, browse to the $JFROG_HOME/artifactory/app/bin directory and execute the following command as root:

    # USER (optional) - the user you want application to run as (default = artifactory)
    # GROUP (optional) - the group with which the application will run as. (default = artifactory)
    $JFROG_HOME/artifactory/app/bin/installService.sh [USER [GROUP]]

    To manage the service, use systemd or init.d commands depending on your system.

    Using systemd
     systemctl <start|stop|status> artifactory.service
    Using init.d
    service artifactory <start|stop|check>

    If Artifactory is running, you should see its pid , if not, you will see a list of environment variables used by the service.

  6. Access Artifactory from your browser at: http://SERVER_HOSTNAME:8082/ui/For example, on your local machine: http://localhost:8082/ui/.
  7. Check Artifactory Log.

    tail -f $JFROG_HOME/artifactory/var/log/console.log

    Configuring the Log Rotation of the Console Log

    The console.log file can grow quickly since all services write to it.


Adding an Edge Node

After installing Artifactory using the steps above, use the following steps to add the Artifactory Edge node.

Step 1: Optional: Enable a Replicator on Both Instances

The primary purpose of an Edge node is to receive Release Bundles for deployment to a runtime which requires the use of the Replicator. Therefore, once your Edge node is installed, you need to ensure its Replicator has been activated and is ready for use as described in Installation and Activation. To achieve better performance, you can enable a Replicator on both Artifactory instances.

Step 2: Establish a Circle of Trust

An Edge node can only receive Release Bundles from an Artifactory service if they are both within the same circle of trust. Establish a circle of trust by copying the root crt from the source Artifactory to the trusted keys folder of the edge instance. For more information, see Establishing the Circle of Trust.

Step 3: Add the Edge Node to JFrog Mission Control

Using Platform Deployments, add the Artifactory Edge node to Mission Control. For more information, see Managing Platform Deployments.

Step 4: Add the Edge Node as a Target for Source Instance in Access Federation

Access Federation gives you control over access to all, or any subset of your services from one location by synchronizing all security entities (users, groups, permissions and access tokens) between the federated services. Once access federation has been set up, you can manage all security entities in the federated services from one place. For more information, see Access Federation.

Step 5: Add Signing Keys to JFrog Distribution

The JFrog Platform supports signing keys to establish trust with your clients for downloading your packages from Artifactory. Signing keys consist of a public and a private key pair. Use the Distribution APIs to add signing keys and to propagate the keys. For more information, see GPG Signing.

  • No labels
Copyright © 2021 JFrog Ltd.