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-repo/index.yml b/.final_builds/jobs/nexus-repo/index.yml new file mode 100644 index 0000000..ae761a0 --- /dev/null +++ b/.final_builds/jobs/nexus-repo/index.yml @@ -0,0 +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/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 index 708f533..6d86e1a 100644 --- a/.final_builds/license/index.yml +++ b/.final_builds/license/index.yml @@ -1,6 +1,6 @@ builds: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5: version: ae18946b5cd7a9a88e62de3230d811980fa47606843e45b52990c198e2f267b5 - blobstore_id: 14d43ef3-327c-4f46-5cf6-b383f59d7cee - sha1: sha256:bbc1805a7fb4c1b36cc6b8b8c7c1c18122dc947a28376787f6fa6b64bf8d9f8c + 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..8bac714 --- /dev/null +++ b/.final_builds/packages/common/index.yml @@ -0,0 +1,10 @@ +builds: + c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997: + version: c00054c000a56259096ddbcbe08b756b6cc0be6c4e3b8b0e06deccf893746997 + blobstore_id: edda2a7c-311d-46c3-49ce-21295d7a9f54 + sha1: sha256:1c6bd6f7097ab4c6f0135c20bafad4e3118822a42c1ca70ed3dc85bc73d05d29 + 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..f804049 --- /dev/null +++ b/.final_builds/packages/nexus-repo/index.yml @@ -0,0 +1,22 @@ +builds: + 2a89b1560c719d0df2a677ca6c5d06bf87ce3c4f70330213d1c5cf7882f4a678: + 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 + 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 + sha1: sha256:c9a78b7b203505a1226d6c42671395499005668b3a194795a00e6dbbaa9f4f9e +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/.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 eab1c1c..9c77877 100644 --- a/.gitignore +++ b/.gitignore @@ -10,6 +10,10 @@ blobs .DS_Store .final_builds/jobs/**/*.tgz .final_builds/packages/**/*.tgz +.temp +.tmp +.download +.downloads *.swp *~ *# @@ -22,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/.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/README.md b/README.md index 6e84997..27894a9 100644 --- a/README.md +++ b/README.md @@ -1,196 +1,47 @@ # BOSH Release for Nexus Repository Manager -## How to deploy nexus-boshrelease +Forked from [making/nexus-boshrelease](https://github.com/making/nexus-boshrelease), thanks! -A sample manifest is following: +Nexus Repository and Java versions: [blobs-versions.env](src/meta-info/blobs-versions.env) -``` 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= -``` +## Configuring the Runtime Environment -You will be able to access `http://:8081` - - -## How to enable SSL - -A sample manifest is following: - -``` yml +```yaml --- -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))] +- name: nexus-repo jobs: - - name: java - release: openjdk - - name: nexus + - name: nexus-repo 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 - + 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))" + envs: + TEST_ENV1: abc + java_util_logging_properties: + ".level": INFO 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 -``` + - 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 +- [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 index b8aa2da..d91e5bd 100755 --- a/add-blobs.sh +++ b/add-blobs.sh @@ -1,17 +1,28 @@ -#!/bin/sh +#!/bin/bash -DIR=`pwd` +set -eux -mkdir -p .downloads +source ./src/meta-info/blobs-versions.env +source ./rel.env -cd .downloads +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 +} -NEXUS_VERSION=3.28.1-01 +down_add_blob "nexus-repo" "nexus-repo-${NEXUS_REPO_VERSION}.tar.gz" "$NEXUS_REPO_URL" -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 +echo "Download blobs into blobs/ based on config/blobs.yml" +bosh sync-blobs -cd - +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 index dbedbc5..c7ac757 100644 --- a/config/blobs.yml +++ b/config/blobs.yml @@ -1,4 +1,4 @@ -nexus/nexus-3.28.1-01-unix.tar.gz: - size: 166494026 - object_id: 88015d70-ab3b-4be4-7a7f-d298529e5a0b - sha: sha256:c87bbcedf6503e3776afede9903236ab7d8f68c31e8f1edf060e16f415166a61 +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/config/final.yml b/config/final.yml index e604e9e..a66b982 100644 --- a/config/final.yml +++ b/config/final.yml @@ -2,6 +2,4 @@ name: nexus blobstore: provider: s3 options: - bucket_name: nexus-boshrelease - region: ap-northeast-1 - endpoint: https://s3-ap-northeast-1.amazonaws.com + bucket_name: boshrelease-nexus 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/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..241f7d5 --- /dev/null +++ b/example/manifests/nexus.yml @@ -0,0 +1,49 @@ +--- +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 + 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 + 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..5eefb72 --- /dev/null +++ b/example/vars/nexus-rnd-vars.yml @@ -0,0 +1,7 @@ +nexus_version: latest +vm_type: bosh.c2.r2 +persistent_disk_type: 10GB +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-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-repo/monit b/jobs/nexus-repo/monit new file mode 100644 index 0000000..a3a6680 --- /dev/null +++ b/jobs/nexus-repo/monit @@ -0,0 +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" with timeout 120 seconds + stop program "/var/vcap/jobs/nexus-repo/bin/ctl stop" + 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 new file mode 100644 index 0000000..500dff5 --- /dev/null +++ b/jobs/nexus-repo/spec @@ -0,0 +1,56 @@ +--- +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/java.util.logging.properties.erb: etc/java.util.logging.properties + etc/nexus.vmoptions.erb: etc/nexus.vmoptions + secrets/nexus-secrets.json.erb: secrets/nexus-secrets.json + +packages: +- nexus-repo +- common + +properties: + 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.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 + 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 new file mode 100755 index 0000000..e4a0f77 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/config.sh.erb @@ -0,0 +1,21 @@ +#!/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 PACKAGE_EPHEMERAL_DATA_DIR="/var/vcap/data/packages/$JOB_NAME" +export STORE_DIR="/var/vcap/store/$JOB_NAME" + +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 %>" +<%- 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..4bc1265 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/ctl.sh.erb @@ -0,0 +1,27 @@ +#!/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 & + 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..0a733f9 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/pre-start.sh.erb @@ -0,0 +1,11 @@ +#!/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" "$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" + +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..9d1abd0 --- /dev/null +++ b/jobs/nexus-repo/templates/bin/start-nexus-repo.sh.erb @@ -0,0 +1,30 @@ +#!/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 "$JOB_DIR/etc/nexus.vmoptions" 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 -jar "$PACKAGE_DIR"/bin/sonatype-nexus-repository-*.jar) +cd "$PACKAGE_DIR" || exit 1 +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.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/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/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/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..e894edf --- /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}.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/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/rel.env b/rel.env new file mode 100644 index 0000000..114ad1c --- /dev/null +++ b/rel.env @@ -0,0 +1,8 @@ +export REL_NAME="nexus" +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" +export REL_TARBALL_PATH="$TMP_DIR/$REL_TARBALL" diff --git a/releases/nexus/index.yml b/releases/nexus/index.yml index d99852f..291f351 100644 --- a/releases/nexus/index.yml +++ b/releases/nexus/index.yml @@ -1,4 +1,10 @@ builds: - a03e6900-299b-4370-5dc7-670038c39964: - version: 0.15.0 + 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 + f23cdf05-d6d0-412f-51bb-40d82ecedae1: + version: 1.1.2 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/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/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/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/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 diff --git a/src/common/fs_utils.sh b/src/common/fs_utils.sh new file mode 100755 index 0000000..c676b0c --- /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..8289aba --- /dev/null +++ b/src/meta-info/blobs-versions.env @@ -0,0 +1,10 @@ +# https://help.sonatype.com/en/download.html +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 +# 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" +