From 38d2524ee14b2e72d1f61cb1e4f8f3716ea4ab1a Mon Sep 17 00:00:00 2001 From: jefferyfry Date: Tue, 28 Apr 2020 21:08:09 -0700 Subject: [PATCH] Added nginx roles. --- Ansible/artifactory7/README.md | 16 ++- Ansible/artifactory7/hosts.yml | 129 ++++++++++++++---- .../artifactory7/jfrog/rt7ansible/README.md | 3 - .../artifactory-java/tasks/setup-Debian.yml | 1 + .../roles/artifactory-nginx-ssl/.travis.yml | 29 ++++ .../artifactory-nginx-ssl/defaults/main.yml | 2 + .../artifactory-nginx-ssl/handlers/main.yml | 2 + .../roles/artifactory-nginx-ssl/meta/main.yml | 53 +++++++ .../artifactory-nginx-ssl/tasks/main.yml | 41 ++++++ .../templates}/artifactory.conf.j2 | 11 +- .../templates/certificate.key.j2 | 0 .../templates/certificate.pem.j2 | 0 .../artifactory-nginx-ssl/tests/inventory | 2 + .../artifactory-nginx-ssl/tests/test.yml | 5 + .../roles/artifactory-nginx-ssl/vars/main.yml | 2 + .../roles/artifactory-nginx/README.md | 38 ------ .../roles/artifactory-nginx/tasks/main.yml | 32 ++++- .../templates/artifactory.conf.j2 | 43 ++++++ .../roles/artifactory/tasks/main.yml | 57 +------- Ansible/artifactory7/rt7provision.yml | 3 +- 20 files changed, 333 insertions(+), 136 deletions(-) delete mode 100644 Ansible/artifactory7/jfrog/rt7ansible/README.md create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/.travis.yml create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/defaults/main.yml create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/handlers/main.yml create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/meta/main.yml create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tasks/main.yml rename Ansible/artifactory7/jfrog/rt7ansible/roles/{artifactory-nginx/files => artifactory-nginx-ssl/templates}/artifactory.conf.j2 (85%) rename Ansible/artifactory7/jfrog/rt7ansible/roles/{artifactory => artifactory-nginx-ssl}/templates/certificate.key.j2 (100%) rename Ansible/artifactory7/jfrog/rt7ansible/roles/{artifactory => artifactory-nginx-ssl}/templates/certificate.pem.j2 (100%) create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/inventory create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/test.yml create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/vars/main.yml delete mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/README.md create mode 100644 Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/templates/artifactory.conf.j2 diff --git a/Ansible/artifactory7/README.md b/Ansible/artifactory7/README.md index 4ea9270..d2cda81 100644 --- a/Ansible/artifactory7/README.md +++ b/Ansible/artifactory7/README.md @@ -3,14 +3,14 @@ This repo contains the Ansible collection for JFrog Artifactory Pro 7 roles. The ## 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. +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. -### artifactory-java -The artifactory-java role ensures that the correct version of Java is installed for Artifactory. - ## Vars Required The following Vars must be configured. @@ -19,9 +19,7 @@ The following Vars must be configured. * 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 LB DNS or IP. eg. "ansibleelb-623062857.us-east-1.elb.amazonaws.com" -* certificate: This is the SSL cert. -* certificate_key: This is the SSL private key. +* server_name: This is the server name. eg. "artifactory.54.175.51.178.xip.io" ### artifactory * master_key: This is the Artifactory Master Key. @@ -38,6 +36,10 @@ The following Vars must be configured. ### 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). diff --git a/Ansible/artifactory7/hosts.yml b/Ansible/artifactory7/hosts.yml index 2e479ad..cb62a86 100644 --- a/Ansible/artifactory7/hosts.yml +++ b/Ansible/artifactory7/hosts.yml @@ -2,47 +2,124 @@ all: vars: ansible_user: "ubuntu" - ansible_ssh_private_key_file: "ssh.pem" + ansible_ssh_private_key_file: "/Users/jefff/.ssh/jeff-ansible-ec2.pem" db_user: "artifactory" - db_password: "xxxxxx" + db_password: "Art1fAct0ry" children: database: hosts: - 10.0.0.70: + 100.26.167.170: artifactory: vars: - master_key: "xxxxxx788ac56159890975bcf" - join_key: "xxxxxx4bbac87970282fdeb" + 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.70:5432/artifactory" - server_name: "some-server.com" + db_url: "jdbc:postgresql://10.0.0.160:5432/artifactory" + server_name: "ec2-100-25-104-198.compute-1.amazonaws.com" certificate: | -----BEGIN CERTIFICATE----- - Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0X - Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0X + 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 RSA PRIVATE KEY----- - Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0X - Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0Xx0X - -----END RSA PRIVATE KEY----- + -----BEGIN PRIVATE KEY----- + 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 + wE0kp6bIPqO7luLz5sqjxGiSRTiWSQ== + -----END PRIVATE KEY----- children: primary: hosts: - 10.0.0.71: + 100.25.104.198: vars: artifactory_is_primary: true - artifactory_license1: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - artifactory_license2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - artifactory_license3: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - artifactory_license4: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - artifactory_license5: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - secondary: - hosts: - 10.0.0.72: - 10.0.0.73: - vars: - artifactory_is_primary: false + 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 diff --git a/Ansible/artifactory7/jfrog/rt7ansible/README.md b/Ansible/artifactory7/jfrog/rt7ansible/README.md deleted file mode 100644 index 823595b..0000000 --- a/Ansible/artifactory7/jfrog/rt7ansible/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Ansible Collection - jfrog.rt7ansible - -Documentation for the collection. \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-java/tasks/setup-Debian.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-java/tasks/setup-Debian.yml index 4d9fc0a..ac77b7a 100644 --- a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-java/tasks/setup-Debian.yml +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-java/tasks/setup-Debian.yml @@ -12,6 +12,7 @@ - name: Ensure Java is installed. apt: + update_cache: yes name: "{{ java_packages }}" state: present become: true diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/.travis.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/.travis.yml new file mode 100644 index 0000000..36bbf62 --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/.travis.yml @@ -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/ \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/defaults/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/defaults/main.yml new file mode 100644 index 0000000..6b28347 --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/defaults/main.yml @@ -0,0 +1,2 @@ +--- +# defaults file for artifactory-nginx \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/handlers/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/handlers/main.yml new file mode 100644 index 0000000..d212386 --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/handlers/main.yml @@ -0,0 +1,2 @@ +--- +# handlers file for artifactory-nginx \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/meta/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/meta/main.yml new file mode 100644 index 0000000..227ad9c --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/meta/main.yml @@ -0,0 +1,53 @@ +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. + \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tasks/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tasks/main.yml new file mode 100644 index 0000000..c0e955d --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tasks/main.yml @@ -0,0 +1,41 @@ +--- +# tasks file for artifactory-nginx +- name: configure the artifactory nginx conf + template: + src: artifactory.conf.j2 + dest: /etc/nginx/conf.d/artifactory.conf + owner: root + group: root + mode: '0755' + become: true + +- name: ensure nginx dir exists + file: + path: "/var/opt/jfrog/nginx/ssl" + state: directory + become: true + +- name: configure certificate + template: + src: certificate.pem.j2 + dest: "/var/opt/jfrog/nginx/ssl/cert.pem" + become: true + +- name: ensure pki exists + file: + path: "/etc/pki/tls" + state: directory + become: true + +- name: configure key + template: + src: certificate.key.j2 + dest: "/etc/pki/tls/cert.key" + become: true + +- name: restart nginx + service: + name: nginx + state: restarted + enabled: yes + become: true \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/files/artifactory.conf.j2 b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/artifactory.conf.j2 similarity index 85% rename from Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/files/artifactory.conf.j2 rename to Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/artifactory.conf.j2 index 38c058d..315a601 100644 --- a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/files/artifactory.conf.j2 +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/artifactory.conf.j2 @@ -9,22 +9,21 @@ upstream artifactory-direct { server 127.0.0.1:8081; } - ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; + ssl_protocols TLSv1.1 TLSv1.2; ssl_certificate /var/opt/jfrog/nginx/ssl/cert.pem; ssl_certificate_key /etc/pki/tls/cert.key; ssl_session_cache shared:SSL:1m; ssl_prefer_server_ciphers on; ## server configuration server { - listen 443 ssl; - listen 80 ; + listen 443 ssl http2; server_name {{ server_name }}; if ($http_x_forwarded_proto = '') { set $http_x_forwarded_proto $scheme; } ## Application specific logs - ## access_log /var/log/nginx/artifactory-access.log timing; - ## error_log /var/log/nginx/artifactory-error.log; + access_log /var/log/nginx/artifactory-access.log; + error_log /var/log/nginx/artifactory-error.log; rewrite ^/$ /ui/ redirect; rewrite ^/ui$ /ui/ redirect; chunked_transfer_encoding on; @@ -33,7 +32,7 @@ proxy_read_timeout 2400s; proxy_pass_header Server; proxy_cookie_path ~*^/.* /; - proxy_pass http://artifactory; + proxy_pass "http://artifactory"; proxy_next_upstream error timeout non_idempotent; proxy_next_upstream_tries 1; proxy_set_header X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port; diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/templates/certificate.key.j2 b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/certificate.key.j2 similarity index 100% rename from Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/templates/certificate.key.j2 rename to Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/certificate.key.j2 diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/templates/certificate.pem.j2 b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/certificate.pem.j2 similarity index 100% rename from Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/templates/certificate.pem.j2 rename to Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/templates/certificate.pem.j2 diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/inventory b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/test.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/test.yml new file mode 100644 index 0000000..7560bbb --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - artifactory-nginx \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/vars/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/vars/main.yml new file mode 100644 index 0000000..7465197 --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx-ssl/vars/main.yml @@ -0,0 +1,2 @@ +--- +# vars file for artifactory-nginx \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/README.md b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/README.md deleted file mode 100644 index 225dd44..0000000 --- a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/README.md +++ /dev/null @@ -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). diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/tasks/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/tasks/main.yml index 4719929..01dce50 100644 --- a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/tasks/main.yml +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/tasks/main.yml @@ -1,2 +1,32 @@ --- -# tasks file for artifactory-nginx \ No newline at end of file +# tasks file for artifactory-nginx +- name: install nginx + package: + name: nginx + state: present + become: true + +- name: configure main nginx conf file. + copy: + src: nginx.conf + dest: /etc/nginx/nginx.conf + owner: root + group: root + mode: '0755' + become: true + +- name: configure the artifactory nginx conf + template: + src: artifactory.conf.j2 + dest: /etc/nginx/conf.d/artifactory.conf + owner: root + group: root + mode: '0755' + become: true + +- name: restart nginx + service: + name: nginx + state: restarted + enabled: yes + become: true \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/templates/artifactory.conf.j2 b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/templates/artifactory.conf.j2 new file mode 100644 index 0000000..58280d9 --- /dev/null +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory-nginx/templates/artifactory.conf.j2 @@ -0,0 +1,43 @@ +########################################################### +## this configuration was generated by JFrog Artifactory ## + ########################################################### + + ## add HA entries when ha is configure + upstream artifactory { + server 127.0.0.1:8082; +} + upstream artifactory-direct { + server 127.0.0.1:8081; +} + ## server configuration + server { + listen 80 ; + server_name {{ server_name }}; + if ($http_x_forwarded_proto = '') { + set $http_x_forwarded_proto $scheme; + } + ## Application specific logs + access_log /var/log/nginx/artifactory-access.log; + error_log /var/log/nginx/artifactory-error.log; + rewrite ^/$ /ui/ redirect; + rewrite ^/ui$ /ui/ redirect; + chunked_transfer_encoding on; + client_max_body_size 0; + location / { + proxy_read_timeout 2400s; + proxy_pass_header Server; + proxy_cookie_path ~*^/.* /; + proxy_pass "http://artifactory"; + proxy_next_upstream error timeout non_idempotent; + proxy_next_upstream_tries 1; + proxy_set_header X-JFrog-Override-Base-Url $http_x_forwarded_proto://$host:$server_port; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header X-Forwarded-Proto $http_x_forwarded_proto; + proxy_set_header Host $http_host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + location ~ ^/artifactory/ { + proxy_pass http://artifactory-direct; + } + } +} \ No newline at end of file diff --git a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/tasks/main.yml b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/tasks/main.yml index 9bb00a2..2568e2d 100644 --- a/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/tasks/main.yml +++ b/Ansible/artifactory7/jfrog/rt7ansible/roles/artifactory/tasks/main.yml @@ -4,60 +4,9 @@ include_role: name: artifactory-java -#- name: install nginx -# package: -# name: nginx -# state: present -# become: true -# -#- name: configure main nginx conf file. -# copy: -# src: nginx.conf -# dest: /etc/nginx/nginx.conf -# owner: root -# group: root -# mode: '0755' -# become: true -# -#- name: configure the artifactory nginx conf -# template: -# src: artifactory.conf.j2 -# dest: /etc/nginx/conf.d/artifactory.conf -# owner: root -# group: root -# mode: '0755' -# become: true -# -#- name: ensure nginx dir exists -# file: -# path: "/var/opt/jfrog/nginx/ssl" -# state: directory -# become: true -# -#- name: configure certificate -# template: -# src: certificate.pem.j2 -# dest: "/var/opt/jfrog/nginx/ssl/cert.pem" -# become: true -# -#- name: ensure pki exists -# file: -# path: "/etc/pki/tls" -# state: directory -# become: true -# -#- name: configure key -# template: -# src: certificate.key.j2 -# dest: "/etc/pki/tls/cert.key" -# become: true -# -#- name: restart nginx -# service: -# name: nginx -# state: started -# enabled: yes -# become: true +- name: install nginx + include_role: + name: artifactory-nginx - name: create group for artifactory group: diff --git a/Ansible/artifactory7/rt7provision.yml b/Ansible/artifactory7/rt7provision.yml index ecb976a..8acff9e 100644 --- a/Ansible/artifactory7/rt7provision.yml +++ b/Ansible/artifactory7/rt7provision.yml @@ -7,4 +7,5 @@ - hosts: primary:secondary gather_facts: true roles: - - jfrog/rt7ansible/roles/artifactory \ No newline at end of file + - jfrog/rt7ansible/roles/artifactory + - jfrog/rt7ansible/roles/artifactory-nginx-ssl \ No newline at end of file