https://github.com/making/nexus-boshrelease
BOSH Release for Nexus Repository Manager
https://github.com/making/nexus-boshrelease
Last synced: 12 months ago
JSON representation
BOSH Release for Nexus Repository Manager
- Host: GitHub
- URL: https://github.com/making/nexus-boshrelease
- Owner: making
- License: apache-2.0
- Created: 2017-03-06T17:31:05.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-28T02:56:22.000Z (over 5 years ago)
- Last Synced: 2025-04-06T07:37:35.414Z (about 1 year ago)
- Language: Shell
- Homepage:
- Size: 169 KB
- Stars: 8
- Watchers: 6
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# BOSH Release for Nexus Repository Manager
## How to deploy nexus-boshrelease
A sample manifest is following:
``` yml
---
name: nexus
releases:
- name: nexus
version: 0.12.0
url: https://github.com/making/nexus-boshrelease/releases/download/0.12.0/nexus-boshrelease-0.12.0.tgz
sha1: 09debef2e945a905e089b8d7c445df4d0b32f4e6
- name: openjdk
version: 8.0.1
url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz
sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd
stemcells:
- alias: xenial
os: ubuntu-xenial
version: latest
instance_groups:
- name: nexus
instances: 1
vm_type: default
persistent_disk: default
stemcell: xenial
azs: [z1]
networks:
- name: default
static_ips: [((internal_ip))]
jobs:
- name: java
release: openjdk
- name: nexus
release: nexus
properties:
nexus:
heap_size: 768M
max_direct_memory_size: 512M
- name: nexus-backup
release: nexus
update:
canaries: 1
max_in_flight: 1
serial: false
canary_watch_time: 1000-60000
update_watch_time: 1000-60000
```
then,
```
bosh deploy -d nexus nexus.yml -v internal_ip=
```
You will be able to access `http://:8081`
## How to enable SSL
A sample manifest is following:
``` yml
---
name: nexus
releases:
- name: nexus
version: 0.12.0
url: https://github.com/making/nexus-boshrelease/releases/download/0.12.0/nexus-boshrelease-0.12.0.tgz
sha1: 09debef2e945a905e089b8d7c445df4d0b32f4e6
- name: openjdk
version: 8.0.1
url: https://github.com/making/openjdk-boshrelease/releases/download/8.0.1/openjdk-boshrelease-8.0.1.tgz
sha1: d02566fb6d974de4b60bf44dc21e56422c7da3fd
stemcells:
- alias: xenial
os: ubuntu-xenial
version: latest
instance_groups:
- name: nexus
instances: 1
vm_type: default
persistent_disk: default
stemcell: xenial
azs: [z1]
networks:
- name: default
static_ips: [((internal_ip))]
jobs:
- name: java
release: openjdk
- name: nexus
release: nexus
properties:
nexus:
heap_size: 768M
max_direct_memory_size: 512M
ssl_cert: ((nexus_ssl.certificate))
ssl_key: ((nexus_ssl.private_key))
ssl_only: true
- name: nexus-backup
release: nexus
update:
canaries: 1
max_in_flight: 1
serial: false
canary_watch_time: 1000-60000
update_watch_time: 1000-60000
variables:
- name: nexus_pkcs12_password
type: password
- name: nexus_keystore_password
type: password
- name: default_ca
type: certificate
options:
is_ca: true
common_name: ca
- name: nexus_ssl
type: certificate
options:
ca: default_ca
common_name: ((internal_ip))
alternative_names:
- ((internal_ip))
```
then,
```
bosh deploy -d nexus nexus.yml -v internal_ip=
```
You will be able to access `https://:8443`
## Backup and Restore with [BBR](http://www.boshbackuprestore.io/)
### Backup
```
$ BOSH_CLIENT_SECRET= \
bbr deployment \
--target \
--username \
--deployment nexus \
--ca-cert \
backup
```
### Restore
```
$ BOSH_CLIENT_SECRET= \
bbr deployment \
--target \
--username \
--deployment nexus \
--ca-cert \
backup \
--artifact-path
```
## How to create stand-alone vm on VirtualBox
Download [nexus.yml](deployment/nexus.yml).
```
$ bosh create-env nexus.yml -v internal_ip=192.168.230.40 --vars-store ./nexus-creds.yml
```
https://192.168.230.40
You can get `admin` user's password as follows:
```
bosh int nexus-creds.yml --path /admin_password
```
## How to develop this bosh release
```
bosh sync-blobs
bosh create-release --name=nexus --force --timestamp-version --tarball=/tmp/nexus-boshrelease.tgz && bosh upload-release /tmp/nexus-boshrelease.tgz && bosh -n -d nexus deploy manifest.yml -v internal_ip= --no-redact
```