Getting Started - ambitus/artifactory-vault GitHub Wiki
In general, the Vault project was a proof of concept to explore running and using JFrog Artifactory on z/OS. The Vault team explored using Artifactory to store z/OS binaries and objects. The Vault team also built an Artifactory container image that runs on zCX (Docker on z/OS). Note that JFrog only provides Artifactory OSS binaries and container images for x86. As a result, this documentation has been made available publicly to those who wish to use Artifactory on zCX and or use Artifactory to store z/OS assets. Additionally, the zCX JFrog Artifactory OSS Docker image has been made available to pull from the IBM Z Curated Container Registry.
⚠️ The IBM Z Curated Container Registry is currently offered through Early Access Program.
$ docker pull icr.io/ibmz/jfrog-artifactory-oss:<version>
Put simply, JFrog Artifactory is just a safe and secure place to store binaries and other large objects. Some of the key benefits of using JFrog Artifactory include:
- Storage of artifacts is checksum based.
- Artifactory's permissions are highly configurable and granular.
- Metadata can be attached to Artifacts for easy retrieval.
- Artifactory is optimized for storing binaries and other large objects.
- Uploads to Artifactory and downloads from Artifactory have been observed to be fast.
- Artifactory can be used for a number of different use cases.
- There are a variety of ways to interface with Artifactory:
- Web UI
- REST client
- Artifactory plugin for Jenkins
- Artifactory Helpers Groovy scripts
- JFrog CLI (Unavailable on z/OS Currently. Go runtime is required.)
Pull the JFrog Artifactory OSS image from the IBM Z Curated Container Registry, and get an Artifactory container running on zCX in seconds.
-
Pull
$ docker pull icr.io/ibmz/jfrog-artifactory-oss:<version>
-
Run
$ docker run --name artifactory -p 8081:8081 -d icr.io/ibmz/jfrog-artifactory-oss:<version>
- You Should have fundamental knowledge about how to use Docker.
Put simply, zCX is just Docker for z/OS. Before you do anything with zCX it is highly suggested that you get up to speed on Docker if you have not done so already. Take the Docker Essentials: A Developer Introduction course to get up to speed.
- You will need a zCX appliance on the machine that you wish to run Artifactory on.
You should contact a system administrator for the machine that you wish to run Artifactory on to help you provision and get access to or provision a zCX appliance. Alternatively, You can do this yourself if you are able to do so.
- Pull JFrog Artifactory OSS from the IBM Z Curated Container Registry.
$ docker pull icr.io/ibmz/jfrog-artifactory-oss:<version>
- You will need to be able to configure Artifactory to use an external PostgreSQL database.
By default Artifactory utilizes an embedded Derby database, which is NOT suggested for production use.
Both Artifactory and PostgreSQL need to run in containers on zCX.
PostgreSQL is also available to pull from the IBM Z Curated Container Registry.
docker pull icr.io/ibmz/postgres:<version>
- Create docker volumes to use for Artifactory and PostgreSQL's persistent storage.
$ docker volume create artifactory-data artifactory-data $ docker volume create postgres-data postgres-data
- Put Artifactory and PostgreSQL Behind SSL/TLS
In production, both the Artifactory container and the PostgreSQL container need to be exposed over HTTP. By default, both Artifactory and PostgreSQL are exposed using unencrypted HTTP. It is highly recommended that you enable SSL/TLS encryption for both Artifactory and PostgreSQL to mitigate the risk of a man in the middle attack. Additionally, it is highly recommended that you you enable SSL certificate verification everywhere to avoid the risk of being spoofed by malicious Artifactory and PostgreSQL services pretending to be your production Artifactory and PostgreSQL services.