mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-22 08:07:00 -06:00
Updates to support certification and RedHat Automation Hub.
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
---
|
||||
language: python
|
||||
python: "2.7"
|
||||
|
||||
# Use the new container infrastructure
|
||||
sudo: false
|
||||
|
||||
# Install ansible
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- python-pip
|
||||
|
||||
install:
|
||||
# Install ansible
|
||||
- pip install ansible
|
||||
|
||||
# Check ansible version
|
||||
- ansible --version
|
||||
|
||||
# Create ansible.cfg with correct roles_path
|
||||
- printf '[defaults]\nroles_path=../' >ansible.cfg
|
||||
|
||||
script:
|
||||
# Basic role syntax check
|
||||
- ansible-playbook tests/test.yml -i tests/inventory --syntax-check
|
||||
|
||||
notifications:
|
||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
||||
@@ -0,0 +1,22 @@
|
||||
# xray
|
||||
The xray role will install Xray software onto the host. An Artifactory server and Postgress database is required.
|
||||
|
||||
### Role Variables
|
||||
* _xray_version_: The version of Artifactory to install. eg. "3.3.0"
|
||||
* _jfrog_url_: This is the URL to the Artifactory base URL. eg. "http://ec2-54-237-207-135.compute-1.amazonaws.com"
|
||||
* _master_key_: This is the Artifactory [Master Key](https://www.jfrog.com/confluence/display/JFROG/Managing+Keys). See below to [autogenerate this key](#autogenerating-master-and-join-keys).
|
||||
* _join_key_: This is the Artifactory [Join Key](https://www.jfrog.com/confluence/display/JFROG/Managing+Keys). See below to [autogenerate this key](#autogenerating-master-and-join-keys).
|
||||
* _db_type_: This is the database type. eg. "postgresql"
|
||||
* _db_driver_: This is the JDBC driver class. eg. "org.postgresql.Driver"
|
||||
* _db_url_: This is the database url. eg. "postgres://10.0.0.59:5432/xraydb?sslmode=disable"
|
||||
* _db_user_: The database user to configure. eg. "xray"
|
||||
* _db_password_: The database password to configure. "xray"
|
||||
* _system_file_: Your own [system YAML](https://www.jfrog.com/confluence/display/JFROG/System+YAML+Configuration+File) file can be specified and used. If specified, this file will be used rather than constructing a file from the parameters above.
|
||||
|
||||
## Example Playbook
|
||||
```
|
||||
---
|
||||
- hosts: xray
|
||||
roles:
|
||||
- xray
|
||||
```
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
# defaults file for xray
|
||||
# indicates were this collection was downlaoded from (galaxy, automation_hub, standalone)
|
||||
ansible_marketplace: standalone
|
||||
|
||||
# The version of xray to install
|
||||
xray_version: 3.3.0
|
||||
|
||||
# whether to enable HA
|
||||
xray_ha_enabled: true
|
||||
|
||||
# The location where xray should install.
|
||||
xray_download_directory: /opt/jfrog
|
||||
|
||||
# The remote xray download file
|
||||
xray_tar: https://bintray.com/standAloneDownload/downloadArtifact?agree=true&artifactPath=/jfrog/jfrog-xray/xray-linux/{{ xray_version }}/jfrog-xray-{{ xray_version }}-linux.tar.gz&callback_id=anonymous&product=xray
|
||||
|
||||
#The xray install directory
|
||||
xray_home: "{{ xray_download_directory }}/jfrog-xray-{{ xray_version }}-linux"
|
||||
|
||||
#xray users and groups
|
||||
xray_user: xray
|
||||
xray_group: xray
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# handlers file for xray
|
||||
@@ -0,0 +1,16 @@
|
||||
galaxy_info:
|
||||
author: "Jeff Fry <jefff@jfrog.com>"
|
||||
description: "The xray role will install Xray software onto the host. An Artifactory server and Postgress database is required."
|
||||
company: JFrog
|
||||
|
||||
issue_tracker_url: "https://github.com/jfrog/JFrog-Cloud-Installers/issues"
|
||||
|
||||
license: license (Apache-2.0)
|
||||
|
||||
min_ansible_version: 2.9
|
||||
|
||||
galaxy_tags:
|
||||
- xray
|
||||
- jfrog
|
||||
|
||||
dependencies: []
|
||||
@@ -0,0 +1,36 @@
|
||||
---
|
||||
- name: Install db5.3-util
|
||||
apt:
|
||||
deb: "{{ xray_home }}/app/third-party/misc/db5.3-util_5.3.28-3ubuntu3_amd64.deb"
|
||||
ignore_errors: yes
|
||||
become: yes
|
||||
|
||||
- name: Install db-util
|
||||
apt:
|
||||
deb: "{{ xray_home }}/app/third-party/misc/db-util_1_3a5.3.21exp1ubuntu1_all.deb"
|
||||
ignore_errors: yes
|
||||
become: yes
|
||||
|
||||
- name: Install libssl
|
||||
apt:
|
||||
deb: "{{ xray_home }}/app/third-party/rabbitmq/libssl1.1_1.1.0j-1_deb9u1_amd64.deb"
|
||||
ignore_errors: yes
|
||||
become: yes
|
||||
|
||||
- name: Install socat
|
||||
apt:
|
||||
deb: "{{ xray_home }}/app/third-party/rabbitmq/socat_1.7.3.1-2+deb9u1_amd64.deb"
|
||||
become: yes
|
||||
|
||||
- name: Install libwxbase3.0-0v5
|
||||
apt:
|
||||
name: libwxbase3.0-0v5
|
||||
update_cache: yes
|
||||
state: present
|
||||
ignore_errors: yes
|
||||
become: yes
|
||||
|
||||
- name: Install erlang
|
||||
apt:
|
||||
deb: "{{ xray_home }}/app/third-party/rabbitmq/esl-erlang_21.2.1-1~ubuntu~xenial_amd64.deb"
|
||||
become: yes
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: Install db-utl
|
||||
yum:
|
||||
name: "{{ xray_home }}/app/third-party/misc/libdb-utils-5.3.21-19.el7.x86_64.rpm"
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
- name: Install socat
|
||||
yum:
|
||||
name: "{{ xray_home }}/app/third-party/rabbitmq/socat-1.7.3.2-2.el7.x86_64.rpm"
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
- name: Install erlang
|
||||
yum:
|
||||
name: "{{ xray_home }}/app/third-party/rabbitmq/erlang-21.1.4-1.el7.centos.x86_64.rpm"
|
||||
state: present
|
||||
become: yes
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
- name: create group for xray
|
||||
group:
|
||||
name: "{{ xray_group }}"
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
- name: create user for xray
|
||||
user:
|
||||
name: "{{ xray_user }}"
|
||||
group: "{{ xray_group }}"
|
||||
system: yes
|
||||
become: yes
|
||||
|
||||
- name: ensure xray_download_directory exists
|
||||
file:
|
||||
path: "{{ xray_download_directory }}"
|
||||
state: directory
|
||||
become: yes
|
||||
|
||||
- name: download xray
|
||||
unarchive:
|
||||
src: "{{ xray_tar }}"
|
||||
dest: "{{ xray_download_directory }}"
|
||||
remote_src: yes
|
||||
owner: "{{ xray_user }}"
|
||||
group: "{{ xray_group }}"
|
||||
creates: "{{ xray_home }}"
|
||||
become: yes
|
||||
register: downloadxray
|
||||
until: downloadxray is succeeded
|
||||
retries: 3
|
||||
|
||||
- debug:
|
||||
msg: "Running dependency installation for {{ ansible_os_family }}"
|
||||
|
||||
- name: perform dependency installation
|
||||
include_tasks: "{{ ansible_os_family }}.yml"
|
||||
|
||||
- name: ensure etc exists
|
||||
file:
|
||||
path: "{{ xray_home }}/var/etc"
|
||||
state: directory
|
||||
owner: "{{ xray_user }}"
|
||||
group: "{{ xray_group }}"
|
||||
become: yes
|
||||
|
||||
- name: configure system yaml
|
||||
template:
|
||||
src: system.yaml.j2
|
||||
dest: "{{ xray_home }}/var/etc/system.yaml"
|
||||
become: yes
|
||||
|
||||
- name: ensure {{ xray_home }}/var/etc/security/ exists
|
||||
file:
|
||||
path: "{{ xray_home }}/var/etc/security/"
|
||||
state: directory
|
||||
owner: "{{ xray_user }}"
|
||||
group: "{{ xray_group }}"
|
||||
become: yes
|
||||
|
||||
- name: configure master key
|
||||
template:
|
||||
src: master.key.j2
|
||||
dest: "{{ xray_home }}/var/etc/security/master.key"
|
||||
become: yes
|
||||
|
||||
- name: configure join key
|
||||
template:
|
||||
src: join.key.j2
|
||||
dest: "{{ xray_home }}/var/etc/security/join.key"
|
||||
become: yes
|
||||
|
||||
- name: ensure {{ xray_home }}/var/etc/info/ exists
|
||||
file:
|
||||
path: "{{ xray_home }}/var/etc/info/"
|
||||
state: directory
|
||||
owner: "{{ xray_user }}"
|
||||
group: "{{ xray_group }}"
|
||||
become: yes
|
||||
|
||||
- name: configure installer info
|
||||
template:
|
||||
src: installer-info.json.j2
|
||||
dest: "{{ xray_home }}/var/etc/info/installer-info.json"
|
||||
become: yes
|
||||
|
||||
- name: create xray service
|
||||
shell: "{{ xray_home }}/app/bin/installService.sh"
|
||||
become: yes
|
||||
|
||||
- name: start and enable xray
|
||||
service:
|
||||
name: xray
|
||||
state: restarted
|
||||
become: yes
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"productId": "Ansible_artifactory/1.0.0",
|
||||
"features": [
|
||||
{
|
||||
"featureId": "Partner/ACC-006973"
|
||||
},
|
||||
{
|
||||
"featureId": "Channel/{{ ansible_marketplace }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{{ join_key }}
|
||||
@@ -0,0 +1 @@
|
||||
{{ master_key }}
|
||||
@@ -0,0 +1,36 @@
|
||||
## @formatter:off
|
||||
## JFROG ARTIFACTORY SYSTEM CONFIGURATION FILE
|
||||
## HOW TO USE: comment-out any field and keep the correct yaml indentation by deleting only the leading '#' character.
|
||||
configVersion: 1
|
||||
|
||||
## NOTE: JFROG_HOME is a place holder for the JFrog root directory containing the deployed product, the home directory for all JFrog products.
|
||||
## Replace JFROG_HOME with the real path! For example, in RPM install, JFROG_HOME=/opt/jfrog
|
||||
|
||||
## NOTE: Sensitive information such as passwords and join key are encrypted on first read.
|
||||
## NOTE: The provided commented key and value is the default.
|
||||
|
||||
## SHARED CONFIGURATIONS
|
||||
## A shared section for keys across all services in this config
|
||||
shared:
|
||||
## Base URL of the JFrog Platform Deployment (JPD)
|
||||
## This is the URL to the machine where JFrog Artifactory is deployed, or the load balancer pointing to it. It is recommended to use DNS names rather than direct IPs.
|
||||
## Examples: "http://jfrog.acme.com" or "http://10.20.30.40:8082"
|
||||
jfrogUrl: {{ jfrog_url }}
|
||||
|
||||
## Node Settings
|
||||
node:
|
||||
## A unique id to identify this node.
|
||||
## Default: auto generated at startup.
|
||||
id: {{ ansible_machine_id }}
|
||||
|
||||
## Database Configuration
|
||||
database:
|
||||
## One of: mysql, oracle, mssql, postgresql, mariadb
|
||||
## Default: Embedded derby
|
||||
|
||||
## Example for mysql/postgresql
|
||||
type: "{{ db_type }}"
|
||||
driver: "{{ db_driver }}"
|
||||
url: "{{ db_url }}"
|
||||
username: "{{ db_user }}"
|
||||
password: "{{ db_password }}"
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for xray
|
||||
Reference in New Issue
Block a user