From 358969177aa9478fcb1c2c212915a9131d7dbb26 Mon Sep 17 00:00:00 2001 From: kinjelom Date: Thu, 12 Dec 2024 12:23:52 +0100 Subject: [PATCH 1/6] start from scratch --- .downloads | 1 - .final_builds/jobs/nexus-backup/index.yml | 6 - .final_builds/jobs/nexus/index.yml | 6 - .final_builds/license/index.yml | 6 - .../packages/nexus-scripts/index.yml | 6 - .final_builds/packages/nexus/index.yml | 6 - .gitignore | 2 + .sha1/0.10.0 | 1 - .sha1/0.10.1 | 1 - .sha1/0.11.0 | 1 - .sha1/0.12.0 | 1 - .sha1/0.12.1 | 1 - .sha1/0.13.0 | 1 - .sha1/0.14.0 | 1 - .sha1/0.14.1 | 1 - .sha1/0.15.0 | 1 - .sha1/0.4.1 | 1 - .sha1/0.5.0 | 1 - .sha1/0.5.1 | 1 - .sha1/0.6.0 | 1 - .sha1/0.7.0 | 1 - .sha1/0.7.1 | 1 - .sha1/0.8.0 | 1 - .sha1/0.9.0 | 1 - .sha1/0.9.1 | 1 - LICENSE | 202 ---------- README.md | 196 ---------- add-blobs.sh | 17 - config/blobs.yml | 4 - config/final.yml | 7 - deployment/nexus.yml | 127 ------ jobs/nexus-backup/monit | 0 jobs/nexus-backup/spec | 12 - jobs/nexus-backup/templates/backup | 11 - .../nexus-backup/templates/post-backup-unlock | 5 - jobs/nexus-backup/templates/pre-backup-lock | 11 - jobs/nexus-backup/templates/restore | 25 -- jobs/nexus/monit | 5 - jobs/nexus/spec | 51 --- jobs/nexus/templates/ctl.erb | 87 ----- jobs/nexus/templates/jetty-https.xml.erb | 81 ---- jobs/nexus/templates/nexus.properties.erb | 11 - jobs/nexus/templates/nexus.vmoptions.erb | 16 - jobs/nexus/templates/post-start.erb | 23 -- jobs/nexus/templates/ssl_cert.pem.erb | 1 - jobs/nexus/templates/ssl_key.pem.erb | 1 - manifest.yml | 66 ---- packages/README.md | 32 -- packages/nexus-scripts/packaging | 3 - packages/nexus-scripts/spec | 7 - packages/nexus/packaging | 8 - packages/nexus/pre_packaging | 2 - packages/nexus/spec | 7 - pipeline.yml | 363 ------------------ releases/nexus/index.yml | 4 - releases/nexus/nexus-0.0.1.yml | 21 - releases/nexus/nexus-0.1.0.yml | 21 - releases/nexus/nexus-0.10.0.yml | 33 -- releases/nexus/nexus-0.10.1.yml | 33 -- releases/nexus/nexus-0.11.0.yml | 28 -- releases/nexus/nexus-0.12.0.yml | 28 -- releases/nexus/nexus-0.12.1.yml | 28 -- releases/nexus/nexus-0.13.0.yml | 28 -- releases/nexus/nexus-0.14.0.yml | 32 -- releases/nexus/nexus-0.14.1.yml | 32 -- releases/nexus/nexus-0.15.0.yml | 32 -- releases/nexus/nexus-0.2.0.yml | 25 -- releases/nexus/nexus-0.3.0.yml | 25 -- releases/nexus/nexus-0.3.1.yml | 25 -- releases/nexus/nexus-0.3.2.yml | 25 -- releases/nexus/nexus-0.4.0.yml | 29 -- releases/nexus/nexus-0.4.1.yml | 28 -- releases/nexus/nexus-0.5.0.yml | 28 -- releases/nexus/nexus-0.5.1.yml | 28 -- releases/nexus/nexus-0.6.0.yml | 33 -- releases/nexus/nexus-0.7.0.yml | 33 -- releases/nexus/nexus-0.7.1.yml | 33 -- releases/nexus/nexus-0.8.0.yml | 33 -- releases/nexus/nexus-0.9.0.yml | 33 -- releases/nexus/nexus-0.9.1.yml | 33 -- src/nexus-scripts/change_admin_password.sh | 42 -- 81 files changed, 2 insertions(+), 2203 deletions(-) delete mode 120000 .downloads delete mode 100644 .final_builds/jobs/nexus-backup/index.yml delete mode 100644 .final_builds/jobs/nexus/index.yml delete mode 100644 .final_builds/license/index.yml delete mode 100644 .final_builds/packages/nexus-scripts/index.yml delete mode 100644 .final_builds/packages/nexus/index.yml delete mode 100644 .sha1/0.10.0 delete mode 100644 .sha1/0.10.1 delete mode 100644 .sha1/0.11.0 delete mode 100644 .sha1/0.12.0 delete mode 100644 .sha1/0.12.1 delete mode 100644 .sha1/0.13.0 delete mode 100644 .sha1/0.14.0 delete mode 100644 .sha1/0.14.1 delete mode 100644 .sha1/0.15.0 delete mode 100644 .sha1/0.4.1 delete mode 100644 .sha1/0.5.0 delete mode 100644 .sha1/0.5.1 delete mode 100644 .sha1/0.6.0 delete mode 100644 .sha1/0.7.0 delete mode 100644 .sha1/0.7.1 delete mode 100644 .sha1/0.8.0 delete mode 100644 .sha1/0.9.0 delete mode 100644 .sha1/0.9.1 delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100755 add-blobs.sh delete mode 100644 config/blobs.yml delete mode 100644 config/final.yml delete mode 100644 deployment/nexus.yml delete mode 100644 jobs/nexus-backup/monit delete mode 100644 jobs/nexus-backup/spec delete mode 100755 jobs/nexus-backup/templates/backup delete mode 100755 jobs/nexus-backup/templates/post-backup-unlock delete mode 100755 jobs/nexus-backup/templates/pre-backup-lock delete mode 100755 jobs/nexus-backup/templates/restore delete mode 100644 jobs/nexus/monit delete mode 100644 jobs/nexus/spec delete mode 100755 jobs/nexus/templates/ctl.erb delete mode 100644 jobs/nexus/templates/jetty-https.xml.erb delete mode 100644 jobs/nexus/templates/nexus.properties.erb delete mode 100644 jobs/nexus/templates/nexus.vmoptions.erb delete mode 100755 jobs/nexus/templates/post-start.erb delete mode 100644 jobs/nexus/templates/ssl_cert.pem.erb delete mode 100644 jobs/nexus/templates/ssl_key.pem.erb delete mode 100644 manifest.yml delete mode 100644 packages/README.md delete mode 100644 packages/nexus-scripts/packaging delete mode 100644 packages/nexus-scripts/spec delete mode 100644 packages/nexus/packaging delete mode 100644 packages/nexus/pre_packaging delete mode 100644 packages/nexus/spec delete mode 100644 pipeline.yml delete mode 100644 releases/nexus/index.yml delete mode 100644 releases/nexus/nexus-0.0.1.yml delete mode 100644 releases/nexus/nexus-0.1.0.yml delete mode 100644 releases/nexus/nexus-0.10.0.yml delete mode 100644 releases/nexus/nexus-0.10.1.yml delete mode 100644 releases/nexus/nexus-0.11.0.yml delete mode 100644 releases/nexus/nexus-0.12.0.yml delete mode 100644 releases/nexus/nexus-0.12.1.yml delete mode 100644 releases/nexus/nexus-0.13.0.yml delete mode 100644 releases/nexus/nexus-0.14.0.yml delete mode 100644 releases/nexus/nexus-0.14.1.yml delete mode 100644 releases/nexus/nexus-0.15.0.yml delete mode 100644 releases/nexus/nexus-0.2.0.yml delete mode 100644 releases/nexus/nexus-0.3.0.yml delete mode 100644 releases/nexus/nexus-0.3.1.yml delete mode 100644 releases/nexus/nexus-0.3.2.yml delete mode 100644 releases/nexus/nexus-0.4.0.yml delete mode 100644 releases/nexus/nexus-0.4.1.yml delete mode 100644 releases/nexus/nexus-0.5.0.yml delete mode 100644 releases/nexus/nexus-0.5.1.yml delete mode 100644 releases/nexus/nexus-0.6.0.yml delete mode 100644 releases/nexus/nexus-0.7.0.yml delete mode 100644 releases/nexus/nexus-0.7.1.yml delete mode 100644 releases/nexus/nexus-0.8.0.yml delete mode 100644 releases/nexus/nexus-0.9.0.yml delete mode 100644 releases/nexus/nexus-0.9.1.yml delete mode 100755 src/nexus-scripts/change_admin_password.sh diff --git a/.downloads b/.downloads deleted file mode 120000 index 40854fe..0000000 --- a/.downloads +++ /dev/null @@ -1 +0,0 @@ -../compiled \ No newline at end of file diff --git a/.final_builds/jobs/nexus-backup/index.yml b/.final_builds/jobs/nexus-backup/index.yml deleted file mode 100644 index 1938f6b..0000000 --- a/.final_builds/jobs/nexus-backup/index.yml +++ /dev/null @@ -1,6 +0,0 @@ -builds: - 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c: - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - blobstore_id: 66c1d4ed-9c17-4222-697c-7706f489f6eb - sha1: sha256:8421fbd18b9a913fcd71aa11bf6349767575159cf15258f10027c12d04f4094b -format-version: "2" diff --git a/.final_builds/jobs/nexus/index.yml b/.final_builds/jobs/nexus/index.yml deleted file mode 100644 index 7b66fea..0000000 --- a/.final_builds/jobs/nexus/index.yml +++ /dev/null @@ -1,6 +0,0 @@ -builds: - fe7355d06f605b422c8fb7a1cfac67c43c9066ab99ec2d86e46109fe1da23c8b: - version: fe7355d06f605b422c8fb7a1cfac67c43c9066ab99ec2d86e46109fe1da23c8b - blobstore_id: 77a55bce-2a0f-43a2-48df-0e64f0f76519 - sha1: sha256:f3dd1bb41e95a40581a30222ba3be056284d01d3cbcf8922bcf740430da1ccda -format-version: "2" diff --git a/.final_builds/license/index.yml b/.final_builds/license/index.yml deleted file mode 100644 index 708f533..0000000 --- a/.final_builds/license/index.yml +++ /dev/null @@ -1,6 +0,0 @@ -builds: - ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - blobstore_id: 14d43ef3-327c-4f46-5cf6-b383f59d7cee - sha1: sha256:bbc1805a7fb4c1b36cc6b8b8c7c1c18122dc947a28376787f6fa6b64bf8d9f8c -format-version: "2" diff --git a/.final_builds/packages/nexus-scripts/index.yml b/.final_builds/packages/nexus-scripts/index.yml deleted file mode 100644 index 199fb02..0000000 --- a/.final_builds/packages/nexus-scripts/index.yml +++ /dev/null @@ -1,6 +0,0 @@ -builds: - 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5: - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - blobstore_id: 8d35d97f-137a-4109-7521-e52eee0e5c20 - sha1: sha256:60c6862264076becd6e03a84cdbebceea291f5be1c158c2b3d5ce3866803ed96 -format-version: "2" diff --git a/.final_builds/packages/nexus/index.yml b/.final_builds/packages/nexus/index.yml deleted file mode 100644 index 20f1a41..0000000 --- a/.final_builds/packages/nexus/index.yml +++ /dev/null @@ -1,6 +0,0 @@ -builds: - 0d434850642743cfcbed761147798e40acc72c1f9165bcbb8e20a2debfd84d71: - version: 0d434850642743cfcbed761147798e40acc72c1f9165bcbb8e20a2debfd84d71 - blobstore_id: 3c2c8c59-f9b3-4c61-7386-513885bbd823 - sha1: sha256:35f03ddf122070d1fbd18fda06a4a24aee9bf9b53aaebdf9f449fdf3ee707119 -format-version: "2" diff --git a/.gitignore b/.gitignore index eab1c1c..b994de4 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,8 @@ blobs .DS_Store .final_builds/jobs/**/*.tgz .final_builds/packages/**/*.tgz +.temp +.tmp *.swp *~ *# diff --git a/.sha1/0.10.0 b/.sha1/0.10.0 deleted file mode 100644 index 4625486..0000000 --- a/.sha1/0.10.0 +++ /dev/null @@ -1 +0,0 @@ -243ee43d66c56fd8b6a692a377c643af5c5c4c2e diff --git a/.sha1/0.10.1 b/.sha1/0.10.1 deleted file mode 100644 index 3df420b..0000000 --- a/.sha1/0.10.1 +++ /dev/null @@ -1 +0,0 @@ -2ebba1689013a9cdbbe12c3fca76f5b1b82564aa diff --git a/.sha1/0.11.0 b/.sha1/0.11.0 deleted file mode 100644 index 14e9224..0000000 --- a/.sha1/0.11.0 +++ /dev/null @@ -1 +0,0 @@ -d186a8affb161a4b282079de16080d8aaa4c5132 diff --git a/.sha1/0.12.0 b/.sha1/0.12.0 deleted file mode 100644 index 7fd6d6b..0000000 --- a/.sha1/0.12.0 +++ /dev/null @@ -1 +0,0 @@ -09debef2e945a905e089b8d7c445df4d0b32f4e6 diff --git a/.sha1/0.12.1 b/.sha1/0.12.1 deleted file mode 100644 index 4e27225..0000000 --- a/.sha1/0.12.1 +++ /dev/null @@ -1 +0,0 @@ -42fd399f34a4ed116455147e78fdaf6c8b7f8148 diff --git a/.sha1/0.13.0 b/.sha1/0.13.0 deleted file mode 100644 index 98d6f5c..0000000 --- a/.sha1/0.13.0 +++ /dev/null @@ -1 +0,0 @@ -9e7b17302e56bf360bf56b627d37fe902ed49e1b diff --git a/.sha1/0.14.0 b/.sha1/0.14.0 deleted file mode 100644 index 6c4c499..0000000 --- a/.sha1/0.14.0 +++ /dev/null @@ -1 +0,0 @@ -7eefb285cea9eef38f0c23f7a4945e5720aba4a1 diff --git a/.sha1/0.14.1 b/.sha1/0.14.1 deleted file mode 100644 index 2730449..0000000 --- a/.sha1/0.14.1 +++ /dev/null @@ -1 +0,0 @@ -8c3ca35c5da68c37109ffda0c7365ef7ca639978 diff --git a/.sha1/0.15.0 b/.sha1/0.15.0 deleted file mode 100644 index cc6e36a..0000000 --- a/.sha1/0.15.0 +++ /dev/null @@ -1 +0,0 @@ -e2ac40bb43dedeb428649f66dd047c2af504f1eb diff --git a/.sha1/0.4.1 b/.sha1/0.4.1 deleted file mode 100644 index 2c431c7..0000000 --- a/.sha1/0.4.1 +++ /dev/null @@ -1 +0,0 @@ -e2ffa9b7d9f2e34c2ee52a1762761c6db6cb2db3 diff --git a/.sha1/0.5.0 b/.sha1/0.5.0 deleted file mode 100644 index d08a98a..0000000 --- a/.sha1/0.5.0 +++ /dev/null @@ -1 +0,0 @@ -ae787a0e62261184d0c89ec2a513e23b336259e5 diff --git a/.sha1/0.5.1 b/.sha1/0.5.1 deleted file mode 100644 index 15d2536..0000000 --- a/.sha1/0.5.1 +++ /dev/null @@ -1 +0,0 @@ -a0ee10efceb07f5d5ebb09c6df1390ce6b7d4e93 diff --git a/.sha1/0.6.0 b/.sha1/0.6.0 deleted file mode 100644 index c0ed916..0000000 --- a/.sha1/0.6.0 +++ /dev/null @@ -1 +0,0 @@ -8e76e705329c8c72cd87f39922e707978d425af7 diff --git a/.sha1/0.7.0 b/.sha1/0.7.0 deleted file mode 100644 index a999ca8..0000000 --- a/.sha1/0.7.0 +++ /dev/null @@ -1 +0,0 @@ -cef496b221567429943fbbd90c2110f737758fef diff --git a/.sha1/0.7.1 b/.sha1/0.7.1 deleted file mode 100644 index 116ba9c..0000000 --- a/.sha1/0.7.1 +++ /dev/null @@ -1 +0,0 @@ -3814bec2588ec9f386a53cc188c15606347fb56d diff --git a/.sha1/0.8.0 b/.sha1/0.8.0 deleted file mode 100644 index ca2d61a..0000000 --- a/.sha1/0.8.0 +++ /dev/null @@ -1 +0,0 @@ -148ca91914d23b58e5e1f0131e56dc25d3eae55a diff --git a/.sha1/0.9.0 b/.sha1/0.9.0 deleted file mode 100644 index 8010745..0000000 --- a/.sha1/0.9.0 +++ /dev/null @@ -1 +0,0 @@ -2e0cbb0b40f5b9598cc89a5f097c0afa27725285 diff --git a/.sha1/0.9.1 b/.sha1/0.9.1 deleted file mode 100644 index 9e5f5eb..0000000 --- a/.sha1/0.9.1 +++ /dev/null @@ -1 +0,0 @@ -c202848c2093e2cc385cb96a3bbcc03b9fef4e98 diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 7a8415c..0000000 --- a/LICENSE +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright 2017 Toshiaki Maki - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/README.md b/README.md deleted file mode 100644 index 6e84997..0000000 --- a/README.md +++ /dev/null @@ -1,196 +0,0 @@ -# BOSH Release for Nexus Repository Manager - -## How to deploy nexus-boshrelease - -A sample manifest is following: - -``` yml ---- -name: nexus - -releases: -- name: nexus - version: 0.12.0 - url: https://github.com/making/nexus-boshrelease/releases/download/0.12.0/nexus-boshrelease-0.12.0.tgz - sha1: 09debef2e945a905e089b8d7c445df4d0b32f4e6 -- name: openjdk - version: 8.0.1 - url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz - sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd - -stemcells: -- alias: xenial - os: ubuntu-xenial - version: latest - -instance_groups: -- name: nexus - instances: 1 - vm_type: default - persistent_disk: default - stemcell: xenial - azs: [z1] - networks: - - name: default - static_ips: [((internal_ip))] - jobs: - - name: java - release: openjdk - - name: nexus - release: nexus - properties: - nexus: - heap_size: 768M - max_direct_memory_size: 512M - - name: nexus-backup - release: nexus - -update: - canaries: 1 - max_in_flight: 1 - serial: false - canary_watch_time: 1000-60000 - update_watch_time: 1000-60000 -``` - -then, - -``` -bosh deploy -d nexus nexus.yml -v internal_ip= -``` - -You will be able to access `http://:8081` - - -## How to enable SSL - -A sample manifest is following: - -``` yml ---- -name: nexus - -releases: -- name: nexus - version: 0.12.0 - url: https://github.com/making/nexus-boshrelease/releases/download/0.12.0/nexus-boshrelease-0.12.0.tgz - sha1: 09debef2e945a905e089b8d7c445df4d0b32f4e6 -- name: openjdk - version: 8.0.1 - url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz - sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd - -stemcells: -- alias: xenial - os: ubuntu-xenial - version: latest - -instance_groups: -- name: nexus - instances: 1 - vm_type: default - persistent_disk: default - stemcell: xenial - azs: [z1] - networks: - - name: default - static_ips: [((internal_ip))] - jobs: - - name: java - release: openjdk - - name: nexus - release: nexus - properties: - nexus: - heap_size: 768M - max_direct_memory_size: 512M - ssl_cert: ((nexus_ssl.certificate)) - ssl_key: ((nexus_ssl.private_key)) - ssl_only: true - - name: nexus-backup - release: nexus - -update: - canaries: 1 - max_in_flight: 1 - serial: false - canary_watch_time: 1000-60000 - update_watch_time: 1000-60000 - -variables: -- name: nexus_pkcs12_password - type: password -- name: nexus_keystore_password - type: password -- name: default_ca - type: certificate - options: - is_ca: true - common_name: ca -- name: nexus_ssl - type: certificate - options: - ca: default_ca - common_name: ((internal_ip)) - alternative_names: - - ((internal_ip)) -``` - -then, - -``` -bosh deploy -d nexus nexus.yml -v internal_ip= -``` - -You will be able to access `https://:8443` - - -## Backup and Restore with [BBR](http://www.boshbackuprestore.io/) - -### Backup - -``` -$ BOSH_CLIENT_SECRET= \ - bbr deployment \ - --target \ - --username \ - --deployment nexus \ - --ca-cert \ - backup -``` - -### Restore - -``` -$ BOSH_CLIENT_SECRET= \ - bbr deployment \ - --target \ - --username \ - --deployment nexus \ - --ca-cert \ - backup \ - --artifact-path -``` - -## How to create stand-alone vm on VirtualBox - -Download [nexus.yml](deployment/nexus.yml). - -``` -$ bosh create-env nexus.yml -v internal_ip=192.168.230.40 --vars-store ./nexus-creds.yml -``` - -https://192.168.230.40 - -You can get `admin` user's password as follows: - -``` -bosh int nexus-creds.yml --path /admin_password -``` - -## How to develop this bosh release - -``` -bosh sync-blobs -bosh create-release --name=nexus --force --timestamp-version --tarball=/tmp/nexus-boshrelease.tgz && bosh upload-release /tmp/nexus-boshrelease.tgz && bosh -n -d nexus deploy manifest.yml -v internal_ip= --no-redact -``` diff --git a/add-blobs.sh b/add-blobs.sh deleted file mode 100755 index b8aa2da..0000000 --- a/add-blobs.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -DIR=`pwd` - -mkdir -p .downloads - -cd .downloads - - -NEXUS_VERSION=3.28.1-01 - -if [ ! -f ${DIR}/blobs/nexus/nexus-${NEXUS_VERSION}-unix.tar.gz ];then - curl -L -O -J https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${NEXUS_VERSION}-unix.tar.gz - bosh add-blob --dir=${DIR} nexus-${NEXUS_VERSION}-unix.tar.gz nexus/nexus-${NEXUS_VERSION}-unix.tar.gz -fi - -cd - diff --git a/config/blobs.yml b/config/blobs.yml deleted file mode 100644 index dbedbc5..0000000 --- a/config/blobs.yml +++ /dev/null @@ -1,4 +0,0 @@ -nexus/nexus-3.28.1-01-unix.tar.gz: - size: 166494026 - object_id: 88015d70-ab3b-4be4-7a7f-d298529e5a0b - sha: sha256:c87bbcedf6503e3776afede9903236ab7d8f68c31e8f1edf060e16f415166a61 diff --git a/config/final.yml b/config/final.yml deleted file mode 100644 index e604e9e..0000000 --- a/config/final.yml +++ /dev/null @@ -1,7 +0,0 @@ -name: nexus -blobstore: - provider: s3 - options: - bucket_name: nexus-boshrelease - region: ap-northeast-1 - endpoint: https://s3-ap-northeast-1.amazonaws.com diff --git a/deployment/nexus.yml b/deployment/nexus.yml deleted file mode 100644 index bb2be87..0000000 --- a/deployment/nexus.yml +++ /dev/null @@ -1,127 +0,0 @@ -# bosh create-env nexus.yml -v internal_ip=192.168.230.40 --vars-store ./nexus-creds.yml - -name: nexus - -releases: -- name: nexus - version: 0.13.0 - url: https://github.com/making/nexus-boshrelease/releases/download/0.13.0/nexus-boshrelease-0.13.0.tgz - sha1: 9e7b17302e56bf360bf56b627d37fe902ed49e1b -- name: bosh-virtualbox-cpi - sha1: 537c77b087eeda859b1eb89553efa6f808214d50 - url: https://bosh.io/d/github.com/cppforlife/bosh-virtualbox-cpi-release?v=0.0.12 - version: 0.0.12 -- name: os-conf - sha1: af5a2c9f228b9d7ec4bd051d71fef0e712fa1549 - url: https://bosh.io/d/github.com/cloudfoundry/os-conf-release?v=12 - version: 12 -- name: openjdk - version: 8.0.1 - url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz - sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd - -resource_pools: -- cloud_properties: - cpus: 1 - ephemeral_disk: 32768 - memory: 1536 - env: - bosh: - password: '*' - name: vms - network: default - stemcell: - sha1: d89d0f08d748a8a07d05dca915cd9ddfcdee52a6 - url: https://bosh.io/d/stemcells/bosh-vsphere-esxi-ubuntu-xenial-go_agent?v=170.6 - -disk_pools: -- disk_size: 50120 - name: disks - -networks: -- name: default - subnets: - - dns: - - 8.8.8.8 - gateway: 192.168.230.1 - range: 192.168.230.0/24 - static_ips: ((internal_ip)) - type: manual -- cloud_properties: - name: outbound - type: natnetwork - name: outbound - type: dynamic - -instance_groups: -- name: nexus - instances: 1 - jobs: - - name: nexus - release: nexus - properties: - nexus: - http_port: 80 - https_port: 443 - heap_size: 768M - max_direct_memory_size: 512M - ssl_cert: ((nexus_ssl.certificate)) - ssl_key: ((nexus_ssl.private_key)) - admin_password: ((admin_password)) - - name: user_add - release: os-conf - properties: - users: - - name: jumpbox - public_key: ((jumpbox_ssh.public_key)) - networks: - - name: default - default: - - dns - - gateway - static_ips: - - ((internal_ip)) - - name: outbound - persistent_disk_pool: disks - resource_pool: vms - -cloud_provider: - mbus: https://mbus:((mbus_bootstrap_password))@((internal_ip)):6868 - properties: - agent: - mbus: https://mbus:((mbus_bootstrap_password))@0.0.0.0:6868 - blobstore: - path: /var/vcap/micro_bosh/data/cache - provider: local - ntp: - - time1.google.com - - time2.google.com - - time3.google.com - - time4.google.com - template: - name: virtualbox_cpi - release: bosh-virtualbox-cpi - -variables: -- name: mbus_bootstrap_password - type: password -- name: jumpbox_ssh - type: ssh -- name: nexus_pkcs12_password - type: password -- name: nexus_keystore_password - type: password -- name: default_ca - type: certificate - options: - is_ca: true - common_name: ca -- name: nexus_ssl - type: certificate - options: - ca: default_ca - common_name: ((internal_ip)) - alternative_names: - - ((internal_ip)) -- name: admin_password - type: password diff --git a/jobs/nexus-backup/monit b/jobs/nexus-backup/monit deleted file mode 100644 index e69de29..0000000 diff --git a/jobs/nexus-backup/spec b/jobs/nexus-backup/spec deleted file mode 100644 index 47a30f0..0000000 --- a/jobs/nexus-backup/spec +++ /dev/null @@ -1,12 +0,0 @@ ---- -name: nexus-backup - -templates: - backup: bin/bbr/backup - pre-backup-lock: bin/bbr/pre-backup-lock - post-backup-unlock: bin/bbr/post-backup-unlock - restore: bin/bbr/restore - -packages: [] - -properties: {} diff --git a/jobs/nexus-backup/templates/backup b/jobs/nexus-backup/templates/backup deleted file mode 100755 index faa6cc7..0000000 --- a/jobs/nexus-backup/templates/backup +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -e - -BOSH_DATA_DIRECTORY=${BOSH_DATA_DIRECTORY:-/var/vcap/store} - -cd $BOSH_DATA_DIRECTORY -echo "==== Begin creating tarball ====" -tar czf sonatype-work.tgz sonatype-work -echo "==== End creating tarball ====" -mv sonatype-work.tgz $BBR_ARTIFACT_DIRECTORY \ No newline at end of file diff --git a/jobs/nexus-backup/templates/post-backup-unlock b/jobs/nexus-backup/templates/post-backup-unlock deleted file mode 100755 index 96530c7..0000000 --- a/jobs/nexus-backup/templates/post-backup-unlock +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -set -e - -/var/vcap/bosh/bin/monit start nexus \ No newline at end of file diff --git a/jobs/nexus-backup/templates/pre-backup-lock b/jobs/nexus-backup/templates/pre-backup-lock deleted file mode 100755 index c4beb4c..0000000 --- a/jobs/nexus-backup/templates/pre-backup-lock +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -e -PID=`cat /var/vcap/sys/run/nexus/pid` - -/var/vcap/bosh/bin/monit stop nexus - -while [ -e /proc/$PID ];do - echo "Waiting until process($PID) stops" - sleep 1 -done \ No newline at end of file diff --git a/jobs/nexus-backup/templates/restore b/jobs/nexus-backup/templates/restore deleted file mode 100755 index a0f75d6..0000000 --- a/jobs/nexus-backup/templates/restore +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -set -e - -BOSH_DATA_DIRECTORY=${BOSH_DATA_DIRECTORY:-/var/vcap/store} -BACKUP_DIRECTORY="$BBR_ARTIFACT_DIRECTORY" -BLOBS_DIRECTORY="$BOSH_DATA_DIRECTORY" -PID=`cat /var/vcap/sys/run/nexus/pid` - -/var/vcap/bosh/bin/monit stop nexus - -while [ -e /proc/$PID ];do - echo "Waiting until process($PID) stops" - sleep 1 -done - -cd ${BOSH_DATA_DIRECTORY} -rm -rf sonatype-work* -mv ${BACKUP_DIRECTORY}/sonatype-work.tgz ./ -echo "==== Begin extracting tarball ====" -tar xzf sonatype-work.tgz -echo "==== End extracting tarball ====" -chown -R vcap:vcap ${BLOBS_DIRECTORY} -/var/vcap/bosh/bin/monit start nexus -rm -f sonatype-work.tgz \ No newline at end of file diff --git a/jobs/nexus/monit b/jobs/nexus/monit deleted file mode 100644 index cb54283..0000000 --- a/jobs/nexus/monit +++ /dev/null @@ -1,5 +0,0 @@ -check process nexus - with pidfile /var/vcap/sys/run/nexus/pid - start program "/var/vcap/jobs/nexus/bin/ctl start" - stop program "/var/vcap/jobs/nexus/bin/ctl stop" - group vcap \ No newline at end of file diff --git a/jobs/nexus/spec b/jobs/nexus/spec deleted file mode 100644 index ca28ba1..0000000 --- a/jobs/nexus/spec +++ /dev/null @@ -1,51 +0,0 @@ ---- -name: nexus -templates: - ctl.erb: bin/ctl - post-start.erb: bin/post-start - jetty-https.xml.erb: jetty-https.xml - nexus.vmoptions.erb: nexus.vmoptions - nexus.properties.erb: nexus.properties - ssl_cert.pem.erb: ssl/ssl_cert.pem - ssl_key.pem.erb: ssl/ssl_key.pem -packages: -- nexus -- nexus-scripts -properties: - nexus.http_port: - description: "Port that Nexus will listen on for HTTP connections" - default: 8081 - nexus.https_port: - description: "Port that Nexus will listen on for HTTPS connections" - default: 8443 - nexus.heap_size: - description: "heap size" - default: 1200M - nexus.max_direct_memory_size: - description: "max direct memory size" - default: 2G - nexus.data_dir: - description: "data dir" - default: /var/vcap/store/sonatype-work/nexus3 - nexus.ssl_only: - description: "Enable only HTTPS requests" - default: false - nexus.ssl_cert: - description: "SSL Certificate (PEM encoded)" - nexus.ssl_key: - description: "SSL private key (PEM encoded)" - nexus.pkcs12_password: - description: "PKCS12 file password" - default: nexusboshnexusbosh - nexus.keystore_password: - description: "Keystore password" - default: boshnexusboshnexus - nexus.admin_password: - description: "Password of admin user" - default: admin123 - nexus.admin_old_password: - description: "Old password of admin user" - default: admin123 - orientdb.storage.disk_cache.disk_free_space_limit: - description: Minimum amount of space on disk, which, when exceeded, will cause the database to switch to read-only mode (in megabytes) - default: 1024 \ No newline at end of file diff --git a/jobs/nexus/templates/ctl.erb b/jobs/nexus/templates/ctl.erb deleted file mode 100755 index 71af995..0000000 --- a/jobs/nexus/templates/ctl.erb +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/bash - -JOB_NAME=nexus -RUN_DIR=/var/vcap/sys/run/$JOB_NAME -LOG_DIR=/var/vcap/sys/log/$JOB_NAME -TMP_DIR=/var/vcap/data/sys/tmp -PACKAGE_DIR=/var/vcap/packages/$JOB_NAME -JOB_DIR=/var/vcap/jobs/$JOB_NAME -PIDFILE=${RUN_DIR}/pid -JAVA_HOME=/var/vcap/packages/java -PATH=$PATH:$JAVA_HOME/bin -DATA_DIR=<%= p("nexus.data_dir") %> -export NEXUS_SECURITY_RANDOMPASSWORD=false -case $1 in - - start) - INITIAL=false - <% if_p('nexus.ssl_cert', 'nexus.ssl_key', 'nexus.pkcs12_password', 'nexus.keystore_password') do |nexus_ssl_cert, nexus_ssl_key, nexus_pkcs12_password, nexus_keystore_password| %> - openssl pkcs12 -export \ - -name nexus \ - -in $JOB_DIR/ssl/ssl_cert.pem \ - -inkey $JOB_DIR/ssl/ssl_key.pem \ - -out $JOB_DIR/ssl/keystore.p12 \ - -password pass:<%= nexus_pkcs12_password %> - keytool -importkeystore \ - -destkeystore $JOB_DIR/ssl/keystore.jks \ - -srckeystore $JOB_DIR/ssl/keystore.p12 \ - -srcstoretype pkcs12 -alias nexus \ - -deststorepass <%= nexus_keystore_password %> \ - -srcstorepass <%= nexus_pkcs12_password %> \ - -noprompt - <% end %> - if [ ! -d $DATA_DIR ]; then - INITIAL=true - echo "==== Initial Installation ====" >> /var/vcap/sys/log/nexus/nexus.log - fi - - mkdir -p $RUN_DIR $LOG_DIR $TMP_DIR $DATA_DIR - - files=$(find $RUN_DIR $LOG_DIR $TMP_DIR $DATA_DIR ! -user vcap) - for file in $files - do - chown vcap:vcap $file - done - - # Allowed number of open file descriptors - ulimit -n 100000 - - if [ ! -d $DATA_DIR ]; then - mkdir -p $DATA_DIR - - files=$(find $DATA_DIR ! -user vcap) - for file in $files - do - chown vcap:vcap $file - done - - cp -r $PACKAGE_DIR/nexus/sonatype-work/nexus3 $DATA_DIR - fi - sed -i -e 's@${karaf.data}/log@/var/vcap/sys/log/nexus@g' $PACKAGE_DIR/nexus/etc/logback/logback*.xml - cp $JOB_DIR/nexus.vmoptions $PACKAGE_DIR/nexus/bin - cp $JOB_DIR/nexus.properties $DATA_DIR/etc/ - cp $JOB_DIR/jetty-https.xml $PACKAGE_DIR/nexus/etc/jetty/ - $PACKAGE_DIR/nexus/bin/nexus start - - if [ "$INITIAL" == "true" ];then - # Restart is required to configure SSL or enable nexus.scripts.allowCreation for the first time, why? - while [ ! -f $PIDFILE ];do - echo "Waiting..." >> /var/vcap/sys/log/nexus/nexus.log - sleep 3 - done - echo "Restarting..." >> /var/vcap/sys/log/nexus/nexus.log - $PACKAGE_DIR/nexus/bin/nexus restart - fi - - cat $DATA_DIR/lock | tr '@' ' ' | awk '{print $1}' > $PIDFILE - ;; - - stop) - $PACKAGE_DIR/nexus/bin/nexus stop - rm -f $PIDFILE - ;; - - *) - echo "Usage: ctl {start|stop}" ;; - -esac diff --git a/jobs/nexus/templates/jetty-https.xml.erb b/jobs/nexus/templates/jetty-https.xml.erb deleted file mode 100644 index 3587690..0000000 --- a/jobs/nexus/templates/jetty-https.xml.erb +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - https - - - - - - - - - - - - /keystore.jks - <%= p('nexus.keystore_password') %> - <%= p('nexus.pkcs12_password') %> - /keystore.jks - <%= p('nexus.keystore_password') %> - - - - - - SSL_RSA_WITH_DES_CBC_SHA - SSL_DHE_RSA_WITH_DES_CBC_SHA - SSL_DHE_DSS_WITH_DES_CBC_SHA - SSL_RSA_EXPORT_WITH_RC4_40_MD5 - SSL_RSA_EXPORT_WITH_DES40_CBC_SHA - SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA - SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA - - - - - - - - - - - - - - - - - http/1.1 - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/jobs/nexus/templates/nexus.properties.erb b/jobs/nexus/templates/nexus.properties.erb deleted file mode 100644 index 3200538..0000000 --- a/jobs/nexus/templates/nexus.properties.erb +++ /dev/null @@ -1,11 +0,0 @@ -application-port=<%= p("nexus.http_port") %> -application-port-ssl=<%= p("nexus.https_port") %> -ssl.etc=/var/vcap/jobs/nexus/ssl -<% if_p('nexus.ssl_cert', 'nexus.ssl_key', 'nexus.pkcs12_password', 'nexus.keystore_password') do |nexus_ssl_cert, nexus_ssl_key, nexus_pkcs12_password, nexus_keystore_password| %> -<% if p('nexus.ssl_only') %> -nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml -<% else %> -nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml -<% end %> -<% end %> -nexus.scripts.allowCreation=true diff --git a/jobs/nexus/templates/nexus.vmoptions.erb b/jobs/nexus/templates/nexus.vmoptions.erb deleted file mode 100644 index e22e059..0000000 --- a/jobs/nexus/templates/nexus.vmoptions.erb +++ /dev/null @@ -1,16 +0,0 @@ --Xms<%= p("nexus.heap_size") %> --Xmx<%= p("nexus.heap_size") %> --XX:MaxDirectMemorySize=<%= p("nexus.max_direct_memory_size") %> --XX:+UnlockDiagnosticVMOptions --XX:+UnsyncloadClass --XX:+LogVMOutput --XX:LogFile=/var/vcap/sys/log/nexus/jvm.log --Djava.net.preferIPv4Stack=true --Dkaraf.home=. --Dkaraf.base=. --Dkaraf.etc=etc/karaf --Djava.util.logging.config.file=etc/karaf/java.util.logging.properties --Dkaraf.data=<%= p("nexus.data_dir") %> --Djava.io.tmpdir=/var/vcap/data/sys/tmp --Dkaraf.startLocalConsole=false --Dstorage.diskCache.diskFreeSpaceLimit=<%= p("orientdb.storage.disk_cache.disk_free_space_limit") %> diff --git a/jobs/nexus/templates/post-start.erb b/jobs/nexus/templates/post-start.erb deleted file mode 100755 index e27d47b..0000000 --- a/jobs/nexus/templates/post-start.erb +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash -source /var/vcap/packages/nexus-scripts/change_admin_password.sh - -URL=http://localhost:<%= p("nexus.http_port") %> -<% if_p('nexus.ssl_cert', 'nexus.ssl_key', 'nexus.pkcs12_password', 'nexus.keystore_password') do |nexus_ssl_cert, nexus_ssl_key, nexus_pkcs12_password, nexus_keystore_password| %> -URL=https://localhost:<%= p("nexus.https_port") %> -<% end %> - -count=1 -while [ "`curl -s -o /dev/null -k -I -w "%{http_code}" ${URL}`" != "200" ];do - echo "[${count}/60] Waiting until ${URL} is ready ..." - sleep 5 - - if [ $count = 60 ];then - echo "Nexus does not seem to start!" - exit 1 - fi - count=$((count + 1)) -done - -echo "Update admin password" - -change_admin_password ${URL} <%= p("nexus.admin_old_password") %> <%= p("nexus.admin_password") %> -k \ No newline at end of file diff --git a/jobs/nexus/templates/ssl_cert.pem.erb b/jobs/nexus/templates/ssl_cert.pem.erb deleted file mode 100644 index 8636d60..0000000 --- a/jobs/nexus/templates/ssl_cert.pem.erb +++ /dev/null @@ -1 +0,0 @@ -<%= p('nexus.ssl_cert', '') %> \ No newline at end of file diff --git a/jobs/nexus/templates/ssl_key.pem.erb b/jobs/nexus/templates/ssl_key.pem.erb deleted file mode 100644 index 5c4081f..0000000 --- a/jobs/nexus/templates/ssl_key.pem.erb +++ /dev/null @@ -1 +0,0 @@ -<%= p('nexus.ssl_key', '') %> \ No newline at end of file diff --git a/manifest.yml b/manifest.yml deleted file mode 100644 index 25840f5..0000000 --- a/manifest.yml +++ /dev/null @@ -1,66 +0,0 @@ ---- -name: nexus - -releases: -- name: nexus - version: latest -- name: openjdk - version: 8.0.1 - url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz - sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd - -stemcells: -- alias: xenial - os: ubuntu-xenial - version: latest - -instance_groups: -- name: nexus - instances: 1 - vm_type: default - persistent_disk: 2048 - stemcell: xenial - azs: [z1] - networks: - - name: default - static_ips: [((internal_ip))] - jobs: - - name: java - release: openjdk - - name: nexus - release: nexus - properties: - nexus: - https_port: 443 - heap_size: 768M - max_direct_memory_size: 512M - ssl_cert: ((nexus_ssl.certificate)) - ssl_key: ((nexus_ssl.private_key)) - ssl_only: true - - name: nexus-backup - release: nexus - -update: - canaries: 1 - max_in_flight: 1 - serial: false - canary_watch_time: 1000-60000 - update_watch_time: 1000-60000 - -variables: -- name: nexus_pkcs12_password - type: password -- name: nexus_keystore_password - type: password -- name: default_ca - type: certificate - options: - is_ca: true - common_name: ca -- name: nexus_ssl - type: certificate - options: - ca: default_ca - common_name: ((internal_ip)) - alternative_names: - - ((internal_ip)) diff --git a/packages/README.md b/packages/README.md deleted file mode 100644 index 4b62cb7..0000000 --- a/packages/README.md +++ /dev/null @@ -1,32 +0,0 @@ - -``` -wget https://download.run.pivotal.io/openjdk-jdk/trusty/x86_64/openjdk-1.8.0_172.tar.gz -wget https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.12.1-01-unix.tar.gz -``` - -### Old CLI - -``` -bosh add blob openjdk-1.8.0_172.tar.gz java -bosh add blob nexus-3.12.1-01-unix.tar.gz nexus -``` - -If you have an access for the S3 - -``` -bosh upload blobs -``` - -### New CLI (might work) - -``` -bosh add-blob --dir=.. openjdk-1.8.0_172.tar.gz java/openjdk-1.8.0_172.tar.gz -bosh add-blob --dir=.. nexus-3.12.1-01-unix.tar.gz nexus/nexus-3.12.1-01-unix.tar.gz -``` - -If you have an access for the S3 of cloudfoundry-community - -``` -bosh upload-blobs --dir=.. -``` - diff --git a/packages/nexus-scripts/packaging b/packages/nexus-scripts/packaging deleted file mode 100644 index 838b715..0000000 --- a/packages/nexus-scripts/packaging +++ /dev/null @@ -1,3 +0,0 @@ -set -e - -cp -a nexus-scripts/* ${BOSH_INSTALL_TARGET} \ No newline at end of file diff --git a/packages/nexus-scripts/spec b/packages/nexus-scripts/spec deleted file mode 100644 index 562af2e..0000000 --- a/packages/nexus-scripts/spec +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: nexus-scripts - -dependencies: [] - -files: -- nexus-scripts/*.sh diff --git a/packages/nexus/packaging b/packages/nexus/packaging deleted file mode 100644 index c9a3c17..0000000 --- a/packages/nexus/packaging +++ /dev/null @@ -1,8 +0,0 @@ -set -e - -NEXUS_VERSION=3.28.1-01 - -tar xfv nexus/nexus-${NEXUS_VERSION}-unix.tar.gz -cp -ar ./nexus-${NEXUS_VERSION} $BOSH_INSTALL_TARGET/nexus -cp -ar ./sonatype-work $BOSH_INSTALL_TARGET/ - diff --git a/packages/nexus/pre_packaging b/packages/nexus/pre_packaging deleted file mode 100644 index b38f9ff..0000000 --- a/packages/nexus/pre_packaging +++ /dev/null @@ -1,2 +0,0 @@ -# abort script on any command that exits with a non zero value -set -e diff --git a/packages/nexus/spec b/packages/nexus/spec deleted file mode 100644 index 9b05aa4..0000000 --- a/packages/nexus/spec +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: nexus - -dependencies: [] - -files: -- nexus/nexus-3.28.1-01-unix.tar.gz diff --git a/pipeline.yml b/pipeline.yml deleted file mode 100644 index 821b652..0000000 --- a/pipeline.yml +++ /dev/null @@ -1,363 +0,0 @@ ---- -params: - bosh: &BOSH - BOSH_CLIENT: ((bosh_client)) - BOSH_ENVIRONMENT: ((bosh_environment)) - BOSH_CLIENT_SECRET: ((bosh_client_secret)) - BOSH_CA_CERT: ((bosh_ca_cert)) -tasks: - bosh-create-release: &BOSH_CREATE_RELEASE - platform: linux - image_resource: - type: docker-image - source: - repository: bosh/main-bosh-docker - inputs: - - name: repo - outputs: - - name: releases - run: - path: bash - args: - - -c - - | - set -e - cd repo - mkdir -p src - rm -rf .final_builds releases - bosh create-release --name=nexus-dev --force --timestamp-version --tarball=../releases/nexus-boshrelease.tgz - bosh-deploy: &BOSH_DEPLOY - platform: linux - image_resource: - type: docker-image - source: - repository: bosh/main-bosh-docker - inputs: - - name: repo - - name: releases - caches: - - path: repo/.bosh - run: - path: bash - args: - - -cex - - | - echo "======" - VM_TYPE=medium - bosh env - bosh upload-release releases/nexus-boshrelease.tgz - cd repo - cat < ops.yml - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/networks/0/static_ips - - type: replace - path: /instance_groups/name=${RELEASE_NAME}-dev/vm_type - value: ${VM_TYPE} - - type: replace - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/admin_password? - value: helloworld - EOF - cat < http-only.yml - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/admin_old_password? - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/ssl_cert? - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/ssl_key? - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/ssl_only? - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/https_port? - EOF - - sed -i "s/${RELEASE_NAME}/${RELEASE_NAME}-dev/" manifest.yml - sed -i "s/ - name: nexus-dev/ - name: nexus/" manifest.yml - sed -i "s/ - name: nexus-dev-backup/ - name: nexus-backup/" manifest.yml - sed -i "s/ nexus-dev:/ nexus:/" manifest.yml - - echo "⭐️⭐️⭐️ Test HTTP" - bosh -n deploy -d ${RELEASE_NAME}-dev <(bosh int manifest.yml -o ops.yml) -o http-only.yml -v internal_ip=192.168.11.241 --vars-store=creds.yml --no-redact - bosh vms -d ${RELEASE_NAME}-dev - ip=`bosh vms -d ${RELEASE_NAME}-dev | grep ${RELEASE_NAME} | awk '{print $4}'` - PASSWORD=helloworld - - curl --fail -u admin:${PASSWORD} -v http://${ip}:8081/service/rest/v1/script - bosh -n delete-deployment -d ${RELEASE_NAME}-dev - - echo "⭐️⭐️⭐️ Test HTTPS" - bosh -n deploy -d ${RELEASE_NAME}-dev <(bosh int manifest.yml -o ops.yml) -v internal_ip=192.168.11.241 --vars-store=creds.yml --no-redact - curl --fail -u admin:${PASSWORD} -v -k https://${ip}:443/service/rest/v1/script - echo "⭐️⭐️⭐️ Update Password" - cat < ops.yml - - type: remove - path: /instance_groups/name=${RELEASE_NAME}-dev/networks/0/static_ips - - type: replace - path: /instance_groups/name=${RELEASE_NAME}-dev/vm_type - value: ${VM_TYPE} - - type: replace - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/admin_password? - value: hellonewworld - - type: replace - path: /instance_groups/name=${RELEASE_NAME}-dev/jobs/name=nexus/properties/nexus/admin_old_password? - value: helloworld - EOF - bosh -n deploy -d ${RELEASE_NAME}-dev <(bosh int manifest.yml -o ops.yml) -v internal_ip=192.168.11.241 --vars-store=creds.yml --no-redact - curl --fail -u admin:hellonewworld -v -k https://${ip}:443/service/rest/v1/script - - bosh -n delete-deployment -d ${RELEASE_NAME}-dev - - bosh -n clean-up - -resource_types: -- name: dynamic-metalink - type: docker-image - source: - repository: dpb587/dynamic-metalink-resource - -resources: -- name: repo - type: git - source: - uri: git@github.com:making/nexus-boshrelease.git - branch: master - private_key: ((github_private_key)) - ignore_paths: - - ci/* - - deployment/* - - README.md -- name: repo-version - type: semver - source: - uri: git@github.com:making/nexus-boshrelease.git - branch: version - private_key: ((github_private_key)) - file: version - driver: git -- name: gh-release - type: github-release - source: - user: making - repository: nexus-boshrelease - access_token: ((github_access_token)) -- name: utils - type: git - source: - uri: https://github.com/making/ci-utils.git - branch: master -- name: nexus - type: dynamic-metalink - check_every: 30m - source: - version_check: | - curl --fail -s -I https://sonatype-download.global.ssl.fastly.net/nexus/3/latest-mac.tgz.sha1 | \ - grep Location | \ - awk -F 'nexus-' '{print $2}' | \ - awk -F '-mac' '{print $1}' - metalink_get: | - jq -n ' - "nexus-\(env.version)-unix.tar.gz" | { - "files": [ - { "name": ., - "urls": [ { "url": "https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-\(.)-unix.tar.gz" } ] } ] }' - -jobs: -- name: update-pr - serial: true - plan: - - in_parallel: - - get: release - resource: nexus - trigger: true - params: - skip_download: true - - get: repo - - get: utils - - task: update-nexus - params: - GIT_EMAIL: ((git_email)) - GIT_NAME: ((git_name)) - GIT_SSH_KEY: ((github_private_key)) - GITHUB_API_TOKEN: ((github_access_token)) - S3_ACCESS_KEY_ID: ((s3_access_key_id)) - S3_SECRET_ACCESS_KEY: ((s3_secret_access_key)) - config: - platform: linux - image_resource: - type: docker-image - source: - repository: bosh/main-bosh-docker - inputs: - - name: release - - name: repo - - name: utils - outputs: - - name: updated-repo - run: - path: bash - args: - - -c - - | - set -e - shopt -s dotglob - source utils/scripts/generate-pr.sh - CURRENT_VERSION=`grep NEXUS_VERSION= repo/add-blobs.sh | tr -d 'NEXUS_VERSION='` - NEW_VERSION=$(cat release/.resource/version) - - echo "Current: $CURRENT_VERSION" - echo "New : $NEW_VERSION" - cd repo - sed -i.swp "s/$CURRENT_VERSION/$NEW_VERSION/g" `grep -riIl $CURRENT_VERSION packages/` add-blobs.sh - rm -f `find . -name '*.swp'` - - ./add-blobs.sh - cat < config/private.yml - --- - blobstore: - options: - access_key_id: ${S3_ACCESS_KEY_ID} - secret_access_key: ${S3_SECRET_ACCESS_KEY} - EOF - bosh upload-blobs - sed -i.swp "/$CURRENT_VERSION/,/sha/ d" config/blobs.yml - git diff | cat - cp -r ./* ../updated-repo - cd ../updated-repo - generate_pull_request "making-bot" "nexus" "${NEW_VERSION}" "making/nexus-boshrelease" "master" - -- name: bosh-deploy-dev-in-exsiting-env - serial: true - plan: - - in_parallel: - - get: repo - trigger: true - - task: bosh-create-release - params: - S3_ACCESS_KEY_ID: ((s3_access_key_id)) - S3_SECRET_ACCESS_KEY: ((s3_secret_access_key)) - config: - <<: *BOSH_CREATE_RELEASE - - task: bosh-deploy - params: - RELEASE_NAME: nexus - IS_DOCKER: false - <<: *BOSH - config: - <<: *BOSH_DEPLOY -- name: ship-it - serial: true - plan: - - in_parallel: - - get: repo - # passed: - # - bosh-deploy-dev-in-exsiting-env - - get: repo-version - - task: create-release - params: - <<: *BOSH - S3_ACCESS_KEY_ID: ((s3_access_key_id)) - S3_SECRET_ACCESS_KEY: ((s3_secret_access_key)) - GIT_EMAIL: ((git_email)) - GIT_NAME: ((git_name)) - config: - platform: linux - image_resource: - type: docker-image - source: - repository: bosh/main-bosh-docker - inputs: - - name: repo - - name: repo-version - outputs: - - name: releases - - name: updated-repo - run: - path: bash - args: - - -c - - | - set -e - cd repo - shopt -s dotglob - cp -r ./* ../updated-repo - rm -rf .final_builds releases - VERSION=`cat ../repo-version/number` - TARBALL=nexus-boshrelease-${VERSION}.tgz - cat < config/private.yml - --- - blobstore: - options: - access_key_id: ${S3_ACCESS_KEY_ID} - secret_access_key: ${S3_SECRET_ACCESS_KEY} - EOF - bosh create-release --force --version=${VERSION} --final --tarball=../releases/${TARBALL} - SHA1=`sha1sum ../releases/${TARBALL} | awk '{print $1}'` - mkdir -p .sha1 - echo ${SHA1} > .sha1/${VERSION} - cp -r ./* ../updated-repo - cd ../updated-repo - git config --global user.email "${GIT_EMAIL}" - git config --global user.name "${GIT_NAME}" - git add -A - git commit -m "Release ${VERSION}" - # Release Note - cat < ../releases/note.md - ## Deployment - \`\`\` yaml - # manifest.yml - --- - name: nexus - releases: - - name: nexus - version: ${VERSION} - url: https://github.com/making/nexus-boshrelease/releases/download/${VERSION}/${TARBALL} - sha1: ${SHA1} - \`\`\` - EOF - - put: repo - params: - repository: updated-repo - tag: repo-version/number - - put: gh-release - params: - name: repo-version/number - tag: repo-version/number - body: releases/note.md - globs: - - releases/*.tgz - -######################################## - -- name: bump-to-next-patch-version - plan: - - in_parallel: - - get: repo - trigger: true - passed: - - ship-it - - get: repo-version - params: - bump: patch - - put: repo-version - params: - file: repo-version/number - -- name: bump-to-next-minor-version - plan: - - in_parallel: - - get: repo-version - params: - bump: minor - - put: repo-version - params: - file: repo-version/number - -- name: bump-to-next-majar-version - plan: - - in_parallel: - - get: repo-version - params: - bump: majar - - put: repo-version - params: - file: repo-version/number - diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml deleted file mode 100644 index d99852f..0000000 --- a/releases/nexus/index.yml +++ /dev/null @@ -1,4 +0,0 @@ -builds: - a03e6900-299b-4370-5dc7-670038c39964: - version: 0.15.0 -format-version: "2" diff --git a/releases/nexus/nexus-0.0.1.yml b/releases/nexus/nexus-0.0.1.yml deleted file mode 100644 index 16ecb49..0000000 --- a/releases/nexus/nexus-0.0.1.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -packages: -- name: java - version: b6b4500d29d909e9646658af603dd9e7b8e67aad - fingerprint: b6b4500d29d909e9646658af603dd9e7b8e67aad - sha1: d7dee4713a2daab41c49106f6bae050dcc1de57f - dependencies: [] -- name: nexus - version: 27ac34227d54500450581ec5d5eeaf6de1c61238 - fingerprint: 27ac34227d54500450581ec5d5eeaf6de1c61238 - sha1: a0f4bc97f489c7ddeceeca19c1aa25b04c6c0fe1 - dependencies: [] -jobs: -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: f4a85141 -uncommitted_changes: true -name: nexus -version: 0.0.1 diff --git a/releases/nexus/nexus-0.1.0.yml b/releases/nexus/nexus-0.1.0.yml deleted file mode 100644 index 28c36cc..0000000 --- a/releases/nexus/nexus-0.1.0.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -packages: -- name: java - version: a3f64bbca0270aab1a38975c4f69b65800a00ee2 - fingerprint: a3f64bbca0270aab1a38975c4f69b65800a00ee2 - sha1: 97f210d886452b66f45dc21bd560056a155cb80e - dependencies: [] -- name: nexus - version: 459317048d44f2ce6a2a25d795a1d43c48cd3af9 - fingerprint: 459317048d44f2ce6a2a25d795a1d43c48cd3af9 - sha1: 3c752521030a7d9c48692e4d63be8531b37ba799 - dependencies: [] -jobs: -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: 91de8d7e -uncommitted_changes: true -name: nexus -version: 0.1.0 diff --git a/releases/nexus/nexus-0.10.0.yml b/releases/nexus/nexus-0.10.0.yml deleted file mode 100644 index dbda117..0000000 --- a/releases/nexus/nexus-0.10.0.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.10.0 -commit_hash: 9e64bda -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: 948636e9dcf463c06b481eaf60dd50f77ef553ed -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 7663b9ea11a45e97504c54d047b11f3a2ceb6345 -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: 8a3cc58aaf876cd084fff84e0992638882739dbb - dependencies: [] -- name: nexus - version: e60012165ec23b42d119b3121d89b5f0c254a191 - fingerprint: e60012165ec23b42d119b3121d89b5f0c254a191 - sha1: 92e3e164f78e31e0d56bc048f4c26e65b065a72b - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: 39636c5c5c718578dd60614f2f29693c0b999522 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 9fd701f542f8b5c09dd2f2e20073a188ee06dbc9 diff --git a/releases/nexus/nexus-0.10.1.yml b/releases/nexus/nexus-0.10.1.yml deleted file mode 100644 index bd11be4..0000000 --- a/releases/nexus/nexus-0.10.1.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.10.1 -commit_hash: "4211259" -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: 909de169fd64504fa420fcba2fc6097edec64d25 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: ddae17c7e4222283a52802ee8682ebd60100c9b1 -packages: -- name: java - version: 9c6970030fc77b9de77b2f6137d91f9fa3f08291 - fingerprint: 9c6970030fc77b9de77b2f6137d91f9fa3f08291 - sha1: f88e95ae651cfc910f5fe061a83514c19cecd27d - dependencies: [] -- name: nexus - version: 5edf90bac99445e29b346456dc74fe0193ee5d1f - fingerprint: 5edf90bac99445e29b346456dc74fe0193ee5d1f - sha1: 001041cdc9d006906beba35b91e78c6c11bfd3a1 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: 42e2d85247005c4d3c5a7a7627562ea336596ada - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: e409ad342162279c9775cb0a9af5808823571e0c diff --git a/releases/nexus/nexus-0.11.0.yml b/releases/nexus/nexus-0.11.0.yml deleted file mode 100644 index 6d7e488..0000000 --- a/releases/nexus/nexus-0.11.0.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.11.0 -commit_hash: c80a423 -uncommitted_changes: true -jobs: -- name: nexus - version: 225d2e2cb13eab8dc8fa7e11f246ad3343297db6 - fingerprint: 225d2e2cb13eab8dc8fa7e11f246ad3343297db6 - sha1: 5e784e192c11907c5d4d4279db1b70c3c2a5801b -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 98e7efec697cb74a967c9ed37774eb398563f118 -packages: -- name: nexus - version: 5edf90bac99445e29b346456dc74fe0193ee5d1f - fingerprint: 5edf90bac99445e29b346456dc74fe0193ee5d1f - sha1: d758c81d5dba394741cd014ab5be70169a19959f - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: cab50bc27dc11b855139726f6d0580e32839c13d - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: c209667cb89f9bf26bd8da849e807c8ac34a736f diff --git a/releases/nexus/nexus-0.12.0.yml b/releases/nexus/nexus-0.12.0.yml deleted file mode 100644 index 101b1ef..0000000 --- a/releases/nexus/nexus-0.12.0.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.12.0 -commit_hash: d08f2a3 -uncommitted_changes: true -jobs: -- name: nexus - version: 0f3094e36885de33c76bc63518cbaad57ecd3c84 - fingerprint: 0f3094e36885de33c76bc63518cbaad57ecd3c84 - sha1: bd8ea705deff872ab6b65af2f9ffb5f47f0297b3 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 4ff26c2deb6a0cfa8f077842fba145935ecba7ba -packages: -- name: nexus - version: 4615bc493405ed7ca6de019267882e678b5f6d53 - fingerprint: 4615bc493405ed7ca6de019267882e678b5f6d53 - sha1: 7362f280aa9600e1b9f251efc44e1fa6019fb527 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: b36ec7b80d1d47e4aab6c5002045f1a323bba380 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 95b3f636eafcc778cca3b8a070a642f6efc519e4 diff --git a/releases/nexus/nexus-0.12.1.yml b/releases/nexus/nexus-0.12.1.yml deleted file mode 100644 index 3cc96f0..0000000 --- a/releases/nexus/nexus-0.12.1.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.12.1 -commit_hash: 79b1840 -uncommitted_changes: true -jobs: -- name: nexus - version: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - fingerprint: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - sha1: sha256:1d0c67a614de3e0b3804d4732bbcc047708c95d1c0369a7bb9c9d24392edc506 -- name: nexus-backup - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - fingerprint: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - sha1: sha256:58c01fdc0dce8f5b115244ae30affb1860ad07741d98055fef4a6ac3087638a0 -packages: -- name: nexus - version: 8299d0cb563f674325e1066b57a0658929d91fa4a80670e954b58025ba50d44f - fingerprint: 8299d0cb563f674325e1066b57a0658929d91fa4a80670e954b58025ba50d44f - sha1: sha256:6650fb110f10edbd65916549649278fd30a7a94711314d7fe72af909115555fb - dependencies: [] -- name: nexus-scripts - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - fingerprint: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - sha1: sha256:5b6b21a5c8346d5549a24a6a4bc22b7fc34bec2eb9d2bbacd7ac05cc1194180d - dependencies: [] -license: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - sha1: sha256:0ce316576502da5232c2987bad7bcb02f912a1ee959f85f47d8be3746ff8f3cd diff --git a/releases/nexus/nexus-0.13.0.yml b/releases/nexus/nexus-0.13.0.yml deleted file mode 100644 index 306fa62..0000000 --- a/releases/nexus/nexus-0.13.0.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.13.0 -commit_hash: 1175cef -uncommitted_changes: true -jobs: -- name: nexus - version: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - fingerprint: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - sha1: sha256:2961dd40babc802650b368380fcabc78027565b09c648afb34ae0c1443282dc6 -- name: nexus-backup - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - fingerprint: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - sha1: sha256:dcc24403db0cf631c7dc4c357df03fa231879cbaba1c73da277ab9920a425622 -packages: -- name: nexus - version: f09eddbbe050cc5f9fcaee38ac3a5b55bd7f79700fbda449a8e81477e594e111 - fingerprint: f09eddbbe050cc5f9fcaee38ac3a5b55bd7f79700fbda449a8e81477e594e111 - sha1: sha256:516e8b7871268b7afaa7a629ce150317820afa78442905aeb98ea0c922a5e1a0 - dependencies: [] -- name: nexus-scripts - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - fingerprint: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - sha1: sha256:d84919889d6bb7b08f7bcdd105c009c104a73b2f929351ee0dda2b4c2f35fa27 - dependencies: [] -license: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - sha1: sha256:c19a9b8924ca104aba0d92fc4e53992766134cff361c171772b53eb3363805e9 diff --git a/releases/nexus/nexus-0.14.0.yml b/releases/nexus/nexus-0.14.0.yml deleted file mode 100644 index aed2b16..0000000 --- a/releases/nexus/nexus-0.14.0.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: nexus -version: 0.14.0 -commit_hash: 913c235 -uncommitted_changes: true -jobs: -- name: nexus - version: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - fingerprint: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - sha1: sha256:f39cf504c4b70f43e0cc329c998ca71b7dadca69551b16152ffa21db0260a6b0 - packages: - - nexus - - nexus-scripts -- name: nexus-backup - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - fingerprint: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - sha1: sha256:02e8f0ff0fb222405df5159b7c9c1d7d1111145ed1c483e7df4d5079107ed2ac - packages: [] -packages: -- name: nexus - version: 037406ec5a0cdbb00da4d94010f137ef3c91c81249753b37c21d5179c0c1c205 - fingerprint: 037406ec5a0cdbb00da4d94010f137ef3c91c81249753b37c21d5179c0c1c205 - sha1: sha256:b75e655c535da718e0d7f1ee478b25c4698368aae57f361af28df373bc76d0f8 - dependencies: [] -- name: nexus-scripts - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - fingerprint: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - sha1: sha256:e2d4e0f91d719f7bf55e37f6b00528469e98994fadd095c82d73e6a66529c34c - dependencies: [] -license: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - sha1: sha256:59fb9c77736cec566319842dee2ef06102d498011cb21e3e752998ea351e21cf diff --git a/releases/nexus/nexus-0.14.1.yml b/releases/nexus/nexus-0.14.1.yml deleted file mode 100644 index bce7658..0000000 --- a/releases/nexus/nexus-0.14.1.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: nexus -version: 0.14.1 -commit_hash: 01aa21f -uncommitted_changes: true -jobs: -- name: nexus - version: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - fingerprint: b72e4a60678b1cf6123e107f27b3361cf5065adc2934596c799e9d7c9703852c - sha1: sha256:79dfa7515de642e8f028a08b1a906f53af726ecb5a758b54c081db4fcf7d31c1 - packages: - - nexus - - nexus-scripts -- name: nexus-backup - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - fingerprint: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - sha1: sha256:c0c904b7204837c8c2d75a0a25a9371131983542264a362fc280d797da832a5c - packages: [] -packages: -- name: nexus - version: 6992e88a55cb43c6e7ba25be94050188aff4583e8a61547eedea8fc4aae106de - fingerprint: 6992e88a55cb43c6e7ba25be94050188aff4583e8a61547eedea8fc4aae106de - sha1: sha256:dbece0b4f3454283e6583d03372dafb54e220f8a8abd45f641336c1231b799d2 - dependencies: [] -- name: nexus-scripts - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - fingerprint: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - sha1: sha256:162f8b90953dd5f0eb27e5423ce7f1e5bf7058951bfd7f162254eab4da883914 - dependencies: [] -license: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - sha1: sha256:89417b4ac0717a27a7e825d3d03fdafa93c84cc690a246acb533bfbb1376886e diff --git a/releases/nexus/nexus-0.15.0.yml b/releases/nexus/nexus-0.15.0.yml deleted file mode 100644 index 9fc180a..0000000 --- a/releases/nexus/nexus-0.15.0.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: nexus -version: 0.15.0 -commit_hash: eb6d14f -uncommitted_changes: true -jobs: -- name: nexus - version: fe7355d06f605b422c8fb7a1cfac67c43c9066ab99ec2d86e46109fe1da23c8b - fingerprint: fe7355d06f605b422c8fb7a1cfac67c43c9066ab99ec2d86e46109fe1da23c8b - sha1: sha256:f3dd1bb41e95a40581a30222ba3be056284d01d3cbcf8922bcf740430da1ccda - packages: - - nexus - - nexus-scripts -- name: nexus-backup - version: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - fingerprint: 658d7ee92d695a5c295ab0c64c0d44111d7383c424e443e2a63d975ab81f988c - sha1: sha256:8421fbd18b9a913fcd71aa11bf6349767575159cf15258f10027c12d04f4094b - packages: [] -packages: -- name: nexus - version: 0d434850642743cfcbed761147798e40acc72c1f9165bcbb8e20a2debfd84d71 - fingerprint: 0d434850642743cfcbed761147798e40acc72c1f9165bcbb8e20a2debfd84d71 - sha1: sha256:35f03ddf122070d1fbd18fda06a4a24aee9bf9b53aaebdf9f449fdf3ee707119 - dependencies: [] -- name: nexus-scripts - version: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - fingerprint: 1291fc92d159ee89ffd66f1ae17e10b8292ad103392a1a3d7e929e30286f2aa5 - sha1: sha256:60c6862264076becd6e03a84cdbebceea291f5be1c158c2b3d5ce3866803ed96 - dependencies: [] -license: - version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - sha1: sha256:bbc1805a7fb4c1b36cc6b8b8c7c1c18122dc947a28376787f6fa6b64bf8d9f8c diff --git a/releases/nexus/nexus-0.2.0.yml b/releases/nexus/nexus-0.2.0.yml deleted file mode 100644 index f8447b4..0000000 --- a/releases/nexus/nexus-0.2.0.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -packages: -- name: java - version: a3f64bbca0270aab1a38975c4f69b65800a00ee2 - fingerprint: a3f64bbca0270aab1a38975c4f69b65800a00ee2 - sha1: 97f210d886452b66f45dc21bd560056a155cb80e - dependencies: [] -- name: nexus - version: 459317048d44f2ce6a2a25d795a1d43c48cd3af9 - fingerprint: 459317048d44f2ce6a2a25d795a1d43c48cd3af9 - sha1: 3c752521030a7d9c48692e4d63be8531b37ba799 - dependencies: [] -jobs: -- name: nexus-backup - version: 7a695219092b43b692c12a116c519fe514239e09 - fingerprint: 7a695219092b43b692c12a116c519fe514239e09 - sha1: e8c9520b3d2dd7067ffbb3712d4931eba582ac58 -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: f18d5dcd -uncommitted_changes: true -name: nexus -version: 0.2.0 diff --git a/releases/nexus/nexus-0.3.0.yml b/releases/nexus/nexus-0.3.0.yml deleted file mode 100644 index 73ce204..0000000 --- a/releases/nexus/nexus-0.3.0.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -packages: -- name: java - version: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - fingerprint: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - sha1: 7b310671025a6102cfa6fc9456867e684cbf6e85 - dependencies: [] -- name: nexus - version: ebe270ad400c9ba008f87005d79e3abf6ad135eb - fingerprint: ebe270ad400c9ba008f87005d79e3abf6ad135eb - sha1: 3cc82d9b459499d702e5dbef75a7ab80a1aba6d2 - dependencies: [] -jobs: -- name: nexus-backup - version: 93dae5c85e128b6e9262880b10bbfb53209fb2f5 - fingerprint: 93dae5c85e128b6e9262880b10bbfb53209fb2f5 - sha1: 6175b212cc5fc7056ef74f88542bf917abecd1eb -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: 619933ec -uncommitted_changes: true -name: nexus -version: 0.3.0 diff --git a/releases/nexus/nexus-0.3.1.yml b/releases/nexus/nexus-0.3.1.yml deleted file mode 100644 index f5c52b6..0000000 --- a/releases/nexus/nexus-0.3.1.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -packages: -- name: java - version: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - fingerprint: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - sha1: 7b310671025a6102cfa6fc9456867e684cbf6e85 - dependencies: [] -- name: nexus - version: ebe270ad400c9ba008f87005d79e3abf6ad135eb - fingerprint: ebe270ad400c9ba008f87005d79e3abf6ad135eb - sha1: 3cc82d9b459499d702e5dbef75a7ab80a1aba6d2 - dependencies: [] -jobs: -- name: nexus-backup - version: bf894878ed3d3c336a9ca4c75cbc5eebe9bce3ef - fingerprint: bf894878ed3d3c336a9ca4c75cbc5eebe9bce3ef - sha1: 2ec52f5482fe29a6ada41209bbe2976c73ddb03c -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: 6ae897c0 -uncommitted_changes: true -name: nexus -version: 0.3.1 diff --git a/releases/nexus/nexus-0.3.2.yml b/releases/nexus/nexus-0.3.2.yml deleted file mode 100644 index 2cd1039..0000000 --- a/releases/nexus/nexus-0.3.2.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -packages: -- name: java - version: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - fingerprint: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - sha1: 7b310671025a6102cfa6fc9456867e684cbf6e85 - dependencies: [] -- name: nexus - version: ebe270ad400c9ba008f87005d79e3abf6ad135eb - fingerprint: ebe270ad400c9ba008f87005d79e3abf6ad135eb - sha1: 3cc82d9b459499d702e5dbef75a7ab80a1aba6d2 - dependencies: [] -jobs: -- name: nexus-backup - version: 7c9f823b7ac5fe96a89c304f80c44738c9943e24 - fingerprint: 7c9f823b7ac5fe96a89c304f80c44738c9943e24 - sha1: bbdc3a4288db8d514b33959f41ba8d976c579264 -- name: nexus - version: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - fingerprint: 4dce7b7b14134b51bad30455d5d99e71a5d26368 - sha1: 8b23a637a864bc5902bf9e2b389c52f70a373f5f -commit_hash: 4a69854c -uncommitted_changes: true -name: nexus -version: 0.3.2 diff --git a/releases/nexus/nexus-0.4.0.yml b/releases/nexus/nexus-0.4.0.yml deleted file mode 100644 index 3aaa7b4..0000000 --- a/releases/nexus/nexus-0.4.0.yml +++ /dev/null @@ -1,29 +0,0 @@ ---- -packages: -- name: java - version: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - fingerprint: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - sha1: 7b310671025a6102cfa6fc9456867e684cbf6e85 - dependencies: [] -- name: nexus - version: 0710be6ae5b9f7232fd0b5e7b37cf5ab59827b82 - fingerprint: 0710be6ae5b9f7232fd0b5e7b37cf5ab59827b82 - sha1: 1834dbdb6de19c18b7d01c09efcdd6a300e13b90 - dependencies: [] -jobs: -- name: nexus-backup - version: 7c9f823b7ac5fe96a89c304f80c44738c9943e24 - fingerprint: 7c9f823b7ac5fe96a89c304f80c44738c9943e24 - sha1: bbdc3a4288db8d514b33959f41ba8d976c579264 -- name: nexus - version: 763e1522b00b4260e6589a00a47ad84d356fc4e9 - fingerprint: 763e1522b00b4260e6589a00a47ad84d356fc4e9 - sha1: cfb29cb0d0cbc2c1cdb71a503c17d9650ed1fa61 -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: b77f875105699d7c9466b5b587b668b8dc0f6a48 -commit_hash: de7b02d3 -uncommitted_changes: true -name: nexus -version: 0.4.0 diff --git a/releases/nexus/nexus-0.4.1.yml b/releases/nexus/nexus-0.4.1.yml deleted file mode 100644 index aaf8065..0000000 --- a/releases/nexus/nexus-0.4.1.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.4.1 -commit_hash: 41ebd04 -uncommitted_changes: true -jobs: -- name: nexus - version: 8b568ca2614a43c8478f4da2dfc48210a750f972 - fingerprint: 8b568ca2614a43c8478f4da2dfc48210a750f972 - sha1: bf5cf5671a8114dde8b8304d932eb1f3cf4e3f7d -- name: nexus-backup - version: 6db553d6e7d1b97b5a9debeff36755497e1f29b6 - fingerprint: 6db553d6e7d1b97b5a9debeff36755497e1f29b6 - sha1: 5a876387f9b1594501f367a41e3f43807c314528 -packages: -- name: java - version: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - fingerprint: df3d2ec2bb9db2fb0b756c3c277ae535e38ce20f - sha1: b1006eaeef5df2e2b368e9009ddcf7780f1efd65 - dependencies: [] -- name: nexus - version: 0710be6ae5b9f7232fd0b5e7b37cf5ab59827b82 - fingerprint: 0710be6ae5b9f7232fd0b5e7b37cf5ab59827b82 - sha1: 0e28a91d47a7bff686078d4689992640651ad52b - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: f6dbc900bed9e9ea78870329c1f8be71fe18923a diff --git a/releases/nexus/nexus-0.5.0.yml b/releases/nexus/nexus-0.5.0.yml deleted file mode 100644 index 19b5b7d..0000000 --- a/releases/nexus/nexus-0.5.0.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.5.0 -commit_hash: 4cf3280 -uncommitted_changes: true -jobs: -- name: nexus - version: 8b568ca2614a43c8478f4da2dfc48210a750f972 - fingerprint: 8b568ca2614a43c8478f4da2dfc48210a750f972 - sha1: 74f1bb2e9faf6c5b6588e98b5a28c3e9e232fd1f -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: e15d50890641fd3451288da48942cc932f8ac889 -packages: -- name: java - version: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - fingerprint: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - sha1: a53c31251b8664eb875f31b91d5b550a0ad077b8 - dependencies: [] -- name: nexus - version: 81e8416d0aabc129c1bb412f7424580c7899f6b9 - fingerprint: 81e8416d0aabc129c1bb412f7424580c7899f6b9 - sha1: 59915a71f1f832fcd94b0ca76c876cbbe000e522 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 72d4cc9e5e0737986b0fa87a31062d957b09adf7 diff --git a/releases/nexus/nexus-0.5.1.yml b/releases/nexus/nexus-0.5.1.yml deleted file mode 100644 index b196d97..0000000 --- a/releases/nexus/nexus-0.5.1.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: nexus -version: 0.5.1 -commit_hash: 0a620fc -uncommitted_changes: true -jobs: -- name: nexus - version: 8b568ca2614a43c8478f4da2dfc48210a750f972 - fingerprint: 8b568ca2614a43c8478f4da2dfc48210a750f972 - sha1: 569ead94946b5dcd290d3489799c457a291a539b -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 8362c9fbc9e7a0c4847900d931110c50895f6ea9 -packages: -- name: java - version: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - fingerprint: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - sha1: 62d1d55fbe1ed8d424ad120ad5bb4d58a8510ac8 - dependencies: [] -- name: nexus - version: c034558041bbefaff87819cf7769cf24f72199c2 - fingerprint: c034558041bbefaff87819cf7769cf24f72199c2 - sha1: e44b4ccf7c5d587bb015842a37ad54b8f70e6bc4 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: d743809f7fa2ba1d955c1db5ef6fc05c899c74c1 diff --git a/releases/nexus/nexus-0.6.0.yml b/releases/nexus/nexus-0.6.0.yml deleted file mode 100644 index d2f8db0..0000000 --- a/releases/nexus/nexus-0.6.0.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.6.0 -commit_hash: a3426d1 -uncommitted_changes: true -jobs: -- name: nexus - version: 0f636c23babf5577dab1f9af2dc3c11b1bb04af6 - fingerprint: 0f636c23babf5577dab1f9af2dc3c11b1bb04af6 - sha1: b92cd478714b7a3f1bab6420966d6a9d2e958bc7 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: eeb164a59e49efcfe4570437c90866141b906e85 -packages: -- name: java - version: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - fingerprint: c547b43e6e897daa0f4739fe2351c1b8645d1d99 - sha1: 3a0f9763618cfdc88ef67275a2058633c12f07a1 - dependencies: [] -- name: nexus - version: c034558041bbefaff87819cf7769cf24f72199c2 - fingerprint: c034558041bbefaff87819cf7769cf24f72199c2 - sha1: 6152c6bd7c455bef432fcb716f9b128cc4353aed - dependencies: [] -- name: nexus-scripts - version: c1502532d58fd5af61d62051f8fdf8738d8f830e - fingerprint: c1502532d58fd5af61d62051f8fdf8738d8f830e - sha1: 71594b3a0c712b0407a8367e7384b91fba80ca74 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 07f9ef6084d0b2eb0f311ee122940517ecedb638 diff --git a/releases/nexus/nexus-0.7.0.yml b/releases/nexus/nexus-0.7.0.yml deleted file mode 100644 index a547992..0000000 --- a/releases/nexus/nexus-0.7.0.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.7.0 -commit_hash: f0dc14d -uncommitted_changes: true -jobs: -- name: nexus - version: 199155328f9783fd33e4e865340168432f56c721 - fingerprint: 199155328f9783fd33e4e865340168432f56c721 - sha1: 1068480958a2fef63c874b854283614c1773cc28 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: da3f3554337b57dd0ebc1c596f0b7f9685d19501 -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: 719e430e8df6231cd030229cb498406bf186d873 - dependencies: [] -- name: nexus - version: 79868ccbd90aec8deec9d5a4af6aca4d7a80b269 - fingerprint: 79868ccbd90aec8deec9d5a4af6aca4d7a80b269 - sha1: 6d1f2b22f9b3ba7c8d5a7d53d36b2841abdccaf2 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: 5a01ea77d72deeafc59f5d43122ca5644be45229 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: bfd7dec98edb88adb7e43356f47640a6ac41f7c6 diff --git a/releases/nexus/nexus-0.7.1.yml b/releases/nexus/nexus-0.7.1.yml deleted file mode 100644 index e7d4020..0000000 --- a/releases/nexus/nexus-0.7.1.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.7.1 -commit_hash: 1c05939 -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: cce04ade41d02d7038dcc52d8182e157cad017f3 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 9941a3834a0c01d19918b8cdb02d7a3002e0ab78 -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: 410f2d8111666fff16c983e4841f1e33e1ff7abe - dependencies: [] -- name: nexus - version: e557cfebb7f91c7471abf13eb10ef6048b1be065 - fingerprint: e557cfebb7f91c7471abf13eb10ef6048b1be065 - sha1: 5b4eef24b6a029cf95b0ee09242540f0ca54d1e3 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: bbc1dd358da77a66b92da4215717e6d084199dc7 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: a79891394bccd93bdc288ddcc256d0f81559e2f5 diff --git a/releases/nexus/nexus-0.8.0.yml b/releases/nexus/nexus-0.8.0.yml deleted file mode 100644 index 2c2566d..0000000 --- a/releases/nexus/nexus-0.8.0.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.8.0 -commit_hash: fb412d0 -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: c8f2d2c2a2c1d909b0b2c858ea847010a6663bd8 -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 8b8e1daa83e46dd57754ead4e990b75aee520c5c -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: 614f7d3dddb6e3aab28638853a7ef3cc7d46d159 - dependencies: [] -- name: nexus - version: e557cfebb7f91c7471abf13eb10ef6048b1be065 - fingerprint: e557cfebb7f91c7471abf13eb10ef6048b1be065 - sha1: 4c66f16f1960e15c981d57c447c54c72bc3cef58 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: fb470f3899949ef717b0a7aeb9f1c1c5c59b94d5 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 04eb2b4d5f63a2581942f56b7085eca85e3530b2 diff --git a/releases/nexus/nexus-0.9.0.yml b/releases/nexus/nexus-0.9.0.yml deleted file mode 100644 index ca8e77b..0000000 --- a/releases/nexus/nexus-0.9.0.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.9.0 -commit_hash: 303ccf8 -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: 2f8caeda9eb7a638805ab89460094bac25b208de -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: bf5de92bc1321c85006e0fa106639ac9a3672f30 -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: 9f11f7a6e1699c8448fe1fb05147244cfed18692 - dependencies: [] -- name: nexus - version: 394620c912f23f403c76b44f565ddd5761dbff30 - fingerprint: 394620c912f23f403c76b44f565ddd5761dbff30 - sha1: fe7e282856b1907b45f66b2dcdd64a34dc22388a - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: 136fc75e6f2a684128753a2155f1c147e460e1d9 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 427c28a37ae36a5ac01a923091fd0bca3f2a99c1 diff --git a/releases/nexus/nexus-0.9.1.yml b/releases/nexus/nexus-0.9.1.yml deleted file mode 100644 index 3579b7c..0000000 --- a/releases/nexus/nexus-0.9.1.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: nexus -version: 0.9.1 -commit_hash: 2f105b7 -uncommitted_changes: true -jobs: -- name: nexus - version: 8c710526101709f84a57e9fc3b952f74f387e924 - fingerprint: 8c710526101709f84a57e9fc3b952f74f387e924 - sha1: be3041615d1bded6c6b5b679d49b5b2e9a6b90cb -- name: nexus-backup - version: cb941b2d5bf1d700d641351126b5f5bec3494f34 - fingerprint: cb941b2d5bf1d700d641351126b5f5bec3494f34 - sha1: 4e000e40a5ee2a43617f44dccfd970cb0a82ca76 -packages: -- name: java - version: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - fingerprint: 1ed817840ef5fdb7dcf6c672d0332e404fb966ae - sha1: db439fd1ff32c87e7dc048cd69269ff20d0555d1 - dependencies: [] -- name: nexus - version: e60012165ec23b42d119b3121d89b5f0c254a191 - fingerprint: e60012165ec23b42d119b3121d89b5f0c254a191 - sha1: 4fb34ffc9b0f8150c3a1d709be96cc0eb08b8077 - dependencies: [] -- name: nexus-scripts - version: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - fingerprint: 127f754f7d2a2fb8468ad44b7abfe3cef224d001 - sha1: 928f51438463b48639013049df2d5bab52daa6a8 - dependencies: [] -license: - version: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - fingerprint: 32a7d007da7b9293b4f7c7eb94805b1681914e19 - sha1: 9325ca55abf544f551191ad2421ab7269ea23d69 diff --git a/src/nexus-scripts/change_admin_password.sh b/src/nexus-scripts/change_admin_password.sh deleted file mode 100755 index adda657..0000000 --- a/src/nexus-scripts/change_admin_password.sh +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/bash - -function change_admin_password() { - local NEXUS_URL=$1 - local NEXUS_OLD_PWD=$2 - local NEXUS_NEW_PWD=$3 - shift 3 - local CURL_OPTS="$@" - local SCRIPT_NAME=change_admin_password - - read -r -d '' SCRIPT_JSON << EOF -{ - "name": "${SCRIPT_NAME}", - "type": "groovy", - "content": "security.securitySystem.changePassword('admin', args)" -} -EOF - - CHECK_SCRIPT_STATUS=`curl ${CURL_OPTS} -s -o /dev/null -I -w "%{http_code}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}"` - - if [ "${CHECK_SCRIPT_STATUS}" == "404" ];then - echo "> ${SCRIPT_NAME} is not found (${CHECK_SCRIPT_STATUS})" - echo "> creating script (${SCRIPT_NAME}) ..." - curl ${CURL_OPTS} -H "Accept: application/json" -H "Content-Type: application/json" -d "${SCRIPT_JSON}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/" - elif [ "${CHECK_SCRIPT_STATUS}" == "401" ];then - echo "> Unauthorized (${CHECK_SCRIPT_STATUS})" - return - else - echo "> ${SCRIPT_NAME} is found (${CHECK_SCRIPT_STATUS})" - echo "> updating script (${SCRIPT_NAME}) ..." - curl ${CURL_OPTS} -XPUT -H "Accept: application/json" -H "Content-Type: application/json" -d "${SCRIPT_JSON}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}" - fi - - echo "> updating password ..." - CHECK_RUN_STATUS=`curl ${CURL_OPTS} -s -o /dev/null -w "%{http_code}" -H "Content-Type: text/plain" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}/run" -d "${NEXUS_NEW_PWD}"` - - if [ "${CHECK_RUN_STATUS}" == "200" ];then - echo "> succeeded!" - else - echo "> failed! (${CHECK_RUN_STATUS})" - fi -} \ No newline at end of file From f099a292ae042858d4ff8dffe895c1c3cf1d9333 Mon Sep 17 00:00:00 2001 From: kinjelom Date: Thu, 12 Dec 2024 12:24:52 +0100 Subject: [PATCH 2/6] v1.0.0 --- .final_builds/jobs/nexus-repo/index.yml | 6 + .final_builds/license/index.yml | 6 + .final_builds/packages/common/index.yml | 6 + .final_builds/packages/nexus-repo/index.yml | 6 + .final_builds/packages/openjdk-17/index.yml | 6 + .gitignore | 2 + LICENSE | 202 ++++++++++++++++++ README.md | 42 ++++ add-blobs.sh | 31 +++ bosh-create-release.sh | 37 ++++ bosh-upload-release.sh | 9 + config/blobs.yml | 6 + config/final.yml | 5 + example/deploy-rnd.sh | 10 + example/manifests/nexus.yml | 32 +++ example/vars/nexus-rnd-vars.yml | 4 + jobs/nexus-repo/monit | 5 + jobs/nexus-repo/spec | 46 ++++ jobs/nexus-repo/templates/bin/config.sh.erb | 19 ++ jobs/nexus-repo/templates/bin/ctl.sh.erb | 28 +++ .../nexus-repo/templates/bin/pre-start.sh.erb | 13 ++ .../templates/bin/start-nexus-repo.sh.erb | 32 +++ .../etc/java.util.logging.properties.erb | 5 + .../templates/etc/nexus.properties.erb | 3 + .../etc/nexus.vmoptions.override.erb | 13 ++ packages/common/packaging | 4 + packages/common/spec | 6 + packages/nexus-repo/packaging | 6 + packages/nexus-repo/spec | 8 + packages/openjdk-17/packaging | 10 + packages/openjdk-17/spec | 7 + rel.env | 8 + releases/nexus/index.yml | 4 + releases/nexus/nexus-1.0.0.yml | 33 +++ src/common/fs_utils.sh | 43 ++++ src/common/jvm_options.sh | 153 +++++++++++++ src/common/pid_utils.sh | 128 +++++++++++ src/meta-info/blobs-versions.env | 15 ++ src/nexus-scripts/change_admin_password.sh | 42 ++++ 39 files changed, 1041 insertions(+) create mode 100644 .final_builds/jobs/nexus-repo/index.yml create mode 100644 .final_builds/license/index.yml create mode 100644 .final_builds/packages/common/index.yml create mode 100644 .final_builds/packages/nexus-repo/index.yml create mode 100644 .final_builds/packages/openjdk-17/index.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100755 add-blobs.sh create mode 100755 bosh-create-release.sh create mode 100755 bosh-upload-release.sh create mode 100644 config/blobs.yml create mode 100644 config/final.yml create mode 100755 example/deploy-rnd.sh create mode 100644 example/manifests/nexus.yml create mode 100644 example/vars/nexus-rnd-vars.yml create mode 100644 jobs/nexus-repo/monit create mode 100644 jobs/nexus-repo/spec create mode 100755 jobs/nexus-repo/templates/bin/config.sh.erb create mode 100755 jobs/nexus-repo/templates/bin/ctl.sh.erb create mode 100755 jobs/nexus-repo/templates/bin/pre-start.sh.erb create mode 100644 jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb create mode 100644 jobs/nexus-repo/templates/etc/java.util.logging.properties.erb create mode 100644 jobs/nexus-repo/templates/etc/nexus.properties.erb create mode 100644 jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb create mode 100644 packages/common/packaging create mode 100644 packages/common/spec create mode 100644 packages/nexus-repo/packaging create mode 100644 packages/nexus-repo/spec create mode 100644 packages/openjdk-17/packaging create mode 100644 packages/openjdk-17/spec create mode 100644 rel.env create mode 100644 releases/nexus/index.yml create mode 100644 releases/nexus/nexus-1.0.0.yml create mode 100755 src/common/fs_utils.sh create mode 100755 src/common/jvm_options.sh create mode 100755 src/common/pid_utils.sh create mode 100644 src/meta-info/blobs-versions.env create mode 100755 src/nexus-scripts/change_admin_password.sh diff --git a/.final_builds/jobs/nexus-repo/index.yml b/.final_builds/jobs/nexus-repo/index.yml new file mode 100644 index 0000000..ec40b6c --- /dev/null +++ b/.final_builds/jobs/nexus-repo/index.yml @@ -0,0 +1,6 @@ +builds: + c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5: + version: c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5 + blobstore_id: e33c0708-3988-44cc-66b5-d583115d72da + sha1: sha256:b22e7f70c2ff9552ecf0d3b5bc28540c8ec5db1d5e67988427a212559e51d463 +format-version: "2" diff --git a/.final_builds/license/index.yml b/.final_builds/license/index.yml new file mode 100644 index 0000000..6d86e1a --- /dev/null +++ b/.final_builds/license/index.yml @@ -0,0 +1,6 @@ +builds: + ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5: + version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + blobstore_id: 6d76ea1a-d334-4a95-59f9-c395f3998ca2 + sha1: sha256:1c743c45ac8c4c00c7ac768dca16c32a598bf4b84b3e92a5ba35542a1806bed7 +format-version: "2" diff --git a/.final_builds/packages/common/index.yml b/.final_builds/packages/common/index.yml new file mode 100644 index 0000000..3bdf5bf --- /dev/null +++ b/.final_builds/packages/common/index.yml @@ -0,0 +1,6 @@ +builds: + c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0: + version: c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0 + blobstore_id: 16eb4bd1-928d-4f41-5c08-6c227c25b8d7 + sha1: sha256:237ee97e17e78723414d938f70aaba4a4244c9fd309fad3160a580e9d9d09671 +format-version: "2" diff --git a/.final_builds/packages/nexus-repo/index.yml b/.final_builds/packages/nexus-repo/index.yml new file mode 100644 index 0000000..2dd2f05 --- /dev/null +++ b/.final_builds/packages/nexus-repo/index.yml @@ -0,0 +1,6 @@ +builds: + 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678: + version: 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678 + blobstore_id: e9a30af0-05b1-4cc8-6109-4bb84b7c04bc + sha1: sha256:b36de41b3651c442125b681bbb17f8471e264c4f20b50be4d56f3479d6bebdcb +format-version: "2" diff --git a/.final_builds/packages/openjdk-17/index.yml b/.final_builds/packages/openjdk-17/index.yml new file mode 100644 index 0000000..6ed1532 --- /dev/null +++ b/.final_builds/packages/openjdk-17/index.yml @@ -0,0 +1,6 @@ +builds: + 8d330e8a9946c5c89bdf35c571d4ea23573228c5a92881f9aaf4253740a8f87e: + version: 8d330e8a9946c5c89bdf35c571d4ea23573228c5a92881f9aaf4253740a8f87e + blobstore_id: b5a76125-f651-4953-7474-ee25f3db9acc + sha1: sha256:6d4e3e84894781786b7d0526faffc89131825c69c53921eff85ab70fddf103a8 +format-version: "2" diff --git a/.gitignore b/.gitignore index b994de4..3751a1e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,8 @@ blobs .final_builds/packages/**/*.tgz .temp .tmp +.download +.downloads *.swp *~ *# diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7a8415c --- /dev/null +++ b/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 Toshiaki Maki + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..70853ae --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# BOSH Release for Nexus Repository Manager + +Forked from [making/nexus-boshrelease](https://github.com/making/nexus-boshrelease), thanks! + +Nexus Repository and Java versions: [blobs-versions.env](src/meta-info/blobs-versions.env) + +## Configuring the Runtime Environment + +```yaml +--- +instance_groups: +- name: nexus-repo + jobs: + - name: nexus-repo + release: nexus + properties: + nexus_repo: + nexus_properties: + application-port: 8080 + application-host: 0.0.0.0 + nexus-context-path: / + nexus_vmoptions: + - "-XX:+UseG1GC" + - "-XX:+UnlockExperimentalVMOptions" + envs: + TEST_ENV1: abc + java.home: "/var/vcap/packages/openjdk-17" + java.mem_percentage: "70" + java_util_logging_properties: + ".level": INFO +``` +For more details, see: +- https://help.sonatype.com/en/configuring-the-runtime-environment.html +- [nexus-repo spec](jobs/nexus-repo/spec) +- [deployment manifests example](example/manifests/nexus.yml) + +## TODO + +- BBR +- Docker Registry UI using https://github.com/Joxit/docker-registry-ui +- Nexus IQ +- HA / PostgreSQL diff --git a/add-blobs.sh b/add-blobs.sh new file mode 100755 index 0000000..656b124 --- /dev/null +++ b/add-blobs.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -eux + +source ./src/meta-info/blobs-versions.env +source ./rel.env + +mkdir -p "$TMP_DIR" + +function down_add_blob { + BLOBS_GROUP=$1 + FILE=$2 + URL=$3 + if [ ! -f "blobs/${BLOBS_GROUP}/${FILE}" ];then + echo "Downloads resource from the Internet ($URL -> $TMP_DIR/$FILE)" + curl -L "$URL" --output "$TMP_DIR/$FILE" + echo "Adds blob ($TMP_DIR/$FILE -> $BLOBS_GROUP/$FILE), starts tracking blob in config/blobs.yml for inclusion in packages" + bosh add-blob "$TMP_DIR/$FILE" "$BLOBS_GROUP/$FILE" + fi +} + +down_add_blob "nexus-repo" "nexus-repo-${NEXUS_REPO_VERSION}-unix.tar.gz" "$NEXUS_REPO_URL" +down_add_blob "openjdk" "openjdk-${JDK_17_VERSION}-linux-amd64.tar.gz" "$JDK_17_URL" + + + +echo "Download blobs into blobs/ based on config/blobs.yml" +bosh sync-blobs + +echo "Upload previously added blobs that were not yet uploaded to the blobstore. Updates config/blobs.yml with returned blobstore IDs." +bosh upload-blobs diff --git a/bosh-create-release.sh b/bosh-create-release.sh new file mode 100755 index 0000000..0da850c --- /dev/null +++ b/bosh-create-release.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +set -eux + +source ./src/meta-info/blobs-versions.env +source ./rel.env + +mkdir -p "$TMP_DIR" + +# shellcheck disable=SC2086 +bosh create-release --version="$REL_VERSION" $REL_FLAGS --name="$REL_NAME" --tarball="$REL_TARBALL_PATH" + +echo "Release created: ${REL_TARBALL_PATH}" + +SHA1=$(sha1sum "$REL_TARBALL_PATH" | awk '{print $1}') +TARBALL_URL="https://github.com/kinjelom/$REL_NAME-boshrelease/releases/download/v$REL_VERSION/$REL_TARBALL" + +set - + +echo "### BOSH Release: $REL_NAME" +echo " " +# shellcheck disable=SC2016 +echo 'You can reference this release in your deployment manifest from the `releases` section:' +echo '```yaml' +echo "- name: \"$REL_NAME\"" +echo " version: \"$REL_VERSION\"" +echo " url: \"$TARBALL_URL\"" +echo " sha1: \"$SHA1\"" +echo '```' +# shellcheck disable=SC2016 +echo 'Or upload it to your director with the `upload-release` command:' +echo '```' +echo "bosh upload-release --sha1 $SHA1 \\" +echo " $TARBALL_URL" +echo '```' +echo " " + diff --git a/bosh-upload-release.sh b/bosh-upload-release.sh new file mode 100755 index 0000000..c388bd6 --- /dev/null +++ b/bosh-upload-release.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +set -eux + +source ./src/meta-info/blobs-versions.env +source ./rel.env + +chmod a+r "$REL_TARBALL_PATH" +bosh upload-release "$REL_TARBALL_PATH" diff --git a/config/blobs.yml b/config/blobs.yml new file mode 100644 index 0000000..53e4cad --- /dev/null +++ b/config/blobs.yml @@ -0,0 +1,6 @@ +nexus-repo/nexus-repo-3.75.1-01-unix.tar.gz: + size: 239429340 + sha: sha256:8f2d425f896bce70872ee0e51568dd466e5e3d38b6a65a8c0ff0d79a23540cd1 +openjdk/openjdk-17.0.13+12-linux-amd64.tar.gz: + size: 214079740 + sha: sha256:25f8ffa72fdab92bcc6e664d09d437a8e3d9131d4b5c940aaf795bc4057bdd6f diff --git a/config/final.yml b/config/final.yml new file mode 100644 index 0000000..a66b982 --- /dev/null +++ b/config/final.yml @@ -0,0 +1,5 @@ +name: nexus +blobstore: + provider: s3 + options: + bucket_name: boshrelease-nexus diff --git a/example/deploy-rnd.sh b/example/deploy-rnd.sh new file mode 100755 index 0000000..83f81ba --- /dev/null +++ b/example/deploy-rnd.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +deployment_name=nexus-rnd + +bosh -d ${deployment_name} deploy manifests/nexus.yml \ + -v deployment_name=${deployment_name} \ + --vars-file=vars/${deployment_name}-vars.yml \ + --no-redact --fix + + diff --git a/example/manifests/nexus.yml b/example/manifests/nexus.yml new file mode 100644 index 0000000..8e2444c --- /dev/null +++ b/example/manifests/nexus.yml @@ -0,0 +1,32 @@ +--- +name: ((deployment_name)) + +instance_groups: +- name: nexus-repo + instances: 1 + vm_type: ((vm_type)) + persistent_disk_type: ((persistent_disk_type)) + stemcell: default + azs: ((azs)) + networks: + - name: default + jobs: + - name: nexus-repo + release: nexus + +releases: + - name: nexus + version: ((nexus_version)) + +stemcells: + - alias: default + os: ubuntu-jammy + version: latest + +update: + canaries: 1 + max_in_flight: 1 + serial: false + canary_watch_time: 1000-60000 + update_watch_time: 1000-60000 + diff --git a/example/vars/nexus-rnd-vars.yml b/example/vars/nexus-rnd-vars.yml new file mode 100644 index 0000000..5ffeac8 --- /dev/null +++ b/example/vars/nexus-rnd-vars.yml @@ -0,0 +1,4 @@ +nexus_version: latest +vm_type: bosh.c2.r2 +persistent_disk_type: 10GB +azs: [z2] \ No newline at end of file diff --git a/jobs/nexus-repo/monit b/jobs/nexus-repo/monit new file mode 100644 index 0000000..06caf50 --- /dev/null +++ b/jobs/nexus-repo/monit @@ -0,0 +1,5 @@ +check process nexus-repo + with pidfile "/var/vcap/sys/run/nexus-repo/nexus-repo.pid" + start program "/var/vcap/jobs/nexus-repo/bin/ctl start" + stop program "/var/vcap/jobs/nexus-repo/bin/ctl stop" + group vcap \ No newline at end of file diff --git a/jobs/nexus-repo/spec b/jobs/nexus-repo/spec new file mode 100644 index 0000000..ab08b02 --- /dev/null +++ b/jobs/nexus-repo/spec @@ -0,0 +1,46 @@ +--- +name: nexus-repo + +templates: + bin/config.sh.erb: bin/config.sh + bin/ctl.sh.erb: bin/ctl + bin/pre-start.sh.erb: bin/pre-start + bin/start-nexus-repo.sh.erb: bin/start-nexus-repo.sh + etc/nexus.properties.erb: etc/nexus.properties + etc/java.util.logging.properties.erb: etc/java.util.logging.properties + etc/nexus.vmoptions.override.erb: etc/nexus.vmoptions.override + +packages: +- nexus-repo +- openjdk-17 +- common + +properties: + nexus_repo.nexus_properties: + description: "nexus.properties - https://help.sonatype.com/en/configuring-the-runtime-environment.html" + default: + application-port: 8080 + application-host: 0.0.0.0 + nexus-context-path: / + nexus_repo.nexus_vmoptions: + description: "nexus.vmoptions - https://help.sonatype.com/en/configuring-the-runtime-environment.html" + default: ["-XX:+UseG1GC", "-XX:+UnlockExperimentalVMOptions"] + nexus_repo.envs: + description: "Environment variables" + default: {} + example: + TEST_ENV1: "val1" + nexus_repo.java.home: + description: "Java Home Dir" + default: "/var/vcap/packages/openjdk-17" + nexus_repo.java.mem_percentage: + description: "Java memory percentage" + default: "70" + nexus_repo.java_util_logging_properties: + description: | + Override java.util.logging.properties. + Keep empty java.util.logging.properties to prevent the log to stderr, + so that all logs will be delegated to pax logging JUL handler only + default: {} + example: + ".level": INFO diff --git a/jobs/nexus-repo/templates/bin/config.sh.erb b/jobs/nexus-repo/templates/bin/config.sh.erb new file mode 100755 index 0000000..5dcd5b8 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/config.sh.erb @@ -0,0 +1,19 @@ +#!/bin/bash -eu + +export JOB_NAME='nexus-repo' +export JOB_DIR="/var/vcap/jobs/$JOB_NAME" +export RUN_DIR="/var/vcap/sys/run/$JOB_NAME" +export PID_FILE="/var/vcap/sys/run/$JOB_NAME/$JOB_NAME.pid" +export LOG_DIR="/var/vcap/sys/log/$JOB_NAME" +export TMP_DIR="/var/vcap/data/sys/tmp/$JOB_NAME" +export PACKAGE_DIR="/var/vcap/packages/$JOB_NAME" +export EPHEMERAL_DATA_DIR="/var/vcap/data/$JOB_NAME" +export STORE_DIR="/var/vcap/store/$JOB_NAME" + +export JAVA_MEM_PERCENTAGE='<%= p("nexus_repo.java.mem_percentage") %>' +export JAVA_HOME='<%= p("nexus_repo.java.home") %>' +export PATH="$PATH:$JAVA_HOME/bin" + +<%- p('nexus_repo.envs', {}).each do |key, val| -%> +export <%= key %>="<%= val %>" +<%- end -%> \ No newline at end of file diff --git a/jobs/nexus-repo/templates/bin/ctl.sh.erb b/jobs/nexus-repo/templates/bin/ctl.sh.erb new file mode 100755 index 0000000..7d576bc --- /dev/null +++ b/jobs/nexus-repo/templates/bin/ctl.sh.erb @@ -0,0 +1,28 @@ +#!/bin/bash -eu + +source /var/vcap/jobs/nexus-repo/bin/config.sh +source /var/vcap/packages/common/pid_utils.sh + +exec 1>> "${LOG_DIR}/$(basename "$0").stdout.log" +exec 2>> "${LOG_DIR}/$(basename "$0").stderr.log" + +case $1 in + + start) + + pid_guard "$PID_FILE" "$JOB_NAME" + exec chpst -u vcap:vcap nohup /var/vcap/jobs/nexus-repo/bin/start-nexus-repo.sh & + sleep 5 + echo $! > "$PID_FILE" + ;; + + stop) + + kill_and_wait "$PID_FILE" + ;; + + *) + echo "Usage: ctl {start|stop}" ;; + +esac + diff --git a/jobs/nexus-repo/templates/bin/pre-start.sh.erb b/jobs/nexus-repo/templates/bin/pre-start.sh.erb new file mode 100755 index 0000000..a7ef958 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/pre-start.sh.erb @@ -0,0 +1,13 @@ +#!/bin/bash -eu + +source /var/vcap/jobs/nexus-repo/bin/config.sh +source /var/vcap/packages/common/fs_utils.sh + + +mkdir -p "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR/etc" +chown -R vcap:vcap "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR" + +## re-link nexus.properties - https://help.sonatype.com/en/configuring-the-runtime-environment.html +force_file_link "$STORE_DIR/etc/nexus.properties" "$JOB_DIR/etc/nexus.properties" +force_dir_link "$STORE_DIR/log" "$LOG_DIR" +force_dir_link "$STORE_DIR/tmp" "$TMP_DIR" diff --git a/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb b/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb new file mode 100644 index 0000000..94f7037 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb @@ -0,0 +1,32 @@ +#!/bin/bash -eu + +source /var/vcap/jobs/nexus-repo/bin/config.sh +source /var/vcap/packages/common/jvm_options.sh + +# shellcheck disable=SC2034 +declare -a opts +read_jvm_options_file "/var/vcap/packages/nexus-repo/bin/nexus.vmoptions" opts +update_jvm_options_file "/var/vcap/jobs/nexus-repo/etc/nexus.vmoptions.override" opts + +remove_params_with_prefix "-Xmx" opts +remove_params_with_prefix "-Xms" opts + +TOTAL_RAM=$(free -m | awk '/^Mem:/{print $2}') +JAVA_MEMORY=$(awk "BEGIN {printf \"%.0f\", $TOTAL_RAM * $JAVA_MEM_PERCENTAGE / 100}") +JAVA_MEMORY_M=$(printf "%.0f" "$JAVA_MEMORY") + +put_param "-Xms${JAVA_MEMORY_M}M" opts +put_param "-Xmx${JAVA_MEMORY_M}M" opts +put_param "-XX:MaxDirectMemorySize=${JAVA_MEMORY_M}M" opts + +# shellcheck disable=SC2034 +declare jvm_params +build_java_params opts jvm_params + +ulimit -n 65536 + +# Execute Java with options +# shellcheck disable=SC2206 +START_CMD=("$JAVA_HOME/bin/java" "-server" $jvm_params "-cp" "$PACKAGE_DIR/lib/*:$PACKAGE_DIR/lib/boot/*:$PACKAGE_DIR/lib/endorsed/*" "org.sonatype.nexus.karaf.NexusMain") +exec "${START_CMD[@]}" + diff --git a/jobs/nexus-repo/templates/etc/java.util.logging.properties.erb b/jobs/nexus-repo/templates/etc/java.util.logging.properties.erb new file mode 100644 index 0000000..3ec4640 --- /dev/null +++ b/jobs/nexus-repo/templates/etc/java.util.logging.properties.erb @@ -0,0 +1,5 @@ +# Empty java.util.logging.properties to prevent the log to stderr, so that +# all logs will be delegated to pax logging JUL handler only +<%- p('nexus_repo.java_util_logging_properties', {}).each do |key, val| -%> + <%= key %> = <%= val %> +<%- end -%> \ No newline at end of file diff --git a/jobs/nexus-repo/templates/etc/nexus.properties.erb b/jobs/nexus-repo/templates/etc/nexus.properties.erb new file mode 100644 index 0000000..a71a962 --- /dev/null +++ b/jobs/nexus-repo/templates/etc/nexus.properties.erb @@ -0,0 +1,3 @@ +<%- p('nexus_repo.nexus_properties', {}).each do |key, val| -%> +<%= key %>=<%= val %> +<%- end -%> \ No newline at end of file diff --git a/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb b/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb new file mode 100644 index 0000000..7386610 --- /dev/null +++ b/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb @@ -0,0 +1,13 @@ +-Dkaraf.home=/var/vcap/packages/nexus-repo +-Dkaraf.base=/var/vcap/packages/nexus-repo +-Dkaraf.etc=etc/karaf +-Dkaraf.data=/var/vcap/store/nexus-repo +-Dkaraf.pid.file=/var/vcap/sys/run/nexus-repo/karaf.pid +-Dkaraf.log=/var/vcap/sys/log/nexus-repo +-Dkaraf.bootstrap.log=/var/vcap/sys/log/nexus-repo/karaf-bootstrap.log +-Djava.io.tmpdir=/var/vcap/sys/tmp/nexus-repo +-Djava.util.logging.config.file=/var/vcap/jobs/nexus-repo/etc/java.util.logging.properties +-XX:LogFile=/var/vcap/sys/log/nexus-repo/jvm.log +<%- p('nexus_repo.nexus_vmoptions', []).each do |line| -%> +<%= line %> +<%- end -%> \ No newline at end of file diff --git a/packages/common/packaging b/packages/common/packaging new file mode 100644 index 0000000..c43f1cd --- /dev/null +++ b/packages/common/packaging @@ -0,0 +1,4 @@ +#!/bin/bash -eux + +# Copy common utils +cp -a "${BOSH_COMPILE_TARGET}/common/"* "${BOSH_INSTALL_TARGET}" diff --git a/packages/common/spec b/packages/common/spec new file mode 100644 index 0000000..e812d96 --- /dev/null +++ b/packages/common/spec @@ -0,0 +1,6 @@ +--- +name: common +dependencies: [] +files: +- common/* + diff --git a/packages/nexus-repo/packaging b/packages/nexus-repo/packaging new file mode 100644 index 0000000..86c9565 --- /dev/null +++ b/packages/nexus-repo/packaging @@ -0,0 +1,6 @@ +set -e + +source meta-info/blobs-versions.env + +tar xfv nexus-repo/nexus-repo-${NEXUS_REPO_VERSION}-unix.tar.gz +cp -ar ./nexus-${NEXUS_REPO_VERSION}/* $BOSH_INSTALL_TARGET diff --git a/packages/nexus-repo/spec b/packages/nexus-repo/spec new file mode 100644 index 0000000..313aea7 --- /dev/null +++ b/packages/nexus-repo/spec @@ -0,0 +1,8 @@ +--- +name: nexus-repo + +dependencies: [] + +files: +- meta-info/blobs-versions.env +- nexus-repo/*.tar.gz diff --git a/packages/openjdk-17/packaging b/packages/openjdk-17/packaging new file mode 100644 index 0000000..2d55a41 --- /dev/null +++ b/packages/openjdk-17/packaging @@ -0,0 +1,10 @@ +set -e + +tar xfv openjdk/openjdk-17.*.tar.gz +cp -a ./jdk-17.*/* $BOSH_INSTALL_TARGET + +rm -rf $BOSH_INSTALL_TARGET/java +rm -rf $BOSH_INSTALL_TARGET/demo +rm -rf $BOSH_INSTALL_TARGET/sample +rm -rf $BOSH_INSTALL_TARGET/man +rm -rf $BOSH_INSTALL_TARGET/src.zip \ No newline at end of file diff --git a/packages/openjdk-17/spec b/packages/openjdk-17/spec new file mode 100644 index 0000000..1a94192 --- /dev/null +++ b/packages/openjdk-17/spec @@ -0,0 +1,7 @@ +--- +name: openjdk-17 + +dependencies: [] + +files: +- openjdk/*.tar.gz diff --git a/rel.env b/rel.env new file mode 100644 index 0000000..d9bee6d --- /dev/null +++ b/rel.env @@ -0,0 +1,8 @@ +export REL_NAME="nexus" +export REL_VERSION="1.0.0" +# export REL_FLAGS=" --force " +export REL_FLAGS=" --final " + +export TMP_DIR=".temp" +export REL_TARBALL="$REL_NAME-boshrelease-$REL_VERSION.tgz" +export REL_TARBALL_PATH="$TMP_DIR/$REL_TARBALL" diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml new file mode 100644 index 0000000..9b607d0 --- /dev/null +++ b/releases/nexus/index.yml @@ -0,0 +1,4 @@ +builds: + ca50013c-c1b8-4ce4-5dbc-b698072735c4: + version: 1.0.0 +format-version: "2" diff --git a/releases/nexus/nexus-1.0.0.yml b/releases/nexus/nexus-1.0.0.yml new file mode 100644 index 0000000..68742b9 --- /dev/null +++ b/releases/nexus/nexus-1.0.0.yml @@ -0,0 +1,33 @@ +name: nexus +version: 1.0.0 +commit_hash: 6fb08ba +uncommitted_changes: false +jobs: +- name: nexus-repo + version: c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5 + fingerprint: c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5 + sha1: sha256:b22e7f70c2ff9552ecf0d3b5bc28540c8ec5db1d5e67988427a212559e51d463 + packages: + - nexus-repo + - openjdk-17 + - common +packages: +- name: common + version: c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0 + fingerprint: c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0 + sha1: sha256:237ee97e17e78723414d938f70aaba4a4244c9fd309fad3160a580e9d9d09671 + dependencies: [] +- name: nexus-repo + version: 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678 + fingerprint: 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678 + sha1: sha256:b36de41b3651c442125b681bbb17f8471e264c4f20b50be4d56f3479d6bebdcb + dependencies: [] +- name: openjdk-17 + version: 8d330e8a9946c5c89bdf35c571d4ea23573228c5a92881f9aaf4253740a8f87e + fingerprint: 8d330e8a9946c5c89bdf35c571d4ea23573228c5a92881f9aaf4253740a8f87e + sha1: sha256:6d4e3e84894781786b7d0526faffc89131825c69c53921eff85ab70fddf103a8 + dependencies: [] +license: + version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + sha1: sha256:1c743c45ac8c4c00c7ac768dca16c32a598bf4b84b3e92a5ba35542a1806bed7 diff --git a/src/common/fs_utils.sh b/src/common/fs_utils.sh new file mode 100755 index 0000000..5dd7139 --- /dev/null +++ b/src/common/fs_utils.sh @@ -0,0 +1,43 @@ +#!/bin/bash -eu + +force_dir_link() { + local override_path=$1 # location that will be overridden or replaced (the destination where the symbolic link will be created) + local target_path=$2 # target that the symbolic link will point to (the actual source directory or file). + + # Check if the override path is already a symbolic link to the target path + if [ -L "$override_path" ] && [ "$(readlink "$override_path")" == "$target_path" ]; then + echo "The override path $override_path is already a symbolic link to $target_path. No changes made." + return 0 + fi + + # Remove the override path if it exists (directory, file, or symbolic link) + if [ -e "$override_path" ]; then + echo "Removing existing override path $override_path..." + rm -rf "$override_path" + fi + + # Create a symbolic link pointing to the target path + echo "Creating symbolic link from $override_path to $target_path..." + ln -s "$target_path" "$override_path" +} + +force_file_link() { + local override_path=$1 + local target_file=$2 + + # Check if the override path is a symbolic link + if [ -L "$override_path" ]; then + echo "The override path $override_path is already a symbolic link. No changes made." + return 0 + fi + + # Remove the override path if it exists (file or something else) + if [ -e "$override_path" ]; then + echo "Removing existing override path $override_path..." + rm -f "$override_path" + fi + + # Create a symbolic link pointing to the target file + echo "Creating symbolic link from $override_path to $target_file..." + ln -s "$target_file" "$override_path" +} diff --git a/src/common/jvm_options.sh b/src/common/jvm_options.sh new file mode 100755 index 0000000..358cd31 --- /dev/null +++ b/src/common/jvm_options.sh @@ -0,0 +1,153 @@ +#!/bin/bash -eu + +# Reads a jvm options file and stores parameters in an ordered array. +# Parameters: +# $1 - input file +# $2 - name of the array reference to store results +read_jvm_options_file() { + local file="$1" + declare -n ref_array="$2" + + while IFS= read -r line; do + # Skip empty lines or those starting with '#' + [[ -z "$line" || "$line" =~ ^# ]] && continue + ref_array+=("$line") + done < "$file" +} + +# Updates parameters from another file, maintaining order. +# Parameters: +# $1 - input file +# $2 - name of the array reference to update +update_jvm_options_file() { + local file="$1" + # shellcheck disable=SC2178 + declare -n ref_array="$2" + + # Temporary map to track updated keys + declare -A updated_keys + + # Read overrides from the file + while IFS= read -r line; do + [[ -z "$line" || "$line" =~ ^# ]] && continue + + # Extract key and value + local key="${line%%=*}" + + # Track updated keys + # shellcheck disable=SC2034 + updated_keys["$key"]="$line" + + # Update existing parameters in the array + local found=false + for i in "${!ref_array[@]}"; do + if [[ "${ref_array[$i]}" == "$key"* ]]; then + ref_array[i]="$line" + found=true + break + fi + done + + # If not found, add the new parameter + if [[ "$found" == false ]]; then + ref_array+=("$line") + fi + done < "$file" +} + +# Adds a new parameter to the array. If the parameter already exists, it updates its value. +# Parameters: +# $1 - full parameter string (e.g., "-Xmx4096m" or "-Dmy.property=value") +# $2 - name of the array reference to modify +put_param() { + local param="$1" + # shellcheck disable=SC2178 + declare -n ref_array="$2" + + # Extract the key (part before '=') and value (part after '=') + local key="${param%%=*}" + + # Check if the key already exists + local found=false + for i in "${!ref_array[@]}"; do + if [[ "${ref_array[$i]}" == "$key"* ]]; then + ref_array[i]="$param" # Update the existing parameter + found=true + break + fi + done + + # If not found, add it to the end of the array + if [[ "$found" == false ]]; then + ref_array+=("$param") + fi +} + +# Removes parameters from an array whose names start with a given prefix. +# Parameters: +# $1 - prefix to match +# $2 - name of the array reference to modify +remove_params_with_prefix() { + local prefix="$1" + # shellcheck disable=SC2178 + declare -n ref_array="$2" + + for i in "${!ref_array[@]}"; do + if [[ "${ref_array[$i]}" == "$prefix"* ]]; then + unset 'ref_array[i]' + fi + done + + # Re-index array to maintain proper order + ref_array=("${ref_array[@]}") +} + +# Builds the final parameter list for 'java' from the array. +# Parameters: +# $1 - name of the array reference +# $2 - name of the variable reference to store the output string of parameters +build_java_params() { + # shellcheck disable=SC2178 + declare -n ref_array="$1" + declare -n ref_result="$2" + + ref_result=$(printf " %s" "${ref_array[@]}") + ref_result="${ref_result:1}" # Remove leading space +} + +## Test it: `. jvm_options.sh; test_jvm_options` +test_jvm_options() { + assert() { + local name="$1" + local actual="$2" + local expected="$3" + if [[ "$actual" != "$expected" ]]; then + echo "Assertion '$name' failed!" >&2 + echo "Expected: '$expected'" + echo "Got: '$actual'" + else + echo "Assertion '$name' success!" >&1 + fi + } + mkdir -p "$HOME/.temp" + local main_file="$HOME/.temp/main.jvm_options" + local override_file="$HOME/.temp/override.jvm_options" + + echo -e "-Xmx123M\n-Xms123M\n-Dmy.param=old_value\n" > "$main_file" + echo -e "-Dmy.param=new_value\n-Dmy.param2=new_value2\n" > "$override_file" + + # shellcheck disable=SC2034 + declare -a opts + read_jvm_options_file "$main_file" opts + update_jvm_options_file "$override_file" opts + + remove_params_with_prefix "-Xm" opts + put_param "-Xms456M" opts + put_param "-Xmx456M" opts + + # shellcheck disable=SC2034 + declare jvm_params + build_java_params opts jvm_params + assert "jvm_params" "$jvm_params" "-Dmy.param=new_value -Dmy.param2=new_value2 -Xms456M -Xmx456M" +} + diff --git a/src/common/pid_utils.sh b/src/common/pid_utils.sh new file mode 100755 index 0000000..e917e99 --- /dev/null +++ b/src/common/pid_utils.sh @@ -0,0 +1,128 @@ +#!/bin/bash -eu + +function pid_is_running() { + declare pid="$1" + ps -p "${pid}" >/dev/null 2>&1 +} + +# pid_guard +# +# @param pidfile +# @param name [String] an arbitrary name that might show up in STDOUT on errors +# +# Run this before attempting to start new processes that may use the same :pidfile:. +# If an old process is running on the pid found in the :pidfile:, exit 1. Otherwise, +# remove the stale :pidfile: if it exists. +# +function pid_guard() { + declare pidfile="$1" name="$2" + + echo "------------ pid_guard: STARTING $(basename "$0") at $(date) --------------" | tee /dev/stderr + + if [ ! -f "${pidfile}" ]; then + return 0 + fi + + local pid + pid=$(head -1 "${pidfile}") + + if pid_is_running "${pid}"; then + echo "pid_guard: ${name} is already running (pid=${pid} / ${pidfile}), please stop it first" + exit 1 + fi + + echo "pid_guard: removing stale pidfile: ${pidfile}" + rm "${pidfile}" +} + +# wait_pid_death +# +# @param pid +# @param timeout +# +# Watch a :pid: for :timeout: seconds, waiting for it to die. +# If it dies before :timeout:, exit 0. If not, exit 1. +# +# Note that this should be run in a subshell, so that the current +# shell does not exit. +# +function wait_pid_death() { + declare pid="$1" timeout="$2" + + local countdown + countdown=$(( timeout * 10 )) + + while true; do + if ! pid_is_running "${pid}"; then + return 0 + fi + + if [ ${countdown} -le 0 ]; then + return 1 + fi + + countdown=$(( countdown - 1 )) + sleep 0.1 + done +} + +# kill_and_wait +# +# @param pidfile +# @param timeout [default 25s] +# +# For a pid found in :pidfile:, send a `kill -15` TERM, then wait for :timeout: seconds to +# see if it dies on its own. If not, send it a `kill -9`. If the process does die, +# exit 0 and remove the :pidfile:. If after all of this, the process does not actually +# die, exit 1. +# +# Note: +# Monit default timeout for start/stop is 30s +# Append 'with timeout {n} seconds' to monit start/stop program configs +# +function kill_and_wait() { + declare pidfile="$1" timeout="${2:-25}" sigkill_on_timeout="${3:-1}" + + if [ ! -f "${pidfile}" ]; then + echo "Pidfile ${pidfile} doesn't exist" + exit 0 + fi + + local pid + pid=$(head -1 "${pidfile}") + + if [ -z "${pid}" ]; then + echo "Unable to get pid from ${pidfile}" + exit 1 + fi + + if ! pid_is_running "${pid}"; then + echo "Process ${pid} is not running" + rm -f "${pidfile}" + exit 0 + fi + + echo "Killing ${pidfile}: ${pid} " + kill "${pid}" + + if ! wait_pid_death "${pid}" "${timeout}"; then + if [ "${sigkill_on_timeout}" = "1" ]; then + echo "Kill timed out, using kill -9 on ${pid}" + kill -9 "${pid}" + sleep 0.5 + fi + fi + + if pid_is_running "${pid}"; then + echo "Timed Out" + exit 1 + else + echo "Stopped" + rm -f "${pidfile}" + fi +} + +running_in_container() { + # look for a non-root cgroup + grep --quiet --invert-match ':/$' /proc/self/cgroup +} diff --git a/src/meta-info/blobs-versions.env b/src/meta-info/blobs-versions.env new file mode 100644 index 0000000..b98340a --- /dev/null +++ b/src/meta-info/blobs-versions.env @@ -0,0 +1,15 @@ +# https://bell-sw.com/pages/downloads/#jdk-17-lts +JDK_17_VERSION="17.0.13+12" +JDK_17_URL="https://download.bell-sw.com/java/${JDK_17_VERSION}/bellsoft-jdk${JDK_17_VERSION}-linux-amd64.tar.gz" + +# https://help.sonatype.com/en/download.html +NEXUS_REPO_VERSION="3.75.1-01" +NEXUS_REPO_URL="https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${NEXUS_REPO_VERSION}-unix.tar.gz" + + +# https://help.sonatype.com/en/download-and-compatibility.html +# https://download.sonatype.com/clm/server/latest.tar.gz +# NEXUS_IQ_VERSION="1.184.0-01" +# NEXUS_IQ_URL="https://download.sonatype.com/clm/server/nexus-iq-server-${NEXUS_IQ_VERSION}-linux-aarch_64.tgz" +# NEXUS_IQ_URL="https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/server/nexus-iq-server-${NEXUS_IQ_VERSION}-bundle.tar.gz" + diff --git a/src/nexus-scripts/change_admin_password.sh b/src/nexus-scripts/change_admin_password.sh new file mode 100755 index 0000000..adda657 --- /dev/null +++ b/src/nexus-scripts/change_admin_password.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +function change_admin_password() { + local NEXUS_URL=$1 + local NEXUS_OLD_PWD=$2 + local NEXUS_NEW_PWD=$3 + shift 3 + local CURL_OPTS="$@" + local SCRIPT_NAME=change_admin_password + + read -r -d '' SCRIPT_JSON << EOF +{ + "name": "${SCRIPT_NAME}", + "type": "groovy", + "content": "security.securitySystem.changePassword('admin', args)" +} +EOF + + CHECK_SCRIPT_STATUS=`curl ${CURL_OPTS} -s -o /dev/null -I -w "%{http_code}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}"` + + if [ "${CHECK_SCRIPT_STATUS}" == "404" ];then + echo "> ${SCRIPT_NAME} is not found (${CHECK_SCRIPT_STATUS})" + echo "> creating script (${SCRIPT_NAME}) ..." + curl ${CURL_OPTS} -H "Accept: application/json" -H "Content-Type: application/json" -d "${SCRIPT_JSON}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/" + elif [ "${CHECK_SCRIPT_STATUS}" == "401" ];then + echo "> Unauthorized (${CHECK_SCRIPT_STATUS})" + return + else + echo "> ${SCRIPT_NAME} is found (${CHECK_SCRIPT_STATUS})" + echo "> updating script (${SCRIPT_NAME}) ..." + curl ${CURL_OPTS} -XPUT -H "Accept: application/json" -H "Content-Type: application/json" -d "${SCRIPT_JSON}" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}" + fi + + echo "> updating password ..." + CHECK_RUN_STATUS=`curl ${CURL_OPTS} -s -o /dev/null -w "%{http_code}" -H "Content-Type: text/plain" -u "admin:${NEXUS_OLD_PWD}" "${NEXUS_URL}/service/rest/v1/script/${SCRIPT_NAME}/run" -d "${NEXUS_NEW_PWD}"` + + if [ "${CHECK_RUN_STATUS}" == "200" ];then + echo "> succeeded!" + else + echo "> failed! (${CHECK_RUN_STATUS})" + fi +} \ No newline at end of file From 97b29416ef38f841b4ee7b09877df67f721e28ed Mon Sep 17 00:00:00 2001 From: kinjelom Date: Tue, 18 Mar 2025 11:08:16 +0100 Subject: [PATCH 3/6] v1.1.0 --- .final_builds/jobs/nexus-repo/index.yml | 12 ++++++ .final_builds/packages/common/index.yml | 4 ++ .final_builds/packages/nexus-repo/index.yml | 8 ++++ README.md | 23 ++++++---- add-blobs.sh | 3 -- config/blobs.yml | 10 ++--- example/manifests/nexus.yml | 17 ++++++++ example/vars/nexus-rnd-vars.yml | 5 ++- jobs/nexus-repo/monit | 8 +++- jobs/nexus-repo/monit-info.md | 4 ++ jobs/nexus-repo/spec | 40 ++++++++++------- jobs/nexus-repo/templates/bin/config.sh.erb | 6 ++- jobs/nexus-repo/templates/bin/ctl.sh.erb | 1 - .../nexus-repo/templates/bin/pre-start.sh.erb | 8 ++-- .../templates/bin/start-nexus-repo.sh.erb | 8 ++-- .../templates/etc/nexus.properties.erb | 3 -- .../templates/etc/nexus.vmoptions.erb | 43 +++++++++++++++++++ .../etc/nexus.vmoptions.override.erb | 13 ------ .../templates/secrets/nexus-secrets.json.erb | 5 +++ packages/openjdk-17/packaging | 10 ----- packages/openjdk-17/spec | 7 --- rel.env | 4 +- releases/nexus/index.yml | 2 + releases/nexus/nexus-1.1.0.yml | 27 ++++++++++++ src/common/fs_utils.sh | 12 +++--- src/meta-info/blobs-versions.env | 9 +--- 26 files changed, 195 insertions(+), 97 deletions(-) create mode 100644 jobs/nexus-repo/monit-info.md delete mode 100644 jobs/nexus-repo/templates/etc/nexus.properties.erb create mode 100644 jobs/nexus-repo/templates/etc/nexus.vmoptions.erb delete mode 100644 jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb create mode 100644 jobs/nexus-repo/templates/secrets/nexus-secrets.json.erb delete mode 100644 packages/openjdk-17/packaging delete mode 100644 packages/openjdk-17/spec create mode 100644 releases/nexus/nexus-1.1.0.yml diff --git a/.final_builds/jobs/nexus-repo/index.yml b/.final_builds/jobs/nexus-repo/index.yml index ec40b6c..ae761a0 100644 --- a/.final_builds/jobs/nexus-repo/index.yml +++ b/.final_builds/jobs/nexus-repo/index.yml @@ -1,6 +1,18 @@ builds: + 192c143a5c80c01c8304a9f4b422c142fa8b43ee76150840927b68a97d97a3b4: + version: 192c143a5c80c01c8304a9f4b422c142fa8b43ee76150840927b68a97d97a3b4 + blobstore_id: 45107c98-3716-4dff-547a-853e55ce3531 + sha1: sha256:972b79fe3c2d1f2996983fb1be38df30bcf46a2a3120daf8842e65c9d711075f + 643f6c0d1ff6135caf079b3d699a9562e2ac2d0722690e7890d1ab73db670f2d: + version: 643f6c0d1ff6135caf079b3d699a9562e2ac2d0722690e7890d1ab73db670f2d + blobstore_id: cbe0da74-4d00-4ba0-7e5f-a43352b930b8 + sha1: sha256:042f09d33c99bf25f1d50cecd903a7810202ac35c177b69b1ad465fe4608a9ba c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5: version: c067157755b49675615b2e26ac4c807fb0741b24540a9ba7ec426c5a2004b8d5 blobstore_id: e33c0708-3988-44cc-66b5-d583115d72da sha1: sha256:b22e7f70c2ff9552ecf0d3b5bc28540c8ec5db1d5e67988427a212559e51d463 + f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e: + version: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + blobstore_id: 8515404d-1265-42b8-506e-81250a4b6933 + sha1: sha256:3bee54e0696553756f2a211184842b27c54d58b810938a00cb941907778770aa format-version: "2" diff --git a/.final_builds/packages/common/index.yml b/.final_builds/packages/common/index.yml index 3bdf5bf..8bac714 100644 --- a/.final_builds/packages/common/index.yml +++ b/.final_builds/packages/common/index.yml @@ -1,4 +1,8 @@ builds: + c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997: + version: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + blobstore_id: edda2a7c-311d-46c3-49ce-21295d7a9f54 + sha1: sha256:1c6bd6f7097ab4c6f0135c20bafad4e3118822a42c1ca70ed3dc85bc73d05d29 c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0: version: c177dd2d320f2124f0bca3e1eb41225922ca1999bba0261741d9220332dd8bf0 blobstore_id: 16eb4bd1-928d-4f41-5c08-6c227c25b8d7 diff --git a/.final_builds/packages/nexus-repo/index.yml b/.final_builds/packages/nexus-repo/index.yml index 2dd2f05..216c32e 100644 --- a/.final_builds/packages/nexus-repo/index.yml +++ b/.final_builds/packages/nexus-repo/index.yml @@ -3,4 +3,12 @@ builds: version: 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678 blobstore_id: e9a30af0-05b1-4cc8-6109-4bb84b7c04bc sha1: sha256:b36de41b3651c442125b681bbb17f8471e264c4f20b50be4d56f3479d6bebdcb + 71eec68c02b78f703529f75c2fde388d496097070f2fc5b188a2261ab98504ea: + version: 71eec68c02b78f703529f75c2fde388d496097070f2fc5b188a2261ab98504ea + blobstore_id: fc818c11-f8fa-46d1-6107-2f43010e488f + sha1: sha256:fa83fbe4f5906db18c0fe3bdf2b4259f72d3a8504ac9caef739a9367a7a940f8 + eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8: + version: eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8 + blobstore_id: bcfd78e4-f5e7-443e-49fe-c7b439955ec1 + sha1: sha256:c9a78b7b203505a1226d6c42671395499005668b3a194795a00e6dbbaa9f4f9e format-version: "2" diff --git a/README.md b/README.md index 70853ae..27894a9 100644 --- a/README.md +++ b/README.md @@ -15,19 +15,24 @@ instance_groups: release: nexus properties: nexus_repo: - nexus_properties: - application-port: 8080 - application-host: 0.0.0.0 - nexus-context-path: / - nexus_vmoptions: - - "-XX:+UseG1GC" - - "-XX:+UnlockExperimentalVMOptions" + secrets: + active_key: secret_1 + keys: + secret_1: ((nexus_repo_encryption_secret_1)) + additional_nexus_vmoptions: + - "-Dnexus.datastore.enabled=true" + - "-Dnexus.datastore.nexus.username=((nexus_db_user))" + - "-Dnexus.datastore.nexus.password=((nexus_db_password))" + - "-Dnexus.datastore.nexus.jdbcUrl=((nexus_jdbc_url))" envs: TEST_ENV1: abc - java.home: "/var/vcap/packages/openjdk-17" - java.mem_percentage: "70" java_util_logging_properties: ".level": INFO +variables: + - name: nexus_repo_encryption_secret_1 + type: password + options: + length: 32 ``` For more details, see: - https://help.sonatype.com/en/configuring-the-runtime-environment.html diff --git a/add-blobs.sh b/add-blobs.sh index 656b124..84310de 100755 --- a/add-blobs.sh +++ b/add-blobs.sh @@ -20,9 +20,6 @@ function down_add_blob { } down_add_blob "nexus-repo" "nexus-repo-${NEXUS_REPO_VERSION}-unix.tar.gz" "$NEXUS_REPO_URL" -down_add_blob "openjdk" "openjdk-${JDK_17_VERSION}-linux-amd64.tar.gz" "$JDK_17_URL" - - echo "Download blobs into blobs/ based on config/blobs.yml" bosh sync-blobs diff --git a/config/blobs.yml b/config/blobs.yml index 53e4cad..a1fa76a 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,6 +1,4 @@ -nexus-repo/nexus-repo-3.75.1-01-unix.tar.gz: - size: 239429340 - sha: sha256:8f2d425f896bce70872ee0e51568dd466e5e3d38b6a65a8c0ff0d79a23540cd1 -openjdk/openjdk-17.0.13+12-linux-amd64.tar.gz: - size: 214079740 - sha: sha256:25f8ffa72fdab92bcc6e664d09d437a8e3d9131d4b5c940aaf795bc4057bdd6f +nexus-repo/nexus-repo-3.78.1-02-unix.tar.gz: + size: 418689397 + object_id: b7268cd2-86f6-4387-4f00-a4279a53b85b + sha: sha256:5a3a3deaa77e28842c12ddc23d1928da30a31e32d114a02c68b5d0238ad9b7bc diff --git a/example/manifests/nexus.yml b/example/manifests/nexus.yml index 8e2444c..241f7d5 100644 --- a/example/manifests/nexus.yml +++ b/example/manifests/nexus.yml @@ -13,6 +13,23 @@ instance_groups: jobs: - name: nexus-repo release: nexus + properties: + nexus_repo: + secrets: + active_key: secret_1 + keys: + secret_1: ((nexus_repo_encryption_secret_1)) + additional_nexus_vmoptions: + - "-Dnexus.datastore.enabled=true" + - "-Dnexus.datastore.nexus.username=((nexus_db_user))" + - "-Dnexus.datastore.nexus.password=((nexus_db_password))" + - "-Dnexus.datastore.nexus.jdbcUrl=((nexus_jdbc_url))" + +variables: + - name: nexus_repo_encryption_secret_1 + type: password + options: + length: 32 releases: - name: nexus diff --git a/example/vars/nexus-rnd-vars.yml b/example/vars/nexus-rnd-vars.yml index 5ffeac8..5eefb72 100644 --- a/example/vars/nexus-rnd-vars.yml +++ b/example/vars/nexus-rnd-vars.yml @@ -1,4 +1,7 @@ nexus_version: latest vm_type: bosh.c2.r2 persistent_disk_type: 10GB -azs: [z2] \ No newline at end of file +azs: [z2] +nexus_db_user: nexus_rnd +nexus_db_password: ((/bosh-rnd/postgres-rnd/nexus_rnd_password)) +nexus_jdbc_url: "jdbc:postgresql://q-s0.postgres.default.postgres-rnd.bosh:5432/nexus_rnd" \ No newline at end of file diff --git a/jobs/nexus-repo/monit b/jobs/nexus-repo/monit index 06caf50..a3a6680 100644 --- a/jobs/nexus-repo/monit +++ b/jobs/nexus-repo/monit @@ -1,5 +1,9 @@ check process nexus-repo with pidfile "/var/vcap/sys/run/nexus-repo/nexus-repo.pid" - start program "/var/vcap/jobs/nexus-repo/bin/ctl start" + start program "/var/vcap/jobs/nexus-repo/bin/ctl start" with timeout 120 seconds stop program "/var/vcap/jobs/nexus-repo/bin/ctl stop" - group vcap \ No newline at end of file + if failed host 127.0.0.1 port <%= p('nexus_repo.application_port') %> protocol http + and request "<%= p('nexus_repo.context_path') %>service/rest/v1/status" + with timeout 30 seconds for 12 cycles + then restart + group vcap diff --git a/jobs/nexus-repo/monit-info.md b/jobs/nexus-repo/monit-info.md new file mode 100644 index 0000000..d48a92e --- /dev/null +++ b/jobs/nexus-repo/monit-info.md @@ -0,0 +1,4 @@ +## Monit 5.2.5 man page (used in BOSH Stemcells) + +https://gist.github.com/oppegard/46dfa1e40b46aff1fa73c81b10341cab + diff --git a/jobs/nexus-repo/spec b/jobs/nexus-repo/spec index ab08b02..500dff5 100644 --- a/jobs/nexus-repo/spec +++ b/jobs/nexus-repo/spec @@ -6,33 +6,32 @@ templates: bin/ctl.sh.erb: bin/ctl bin/pre-start.sh.erb: bin/pre-start bin/start-nexus-repo.sh.erb: bin/start-nexus-repo.sh - etc/nexus.properties.erb: etc/nexus.properties etc/java.util.logging.properties.erb: etc/java.util.logging.properties - etc/nexus.vmoptions.override.erb: etc/nexus.vmoptions.override + etc/nexus.vmoptions.erb: etc/nexus.vmoptions + secrets/nexus-secrets.json.erb: secrets/nexus-secrets.json packages: - nexus-repo -- openjdk-17 - common properties: - nexus_repo.nexus_properties: - description: "nexus.properties - https://help.sonatype.com/en/configuring-the-runtime-environment.html" - default: - application-port: 8080 - application-host: 0.0.0.0 - nexus-context-path: / - nexus_repo.nexus_vmoptions: - description: "nexus.vmoptions - https://help.sonatype.com/en/configuring-the-runtime-environment.html" - default: ["-XX:+UseG1GC", "-XX:+UnlockExperimentalVMOptions"] + nexus_repo.application_port: + description: "Nexus application HTTP port, aka: application-port" + default: 8080 + nexus_repo.application_host: + description: "Nexus application host, aka: application-host" + default: "0.0.0.0" + nexus_repo.context_path: + description: "Nexus context path, aka: nexus-context-path" + default: "/" + nexus_repo.additional_nexus_vmoptions: + description: "additional nexus.vmoptions - https://help.sonatype.com/en/configuring-the-runtime-environment.html#nexus-vmoptions" + default: [] nexus_repo.envs: description: "Environment variables" default: {} example: TEST_ENV1: "val1" - nexus_repo.java.home: - description: "Java Home Dir" - default: "/var/vcap/packages/openjdk-17" nexus_repo.java.mem_percentage: description: "Java memory percentage" default: "70" @@ -44,3 +43,14 @@ properties: default: {} example: ".level": INFO + nexus_repo.secrets.keys: + description: An array containing encryption keys; a unique identifier for the key and the secret key value + default: ~ + example: + secret-1: zazolc + secret-2: gesla + secret-3: jazn + nexus_repo.secrets.active_key: + description: The key to use for encryption; the value matches the id in the secrets.keys array + default: ~ + example: secret-1 \ No newline at end of file diff --git a/jobs/nexus-repo/templates/bin/config.sh.erb b/jobs/nexus-repo/templates/bin/config.sh.erb index 5dcd5b8..e4a0f77 100755 --- a/jobs/nexus-repo/templates/bin/config.sh.erb +++ b/jobs/nexus-repo/templates/bin/config.sh.erb @@ -8,11 +8,13 @@ export LOG_DIR="/var/vcap/sys/log/$JOB_NAME" export TMP_DIR="/var/vcap/data/sys/tmp/$JOB_NAME" export PACKAGE_DIR="/var/vcap/packages/$JOB_NAME" export EPHEMERAL_DATA_DIR="/var/vcap/data/$JOB_NAME" +export PACKAGE_EPHEMERAL_DATA_DIR="/var/vcap/data/packages/$JOB_NAME" export STORE_DIR="/var/vcap/store/$JOB_NAME" -export JAVA_MEM_PERCENTAGE='<%= p("nexus_repo.java.mem_percentage") %>' -export JAVA_HOME='<%= p("nexus_repo.java.home") %>' +EMBEDDED_JDK="$(realpath "$PACKAGE_DIR/jdk/"*/jdk-*)" +export JAVA_HOME="$EMBEDDED_JDK" export PATH="$PATH:$JAVA_HOME/bin" +export JAVA_MEM_PERCENTAGE='<%= p("nexus_repo.java.mem_percentage") %>' <%- p('nexus_repo.envs', {}).each do |key, val| -%> export <%= key %>="<%= val %>" diff --git a/jobs/nexus-repo/templates/bin/ctl.sh.erb b/jobs/nexus-repo/templates/bin/ctl.sh.erb index 7d576bc..4bc1265 100755 --- a/jobs/nexus-repo/templates/bin/ctl.sh.erb +++ b/jobs/nexus-repo/templates/bin/ctl.sh.erb @@ -12,7 +12,6 @@ case $1 in pid_guard "$PID_FILE" "$JOB_NAME" exec chpst -u vcap:vcap nohup /var/vcap/jobs/nexus-repo/bin/start-nexus-repo.sh & - sleep 5 echo $! > "$PID_FILE" ;; diff --git a/jobs/nexus-repo/templates/bin/pre-start.sh.erb b/jobs/nexus-repo/templates/bin/pre-start.sh.erb index a7ef958..0a733f9 100755 --- a/jobs/nexus-repo/templates/bin/pre-start.sh.erb +++ b/jobs/nexus-repo/templates/bin/pre-start.sh.erb @@ -3,11 +3,9 @@ source /var/vcap/jobs/nexus-repo/bin/config.sh source /var/vcap/packages/common/fs_utils.sh +mkdir -p "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR/etc" "$PACKAGE_EPHEMERAL_DATA_DIR/sonatype-work" +chown -R vcap:vcap "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR" "$PACKAGE_EPHEMERAL_DATA_DIR/sonatype-work" -mkdir -p "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR/etc" -chown -R vcap:vcap "$RUN_DIR" "$LOG_DIR" "$TMP_DIR" "$EPHEMERAL_DATA_DIR" "$STORE_DIR" - -## re-link nexus.properties - https://help.sonatype.com/en/configuring-the-runtime-environment.html -force_file_link "$STORE_DIR/etc/nexus.properties" "$JOB_DIR/etc/nexus.properties" force_dir_link "$STORE_DIR/log" "$LOG_DIR" force_dir_link "$STORE_DIR/tmp" "$TMP_DIR" + diff --git a/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb b/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb index 94f7037..9d1abd0 100644 --- a/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb +++ b/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb @@ -5,9 +5,7 @@ source /var/vcap/packages/common/jvm_options.sh # shellcheck disable=SC2034 declare -a opts -read_jvm_options_file "/var/vcap/packages/nexus-repo/bin/nexus.vmoptions" opts -update_jvm_options_file "/var/vcap/jobs/nexus-repo/etc/nexus.vmoptions.override" opts - +read_jvm_options_file "$JOB_DIR/etc/nexus.vmoptions" opts remove_params_with_prefix "-Xmx" opts remove_params_with_prefix "-Xms" opts @@ -27,6 +25,6 @@ ulimit -n 65536 # Execute Java with options # shellcheck disable=SC2206 -START_CMD=("$JAVA_HOME/bin/java" "-server" $jvm_params "-cp" "$PACKAGE_DIR/lib/*:$PACKAGE_DIR/lib/boot/*:$PACKAGE_DIR/lib/endorsed/*" "org.sonatype.nexus.karaf.NexusMain") +START_CMD=("$JAVA_HOME/bin/java" "-server" $jvm_params -jar "$PACKAGE_DIR"/bin/sonatype-nexus-repository-*.jar) +cd "$PACKAGE_DIR" || exit 1 exec "${START_CMD[@]}" - diff --git a/jobs/nexus-repo/templates/etc/nexus.properties.erb b/jobs/nexus-repo/templates/etc/nexus.properties.erb deleted file mode 100644 index a71a962..0000000 --- a/jobs/nexus-repo/templates/etc/nexus.properties.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%- p('nexus_repo.nexus_properties', {}).each do |key, val| -%> -<%= key %>=<%= val %> -<%- end -%> \ No newline at end of file diff --git a/jobs/nexus-repo/templates/etc/nexus.vmoptions.erb b/jobs/nexus-repo/templates/etc/nexus.vmoptions.erb new file mode 100644 index 0000000..4e378d2 --- /dev/null +++ b/jobs/nexus-repo/templates/etc/nexus.vmoptions.erb @@ -0,0 +1,43 @@ +## XX config +-XX:+UnlockExperimentalVMOptions +-XX:+UseG1GC +-XX:+UnlockDiagnosticVMOptions +-XX:+LogVMOutput +-XX:LogFile=/var/vcap/sys/log/nexus-repo/jvm.log +-XX:-OmitStackTraceInFastThrow +## top-level nexus properties: +-Dapplication-port=<%= p('nexus_repo.application_port') %> +-Dapplication-host=<%= p('nexus_repo.application_host') %> +-Dnexus-context-path=<%= p('nexus_repo.context_path') %> +-Dnexus.secrets.file=/var/vcap/jobs/nexus-repo/secrets/nexus-secrets.json +-Djava.io.tmpdir=/var/vcap/sys/tmp/nexus-repo +-Djava.util.logging.config.file=/var/vcap/jobs/nexus-repo/etc/java.util.logging.properties +-Djdk.tls.ephemeralDHKeySize=2048 +## karaf config: +-Dkaraf.home=/var/vcap/packages/nexus-repo +-Dkaraf.base=/var/vcap/packages/nexus-repo +-Dkaraf.etc=etc/karaf +-Dkaraf.data=/var/vcap/store/nexus-repo +-Dkaraf.log=/var/vcap/sys/log/nexus-repo +-Dkaraf.bootstrap.log=/var/vcap/sys/log/nexus-repo/karaf-bootstrap.log +## additional vmoptions needed for Java9+: +--add-reads=java.xml=java.logging +--add-opens=java.base/java.security=ALL-UNNAMED +--add-opens=java.base/java.net=ALL-UNNAMED +--add-opens=java.base/java.lang=ALL-UNNAMED +--add-opens=java.base/java.util=ALL-UNNAMED +--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED +--add-opens=java.rmi/sun.rmi.transport.tcp=ALL-UNNAMED +--add-exports=java.base/sun.net.www.protocol.http=ALL-UNNAMED +--add-exports=java.base/sun.net.www.protocol.https=ALL-UNNAMED +--add-exports=java.base/sun.net.www.protocol.jar=ALL-UNNAMED +--add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED +--add-exports=jdk.naming.rmi/com.sun.jndi.url.rmi=ALL-UNNAMED +--add-exports=java.security.sasl/com.sun.security.sasl=ALL-UNNAMED +--add-exports=java.base/sun.security.x509=ALL-UNNAMED +--add-exports=java.base/sun.security.rsa=ALL-UNNAMED +--add-exports=java.base/sun.security.pkcs=ALL-UNNAMED +## properties.nexus_repo.additional_nexus_vmoptions: +<%- p('nexus_repo.additional_nexus_vmoptions', []).each do |line| -%> +<%= line %> +<%- end -%> diff --git a/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb b/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb deleted file mode 100644 index 7386610..0000000 --- a/jobs/nexus-repo/templates/etc/nexus.vmoptions.override.erb +++ /dev/null @@ -1,13 +0,0 @@ --Dkaraf.home=/var/vcap/packages/nexus-repo --Dkaraf.base=/var/vcap/packages/nexus-repo --Dkaraf.etc=etc/karaf --Dkaraf.data=/var/vcap/store/nexus-repo --Dkaraf.pid.file=/var/vcap/sys/run/nexus-repo/karaf.pid --Dkaraf.log=/var/vcap/sys/log/nexus-repo --Dkaraf.bootstrap.log=/var/vcap/sys/log/nexus-repo/karaf-bootstrap.log --Djava.io.tmpdir=/var/vcap/sys/tmp/nexus-repo --Djava.util.logging.config.file=/var/vcap/jobs/nexus-repo/etc/java.util.logging.properties --XX:LogFile=/var/vcap/sys/log/nexus-repo/jvm.log -<%- p('nexus_repo.nexus_vmoptions', []).each do |line| -%> -<%= line %> -<%- end -%> \ No newline at end of file diff --git a/jobs/nexus-repo/templates/secrets/nexus-secrets.json.erb b/jobs/nexus-repo/templates/secrets/nexus-secrets.json.erb new file mode 100644 index 0000000..89627b4 --- /dev/null +++ b/jobs/nexus-repo/templates/secrets/nexus-secrets.json.erb @@ -0,0 +1,5 @@ +{ + "active": "<%= p('nexus_repo.secrets.active_key') %>", + "keys": [ <%= p('nexus_repo.secrets.keys').map { |key, val| %Q(\n {"id": "#{key}", "key": "#{val}"}) }.join(",") %> + ] +} diff --git a/packages/openjdk-17/packaging b/packages/openjdk-17/packaging deleted file mode 100644 index 2d55a41..0000000 --- a/packages/openjdk-17/packaging +++ /dev/null @@ -1,10 +0,0 @@ -set -e - -tar xfv openjdk/openjdk-17.*.tar.gz -cp -a ./jdk-17.*/* $BOSH_INSTALL_TARGET - -rm -rf $BOSH_INSTALL_TARGET/java -rm -rf $BOSH_INSTALL_TARGET/demo -rm -rf $BOSH_INSTALL_TARGET/sample -rm -rf $BOSH_INSTALL_TARGET/man -rm -rf $BOSH_INSTALL_TARGET/src.zip \ No newline at end of file diff --git a/packages/openjdk-17/spec b/packages/openjdk-17/spec deleted file mode 100644 index 1a94192..0000000 --- a/packages/openjdk-17/spec +++ /dev/null @@ -1,7 +0,0 @@ ---- -name: openjdk-17 - -dependencies: [] - -files: -- openjdk/*.tar.gz diff --git a/rel.env b/rel.env index d9bee6d..061d363 100644 --- a/rel.env +++ b/rel.env @@ -1,6 +1,6 @@ export REL_NAME="nexus" -export REL_VERSION="1.0.0" -# export REL_FLAGS=" --force " +export REL_VERSION="1.1.0" +#export REL_FLAGS=" --force " export REL_FLAGS=" --final " export TMP_DIR=".temp" diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml index 9b607d0..8d1bd2c 100644 --- a/releases/nexus/index.yml +++ b/releases/nexus/index.yml @@ -1,4 +1,6 @@ builds: + 0ae344b6-6af4-47f4-4e96-5a1f61256e98: + version: 1.1.0 ca50013c-c1b8-4ce4-5dbc-b698072735c4: version: 1.0.0 format-version: "2" diff --git a/releases/nexus/nexus-1.1.0.yml b/releases/nexus/nexus-1.1.0.yml new file mode 100644 index 0000000..49ac50a --- /dev/null +++ b/releases/nexus/nexus-1.1.0.yml @@ -0,0 +1,27 @@ +name: nexus +version: 1.1.0 +commit_hash: 29575f3 +uncommitted_changes: false +jobs: +- name: nexus-repo + version: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + fingerprint: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + sha1: sha256:3bee54e0696553756f2a211184842b27c54d58b810938a00cb941907778770aa + packages: + - nexus-repo + - common +packages: +- name: common + version: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + fingerprint: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + sha1: sha256:1c6bd6f7097ab4c6f0135c20bafad4e3118822a42c1ca70ed3dc85bc73d05d29 + dependencies: [] +- name: nexus-repo + version: eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8 + fingerprint: eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8 + sha1: sha256:c9a78b7b203505a1226d6c42671395499005668b3a194795a00e6dbbaa9f4f9e + dependencies: [] +license: + version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + sha1: sha256:1c743c45ac8c4c00c7ac768dca16c32a598bf4b84b3e92a5ba35542a1806bed7 diff --git a/src/common/fs_utils.sh b/src/common/fs_utils.sh index 5dd7139..c676b0c 100755 --- a/src/common/fs_utils.sh +++ b/src/common/fs_utils.sh @@ -6,18 +6,18 @@ force_dir_link() { # Check if the override path is already a symbolic link to the target path if [ -L "$override_path" ] && [ "$(readlink "$override_path")" == "$target_path" ]; then - echo "The override path $override_path is already a symbolic link to $target_path. No changes made." + echo "The override path '$override_path' is already a symbolic link to '$target_path'. No changes made." return 0 fi # Remove the override path if it exists (directory, file, or symbolic link) if [ -e "$override_path" ]; then - echo "Removing existing override path $override_path..." + echo "Removing existing override path '$override_path'" rm -rf "$override_path" fi # Create a symbolic link pointing to the target path - echo "Creating symbolic link from $override_path to $target_path..." + echo "Creating symbolic link from '$override_path' to '$target_path'" ln -s "$target_path" "$override_path" } @@ -27,17 +27,17 @@ force_file_link() { # Check if the override path is a symbolic link if [ -L "$override_path" ]; then - echo "The override path $override_path is already a symbolic link. No changes made." + echo "The override path '$override_path' is already a symbolic link. No changes made." return 0 fi # Remove the override path if it exists (file or something else) if [ -e "$override_path" ]; then - echo "Removing existing override path $override_path..." + echo "Removing existing override path '$override_path'" rm -f "$override_path" fi # Create a symbolic link pointing to the target file - echo "Creating symbolic link from $override_path to $target_file..." + echo "Creating symbolic link from '$override_path' to '$target_file'" ln -s "$target_file" "$override_path" } diff --git a/src/meta-info/blobs-versions.env b/src/meta-info/blobs-versions.env index b98340a..340f3dd 100644 --- a/src/meta-info/blobs-versions.env +++ b/src/meta-info/blobs-versions.env @@ -1,11 +1,6 @@ -# https://bell-sw.com/pages/downloads/#jdk-17-lts -JDK_17_VERSION="17.0.13+12" -JDK_17_URL="https://download.bell-sw.com/java/${JDK_17_VERSION}/bellsoft-jdk${JDK_17_VERSION}-linux-amd64.tar.gz" - # https://help.sonatype.com/en/download.html -NEXUS_REPO_VERSION="3.75.1-01" -NEXUS_REPO_URL="https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-${NEXUS_REPO_VERSION}-unix.tar.gz" - +NEXUS_REPO_VERSION="3.78.1-02" +NEXUS_REPO_URL="https://download.sonatype.com/nexus/3/nexus-unix-x86-64-${NEXUS_REPO_VERSION}.tar.gz" # https://help.sonatype.com/en/download-and-compatibility.html # https://download.sonatype.com/clm/server/latest.tar.gz From fa36215917eacb448788eef2f11b1431567b173f Mon Sep 17 00:00:00 2001 From: kinjelom Date: Wed, 19 Mar 2025 09:09:48 +0100 Subject: [PATCH 4/6] v1.1.1 --- .final_builds/packages/nexus-repo/index.yml | 4 +++ config/blobs.yml | 8 +++--- rel.env | 2 +- releases/nexus/index.yml | 2 ++ releases/nexus/nexus-1.1.1.yml | 27 +++++++++++++++++++++ src/meta-info/blobs-versions.env | 2 +- 6 files changed, 39 insertions(+), 6 deletions(-) create mode 100644 releases/nexus/nexus-1.1.1.yml diff --git a/.final_builds/packages/nexus-repo/index.yml b/.final_builds/packages/nexus-repo/index.yml index 216c32e..715e5bb 100644 --- a/.final_builds/packages/nexus-repo/index.yml +++ b/.final_builds/packages/nexus-repo/index.yml @@ -7,6 +7,10 @@ builds: version: 71eec68c02b78f703529f75c2fde388d496097070f2fc5b188a2261ab98504ea blobstore_id: fc818c11-f8fa-46d1-6107-2f43010e488f sha1: sha256:fa83fbe4f5906db18c0fe3bdf2b4259f72d3a8504ac9caef739a9367a7a940f8 + a184fcee77a470631f5a2a81fb73a5017e922d916953d4f19cf7b6bb9a99c00f: + version: a184fcee77a470631f5a2a81fb73a5017e922d916953d4f19cf7b6bb9a99c00f + blobstore_id: e05a97ff-e531-4776-5c3e-b19d859404bd + sha1: sha256:6996f206c3319dacfb487deb215ffe72f18b84df1f7fbab900e54d1c36da65ca eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8: version: eff089c316a19db386443044c7a64a7ffdeac149e40d295bf8ee620aa30a98d8 blobstore_id: bcfd78e4-f5e7-443e-49fe-c7b439955ec1 diff --git a/config/blobs.yml b/config/blobs.yml index a1fa76a..6c90baa 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,4 +1,4 @@ -nexus-repo/nexus-repo-3.78.1-02-unix.tar.gz: - size: 418689397 - object_id: b7268cd2-86f6-4387-4f00-a4279a53b85b - sha: sha256:5a3a3deaa77e28842c12ddc23d1928da30a31e32d114a02c68b5d0238ad9b7bc +nexus-repo/nexus-repo-3.78.2-04-unix.tar.gz: + size: 418710623 + object_id: 0465f812-d579-4334-550e-d8965a9ff980 + sha: sha256:c78a099374d33f6f31f784eb471a4cb34c670b5b7c99538d3ba38e0c1404bd63 diff --git a/rel.env b/rel.env index 061d363..252c22e 100644 --- a/rel.env +++ b/rel.env @@ -1,5 +1,5 @@ export REL_NAME="nexus" -export REL_VERSION="1.1.0" +export REL_VERSION="1.1.1" #export REL_FLAGS=" --force " export REL_FLAGS=" --final " diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml index 8d1bd2c..3363e79 100644 --- a/releases/nexus/index.yml +++ b/releases/nexus/index.yml @@ -1,6 +1,8 @@ builds: 0ae344b6-6af4-47f4-4e96-5a1f61256e98: version: 1.1.0 + 0f151346-eba3-4b66-66e9-10cfb3fcf9d9: + version: 1.1.1 ca50013c-c1b8-4ce4-5dbc-b698072735c4: version: 1.0.0 format-version: "2" diff --git a/releases/nexus/nexus-1.1.1.yml b/releases/nexus/nexus-1.1.1.yml new file mode 100644 index 0000000..425a70f --- /dev/null +++ b/releases/nexus/nexus-1.1.1.yml @@ -0,0 +1,27 @@ +name: nexus +version: 1.1.1 +commit_hash: 65db149 +uncommitted_changes: false +jobs: +- name: nexus-repo + version: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + fingerprint: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + sha1: sha256:3bee54e0696553756f2a211184842b27c54d58b810938a00cb941907778770aa + packages: + - nexus-repo + - common +packages: +- name: common + version: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + fingerprint: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + sha1: sha256:1c6bd6f7097ab4c6f0135c20bafad4e3118822a42c1ca70ed3dc85bc73d05d29 + dependencies: [] +- name: nexus-repo + version: a184fcee77a470631f5a2a81fb73a5017e922d916953d4f19cf7b6bb9a99c00f + fingerprint: a184fcee77a470631f5a2a81fb73a5017e922d916953d4f19cf7b6bb9a99c00f + sha1: sha256:6996f206c3319dacfb487deb215ffe72f18b84df1f7fbab900e54d1c36da65ca + dependencies: [] +license: + version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + sha1: sha256:1c743c45ac8c4c00c7ac768dca16c32a598bf4b84b3e92a5ba35542a1806bed7 diff --git a/src/meta-info/blobs-versions.env b/src/meta-info/blobs-versions.env index 340f3dd..7bc0e32 100644 --- a/src/meta-info/blobs-versions.env +++ b/src/meta-info/blobs-versions.env @@ -1,5 +1,5 @@ # https://help.sonatype.com/en/download.html -NEXUS_REPO_VERSION="3.78.1-02" +NEXUS_REPO_VERSION="3.78.2-04" NEXUS_REPO_URL="https://download.sonatype.com/nexus/3/nexus-unix-x86-64-${NEXUS_REPO_VERSION}.tar.gz" # https://help.sonatype.com/en/download-and-compatibility.html From c100b029d67aff27d777fd1adf6c7d03d5d973ba Mon Sep 17 00:00:00 2001 From: kinjelom Date: Tue, 2 Sep 2025 12:17:46 +0200 Subject: [PATCH 5/6] v1.1.2 --- .gitignore | 3 ++- add-blobs.sh | 2 +- config/blobs.yml | 8 ++++---- packages/nexus-repo/packaging | 2 +- rel.env | 4 ++-- src/meta-info/blobs-versions.env | 4 ++-- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index 3751a1e..9c77877 100644 --- a/.gitignore +++ b/.gitignore @@ -26,4 +26,5 @@ credentials.yml *.cert *.key *.p12 -creds.yml \ No newline at end of file +creds.yml +prv-notes.md \ No newline at end of file diff --git a/add-blobs.sh b/add-blobs.sh index 84310de..d91e5bd 100755 --- a/add-blobs.sh +++ b/add-blobs.sh @@ -19,7 +19,7 @@ function down_add_blob { fi } -down_add_blob "nexus-repo" "nexus-repo-${NEXUS_REPO_VERSION}-unix.tar.gz" "$NEXUS_REPO_URL" +down_add_blob "nexus-repo" "nexus-repo-${NEXUS_REPO_VERSION}.tar.gz" "$NEXUS_REPO_URL" echo "Download blobs into blobs/ based on config/blobs.yml" bosh sync-blobs diff --git a/config/blobs.yml b/config/blobs.yml index 6c90baa..c7ac757 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,4 +1,4 @@ -nexus-repo/nexus-repo-3.78.2-04-unix.tar.gz: - size: 418710623 - object_id: 0465f812-d579-4334-550e-d8965a9ff980 - sha: sha256:c78a099374d33f6f31f784eb471a4cb34c670b5b7c99538d3ba38e0c1404bd63 +nexus-repo/nexus-repo-3.83.1-03.tar.gz: + size: 494892053 + object_id: 502dd46d-07a1-4d74-4cc1-2b25f1513a82 + sha: sha256:e93bf4553213fd74f3d7d3d8a535c6617df261e0b190ac3943244d1f1112f175 diff --git a/packages/nexus-repo/packaging b/packages/nexus-repo/packaging index 86c9565..e894edf 100644 --- a/packages/nexus-repo/packaging +++ b/packages/nexus-repo/packaging @@ -2,5 +2,5 @@ set -e source meta-info/blobs-versions.env -tar xfv nexus-repo/nexus-repo-${NEXUS_REPO_VERSION}-unix.tar.gz +tar xfv nexus-repo/nexus-repo-${NEXUS_REPO_VERSION}.tar.gz cp -ar ./nexus-${NEXUS_REPO_VERSION}/* $BOSH_INSTALL_TARGET diff --git a/rel.env b/rel.env index 252c22e..114ad1c 100644 --- a/rel.env +++ b/rel.env @@ -1,7 +1,7 @@ export REL_NAME="nexus" -export REL_VERSION="1.1.1" -#export REL_FLAGS=" --force " +export REL_VERSION="1.1.2" export REL_FLAGS=" --final " +#export REL_FLAGS=" --force " export TMP_DIR=".temp" export REL_TARBALL="$REL_NAME-boshrelease-$REL_VERSION.tgz" diff --git a/src/meta-info/blobs-versions.env b/src/meta-info/blobs-versions.env index 7bc0e32..8289aba 100644 --- a/src/meta-info/blobs-versions.env +++ b/src/meta-info/blobs-versions.env @@ -1,6 +1,6 @@ # https://help.sonatype.com/en/download.html -NEXUS_REPO_VERSION="3.78.2-04" -NEXUS_REPO_URL="https://download.sonatype.com/nexus/3/nexus-unix-x86-64-${NEXUS_REPO_VERSION}.tar.gz" +NEXUS_REPO_VERSION="3.83.1-03" +NEXUS_REPO_URL="https://download.sonatype.com/nexus/3/nexus-${NEXUS_REPO_VERSION}-linux-x86_64.tar.gz" # https://help.sonatype.com/en/download-and-compatibility.html # https://download.sonatype.com/clm/server/latest.tar.gz From 895845379e457d0e5cda33940c60f158e2646f1c Mon Sep 17 00:00:00 2001 From: kinjelom Date: Tue, 2 Sep 2025 12:20:30 +0200 Subject: [PATCH 6/6] v1.1.2 --- .final_builds/packages/nexus-repo/index.yml | 4 +++ releases/nexus/index.yml | 2 ++ releases/nexus/nexus-1.1.2.yml | 27 +++++++++++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 releases/nexus/nexus-1.1.2.yml diff --git a/.final_builds/packages/nexus-repo/index.yml b/.final_builds/packages/nexus-repo/index.yml index 715e5bb..f804049 100644 --- a/.final_builds/packages/nexus-repo/index.yml +++ b/.final_builds/packages/nexus-repo/index.yml @@ -3,6 +3,10 @@ builds: version: 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678 blobstore_id: e9a30af0-05b1-4cc8-6109-4bb84b7c04bc sha1: sha256:b36de41b3651c442125b681bbb17f8471e264c4f20b50be4d56f3479d6bebdcb + 3dcea549719012002958b6aedb2338350f22e4e99a0b954fc3d23078a26f7c62: + version: 3dcea549719012002958b6aedb2338350f22e4e99a0b954fc3d23078a26f7c62 + blobstore_id: 62ced52e-5f73-465e-517f-09fadeb728eb + sha1: sha256:4b19b58bf3f580c2bfc59d26e7089fa81bc8f7afebb36aac0f5761dbdbcea9fe 71eec68c02b78f703529f75c2fde388d496097070f2fc5b188a2261ab98504ea: version: 71eec68c02b78f703529f75c2fde388d496097070f2fc5b188a2261ab98504ea blobstore_id: fc818c11-f8fa-46d1-6107-2f43010e488f diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml index 3363e79..291f351 100644 --- a/releases/nexus/index.yml +++ b/releases/nexus/index.yml @@ -5,4 +5,6 @@ builds: version: 1.1.1 ca50013c-c1b8-4ce4-5dbc-b698072735c4: version: 1.0.0 + f23cdf05-d6d0-412f-51bb-40d82ecedae1: + version: 1.1.2 format-version: "2" diff --git a/releases/nexus/nexus-1.1.2.yml b/releases/nexus/nexus-1.1.2.yml new file mode 100644 index 0000000..c28db7b --- /dev/null +++ b/releases/nexus/nexus-1.1.2.yml @@ -0,0 +1,27 @@ +name: nexus +version: 1.1.2 +commit_hash: c100b02 +uncommitted_changes: false +jobs: +- name: nexus-repo + version: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + fingerprint: f45c5211df3fb2f9e5607a4f1ebbdb4ededfa8eeae51aa6d27f8d46c5d79e10e + sha1: sha256:3bee54e0696553756f2a211184842b27c54d58b810938a00cb941907778770aa + packages: + - nexus-repo + - common +packages: +- name: common + version: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + fingerprint: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + sha1: sha256:1c6bd6f7097ab4c6f0135c20bafad4e3118822a42c1ca70ed3dc85bc73d05d29 + dependencies: [] +- name: nexus-repo + version: 3dcea549719012002958b6aedb2338350f22e4e99a0b954fc3d23078a26f7c62 + fingerprint: 3dcea549719012002958b6aedb2338350f22e4e99a0b954fc3d23078a26f7c62 + sha1: sha256:4b19b58bf3f580c2bfc59d26e7089fa81bc8f7afebb36aac0f5761dbdbcea9fe + dependencies: [] +license: + version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + fingerprint: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 + sha1: sha256:1c743c45ac8c4c00c7ac768dca16c32a598bf4b84b3e92a5ba35542a1806bed7