-
Notifications
You must be signed in to change notification settings - Fork 30
Installation
AProx contains a few pre-build flavors that incorporate different suites of add-ons for specific purposes. You'll want to start the installation process by selecting which flavor you want to install:
- aprox-rest-min: This WAR contains ONLY the repository manager and REST endpoints. There is no UI, beyond browsing content URLs. There is currently no corresponding launcher for this flavor.
- aprox-basic / aprox-launcher-min: This contains the core repository manager + core REST endpoints + monorail javascript UI
- aprox-easyprox / aprox-launcher-easyprox: This contains everything in the basic app, along with the dotMaven and Autoprox add-ons
- aprox-savant / aprox-launcher-savant: This contains everything and the kitchen sink. The main difference from easyprox is the addition of the Depgraph Add-On.
All of the above are available from the Maven central repository. The groupId for WARs is org.commonjava.aprox.wars
and for standalone launchers it's org.commonjava.aprox.launch
. For example, to download the 0.11.2
version of the aprox-savant WAR, you'd go to:
To download the standalone launcher for aprox-launcher-easyprox, you'd go to:
To setup a Docker container, you can use the images at: [https://index.docker.io/u/buildchimp/]. For instance:
$ sudo docker run buildchimp/trusted-aprox-min
The standalone-launcher variant of AProx is a self-contained application. You simply unpack the .zip or .tar.gz bundle to the desired location, and start it via:
$ cd aprox-launcher-<type>
$ bin/aprox.sh
NOTE: A Windows launch script is in the works but not yet ready as of 0.11.2. Look for it soon.
The unpacked application contains the following directory structures:
.
├── bin ................... lauch scripts
├── data .................. contains repository/group/deploy definitions, along with any add-on state
├── etc
│ └── aprox ............. contains main.conf, possibly autoprox.json and conf.d/ for add-on configuration
├── lib ................... contains aprox-cdi-components, the aggregation of org.commonjava* dependency classes
│ └── thirdparty ........ contains non-commonjava dependencies, in their unaltered forms
├── storage ............... contains artifact content, organized in per-repository/group/deploy subdirectories
└── ui .................... contains static files related to the user interface
Installing AProx on JBoss AS7 is fairly straightforward. However, one piece that may confuse many people used to working with WAR files is the configuration, which is located on the filesystem in the /etc/aprox/
directory. This may be a matter of co-locating the /etc/aprox
directory structure on the same drive letter as the WAR deployment for Windows users; I simply haven't tried that yet.
##Configuration Files
###/etc/aprox/main.conf
This is the main configuration file for AProx. It's designed to configure the options that will not vary depending on the specific mix of backend storage or add-ons included in the AProx WAR.
Currently, it only has a single configuration option:
/etc/aprox/main.conf:
---------------------
Include conf.d/*.conf
That one line tells Aprox to read all *.conf
files out of the conf.d
subdirectory. This configuration approach is designed to accommodate popular configuration management tools like Chef or Puppet, which tend to operate best when they control the entire contents of a particular file from a single configuration stanza.
For the simplest case, you only need one file in that conf.d
directory:
/etc/aprox/conf.d/storage-default.conf:
---------------------------------------
[storage-default]
storage.dir=/var/lib/aprox/storage
This configuration file contains a section header ([storage-default]
), and a directory for storing Aprox data.
You'll notice that I've got my AProx instance configured to conform to the Linux standards. Of course, it doesn't have to be this way.
Depending on which add-ons you select, you may need other configuration files. For instance, I use autoprox, which requires:
/etc/aprox/conf.d/autoprox.conf:
--------------------------------
[autoprox]
enabled=true
deployEnabled=true
(The main part of the autoprox template configuration is actually stored in /etc/aprox/autoprox.json
).
Also, note that you don't HAVE to do it this way. If you want, you can just as easily include all of the config sections you need in the main /etc/aprox/main.conf
file and forget the Include ...
line.
##Directory Setup
Now, you need to create the directory structure you referred to in storage.dir
within your /etc/aprox/main.conf
file:
$ sudo mkdir -p /var/lib/aprox/storage
Also, make sure the directory is owned by the user that will run the AS7 instance:
$ sudo chown -R jboss-as /var/lib/aprox/storage
##Install the AProx WAR
Simply stand up an instance of JBoss AS7 and deploy your freshly-built AProx WAR:
- Unzip the AS7 distribution .ZIP
- Execute
bin/standalone.sh
- Go to http://localhost:8080/
- Follow the link for
Administration Console
- Click on
Manage Deployments
near the bottom left of the console UI. - Click
Add Content
near the top right of the console UI. - Browse to your AProx WAR (
<aprox-source-dir>/wars/basic/target/aprox.war
) - Approve the
Name
andRuntime Name
settings (should be okay by default), and Save - Click
Enable
next to theaprox.war
entry, and confirm.