To set up AWS Container Marketplace using JFrog Artifactory on Elastic Cloud Kubernetes (EKS) / EKS Anywhere, follow these instructions.
Follow the Launch instructions to your launch target.
<iframe width="560" height="315" src="https://www.youtube.com/embed/p9gFNfemYYU" frameborder="0" allowfullscreen></iframe>
To upgrade, you will need to relaunch the EKS instance with the new version and connect to the same database.
The AWS License Manager enables the creation and management of software licenses for container products on Marketplace, which extends the licensing possibilities for container products on Marketplace to pay upfront contract pricing in addition to pay as you go pricing models, creating a flexible model for license management.
This document describes the integration process of the AWS License Manager, with JFrog Artifactory, and is intended for AWS Marketplace customers. The AWS License Manager is designed to provide efficient usage of licenses, enabling customers to maximize the way in which they utilize licenses, and reduce the need for multiple licenses.
The AWS License Manager makes it easier for organizations to manage their software licenses from different vendors. The JFrog Artifactory integration with the Amazon AWS Container Marketplace supports two models for licensing support:
For Artifactory to work with the AWS License Manager, you will need to configure the following Artifactory parameters:
This parameter decides in which mode to start up the license manager, and whether to use Artifactory or AWS.
This is the path to the token file that is required to identify with the AWS license manager.
This parameter sets the region; the default is us-east-1.
This is the role that holds the permissions for the license.
The licensing lifecycle consists of three main calls, which support the licensing functionality:
In this call, the customer goes to the AWS License Manager to get a license, thereby “checking out” the license from the available pool.
Once a license has been successfully checked-out from the AWS License Manager, the JFrog Platform will monitor its validity and try to extend it, if required. As long as extension is continued--and as long as there has not been a lull in reporting for over 1 hour--the license remains in effect and available, for as long as the reporting continues.
After the customer has completed using the license, they will use the check-in call. For example, when done, a graceful shutdown of the server will automatically check the license back into the pool.
While the license check-in is the preferred method of returning a license to the pool, the call to extend license usage will also provide the same result in cases such as Internet connectivity problems.
This works by the assumption of the AWS License Manager that if reporting stops, for any reason (such as a disconnect), the extension is terminated, and the license is returned to the license pool after 60 minutes (note that the same task that checks for the extension will also try to acquire a new license if the license has been terminated).
Whenever the license expires, Artifactory will fall back to read-only mode, the same as it does today whenever a license expires. The customer will be able to view the packages but most actions will be blocked due to license expiry. Read-only mode will also happen if a license fails to be acquired.
The AWS Container Marketplace offers an alternative Docker image to the official JFrog Artifactory Docker image. The Marketplace image is identical to the official JFrog Artifactory Docker image, but does not start up with the default credentials (admin:password). Instead; the user must get or set the first time password.
Amazon AWS Container Marketplace does not allow default passwords. You must provide a password during container initialization or one will be randomly generated.
To set the first time initialization password for the 'admin' user, pass the environment variable
ARTIFACTORY_PASSWORD with the desired password.
docker run ... --env ARTIFACTORY_PASSWORD=my-new-password <image-url>
If no initialization password is provided, one will be generated and printed to the logs.
To get the randomly generated password, look at the first few lines of the Docker container logs.
docker logs <container-id> | head -n 10 INFO: Since ARTIFACTORY_PASSWORD environment is not set. We are generating our own random password. Generated ARTIFACTORY_PASSWORD is Ieqo868W99SBY5cqzx
This password is only valid for the initial setup and should then be changed via the UI or REST API.
Follow the official Docker to Docker upgrade procedure, using a different image name/source.