mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-20 20:06:54 -06:00
Added ARM, AWS templates and pipelines.
This commit is contained in:
@@ -1,52 +0,0 @@
|
|||||||
# rt7ansible
|
|
||||||
This repo contains the Ansible collection for JFrog Artifactory Pro 7 roles. These roles allow you to provision Artifactory for High-Availability using a Primary node and multiple Secondary nodes. Additionally, a Postgresql role is provided for installing an Artifactory Postgresql database.
|
|
||||||
|
|
||||||
## Roles Provided
|
|
||||||
### artifactory
|
|
||||||
The artifactory role installs the Artifactory Pro software onto the host. Per the Vars below, it will configure a node as primary or secondary. This role uses secondary roles artifactory-nginx and artifactory-java to install nginx and java dependencies.
|
|
||||||
|
|
||||||
### artifactory-nginx-ssl
|
|
||||||
The artifactory-nginx-ssl role installs and configures nginx for SSL.
|
|
||||||
|
|
||||||
### artifactory-postgres
|
|
||||||
The artifactory-postgres role will install Postgresql software and configure an artifactory database and user.
|
|
||||||
|
|
||||||
## Vars Required
|
|
||||||
The following Vars must be configured.
|
|
||||||
|
|
||||||
### all
|
|
||||||
* ansible_user: The SSH user to access the hosts. eg. "ubuntu"
|
|
||||||
* ansible_ssh_private_key_file: The SSH key to use. eg. "/Users/jefff/.ssh/jeff-ec2-us-east.pem"
|
|
||||||
* db_user: The Artifactory database user to configure. eg. "artifactory"
|
|
||||||
* db_password: The Artifactory database password to configure. "Art1fact0ry"
|
|
||||||
* server_name: This is the server name. eg. "artifactory.54.175.51.178.xip.io"
|
|
||||||
|
|
||||||
### artifactory
|
|
||||||
* master_key: This is the Artifactory Master Key.
|
|
||||||
* join_key: This is the Artifactory Join Key.
|
|
||||||
* db_download_url: This is the download URL for the JDBC driver for your database. eg. "https://jdbc.postgresql.org/download/postgresql-42.2.12.jar"
|
|
||||||
* 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 JDBC database url. eg. "jdbc:postgresql://10.0.0.120:5432/artifactory"
|
|
||||||
|
|
||||||
### primary
|
|
||||||
* artifactory_is_primary: For the primary node this must be set to **true**.
|
|
||||||
* artifactory_license1 - 5: These are the cluster licenses.
|
|
||||||
|
|
||||||
### secondary
|
|
||||||
* artifactory_is_primary: For the secondary node(s) this must be set to **false**.
|
|
||||||
|
|
||||||
### SSL Config (Used with artifactory-nginx-ssl role)
|
|
||||||
* certificate: This is the SSL cert.
|
|
||||||
* certificate_key: This is the SSL private key.
|
|
||||||
|
|
||||||
### Example Inventory YAML
|
|
||||||
An example inventory YAM is [here](hosts.yml).
|
|
||||||
|
|
||||||
### Example Playbook
|
|
||||||
An playbook is [here](rt7provision.yml).
|
|
||||||
|
|
||||||
## Executing a Playbook
|
|
||||||
```
|
|
||||||
ansible-playbook -i hosts.yml rt7provision.yml
|
|
||||||
```
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
[defaults]
|
|
||||||
# Installs collections into [current dir]/ansible_collections/namespace/collection_name
|
|
||||||
collections_paths = ./
|
|
||||||
|
|
||||||
# Installs roles into [current dir]/roles/namespace.rolename
|
|
||||||
roles_path = ./jfrog/rt7ansible/roles
|
|
||||||
|
|
||||||
host_key_checking = false
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
---
|
|
||||||
all:
|
|
||||||
vars:
|
|
||||||
ansible_user: "ubuntu"
|
|
||||||
ansible_ssh_private_key_file: "/Users/jefff/.ssh/jeff-ansible-ec2.pem"
|
|
||||||
db_user: "artifactory"
|
|
||||||
db_password: "Art1fAct0ry"
|
|
||||||
children:
|
|
||||||
database:
|
|
||||||
hosts:
|
|
||||||
100.26.167.170:
|
|
||||||
artifactory:
|
|
||||||
vars:
|
|
||||||
master_key: "c97b862469de0d94fbb7d48130637a5a"
|
|
||||||
join_key: "9bcca98f375c0728d907cc6ee39d4f02"
|
|
||||||
db_download_url: "https://jdbc.postgresql.org/download/postgresql-42.2.12.jar"
|
|
||||||
db_type: "postgresql"
|
|
||||||
db_driver: "org.postgresql.Driver"
|
|
||||||
db_url: "jdbc:postgresql://10.0.0.160:5432/artifactory"
|
|
||||||
server_name: "ec2-100-25-104-198.compute-1.amazonaws.com"
|
|
||||||
certificate: |
|
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIF8zCCA9ugAwIBAgIJAK/iP1hhhVNKMA0GCSqGSIb3DQEBCwUAMHUxCzAJBgNV
|
|
||||||
BAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UEBwwHU2VhdHRsZTESMBAGA1UECgwJ
|
|
||||||
Q2xvdWRCZWVzMTMwMQYDVQQDDCplYzItMTAwLTI1LTEwNC0xOTguY29tcHV0ZS0x
|
|
||||||
LmFtYXpvbmF3cy5jb20wHhcNMjAwNDI5MDM1OTIxWhcNMjIwODAyMDM1OTIxWjB1
|
|
||||||
MQswCQYDVQQGEwJVUzELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEjAQ
|
|
||||||
BgNVBAoMCUNsb3VkQmVlczEzMDEGA1UEAwwqZWMyLTEwMC0yNS0xMDQtMTk4LmNv
|
|
||||||
bXB1dGUtMS5hbWF6b25hd3MuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
|
|
||||||
CgKCAgEAn92BnDtr7fUbtGF0uPmsk7OWDtyY+ElLvq9Borp10AUtLllXGB4Ap6Xf
|
|
||||||
HoZy943wi+d+pVf3S/oElnAsRlbEUwOSLSiBzxOef94sVe+f4FX9IhCnMsQQJSSy
|
|
||||||
QlpLEYzPvLXa6Z3dYgGqHIvJUtrrVeT1s81swZ7Mh7BLIrjg0yMykemiDst1HM+1
|
|
||||||
fo0tuNQUO4AUjNNOWcNCLQiIXUIztdTRSEqDmZ8LfTv4IRV4mewE8HdT1PkmF+55
|
|
||||||
FIKZZWxL7+jTuRUU4QAEOcxmrK5b69+npVvLPeo8w9swwrqpZM0XG3xpe4Djtw61
|
|
||||||
DpASS1iOWmbdYOvMUq+7535UU9aE7cifEgMvtJ1n0BT5JCvYMmSb9QbL5iD6pKfA
|
|
||||||
PwA/SEA4sH5ppUYB+gMeh7DCMtRO0Ac6BcQ5LxJovrelG4BCpFd9rU/fcIsKxvSC
|
|
||||||
4XrNqpK8UDdb3zjS9vBE2cbjqJVj37D2NsNY9NBc+UyNRrfssRZkzcEEqzXFWBrZ
|
|
||||||
30YZ9Dwd2h2mtxNn4/L/j3wJDwfLctsWPtv+FJaCZ9j750YWkIA35ry6eq0yifxk
|
|
||||||
3dm7mXkize3W3upCFEqjUOmVtaJsKi38dFLgIddEOM+JyRpQEULTZ4V0ZHYAWd9C
|
|
||||||
1s+7tinypx3yhOHmLvbKQZZu5oF9BrGYCVqfghTjR1XxLPTV66MCAwEAAaOBhTCB
|
|
||||||
gjBhBgNVHREEWjBYgiplYzItMTAwLTI1LTEwNC0xOTguY29tcHV0ZS0xLmFtYXpv
|
|
||||||
bmF3cy5jb22CKmVjMi0xMDAtMjUtMTA0LTE5OC5jb21wdXRlLTEuYW1hem9uYXdz
|
|
||||||
LmNvbTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQEL
|
|
||||||
BQADggIBAB/qktMXhgiIz68+KxnQFwgx7xsjTzsfG8USfdkBqoj+vFbIkuk6U4t0
|
|
||||||
DQZbRzPeK/RxrkYKxVt5TO2bdgpXaV9stud1jd5cDqvb7F8Q9/D56BVHCjJ9AmLM
|
|
||||||
qH1GUl+4txM+rRP93zpmpY804SZa8CqljF4nP7QqqxbCrkExOAADd9+D0wAKBSMl
|
|
||||||
kswoG6AK45POYg6a+qZI4qWJv4W5lx1HuDP/e4W7J0FIKiWcUHsgLHWvRa5rEzNW
|
|
||||||
kofZ3vJ0XXmO7fs9WuB0DllY+Vim25Xjfs+iS4Qa02GF9Bz11e9cv34b6l92levy
|
|
||||||
O+2ntCsh77+NBRFF74GGyWqqvsjhm6AI3A0i7efXybKeCIEQ1g+/18gDT+OHRrU3
|
|
||||||
zqfXIRZmmLAEG9xeWzQiNVZj/QX+6WWjFG4+BkUqrjRqD5b8G64XfmzPXwndMaLR
|
|
||||||
ZIGbAEWur9128GMyNeq+G1PpDJZOS5iFlqY8Wn0b5g8PaKpCpORSwdLOxdPthSeE
|
|
||||||
E4a/S1H3FfXGPYRjupkIRBLUF7XEBlU27Q8kzB7UYxJfzw6Pa05Pn3IO8IQtsYyu
|
|
||||||
Dq9V9Fbw3eE0lSWd+HkeYjA0GiXVXFY0qbJwV0tEgEEboMs0Z+gRykrmD2JN15Mn
|
|
||||||
e/FHoOCfDqjzeFHCmc+pBWUnibiFE5hIWP4ofAAKg24CMzaqDxLg
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
certificate_key: |
|
|
||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
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
|
|
||||||
wE0kp6bIPqO7luLz5sqjxGiSRTiWSQ==
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
children:
|
|
||||||
primary:
|
|
||||||
hosts:
|
|
||||||
100.25.104.198:
|
|
||||||
vars:
|
|
||||||
artifactory_is_primary: true
|
|
||||||
artifactory_license1: cHJvZHVjdHM6CiAgYXJ0aWZhY3Rvcnk6CiAgICBwcm9kdWN0OiBaWGh3YVhKbGN6b2dNakF5TUMwd055MHdNbFF3TURvd01Eb3dNRm9LYVdRNklHSTJaakk0TURsakxXVXhNakV0TkdOa01TMWlNRGczTFdVMk5tSmlNVGxrTlRjMlpRcHZkMjVsY2pvZ1NrWnliMmNnVkVWVFZBcHdjbTl3WlhKMGFXVnpPaUI3ZlFwemFXZHVZWFIxY21VNklHNTFiR3dLZEhKcFlXdzZJSFJ5ZFdVS2RIbHdaVG9nVkZKSlFVd0tkbUZzYVdSR2NtOXRPaUF5TURJd0xUQXhMVEF5VkRJeE9qQXdPalE1TGpBd09Gb0sKICAgIHNpZ25hdHVyZTogU20vVlV1a3dnVTRlaEtHVmpwbE9XUHB5SzJpcS9pUVdjNklPOXdhNCtYdUR6SERrTFlPRFpkdm80bWxtU0d3NFVlak1mUXRiczFQbW8rTndnZERJbHVHQWpzMXZsbEpuVU5mRzZNQmYxTG5OMTg3RnpmNUswL0Q2WWFuUWI2Q1FYQ0x3T1FxK1VNYWpOcVh2eURoU1RDZHE3VjJtcXl6bDQ2bGFoWDB6VXQvYmM2UnQyNGFZS3ZSc2hxcmZ5eFNLWVY0YXBFeXJuRnZsYWZ5aFVaalJseGxubDJlUkRlVEI1cFZibXRSb2pTVU9oNExNMDg1Rm96QTB4dUxOdkEwbUhDYmtnTWlFRHdaOHJoK3F5SDYvUEFiaEdBWmlQbWY5WVZnM3FydUJkc1p6UmNiTytEUmIwZnZKeXB3NmVIVW4vd0dZd0daTkZEdmJZUlhGYjVaSkRRPT0KdmVyc2lvbjogMQo=
|
|
||||||
artifactory_license2: cHJvZHVjdHM6CiAgYXJ0aWZhY3Rvcnk6CiAgICBwcm9kdWN0OiBaWGh3YVhKbGN6b2dNakF5TUMwd055MHdNbFF3TURvd01Eb3dNRm9LYVdRNklHWTJaVGsyTXpSaExUa3laR0V0TkRSbE9DMDVPVFkyTFRGallUQTNNakk0WVRObE1ncHZkMjVsY2pvZ1NrWnliMmNnVkVWVFZBcHdjbTl3WlhKMGFXVnpPaUI3ZlFwemFXZHVZWFIxY21VNklHNTFiR3dLZEhKcFlXdzZJSFJ5ZFdVS2RIbHdaVG9nVkZKSlFVd0tkbUZzYVdSR2NtOXRPaUF5TURJd0xUQXhMVEF5VkRJeE9qQXdPalE1TGpBeU5sb0sKICAgIHNpZ25hdHVyZTogaTh0Vys0T3ZUVDErUTBpSmZPalgyOTRUa0YyTFhhYWtsbDZRSlJSYVVZVlpVejhaVTlKRXB3RWZaMnZPYTdvVkQ4ZUJGSTArSVRjQTZBNFVJcCsrZjJleTJIdVdDNU50NFFiTWxPSS9sdzY1Yk9SNHdsN0tML1EvVURsb3gzaENvVkRaSFpTVDdzdGVoVkJHVzdBMUVaVXBGc3hhaHZzaWNxSHJSMzNudGhyWGY0TllrS2g1TmVWYlhFYTRFSWgrak1ycnhsM1ZmODZHMm8vSDR1Y2dxb2dxYjZDSUk0TUhMYWE0Wk9BU0ZGVkpaWU1KZkxjS3ZDSzVxMlJ5bDUwVFR1aVQ5UVJld21yamFTS1ByamRsNk52ckFYTDEzd2xjSmFGd2FnTDJSblYzd3VTVTNqWkg1Z3ZEQzJscjJtZGh1eVdKbjBFRXhnMGZBTFVtM1VXNHRnPT0KdmVyc2lvbjogMQo=
|
|
||||||
artifactory_license3: cHJvZHVjdHM6CiAgYXJ0aWZhY3Rvcnk6CiAgICBwcm9kdWN0OiBaWGh3YVhKbGN6b2dNakF5TUMwd055MHdNbFF3TURvd01Eb3dNRm9LYVdRNklHSm1ZMk00TVRReUxUYzBNamt0TkRFd1l5MDVZV1prTFRFM09UWXlaV016TWpJNFpBcHZkMjVsY2pvZ1NrWnliMmNnVkVWVFZBcHdjbTl3WlhKMGFXVnpPaUI3ZlFwemFXZHVZWFIxY21VNklHNTFiR3dLZEhKcFlXdzZJSFJ5ZFdVS2RIbHdaVG9nVkZKSlFVd0tkbUZzYVdSR2NtOXRPaUF5TURJd0xUQXhMVEF5VkRJeE9qQXdPalE1TGpBME5Gb0sKICAgIHNpZ25hdHVyZToga2JiUUJ0NW55WkpiOERtZTJCR0F5eXRNOEkyZ1dWQW8yRlBLVEFUKzQyY3NMaGcwcjJCL0xtNnZmOGRML3g5WVluNTA0d1ZEVnd2ZGFBbG5kamJONjZzSXJieWptN2Q4VVpzUXMyL3lUdlk2b3VzMVdibU8rTER2SVpGbDFkQ2hHTnc5Rk82NmhPT0lYdUpxU3BUczdYMVlnMS9vZ1pUbS9ZQnJQamlWb1duVVJJUENhSzhWYStSRDhUREExTXdwZitrNXdhQ3h1QWt0b1FwdVJYVUQzUlFXTGdyd1BxZEhXUnhHN2NTZWh0ZjU0dEJmRHNLUzMvUUVQQXNjSXI5RVM5ZFRzVzlSL1NBZFBVLzRsUWE0aFpOdVprS2d5aXdoOE1ybnlxYWRKVXRhSzUvRnAyTHMxSk5NQVg2NERqbU1kdURrS1I0NGlPQVFGeGcwTjlURE5RPT0KdmVyc2lvbjogMQo=
|
|
||||||
artifactory_license4: cHJvZHVjdHM6CiAgYXJ0aWZhY3Rvcnk6CiAgICBwcm9kdWN0OiBaWGh3YVhKbGN6b2dNakF5TUMwd055MHdNbFF3TURvd01Eb3dNRm9LYVdRNklEWmhPVE0yWW1NMExUQTROVGd0TkRCak5pMDRNemd3TFdNNE9XSmlaVGsxWlROak1RcHZkMjVsY2pvZ1NrWnliMmNnVkVWVFZBcHdjbTl3WlhKMGFXVnpPaUI3ZlFwemFXZHVZWFIxY21VNklHNTFiR3dLZEhKcFlXdzZJSFJ5ZFdVS2RIbHdaVG9nVkZKSlFVd0tkbUZzYVdSR2NtOXRPaUF5TURJd0xUQXhMVEF5VkRJeE9qQXdPalE1TGpBMk1sb0sKICAgIHNpZ25hdHVyZTogZmRlTG95bzc1VTdKYW1JZ00ycVAwMUZWbEE5cHZXbUJXbGNqamJnNGZTQ0UzcVExSDNtTDlkdkJmYTZMTmV1QmxXTTdtWkdTTEhzZzlnc1ZabmduZFR2emFndEtHY3VndlpRQ3puamFERU1QL2JiU3VYWW52UEVDRGFBek5hVm9lakM5VWxialUzK0xPZSt5MC9xU1NiMFlXdDBGSGxydEZObGVlWDFWSGdqN3MwdzRYS1lJWDFBWGdhVTY4ODZZZWdvOTJrSHB1cjIrUmQrUUNLaHAwTzIxdGliVlFMSjZrSEQyZXlKa3J1R0JmWmVhdlZVbkNrVTR6ck1lTlhjNlI4RVlqUGFFTGVZMm02VFBGZWc5OG5JRjVFOS9LZ0VBYUNEeG1CZ3RFaWR0UVJCNVBMa2RxSm53VWxPR1d1UjB3UldBODV5eFhkWTJwdWRJc2lRdXh3PT0KdmVyc2lvbjogMQo=
|
|
||||||
artifactory_license5: cHJvZHVjdHM6CiAgYXJ0aWZhY3Rvcnk6CiAgICBwcm9kdWN0OiBaWGh3YVhKbGN6b2dNakF5TUMwd055MHdNbFF3TURvd01Eb3dNRm9LYVdRNklEY3pPR1prWWpVM0xXRXhZbVV0TkRZM015MWhabUV3TFRobFlUUmtZVFZrTnpnd01RcHZkMjVsY2pvZ1NrWnliMmNnVkVWVFZBcHdjbTl3WlhKMGFXVnpPaUI3ZlFwemFXZHVZWFIxY21VNklHNTFiR3dLZEhKcFlXdzZJSFJ5ZFdVS2RIbHdaVG9nVkZKSlFVd0tkbUZzYVdSR2NtOXRPaUF5TURJd0xUQXhMVEF5VkRJeE9qQXdPalE1TGpBM09Wb0sKICAgIHNpZ25hdHVyZTogYytEdkJWNXdiRlRnUEFxT0VFWDU0S3IwQWlMWUVNNTJuRHNUcGI4OHNXdmIxTGl1YlRvdXA0NXNMVU9aTnZvVlFuM2szREw4MTFQdHU1WUM5T3dVNXdTNDVkTkQrZHNLREN3eTE4T0c3SU05ZHZ6bml2RU5mb2xsL2VFMTNtazZVS0RLQmhXUkxlYjVvM0tIbkZGRTRTZ004UVNRNGFsWnA5cjA3aUJTUVRrVkxPVnliTUJtSFpkMVJlSmUwcTN0TXZGUVNFNTJHU3FzaURkZ0lVQTVjL1lUQVVnclRoc1lCRVpJQmJCTXVITnNSay9rZHRobmRHWitsQnB0bzlHR25HQ3EzZ0lOQU94Q2tHSnlvMWpGK28xMi9tR3Q1NnVocXVJN2s3SzMzMUpvMGl1L2VWWkxOWEtGNjl5OEE2K0dyMnVheExEajQwaGYwU0pHZ3FESVdBPT0KdmVyc2lvbjogMQo=
|
|
||||||
# secondary:
|
|
||||||
# hosts:
|
|
||||||
# 54.160.107.157:
|
|
||||||
# 35.153.79.44:
|
|
||||||
# vars:
|
|
||||||
# artifactory_is_primary: false
|
|
||||||
@@ -1,33 +0,0 @@
|
|||||||
---
|
|
||||||
language: python
|
|
||||||
services: docker
|
|
||||||
|
|
||||||
env:
|
|
||||||
global:
|
|
||||||
- ROLE_NAME: java
|
|
||||||
matrix:
|
|
||||||
- MOLECULE_DISTRO: centos8
|
|
||||||
- MOLECULE_DISTRO: centos7
|
|
||||||
- MOLECULE_DISTRO: centos6
|
|
||||||
- MOLECULE_DISTRO: fedora31
|
|
||||||
- MOLECULE_DISTRO: ubuntu1804
|
|
||||||
- MOLECULE_DISTRO: ubuntu1604
|
|
||||||
- MOLECULE_DISTRO: debian10
|
|
||||||
- MOLECULE_DISTRO: debian9
|
|
||||||
|
|
||||||
install:
|
|
||||||
# Install test dependencies.
|
|
||||||
- pip install molecule yamllint ansible-lint docker
|
|
||||||
|
|
||||||
before_script:
|
|
||||||
# Use actual Ansible Galaxy role name for the project directory.
|
|
||||||
- cd ../
|
|
||||||
- mv ansible-role-$ROLE_NAME geerlingguy.$ROLE_NAME
|
|
||||||
- cd geerlingguy.$ROLE_NAME
|
|
||||||
|
|
||||||
script:
|
|
||||||
# Run tests.
|
|
||||||
- molecule test
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
webhooks: https://galaxy.ansible.com/api/v1/notifications/
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
extends: default
|
|
||||||
rules:
|
|
||||||
line-length:
|
|
||||||
max: 120
|
|
||||||
level: warning
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
# Set java_packages if you would like to use a different version than the
|
|
||||||
# default for the OS (see defaults per OS in `vars` directory).
|
|
||||||
# java_packages: []
|
|
||||||
|
|
||||||
java_home: ""
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
---
|
|
||||||
dependencies: []
|
|
||||||
|
|
||||||
galaxy_info:
|
|
||||||
role_name: java
|
|
||||||
author: geerlingguy
|
|
||||||
description: Java for Linux
|
|
||||||
company: "Midwestern Mac, LLC"
|
|
||||||
license: "license (BSD, MIT)"
|
|
||||||
min_ansible_version: 2.4
|
|
||||||
platforms:
|
|
||||||
- name: EL
|
|
||||||
versions:
|
|
||||||
- 6
|
|
||||||
- 7
|
|
||||||
- 8
|
|
||||||
- name: Fedora
|
|
||||||
versions:
|
|
||||||
- all
|
|
||||||
- name: Debian
|
|
||||||
versions:
|
|
||||||
- wheezy
|
|
||||||
- jessie
|
|
||||||
- stretch
|
|
||||||
- buster
|
|
||||||
- name: Ubuntu
|
|
||||||
versions:
|
|
||||||
- precise
|
|
||||||
- trusty
|
|
||||||
- xenial
|
|
||||||
- bionic
|
|
||||||
- name: FreeBSD
|
|
||||||
versions:
|
|
||||||
- 10.2
|
|
||||||
galaxy_tags:
|
|
||||||
- development
|
|
||||||
- system
|
|
||||||
- web
|
|
||||||
- java
|
|
||||||
- jdk
|
|
||||||
- openjdk
|
|
||||||
- oracle
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Include OS-specific variables for Fedora or FreeBSD.
|
|
||||||
include_vars: "{{ ansible_distribution }}.yml"
|
|
||||||
when: ansible_distribution == 'FreeBSD' or ansible_distribution == 'Fedora'
|
|
||||||
|
|
||||||
- name: Include version-specific variables for CentOS/RHEL.
|
|
||||||
include_vars: "RedHat-{{ ansible_distribution_version.split('.')[0] }}.yml"
|
|
||||||
when: ansible_distribution == 'CentOS' or
|
|
||||||
ansible_distribution == 'Red Hat Enterprise Linux' or
|
|
||||||
ansible_distribution == 'RedHat'
|
|
||||||
|
|
||||||
- name: Include version-specific variables for Ubuntu.
|
|
||||||
include_vars: "{{ ansible_distribution }}-{{ ansible_distribution_version.split('.')[0] }}.yml"
|
|
||||||
when: ansible_distribution == 'Ubuntu'
|
|
||||||
|
|
||||||
- name: Include version-specific variables for Debian.
|
|
||||||
include_vars: "{{ ansible_distribution|title }}-{{ ansible_distribution_version.split('.')[0] }}.yml"
|
|
||||||
when: ansible_os_family == 'Debian'
|
|
||||||
|
|
||||||
- name: Define java_packages.
|
|
||||||
set_fact:
|
|
||||||
java_packages: "{{ __java_packages | list }}"
|
|
||||||
when: java_packages is not defined
|
|
||||||
|
|
||||||
# Setup/install tasks.
|
|
||||||
- include_tasks: setup-RedHat.yml
|
|
||||||
when: ansible_os_family == 'RedHat'
|
|
||||||
|
|
||||||
- include_tasks: setup-Debian.yml
|
|
||||||
when: ansible_os_family == 'Debian'
|
|
||||||
|
|
||||||
- include_tasks: setup-FreeBSD.yml
|
|
||||||
when: ansible_os_family == 'FreeBSD'
|
|
||||||
|
|
||||||
# Environment setup.
|
|
||||||
- name: Set JAVA_HOME if configured.
|
|
||||||
template:
|
|
||||||
src: java_home.sh.j2
|
|
||||||
dest: /etc/profile.d/java_home.sh
|
|
||||||
mode: 0644
|
|
||||||
when: java_home is defined and java_home
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
---
|
|
||||||
# See: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199 and
|
|
||||||
# https://github.com/geerlingguy/ansible-role-java/issues/64
|
|
||||||
- name: Ensure 'man' directory exists.
|
|
||||||
file:
|
|
||||||
path: /usr/share/man/man1
|
|
||||||
state: directory
|
|
||||||
recurse: true
|
|
||||||
when:
|
|
||||||
- ansible_distribution == 'Ubuntu'
|
|
||||||
- ansible_distribution_version == '18.04'
|
|
||||||
|
|
||||||
- name: Ensure Java is installed.
|
|
||||||
apt:
|
|
||||||
update_cache: yes
|
|
||||||
name: "{{ java_packages }}"
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure Java is installed.
|
|
||||||
pkgng:
|
|
||||||
name: "{{ java_packages }}"
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
|
|
||||||
- name: ensure proc is mounted
|
|
||||||
mount: name=/proc fstype=procfs src=proc opts=rw state=mounted
|
|
||||||
|
|
||||||
- name: ensure fdesc is mounted
|
|
||||||
mount: name=/dev/fd fstype=fdescfs src=fdesc opts=rw state=mounted
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
- name: Ensure Java is installed.
|
|
||||||
package:
|
|
||||||
name: "{{ java_packages }}"
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
export JAVA_HOME={{ java_home }}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-11-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-11-jdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-6-jdk
|
|
||||||
# - openjdk-7-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-7-jdk
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-8-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-8-jdk
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - java-1.8.0-openjdk
|
|
||||||
__java_packages:
|
|
||||||
- java-1.8.0-openjdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options for FreeBSD include:
|
|
||||||
# - openjdk
|
|
||||||
# - openjdk6
|
|
||||||
# - openjdk8
|
|
||||||
__java_packages:
|
|
||||||
- openjdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - java-1.6.0-openjdk
|
|
||||||
# - java-1.7.0-openjdk
|
|
||||||
__java_packages:
|
|
||||||
- java-1.7.0-openjdk
|
|
||||||
@@ -1,8 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - java-1.6.0-openjdk
|
|
||||||
# - java-1.7.0-openjdk
|
|
||||||
# - java-1.8.0-openjdk
|
|
||||||
__java_packages:
|
|
||||||
- java-1.8.0-openjdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java-1.8.0-openjdk
|
|
||||||
# - java-11-openjdk
|
|
||||||
# - java-latest-openjdk
|
|
||||||
__java_packages:
|
|
||||||
- java-11-openjdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-6-jdk
|
|
||||||
# - openjdk-7-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-7-jdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-6-jdk
|
|
||||||
# - openjdk-7-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-7-jdk
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-8-jdk
|
|
||||||
# - openjdk-9-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-8-jdk
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
---
|
|
||||||
# JDK version options include:
|
|
||||||
# - java
|
|
||||||
# - openjdk-11-jdk
|
|
||||||
__java_packages:
|
|
||||||
- openjdk-11-jdk
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
---
|
|
||||||
artifactory_tar: https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/{{ artifactory_version }}/jfrog-artifactory-pro-{{ artifactory_version }}-linux.tar.gz
|
|
||||||
artifactory_home: "{{ artifactory_download_directory }}/artifactory-{{ artifactory_flavour }}-{{ artifactory_version }}"
|
|
||||||
|
|
||||||
artifactory_user: artifactory
|
|
||||||
artifactory_group: artifactory
|
|
||||||
|
|
||||||
# Set the parameters required for the service.
|
|
||||||
service_list:
|
|
||||||
- name: artifactory
|
|
||||||
description: Start script for Artifactory
|
|
||||||
start_command: "{{ artifactory_home }}/bin/artifactory.sh start"
|
|
||||||
stop_command: "{{ artifactory_home }}/bin/artifactory.sh stop"
|
|
||||||
type: forking
|
|
||||||
status_pattern: artifactory
|
|
||||||
user_name: "{{ artifactory_user }}"
|
|
||||||
group_name: "{{ artifactory_group }}"
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
Role Name
|
|
||||||
=========
|
|
||||||
|
|
||||||
A brief description of the role goes here.
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
------------
|
|
||||||
|
|
||||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
|
||||||
|
|
||||||
Role Variables
|
|
||||||
--------------
|
|
||||||
|
|
||||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
------------
|
|
||||||
|
|
||||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
|
||||||
|
|
||||||
Example Playbook
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
|
||||||
|
|
||||||
- hosts: servers
|
|
||||||
roles:
|
|
||||||
- { role: username.rolename, x: 42 }
|
|
||||||
|
|
||||||
License
|
|
||||||
-------
|
|
||||||
|
|
||||||
BSD
|
|
||||||
|
|
||||||
Author Information
|
|
||||||
------------------
|
|
||||||
|
|
||||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# defaults file for xray-postgres
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# handlers file for xray-postgres
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# tasks file for xray-postgres
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: localhost
|
|
||||||
remote_user: root
|
|
||||||
roles:
|
|
||||||
- xray-postgres
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# vars file for xray-postgres
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
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/
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
Role Name
|
|
||||||
=========
|
|
||||||
|
|
||||||
A brief description of the role goes here.
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
------------
|
|
||||||
|
|
||||||
Any pre-requisites that may not be covered by Ansible itself or the role should be mentioned here. For instance, if the role uses the EC2 module, it may be a good idea to mention in this section that the boto package is required.
|
|
||||||
|
|
||||||
Role Variables
|
|
||||||
--------------
|
|
||||||
|
|
||||||
A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.
|
|
||||||
|
|
||||||
Dependencies
|
|
||||||
------------
|
|
||||||
|
|
||||||
A list of other roles hosted on Galaxy should go here, plus any details in regards to parameters that may need to be set for other roles, or variables that are used from other roles.
|
|
||||||
|
|
||||||
Example Playbook
|
|
||||||
----------------
|
|
||||||
|
|
||||||
Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:
|
|
||||||
|
|
||||||
- hosts: servers
|
|
||||||
roles:
|
|
||||||
- { role: username.rolename, x: 42 }
|
|
||||||
|
|
||||||
License
|
|
||||||
-------
|
|
||||||
|
|
||||||
BSD
|
|
||||||
|
|
||||||
Author Information
|
|
||||||
------------------
|
|
||||||
|
|
||||||
An optional section for the role authors to include contact information, or a website (HTML is not allowed).
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# defaults file for xray
|
|
||||||
@@ -1,53 +0,0 @@
|
|||||||
galaxy_info:
|
|
||||||
author: your name
|
|
||||||
description: your role description
|
|
||||||
company: your company (optional)
|
|
||||||
|
|
||||||
# If the issue tracker for your role is not on github, uncomment the
|
|
||||||
# next line and provide a value
|
|
||||||
# issue_tracker_url: http://example.com/issue/tracker
|
|
||||||
|
|
||||||
# Choose a valid license ID from https://spdx.org - some suggested licenses:
|
|
||||||
# - BSD-3-Clause (default)
|
|
||||||
# - MIT
|
|
||||||
# - GPL-2.0-or-later
|
|
||||||
# - GPL-3.0-only
|
|
||||||
# - Apache-2.0
|
|
||||||
# - CC-BY-4.0
|
|
||||||
license: license (GPL-2.0-or-later, MIT, etc)
|
|
||||||
|
|
||||||
min_ansible_version: 2.9
|
|
||||||
|
|
||||||
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
|
||||||
# min_ansible_container_version:
|
|
||||||
|
|
||||||
#
|
|
||||||
# Provide a list of supported platforms, and for each platform a list of versions.
|
|
||||||
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
|
|
||||||
# To view available platforms and versions (or releases), visit:
|
|
||||||
# https://galaxy.ansible.com/api/v1/platforms/
|
|
||||||
#
|
|
||||||
# platforms:
|
|
||||||
# - name: Fedora
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 25
|
|
||||||
# - name: SomePlatform
|
|
||||||
# versions:
|
|
||||||
# - all
|
|
||||||
# - 1.0
|
|
||||||
# - 7
|
|
||||||
# - 99.99
|
|
||||||
|
|
||||||
galaxy_tags: []
|
|
||||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
|
||||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
|
||||||
# remove the '[]' above, if you add tags to this list.
|
|
||||||
#
|
|
||||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
|
||||||
# Maximum 20 tags per role.
|
|
||||||
|
|
||||||
dependencies: []
|
|
||||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
|
||||||
# if you add dependencies to this list.
|
|
||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
---
|
|
||||||
# tasks file for xray
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
localhost
|
|
||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
- hosts: database
|
|
||||||
gather_facts: true
|
|
||||||
roles:
|
|
||||||
- jfrog/rt7ansible/roles/artifactory-postgres
|
|
||||||
|
|
||||||
- hosts: primary:secondary
|
|
||||||
gather_facts: true
|
|
||||||
roles:
|
|
||||||
- jfrog/rt7ansible/roles/artifactory
|
|
||||||
- jfrog/rt7ansible/roles/artifactory-nginx-ssl
|
|
||||||
54
Ansible/awsPipelines.yaml
Normal file
54
Ansible/awsPipelines.yaml
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
resources:
|
||||||
|
- name: ansibleRepo
|
||||||
|
type: GitRepo
|
||||||
|
configuration:
|
||||||
|
gitProvider: jefferyfryGithub
|
||||||
|
path: jefferyfry/JFrog-Cloud-Installers
|
||||||
|
pipelines:
|
||||||
|
- name: ansible_aws_automation_pipeline
|
||||||
|
steps:
|
||||||
|
- name: execute_aws_ansible_playbook
|
||||||
|
type: Bash
|
||||||
|
configuration:
|
||||||
|
runtime:
|
||||||
|
type: image
|
||||||
|
image:
|
||||||
|
auto:
|
||||||
|
language: java
|
||||||
|
versions:
|
||||||
|
- "8"
|
||||||
|
integrations:
|
||||||
|
- name: ansibleAwsKeys
|
||||||
|
- name: ansibleEnvVars
|
||||||
|
- name: ansiblePrivateKey
|
||||||
|
inputResources:
|
||||||
|
- name: ansibleRepo
|
||||||
|
execution:
|
||||||
|
onStart:
|
||||||
|
- echo "Executing AWS Ansible playbook..."
|
||||||
|
onExecute:
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get install gnupg2
|
||||||
|
- sudo apt-get install software-properties-common
|
||||||
|
- sudo apt-add-repository --yes --update ppa:ansible/ansible
|
||||||
|
- sudo apt -y --allow-unauthenticated install ansible
|
||||||
|
- sudo pip install packaging
|
||||||
|
- sudo pip install boto3 botocore
|
||||||
|
- cd ../dependencyState/resources/ansibleRepo
|
||||||
|
- echo 'Setting environment variables...'
|
||||||
|
- export artifactory_license1="$int_ansibleEnvVars_artifactory_license1"
|
||||||
|
- export artifactory_license2="$int_ansibleEnvVars_artifactory_license2"
|
||||||
|
- export artifactory_license3="$int_ansibleEnvVars_artifactory_license3"
|
||||||
|
- export master_key="$int_ansibleEnvVars_master_key"
|
||||||
|
- export join_key="$int_ansibleEnvVars_join_key"
|
||||||
|
- export ssh_public_key_name="$int_ansibleEnvVars_ssh_public_key_name"
|
||||||
|
- export cfn_template="$int_ansibleEnvVars_cfn_template"
|
||||||
|
- export stack_name="$int_ansibleEnvVars_stack_name"
|
||||||
|
- export AWS_ACCESS_KEY_ID="$int_ansibleEnvVars_AWS_ACCESS_KEY_ID"
|
||||||
|
- export AWS_SECRET_KEY="$int_ansibleEnvVars_AWS_SECRET_KEY"
|
||||||
|
- printenv
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
- ssh-add <(echo "$int_ansiblePrivateKey_key")
|
||||||
|
- ansible-playbook Ansible/test/aws/playbook.yaml
|
||||||
|
onComplete:
|
||||||
|
- echo "AWS Ansible playbook complete."
|
||||||
57
Ansible/azurePipelines.yaml
Normal file
57
Ansible/azurePipelines.yaml
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
resources:
|
||||||
|
- name: ansibleRepo
|
||||||
|
type: GitRepo
|
||||||
|
configuration:
|
||||||
|
gitProvider: jefferyfryGithub
|
||||||
|
path: jefferyfry/JFrog-Cloud-Installers
|
||||||
|
pipelines:
|
||||||
|
- name: ansible_azure_automation_pipeline
|
||||||
|
steps:
|
||||||
|
- name: execute_azure_ansible_playbook
|
||||||
|
type: Bash
|
||||||
|
configuration:
|
||||||
|
runtime:
|
||||||
|
type: image
|
||||||
|
image:
|
||||||
|
auto:
|
||||||
|
language: java
|
||||||
|
versions:
|
||||||
|
- "8"
|
||||||
|
integrations:
|
||||||
|
- name: ansibleAzureKeys
|
||||||
|
- name: ansibleEnvVars
|
||||||
|
- name: ansiblePrivateKey
|
||||||
|
inputResources:
|
||||||
|
- name: ansibleRepo
|
||||||
|
execution:
|
||||||
|
onStart:
|
||||||
|
- echo "Executing Azure Ansible playbook..."
|
||||||
|
onExecute:
|
||||||
|
- sudo apt-get update
|
||||||
|
- sudo apt-get install gnupg2
|
||||||
|
- sudo apt-get install software-properties-common
|
||||||
|
- sudo apt-add-repository --yes --update ppa:ansible/ansible
|
||||||
|
- sudo apt -y --allow-unauthenticated install ansible
|
||||||
|
- sudo pip install packaging
|
||||||
|
- sudo pip install msrestazure
|
||||||
|
- sudo pip install ansible[azure]
|
||||||
|
- cd ../dependencyState/resources/ansibleRepo
|
||||||
|
- echo 'Setting environment variables...'
|
||||||
|
- export artifactory_license1="$int_ansibleEnvVars_artifactory_license1"
|
||||||
|
- export artifactory_license2="$int_ansibleEnvVars_artifactory_license2"
|
||||||
|
- export artifactory_license3="$int_ansibleEnvVars_artifactory_license3"
|
||||||
|
- export master_key="$int_ansibleEnvVars_master_key"
|
||||||
|
- export join_key="$int_ansibleEnvVars_join_key"
|
||||||
|
- export ssh_public_key="$int_ansibleEnvVars_ssh_public_key"
|
||||||
|
- export arm_template="$int_ansibleEnvVars_arm_template"
|
||||||
|
- export azure_resource_group="$int_ansibleEnvVars_azure_resource_group"
|
||||||
|
- export clientId="$int_ansibleAzureKeys_appId"
|
||||||
|
- export clientSecret="$int_ansibleAzureKeys_password"
|
||||||
|
- export tenantId="$int_ansibleAzureKeys_tenant"
|
||||||
|
- printenv
|
||||||
|
- eval $(ssh-agent -s)
|
||||||
|
- ssh-add <(echo "$int_ansiblePrivateKey_key")
|
||||||
|
- az login --service-principal -u "$clientId" -p "$clientSecret" --tenant "$tenantId"
|
||||||
|
- ansible-playbook Ansible/test/azure/playbook.yaml
|
||||||
|
onComplete:
|
||||||
|
- echo "Azure Ansible playbook complete."
|
||||||
77
Ansible/collection/README.md
Normal file
77
Ansible/collection/README.md
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
# Ansible
|
||||||
|
This repo contains the Ansible collection for JFrog roles. These roles allow you to provision Artifactory for High-Availability using a Primary node and multiple Secondary nodes. Additionally, a Postgresql role is provided for installing an Artifactory Postgresql database.
|
||||||
|
|
||||||
|
## Roles Provided
|
||||||
|
### artifactory
|
||||||
|
The artifactory role installs the Artifactory Pro software onto the host. Per the Vars below, it will configure a node as primary or secondary. This role uses secondary roles artifactory-nginx to install nginx.
|
||||||
|
|
||||||
|
### artifactory-nginx-ssl
|
||||||
|
The artifactory-nginx-ssl role installs and configures nginx for SSL.
|
||||||
|
|
||||||
|
### postgres
|
||||||
|
The postgres role will install Postgresql software and configure a database and user to support an Artifactory or Xray server.
|
||||||
|
|
||||||
|
### xray
|
||||||
|
The xray role will install Xray software onto the host. An Artifactory server and Postgress database is required.
|
||||||
|
|
||||||
|
## Vars Required
|
||||||
|
The following Vars must be configured.
|
||||||
|
|
||||||
|
### databsase vars
|
||||||
|
* db_users: This is a list of database users to create. eg. db_users: - { db_user: "artifactory", db_password: "Art1fAct0ry" }
|
||||||
|
* dbs: This is the database to create. eg. dbs: - { db_name: "artifactory", db_owner: "artifactory" }
|
||||||
|
|
||||||
|
### artifactory vars
|
||||||
|
* artifactory_version: The version of Artifactory to install. eg. "7.4.1"
|
||||||
|
* master_key: This is the Artifactory Master Key.
|
||||||
|
* join_key: This is the Artifactory Join Key.
|
||||||
|
* db_download_url: This is the download URL for the JDBC driver for your database. eg. "https://jdbc.postgresql.org/download/postgresql-42.2.12.jar"
|
||||||
|
* 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 JDBC database url. eg. "jdbc:postgresql://10.0.0.120:5432/artifactory"
|
||||||
|
* db_user: The database user to configure. eg. "artifactory"
|
||||||
|
* db_password: The database password to configure. "Art1fact0ry"
|
||||||
|
* server_name: This is the server name. eg. "artifactory.54.175.51.178.xip.io"
|
||||||
|
|
||||||
|
### primary vars
|
||||||
|
* artifactory_is_primary: For the primary node this must be set to **true**.
|
||||||
|
* artifactory_license1 - 5: These are the cluster licenses.
|
||||||
|
|
||||||
|
### secondary vars
|
||||||
|
* artifactory_is_primary: For the secondary node(s) this must be set to **false**.
|
||||||
|
|
||||||
|
### ssl vars (Used with artifactory-nginx-ssl role)
|
||||||
|
* certificate: This is the SSL cert.
|
||||||
|
* certificate_key: This is the SSL private key.
|
||||||
|
|
||||||
|
### xray vars
|
||||||
|
* 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.
|
||||||
|
* join_key: This is the Artifactory Join Key.
|
||||||
|
* 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"
|
||||||
|
|
||||||
|
## Example Inventory and Playbooks
|
||||||
|
Example playbooks are located in the [project](../project) directory. This directory contains several example inventory and plaaybooks for different Artifactory, HA and Xray architectures.
|
||||||
|
|
||||||
|
## Executing a Playbook
|
||||||
|
```
|
||||||
|
ansible-playbook -i <hosts file> <playbook file>
|
||||||
|
|
||||||
|
eg.
|
||||||
|
ansible-playbook -i example-playbooks/rt-xray-ha/hosts.yml example-playbooks/rt-xray-ha/playbook.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
## Bastion Hosts
|
||||||
|
In many cases, you may want to run this Ansible collection through a Bastion host to provision JFrog servers. You can include the following Var for a host or group of hosts:
|
||||||
|
|
||||||
|
```
|
||||||
|
ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -A user@host -W %h:%p"'
|
||||||
|
|
||||||
|
eg.
|
||||||
|
ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -A ubuntu@{{ azureDeployment.deployment.outputs.lbIp.value }} -W %h:%p"'
|
||||||
|
```
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
namespace: jfrog
|
namespace: jfrog
|
||||||
|
|
||||||
# The name of the collection. Has the same character restrictions as 'namespace'
|
# The name of the collection. Has the same character restrictions as 'namespace'
|
||||||
name: rt7ansible
|
name: ansible
|
||||||
|
|
||||||
# The version of the collection. Must be compatible with semantic versioning
|
# The version of the collection. Must be compatible with semantic versioning
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
@@ -7,35 +7,35 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: ensure nginx dir exists
|
- name: ensure nginx dir exists
|
||||||
file:
|
file:
|
||||||
path: "/var/opt/jfrog/nginx/ssl"
|
path: "/var/opt/jfrog/nginx/ssl"
|
||||||
state: directory
|
state: directory
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure certificate
|
- name: configure certificate
|
||||||
template:
|
template:
|
||||||
src: certificate.pem.j2
|
src: certificate.pem.j2
|
||||||
dest: "/var/opt/jfrog/nginx/ssl/cert.pem"
|
dest: "/var/opt/jfrog/nginx/ssl/cert.pem"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: ensure pki exists
|
- name: ensure pki exists
|
||||||
file:
|
file:
|
||||||
path: "/etc/pki/tls"
|
path: "/etc/pki/tls"
|
||||||
state: directory
|
state: directory
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure key
|
- name: configure key
|
||||||
template:
|
template:
|
||||||
src: certificate.key.j2
|
src: certificate.key.j2
|
||||||
dest: "/etc/pki/tls/cert.key"
|
dest: "/etc/pki/tls/cert.key"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: restart nginx
|
- name: restart nginx
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: yes
|
enabled: yes
|
||||||
become: true
|
become: yes
|
||||||
@@ -1,10 +1,13 @@
|
|||||||
---
|
---
|
||||||
# tasks file for artifactory-nginx
|
|
||||||
- name: install nginx
|
- name: install nginx
|
||||||
package:
|
package:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: present
|
state: present
|
||||||
become: true
|
register: package_res
|
||||||
|
retries: 5
|
||||||
|
delay: 60
|
||||||
|
become: yes
|
||||||
|
until: package_res is success
|
||||||
|
|
||||||
- name: configure main nginx conf file.
|
- name: configure main nginx conf file.
|
||||||
copy:
|
copy:
|
||||||
@@ -13,7 +16,7 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure the artifactory nginx conf
|
- name: configure the artifactory nginx conf
|
||||||
template:
|
template:
|
||||||
@@ -22,11 +25,11 @@
|
|||||||
owner: root
|
owner: root
|
||||||
group: root
|
group: root
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: restart nginx
|
- name: restart nginx
|
||||||
service:
|
service:
|
||||||
name: nginx
|
name: nginx
|
||||||
state: restarted
|
state: restarted
|
||||||
enabled: yes
|
enabled: yes
|
||||||
become: true
|
become: yes
|
||||||
@@ -6,11 +6,18 @@ ansible_marketplace: standalone
|
|||||||
# The version of Artifactory to install
|
# The version of Artifactory to install
|
||||||
artifactory_version: 7.4.1
|
artifactory_version: 7.4.1
|
||||||
|
|
||||||
|
# licenses
|
||||||
|
artifactory_license1:
|
||||||
|
artifactory_license2:
|
||||||
|
artifactory_license3:
|
||||||
|
artifactory_license4:
|
||||||
|
artifactory_license5:
|
||||||
|
|
||||||
# whether to enable HA
|
# whether to enable HA
|
||||||
artifactory_ha_enabled: true
|
artifactory_ha_enabled: true
|
||||||
|
|
||||||
# value for whether a host is primary. this should be set in host vars
|
# value for whether a host is primary. this should be set in host vars
|
||||||
artifactory_is_primary: false
|
artifactory_is_primary: true
|
||||||
|
|
||||||
# The location where Artifactory should install.
|
# The location where Artifactory should install.
|
||||||
artifactory_download_directory: /opt/jfrog
|
artifactory_download_directory: /opt/jfrog
|
||||||
@@ -24,6 +31,21 @@ artifactory_file_store_dir: /data
|
|||||||
# https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/{{ artifactory_version }}/jfrog-artifactory-pro-{{ artifactory_version }}-linux.tar.gz
|
# https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/{{ artifactory_version }}/jfrog-artifactory-pro-{{ artifactory_version }}-linux.tar.gz
|
||||||
artifactory_flavour: pro
|
artifactory_flavour: pro
|
||||||
|
|
||||||
java_version: java-1.8.0
|
|
||||||
|
|
||||||
extra_java_opts: -server -Xms2g -Xmx14g -Xss256k -XX:+UseG1GC
|
extra_java_opts: -server -Xms2g -Xmx14g -Xss256k -XX:+UseG1GC
|
||||||
|
|
||||||
|
artifactory_tar: https://dl.bintray.com/jfrog/artifactory-pro/org/artifactory/pro/jfrog-artifactory-pro/{{ artifactory_version }}/jfrog-artifactory-pro-{{ artifactory_version }}-linux.tar.gz
|
||||||
|
artifactory_home: "{{ artifactory_download_directory }}/artifactory-{{ artifactory_flavour }}-{{ artifactory_version }}"
|
||||||
|
|
||||||
|
artifactory_user: artifactory
|
||||||
|
artifactory_group: artifactory
|
||||||
|
|
||||||
|
# Set the parameters required for the service.
|
||||||
|
service_list:
|
||||||
|
- name: artifactory
|
||||||
|
description: Start script for Artifactory
|
||||||
|
start_command: "{{ artifactory_home }}/bin/artifactory.sh start"
|
||||||
|
stop_command: "{{ artifactory_home }}/bin/artifactory.sh stop"
|
||||||
|
type: forking
|
||||||
|
status_pattern: artifactory
|
||||||
|
user_name: "{{ artifactory_user }}"
|
||||||
|
group_name: "{{ artifactory_group }}"
|
||||||
@@ -1,9 +1,5 @@
|
|||||||
---
|
---
|
||||||
# tasks file for artifactory
|
# tasks file for artifactory
|
||||||
- name: install java
|
|
||||||
include_role:
|
|
||||||
name: artifactory-java
|
|
||||||
|
|
||||||
- name: install nginx
|
- name: install nginx
|
||||||
include_role:
|
include_role:
|
||||||
name: artifactory-nginx
|
name: artifactory-nginx
|
||||||
@@ -12,20 +8,20 @@
|
|||||||
group:
|
group:
|
||||||
name: "{{ artifactory_group }}"
|
name: "{{ artifactory_group }}"
|
||||||
state: present
|
state: present
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: create user for artifactory
|
- name: create user for artifactory
|
||||||
user:
|
user:
|
||||||
name: "{{ artifactory_user }}"
|
name: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
system: yes
|
system: yes
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: ensure artifactory_download_directory exists
|
- name: ensure artifactory_download_directory exists
|
||||||
file:
|
file:
|
||||||
path: "{{ artifactory_download_directory }}"
|
path: "{{ artifactory_download_directory }}"
|
||||||
state: directory
|
state: directory
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: download artifactory
|
- name: download artifactory
|
||||||
unarchive:
|
unarchive:
|
||||||
@@ -35,7 +31,7 @@
|
|||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
creates: "{{ artifactory_home }}"
|
creates: "{{ artifactory_home }}"
|
||||||
become: true
|
become: yes
|
||||||
register: downloadartifactory
|
register: downloadartifactory
|
||||||
until: downloadartifactory is succeeded
|
until: downloadartifactory is succeeded
|
||||||
retries: 3
|
retries: 3
|
||||||
@@ -46,33 +42,41 @@
|
|||||||
state: directory
|
state: directory
|
||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: ensure etc exists
|
- name: ensure etc exists
|
||||||
file:
|
file:
|
||||||
path: "{{ artifactory_home }}/etc"
|
path: "{{ artifactory_home }}/var/etc"
|
||||||
state: directory
|
state: directory
|
||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure system yaml
|
- name: configure system yaml
|
||||||
template:
|
template:
|
||||||
src: system.yaml.j2
|
src: system.yaml.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/system.yaml"
|
dest: "{{ artifactory_home }}/var/etc/system.yaml"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
|
- name: ensure {{ artifactory_home }}/var/etc/security/ exists
|
||||||
|
file:
|
||||||
|
path: "{{ artifactory_home }}/var/etc/security/"
|
||||||
|
state: directory
|
||||||
|
owner: "{{ artifactory_user }}"
|
||||||
|
group: "{{ artifactory_group }}"
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: configure master key
|
- name: configure master key
|
||||||
template:
|
template:
|
||||||
src: master.key.j2
|
src: master.key.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/security/master.key"
|
dest: "{{ artifactory_home }}/var/etc/security/master.key"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure join key
|
- name: configure join key
|
||||||
template:
|
template:
|
||||||
src: join.key.j2
|
src: join.key.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/security/join.key"
|
dest: "{{ artifactory_home }}/var/etc/security/join.key"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: ensure {{ artifactory_home }}/var/etc/info/ exists
|
- name: ensure {{ artifactory_home }}/var/etc/info/ exists
|
||||||
file:
|
file:
|
||||||
@@ -80,25 +84,25 @@
|
|||||||
state: directory
|
state: directory
|
||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure installer info
|
- name: configure installer info
|
||||||
template:
|
template:
|
||||||
src: installer-info.json.j2
|
src: installer-info.json.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/info/installer-info.json"
|
dest: "{{ artifactory_home }}/var/etc/info/installer-info.json"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure binary store
|
- name: configure binary store
|
||||||
template:
|
template:
|
||||||
src: binarystore.xml.j2
|
src: binarystore.xml.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/binarystore.xml"
|
dest: "{{ artifactory_home }}/var/etc/binarystore.xml"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: configure cluster license
|
- name: configure cluster license
|
||||||
template:
|
template:
|
||||||
src: artifactory.cluster.license.j2
|
src: artifactory.cluster.license.j2
|
||||||
dest: "{{ artifactory_home }}/var/etc/artifactory/artifactory.cluster.license"
|
dest: "{{ artifactory_home }}/var/etc/artifactory/artifactory.cluster.license"
|
||||||
become: true
|
become: yes
|
||||||
when: artifactory_is_primary == true
|
when: artifactory_is_primary == true
|
||||||
|
|
||||||
- name: download database driver
|
- name: download database driver
|
||||||
@@ -107,17 +111,17 @@
|
|||||||
dest: "{{ artifactory_home }}/var/bootstrap/artifactory/tomcat/lib"
|
dest: "{{ artifactory_home }}/var/bootstrap/artifactory/tomcat/lib"
|
||||||
owner: "{{ artifactory_user }}"
|
owner: "{{ artifactory_user }}"
|
||||||
group: "{{ artifactory_group }}"
|
group: "{{ artifactory_group }}"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: create artifactory service
|
- name: create artifactory service
|
||||||
shell: "{{ artifactory_home }}/app/bin/installService.sh"
|
shell: "{{ artifactory_home }}/app/bin/installService.sh"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: start and enable the primary node
|
- name: start and enable the primary node
|
||||||
service:
|
service:
|
||||||
name: artifactory
|
name: artifactory
|
||||||
state: started
|
state: restarted
|
||||||
become: true
|
become: yes
|
||||||
when: artifactory_is_primary == true
|
when: artifactory_is_primary == true
|
||||||
|
|
||||||
- name: random wait before restarting to prevent secondary nodes from hitting DB first
|
- name: random wait before restarting to prevent secondary nodes from hitting DB first
|
||||||
@@ -128,6 +132,6 @@
|
|||||||
- name: start and enable the secondary nodes
|
- name: start and enable the secondary nodes
|
||||||
service:
|
service:
|
||||||
name: artifactory
|
name: artifactory
|
||||||
state: started
|
state: restarted
|
||||||
become: true
|
become: yes
|
||||||
when: artifactory_is_primary == false
|
when: artifactory_is_primary == false
|
||||||
@@ -19,8 +19,13 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% if artifactory_license4 %}
|
{% if artifactory_license4 %}
|
||||||
|
|
||||||
|
|
||||||
{% if artifactory_license4|length %}
|
{% if artifactory_license4|length %}
|
||||||
{{ artifactory_license4 }}
|
{{ artifactory_license4 }}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
{% if artifactory_license5 %}
|
||||||
|
|
||||||
|
{% if artifactory_license5|length %}
|
||||||
|
{{ artifactory_license5 }}
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
@@ -23,7 +23,7 @@ shared:
|
|||||||
primary: {{ artifactory_is_primary }}
|
primary: {{ artifactory_is_primary }}
|
||||||
|
|
||||||
## Sets this node as part of HA installation
|
## Sets this node as part of HA installation
|
||||||
haEnabled: {{ true }}
|
haEnabled: {{ artifactory_ha_enabled }}
|
||||||
|
|
||||||
## Database Configuration
|
## Database Configuration
|
||||||
database:
|
database:
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
---
|
||||||
|
|
||||||
@@ -1,27 +1,29 @@
|
|||||||
---
|
---
|
||||||
|
- name: install python2 psycopg2
|
||||||
|
apt:
|
||||||
|
name: python-psycopg2
|
||||||
|
update_cache: yes
|
||||||
|
become: yes
|
||||||
|
|
||||||
- name: install ansible-related package
|
- name: install python3 psycopg2
|
||||||
yum:
|
apt:
|
||||||
name:
|
name: python3-psycopg2
|
||||||
- python3-psycopg2
|
update_cache: yes
|
||||||
- sudo
|
become: yes
|
||||||
- wget
|
|
||||||
state: present
|
|
||||||
become: True
|
|
||||||
|
|
||||||
- name: add postgres apt key
|
- name: add postgres apt key
|
||||||
apt_key:
|
apt_key:
|
||||||
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
url: https://www.postgresql.org/media/keys/ACCC4CF8.asc
|
||||||
id: "0x7FCC7D46ACCC4CF8"
|
id: "0x7FCC7D46ACCC4CF8"
|
||||||
state: present
|
state: present
|
||||||
become: True
|
become: yes
|
||||||
|
|
||||||
- name: register APT repository
|
- name: register APT repository
|
||||||
apt_repository:
|
apt_repository:
|
||||||
repo: deb http://apt.postgresql.org/pub/repos/apt/ {{ ansible_distribution_release }}-pgdg main
|
repo: deb http://apt.postgresql.org/pub/repos/apt/ {{ ansible_distribution_release }}-pgdg main
|
||||||
state: present
|
state: present
|
||||||
filename: pgdg
|
filename: pgdg
|
||||||
become: True
|
become: yes
|
||||||
|
|
||||||
- name: install postgres packages
|
- name: install postgres packages
|
||||||
apt:
|
apt:
|
||||||
@@ -30,4 +32,4 @@
|
|||||||
- postgresql-server-dev-{{ postgres_server_version }}
|
- postgresql-server-dev-{{ postgres_server_version }}
|
||||||
- postgresql-contrib-{{ postgres_server_version }}
|
- postgresql-contrib-{{ postgres_server_version }}
|
||||||
state: present
|
state: present
|
||||||
become: True
|
become: yes
|
||||||
@@ -5,9 +5,9 @@
|
|||||||
when: > # not for Fedora
|
when: > # not for Fedora
|
||||||
ansible_distribution == 'CentOS' or
|
ansible_distribution == 'CentOS' or
|
||||||
ansible_distribution == 'Red Hat Enterprise Linux'
|
ansible_distribution == 'Red Hat Enterprise Linux'
|
||||||
become: True
|
become: yes
|
||||||
|
|
||||||
- name: install ansible-related package
|
- name: install python2 psycopg2
|
||||||
yum:
|
yum:
|
||||||
name:
|
name:
|
||||||
- python-psycopg2
|
- python-psycopg2
|
||||||
@@ -15,7 +15,15 @@
|
|||||||
- wget
|
- wget
|
||||||
- perl
|
- perl
|
||||||
state: present
|
state: present
|
||||||
become: True
|
|
||||||
|
- name: install python3 psycopg2
|
||||||
|
yum:
|
||||||
|
name:
|
||||||
|
- python3-psycopg2
|
||||||
|
- sudo
|
||||||
|
- wget
|
||||||
|
- perl
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: fixup some locale issues
|
- name: fixup some locale issues
|
||||||
lineinfile:
|
lineinfile:
|
||||||
@@ -52,7 +60,7 @@
|
|||||||
yum:
|
yum:
|
||||||
name: "{{ base }}/{{ postgres_server_version }}/redhat/rhel-{{ ver }}-x86_64/{{ latest_version.stdout }}"
|
name: "{{ base }}/{{ postgres_server_version }}/redhat/rhel-{{ ver }}-x86_64/{{ latest_version.stdout }}"
|
||||||
state: present
|
state: present
|
||||||
become: True
|
become: yes
|
||||||
|
|
||||||
- name: install postgres packages
|
- name: install postgres packages
|
||||||
yum:
|
yum:
|
||||||
@@ -61,4 +69,4 @@
|
|||||||
- postgresql{{ postgres_server_pkg_version }}-contrib
|
- postgresql{{ postgres_server_pkg_version }}-contrib
|
||||||
- postgresql{{ postgres_server_pkg_version }}-devel
|
- postgresql{{ postgres_server_pkg_version }}-devel
|
||||||
state: present
|
state: present
|
||||||
become: True
|
become: yes
|
||||||
@@ -2,23 +2,11 @@
|
|||||||
- name: define distribution-specific variables
|
- name: define distribution-specific variables
|
||||||
include_vars: "{{ ansible_os_family }}.yml"
|
include_vars: "{{ ansible_os_family }}.yml"
|
||||||
|
|
||||||
#- name: define postgres version-specific variables
|
|
||||||
# include_vars: "{{ lookup('first_found', params) }}"
|
|
||||||
# vars:
|
|
||||||
# params:
|
|
||||||
# files:
|
|
||||||
# - "{{ ansible_os_family }}_pg-{{ postgres_server_version }}.yml"
|
|
||||||
# - "{{ ansible_os_family }}_pg-default.yml"
|
|
||||||
# paths:
|
|
||||||
# - "vars"
|
|
||||||
# skip: true
|
|
||||||
# ignore_errors: true
|
|
||||||
|
|
||||||
- name: create directory for bind mount if necessary
|
- name: create directory for bind mount if necessary
|
||||||
file:
|
file:
|
||||||
path: "{{ postgres_server_bind_mount_var_lib_pgsql_target }}"
|
path: "{{ postgres_server_bind_mount_var_lib_pgsql_target }}"
|
||||||
state: directory
|
state: directory
|
||||||
become: true
|
become: yes
|
||||||
when: postgres_server_bind_mount_var_lib_pgsql
|
when: postgres_server_bind_mount_var_lib_pgsql
|
||||||
|
|
||||||
|
|
||||||
@@ -29,7 +17,7 @@
|
|||||||
opts: bind
|
opts: bind
|
||||||
state: mounted
|
state: mounted
|
||||||
fstype: none
|
fstype: none
|
||||||
become: true
|
become: yes
|
||||||
when: postgres_server_bind_mount_var_lib_pgsql
|
when: postgres_server_bind_mount_var_lib_pgsql
|
||||||
|
|
||||||
- name: perform installation
|
- name: perform installation
|
||||||
@@ -40,7 +28,7 @@
|
|||||||
dest: /etc/profile.d/postgres-path.sh
|
dest: /etc/profile.d/postgres-path.sh
|
||||||
mode: a=rx
|
mode: a=rx
|
||||||
content: "export PATH=$PATH:/usr/pgsql-{{ postgres_server_version }}/bin"
|
content: "export PATH=$PATH:/usr/pgsql-{{ postgres_server_version }}/bin"
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: initialize PostgreSQL database cluster
|
- name: initialize PostgreSQL database cluster
|
||||||
environment:
|
environment:
|
||||||
@@ -71,37 +59,47 @@
|
|||||||
name: "{{ postgres_server_service_name }}"
|
name: "{{ postgres_server_service_name }}"
|
||||||
state: started
|
state: started
|
||||||
enabled: yes
|
enabled: yes
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
- name: Create artifactory users
|
- name: Hold until Postgresql is up and running
|
||||||
|
wait_for:
|
||||||
|
port: 5432
|
||||||
|
|
||||||
|
- name: Create users
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
become: true
|
become: yes
|
||||||
postgresql_user:
|
postgresql_user:
|
||||||
name: "{{ db_user }}"
|
name: "{{ item.db_user }}"
|
||||||
password: "{{ db_password }}"
|
password: "{{ item.db_password }}"
|
||||||
conn_limit: "-1"
|
conn_limit: "-1"
|
||||||
|
loop: "{{ db_users|default([]) }}"
|
||||||
no_log: true # secret passwords
|
no_log: true # secret passwords
|
||||||
|
|
||||||
- name: Create a artifactory database
|
- name: Create a database
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
become: true
|
become: yes
|
||||||
postgresql_db:
|
postgresql_db:
|
||||||
name: artifactory
|
name: "{{ item.db_name }}"
|
||||||
owner: "{{ db_user }}"
|
owner: "{{ item.db_owner }}"
|
||||||
encoding: UTF-8
|
encoding: UTF-8
|
||||||
|
loop: "{{ dbs|default([]) }}"
|
||||||
|
|
||||||
- name: Grant privs to artifactory on artifactory db
|
- name: Grant privs on db
|
||||||
become_user: postgres
|
become_user: postgres
|
||||||
become: true
|
become: yes
|
||||||
postgresql_privs:
|
postgresql_privs:
|
||||||
database: artifactory
|
database: "{{ item.db_name }}"
|
||||||
role: artifactory
|
role: "{{ item.db_owner }}"
|
||||||
state: present
|
state: present
|
||||||
privs: ALL
|
privs: ALL
|
||||||
type: database
|
type: database
|
||||||
|
loop: "{{ dbs|default([]) }}"
|
||||||
|
|
||||||
- name: restart postgres
|
- name: restart postgres
|
||||||
service:
|
service:
|
||||||
name: "{{ postgres_server_service_name }}"
|
name: "{{ postgres_server_service_name }}"
|
||||||
state: restarted
|
state: restarted
|
||||||
become: true
|
become: yes
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
msg: "Restarted postgres service {{ postgres_server_service_name }}"
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
postgres_server_cmd_initdb: /usr/lib/postgresql/{{ postgres_server_version }}/bin/initdb -D
|
postgres_server_cmd_initdb: /usr/lib/postgresql/{{ postgres_server_version }}/bin/initdb -D
|
||||||
postgres_server_initdb_become: True
|
postgres_server_initdb_become: yes
|
||||||
postgres_server_data_location: /var/lib/postgresql/{{ postgres_server_version }}/main
|
postgres_server_data_location: /var/lib/postgresql/{{ postgres_server_version }}/main
|
||||||
postgres_server_config_location: /etc/postgresql/{{ postgres_server_version }}/main
|
postgres_server_config_location: /etc/postgresql/{{ postgres_server_version }}/main
|
||||||
postgres_server_service_name: postgresql@{{ postgres_server_version }}-main
|
postgres_server_service_name: postgresql@{{ postgres_server_version }}-main
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
---
|
---
|
||||||
|
|
||||||
postgres_server_cmd_initdb: /usr/pgsql-{{ postgres_server_version }}/bin/initdb -D /var/lib/pgsql/{{ postgres_server_version }}/data
|
postgres_server_cmd_initdb: /usr/pgsql-{{ postgres_server_version }}/bin/initdb -D /var/lib/pgsql/{{ postgres_server_version }}/data
|
||||||
postgres_server_initdb_become: true
|
postgres_server_initdb_become: yes
|
||||||
@@ -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
|
||||||
37
Ansible/collection/jfrog/ansible/roles/xray/tasks/Debian.yml
Normal file
37
Ansible/collection/jfrog/ansible/roles/xray/tasks/Debian.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
---
|
||||||
|
- 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
|
||||||
|
|
||||||
16
Ansible/collection/jfrog/ansible/roles/xray/tasks/RedHat.yml
Normal file
16
Ansible/collection/jfrog/ansible/roles/xray/tasks/RedHat.yml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
- name: Install db-utl
|
||||||
|
yum:
|
||||||
|
name: "{{ xray_home }}/app/third-party/misc/db4-utils-4.7.25-20.el6_7.x86_64.rpm"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install socat
|
||||||
|
yum:
|
||||||
|
name: "{{ xray_home }}/app/third-party/rabbitmq/socat-1.7.3.2-2.el7.x86_64.rpm"
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: Install erlang
|
||||||
|
yum:
|
||||||
|
name: "{{ xray_home }}/app/third-party/rabbitmq/erlang-21.1.4-1.el7.centos.x86_64.rpm"
|
||||||
|
state: present
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user