1
0
Fork 0

Removed old Foxx Manager Documentation. Will be displayed elsewhere

This commit is contained in:
Michael Hackstein 2015-02-04 15:47:40 +01:00
parent 2488e11c84
commit 9e3d29e722
10 changed files with 0 additions and 673 deletions

View File

@ -1,208 +0,0 @@
!CHAPTER Behind the Foxx Manager scenes
In the previous chapter we have seen how to install and uninstall applications.
We now go into more details.
There are five steps when installing or uninstalling applications.
* *fetch* the application from a source
* *mount* the application at a mount path
* *setup* the application, creating the necessary collections
* *teardown* the application, removing the application-specific collections
* *unmount* the application
When installing an application, the steps "fetch", "mount", and "setup" are
executed automatically. When uninstalling an application, the steps "teardown"
and "unmount" are executed automatically.
!SECTION Installing an application manually
We are now going to install the hello world application manually. You can use *search*
to find application in your local copy of the central repository.
So, first we update our local copy to get the newest versions from the central repository.
unix> foxx-manager update
Updated local repository information with 4 application(s)
You can now search for words with the description of an application.
unix> foxx-manager search hello
Name Author Description
----------- ------------- -----------------------------------------
hello-foxx Frank Celler This is 'Hello World' for ArangoDB Foxx.
----------- ------------- -----------------------------------------
1 application(s) found
As soon as you know the name of the application, you can check its details.
unix> foxx-manager info hello-foxx
Name: hello-foxx
Author: Frank Celler
System: false
Description: This is 'Hello World' for ArangoDB Foxx.
Versions:
1.1.0: fetch github "fceller/hello-foxx" "v1.1.0"
1.1.1: fetch github "fceller/hello-foxx" "v1.1.1"
1.2.0: fetch github "fceller/hello-foxx" "v1.2.0"
1.2.1: fetch github "fceller/hello-foxx" "v1.2.1"
1.2.2: fetch github "fceller/hello-foxx" "v1.2.2"
If you execute
unix> foxx-manager fetch github "fceller/hello-foxx" "v1.2.1"
the git tag *1.2.1* of the referenced repo will be downloaded and the contents of its *manifest.json* is used to determine the apps' properties.
The command *fetched* lists all fetched applications.
unix> foxx-manager fetched
Name Author Description AppID Version Path
----------- ------------- ------------------------------ --------------------- -------- -----------------
hello-foxx A simple example application. app:hello-foxx:1.2.1 1.2.1 hello-foxx-1.2.1
hello-foxx Frank Celler A simple example application. app:hello-foxx:1.2.2 1.2.2 hello-foxx-1.2.2
----------- ------------- ------------------------------ --------------------- -------- -----------------
2 application(s) found
We have now two versions of the hello world application. The current version fetched when installing the application using *install* and the one fetched now.
Let's now mount the application in version 1.2.1 under */hello*.
unix> foxx-manager mount app:hello-foxx:1.2.1 /hello
unix> foxx-manager installed
Name Author Description AppID Version Mount Active System
----------- ------------------ -------------------------------------------------------- --------------------- -------- ----------------- ------- -------
hello-foxx Frank Celler A simple example application. app:hello-foxx:1.2.1 1.2.1 /hello yes no
hello-foxx Frank Celler A simple example application. app:hello-foxx:1.2.2 1.2.2 /example yes no
aardvark Michael Hackstein Foxx application manager for the ArangoDB web interface app:aardvark:1.0 1.0 /_admin/aardvark yes yes
----------- ------------------ -------------------------------------------------------- --------------------- -------- ----------------- ------- -------
3 application(s) found
The application is mounted but not yet initialized. If you check the
available collections, you will see that there is no collection
called *hello_texts*.
arangosh> db._collections()
[
[ArangoCollection 2965927, "_routing" (type document, status loaded)],
[ArangoCollection 96682407, "example_texts" (type document, status loaded)],
...
]
A collection *example_texts* exists. This belongs to the mounted application
at */example*. If we set-up the application, then the setup script will
create the missing collection.
unix> foxx-manager setup /hello
Now check the list of collections again.
arangosh> db._collections()
[
[ArangoCollection 2965927, "_routing" (type document, status loaded)],
[ArangoCollection 96682407, "example_texts" (type document, status unloaded)],
[ArangoCollection 172900775, "hello_texts" (type document, status loaded)],
...
]
You can now use the mounted and initialized application.
unix> foxx-manager installed
Name Author Description AppID Version Mount Active System
----------- ------------------ -------------------------------------------------------- --------------------- -------- ----------------- ------- -------
hello-foxx Frank Celler A simple example application. app:hello-foxx:1.2.2 1.2.2 /example yes no
hello-foxx Frank Celler A simple example application. app:hello-foxx:1.2.1 1.2.1 /hello yes no
aardvark Michael Hackstein Foxx application manager for the ArangoDB web interface app:aardvark:1.0 1.0 /_admin/aardvark yes yes
----------- ------------------ -------------------------------------------------------- --------------------- -------- ----------------- ------- -------
3 application(s) found
As you can see, there are two instances of the application under two mount
paths in two different versions. As the collections are not shared between
applications, they are completely independent from each other.
!SECTION Uninstalling an application manually
Now let us uninstall the application again. First we have to call the
teardown script, which will remove the collection *hello_texts*.
unix> foxx-manager teardown /hello
This will drop the collection *hello_exists*. The application is,
however, still reachable. We still need to unmount it.
unix> foxx-manager unmount /hello
!SUBSECTION Removing all mounts of an application
The same application might be mounted multiple times under different mount
paths. To get rid of all mounted instances of an application, there is the
"purge" command. "purge" will unmount and tear down all mounted instances
of the application, and finally will remove the application directory, too.
This will remove all data of all instances of the application and also the
application directory, code and configured. Use with care!
!SECTION Making changes to an existing application
There are two options for deploying local changes to an existing application:
- the easiest way is to start the server in development mode. This will make
all available foxx applications be available in under the */dev/* URL prefix.
All changes to the application code will become live instantly because all
applications are reloaded on each request to a URL starting with */dev/*.
**Note**: that the constant reloading in the development mode has a performance
impact so it shouldn't be used in product.
- if the development mode is not an option, you can use the *replace* command
from foxx-manager. It provides an easy mechanism to re-deploy the code for
an already installed application. It can be used as follows:
unix> foxx-manager replace hello-foxx /hello
The above will re-deploy the code for the application *hello-foxx* which has
to be already installed under the */hello* mount point. The application's
setup function will be called when invoking *replace* but not *teardown*.
!SECTION Installing an application from your own Github repository
So far we have installed Foxx applications from the central Github repository
"arangodb/foxx-apps". It is also possible to install an application from another
repository. This can achieved by using the *fetch* and *mount* commands as
follows:
unix> foxx-manager fetch github <username>/<repository>
unix> foxx-manager mount <app-id> <mount>
*Examples*
unix> foxx-manager fetch github arangodb/fugu
unix> foxx-manager mount fugu /fugu
!SECTION Installing an application from a local directory
You may also install Foxx applications which are already located in the
filesystem. Again, you can use the *fetch* command, but with the *directory*
type. Note that the directory location must be a directory accessible by
the foxx-manager.
*Examples*
unix> foxx-manager fetch directory /home/developer/apps/myapp
unix> foxx-manager mount myapp /myapp
!SUBSECTION Installing an application from a zip file
It is also possible to install an application contained in a zip file.
You can use the *fetch* command again, with the *zip* type. Note that
the zip file must be accessible by the foxx-manager.
Let's first fetch a zip file. We'll be downloading the fugu application
from Github and store it in file *fugu.zip* locally:
unix> wget -O fugu.zip "https://github.com/arangodb/fugu/archive/master.zip"
Now we can install the application from the zip file:
unix> foxx-manager fetch zip ./fugu.zip
unix> foxx-manager mount fugu /fugu

View File

@ -1,120 +0,0 @@
!CHAPTER First Steps with the Foxx Manager
The Foxx manager is a shell program. It should have been installed under */usr/bin* or */usr/local/bin*
when installing the ArangoDB package. An instance of the ArangoDB server must be
up and running.
unix> foxx-manager
Expecting a command, please try:
Example usage:
foxx-manager install <app-info> <mount-point> option1=value1
foxx-manager uninstall <mount-point>
Further help:
foxx-manager help for the list of foxx-manager commands
foxx-manager --help for the list of options
The most important commands are
* *install*: Installs a Foxx application to a local URL and calls its setup method
* *uninstall*: Deletes a Foxx application and calls its teardown method
* *list*: Lists all installed Foxx applications (alias: *installed*)
When dealing with a fresh install of ArangoDB, there should be no installed
applications besides the system applications that are shipped with ArangoDB.
unix> foxx-manager list
Mount Name Author Description Version Development
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
/_admin/aardvark aardvark ArangoDB GmbH ArangoDB Admin Web Interface 1.0 no
/_api/gharial gharial ArangoDB GmbH ArangoDB Graph Module 0.1 no
/_system/cerberus cerberus ArangoDB GmbH Password Manager 0.0.1 no
/_system/sessions sessions ArangoDB GmbH Session storage for Foxx. 0.1 no
/_system/simple-auth simple-auth ArangoDB GmbH Simple password-based authentication for Foxx. 0.1 no
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
5 application(s) found
There are currently several applications installed, all of them are system applications.
You can safely ignore system applications.
We are now going to install the _hello world_ application. It is called
"hello-foxx" - no suprise there.
unix> foxx-manager install hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
The second parameter */example* is the mount path of the application. You
should now be able to access the example application under
http://localhost:8529/example
using your favorite browser. It will now also be visible when using the *list* command.
unix> foxx-manager list
Mount Name Author Description Version Development
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
/_admin/aardvark aardvark ArangoDB GmbH ArangoDB Admin Web Interface 1.0 no
/_api/gharial gharial ArangoDB GmbH ArangoDB Graph Module 0.1 no
/_system/cerberus cerberus ArangoDB GmbH Password Manager 0.0.1 no
/_system/sessions sessions ArangoDB GmbH Session storage for Foxx. 0.1 no
/_system/simple-auth simple-auth ArangoDB GmbH Simple password-based authentication for Foxx. 0.1 no
/example hello-foxx Frank Celler This is 'Hello World' for ArangoDB Foxx. 1.5.0 no
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
6 application(s) found
You can install the application again under different mount path.
unix> foxx-manager install hello-foxx /hello
Application hello-foxx version 1.5.0 installed successfully at mount point /hello
You now have two separate instances of the same application. They are
completely independent of each other.
unix> foxx-manager list
Mount Name Author Description Version Development
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
/_admin/aardvark aardvark ArangoDB GmbH ArangoDB Admin Web Interface 1.0 no
/_api/gharial gharial ArangoDB GmbH ArangoDB Graph Module 0.1 no
/_system/cerberus cerberus ArangoDB GmbH Password Manager 0.0.1 no
/_system/sessions sessions ArangoDB GmbH Session storage for Foxx. 0.1 no
/_system/simple-auth simple-auth ArangoDB GmbH Simple password-based authentication for Foxx. 0.1 no
/example hello-foxx Frank Celler This is 'Hello World' for ArangoDB Foxx. 1.5.0 no
/hello hello-foxx Frank Celler This is 'Hello World' for ArangoDB Foxx. 1.5.0 no
--------------------- ------------ ------------------ ----------------------------------------------- -------- ------------
7 application(s) found
The current version of the application is *1.5.0* (check the output of *list*).
It is even possible to mount a different version of an application.
Now let's remove the instance mounted under */hello*.
unix> foxx-manager uninstall /hello
Application hello-foxx version 1.5.0 uninstalled successfully from mount point /hello
Note that "uninstall" will trigger the *teardown* script, which allows the
application to clean up its own data.
Afterwards the application will be deleted from disk.
We can also replace a running application by any other application:
unix> foxx-manager replace itzpapalotl:0.9.0 /example
Application itzpapalotl version 0.9.0 installed successfully at mount point /example
This is a shortcut for an *uninstall* then *install* procedure and includes invocation of *teardown* and *setup* scripts of the respective applications.
If no application is installed at the mount point this shortcut will fail, use *install* instead.
Note here we have specified a specific version of the application: *0.9.0*.
Finally you can upgrade a running application to a newer version:
unix> foxx-manager update itzpapalotl:1.0.0 /example
Application itzpapalotl version 1.0.0 installed successfully at mount point /example
This will do *uninstall* and *install* of the application but will **not** execute *setup* or *teardown* scripts, but will run the *upgrade* script instead.
!SECTION Application identifier
For all functions that install an application the first argument is an Application identifier.
In the examples above we have used the Arango Store and downloaded applications that have been published there.
But in most cases you will install you own application that is probably not published there.

View File

@ -1,20 +0,0 @@
!CHAPTER Frequently Used Options
Internally, *foxx-manager* is a wrapper around *arangosh*. That means you can
use the options of *arangosh*. To retrieve a list of the options for *arangosh*, try
```
unix> foxx-manager --help
```
To most relevant *arangosh* options to pass to the *foxx-manager* will be:
```
--server.database <string> database name to use when connecting
--server.disable-authentication <bool> disable the password prompt and authentication when connecting to the server
--server.endpoint <string> endpoint to connect to, use 'none' to start without a server
--server.password <string> password to use when connecting
--server.username <string> username to use when connecting
```
These options allow you to use the foxx-manager with a different database or with another
than the default user.

View File

@ -1,40 +0,0 @@
!CHAPTER Install Applications from github
In this chapter we will make use of the foxx manager as described [before](FirstSteps.md).
This time we want to install an app out of our version control hosted on [github.com](https://www.github.com).
In order to install an application we need three informations:
* *Repository*: The name of the repository.
* *Username*: The username of the user owning the repository.
* *Version*: (optional) branch or tag available on the repository.
As an example, we would like to install [www.github.com/arangodb/hello-foxx](https://www.github.com/arangodb/hello-foxx).
The *username* is *arangodb*, the *repository* is *hello-foxx*.
If we do not define a *version* it will automatically install the master branch.
unix> foxx-manager install git:arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
The hello-foxx app has defined a tag for version 1.4.4 that is named "v1.4.4".
We can simply append this tag in the install command:
unix> foxx-manager install git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
This reference for github repositories can be used in all functions of the foxx-manager that allow to install foxx applications:
*install*
unix> foxx-manager install git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
*replace*
unix> foxx-manager replace git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
*upgrade*
unix> foxx-manager upgrade git:arangodb/hello-foxx:v1.5.0 /legacy
Application hello-foxx version 1.5.0 installed successfully at mount point /legacy

View File

@ -1,86 +0,0 @@
!CHAPTER Install Applications from local file system
In this chapter we will make use of the foxx manager as described [before](FirstSteps.md).
This time we want to install an app that is located on our local file system.
At this point we have to mention that it if you connect to a remote ArangoDB with
unix> foxx-manager --server.endpoint tcp://example.com:8529
the file has to be available on your local machine, not on the remote server.
The only thing you need is the path to your application either relative or absolute.
You can install a foxx application right from a directory:
unix> ls /Users/arangodb/hello-foxx
README.md app.js assets files kaffee.coffee lib
manifest.json models scripts thumbnail.png
unix> foxx-manager install /Users/arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
Or you can pack the application into a zip archive.
And then install using this archive.
unix> unzip -l ../hello-foxx.zip
Archive: hello-foxx.zip
0836dc2e81be8264e480a7695b46c1abe7ef153d
Length Date Time Name
-------- ---- ---- ----
0 09-10-14 15:35 hello-foxx/
1256 09-10-14 15:35 hello-foxx/README.md
11200 09-10-14 15:35 hello-foxx/app.js
0 09-10-14 15:35 hello-foxx/assets/
0 09-10-14 15:35 hello-foxx/assets/css/
82 09-10-14 15:35 hello-foxx/assets/css/base.css
86 09-10-14 15:35 hello-foxx/assets/css/custom.css
0 09-10-14 15:35 hello-foxx/assets/vendor/
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/
22111 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap-responsive.css
16849 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap-responsive.min.css
127247 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap.css
105939 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap.min.css
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/
8777 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/glyphicons-halflings-white.png
12799 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/glyphicons-halflings.png
0 09-10-14 15:35 hello-foxx/assets/vendor/jquery/
268380 09-10-14 15:35 hello-foxx/assets/vendor/jquery/jquery.js
0 09-10-14 15:35 hello-foxx/assets/vendor/sh/
1981 09-10-14 15:35 hello-foxx/assets/vendor/sh/highlighter.css
5563 09-10-14 15:35 hello-foxx/assets/vendor/sh/sh_javascript.js
5305 09-10-14 15:35 hello-foxx/assets/vendor/sh/sh_main.min.js
0 09-10-14 15:35 hello-foxx/files/
3266 09-10-14 15:35 hello-foxx/files/index.html
398 09-10-14 15:35 hello-foxx/files/static.html
361 09-10-14 15:35 hello-foxx/kaffee.coffee
0 09-10-14 15:35 hello-foxx/lib/
108 09-10-14 15:35 hello-foxx/lib/a.js
43 09-10-14 15:35 hello-foxx/lib/c.js
1129 09-10-14 15:35 hello-foxx/manifest.json
0 09-10-14 15:35 hello-foxx/models/
330 09-10-14 15:35 hello-foxx/models/tiger.js
0 09-10-14 15:35 hello-foxx/scripts/
2065 09-10-14 15:35 hello-foxx/scripts/setup.js
1798 09-10-14 15:35 hello-foxx/scripts/teardown.js
17727 09-10-14 15:35 hello-foxx/thumbnail.png
-------- -------
614800 37 files
unix> foxx-manager install ../hello-foxx.zip /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
You can use paths to directories in all functions of the foxx-manager that allow to install foxx applications:
*install*
unix> foxx-manager install /Users/arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
*replace*
unix> foxx-manager replace /Users/arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
*upgrade*
unix> foxx-manager upgrade /Users/arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example

View File

@ -1,85 +0,0 @@
!CHAPTER Install Applications from remote host
In this chapter we will make use of the foxx manager as described [before](FirstSteps.md).
This time we want to install an app hosted on a server.
Currently the foxx-manager supports downloads of applications via http and https protocols.
!SECTION Remote file format
The file on the remote server has to be a valid foxx application packed in a zip archive.
The zip archive has to contain a top-level directory which is containing the sources of the foxx application.
Especially the file *manifest.json* has to be directly contained in this top-level directory.
On a unix system you can verify that your zip archive has the correct format if the content looks like this:
unix> unzip -l hello-foxx.zip
Archive: hello-foxx.zip
0836dc2e81be8264e480a7695b46c1abe7ef153d
Length Date Time Name
-------- ---- ---- ----
0 09-10-14 15:35 hello-foxx/
1256 09-10-14 15:35 hello-foxx/README.md
11200 09-10-14 15:35 hello-foxx/app.js
0 09-10-14 15:35 hello-foxx/assets/
0 09-10-14 15:35 hello-foxx/assets/css/
82 09-10-14 15:35 hello-foxx/assets/css/base.css
86 09-10-14 15:35 hello-foxx/assets/css/custom.css
0 09-10-14 15:35 hello-foxx/assets/vendor/
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/
22111 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap-responsive.css
16849 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap-responsive.min.css
127247 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap.css
105939 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/css/bootstrap.min.css
0 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/
8777 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/glyphicons-halflings-white.png
12799 09-10-14 15:35 hello-foxx/assets/vendor/bootstrap/img/glyphicons-halflings.png
0 09-10-14 15:35 hello-foxx/assets/vendor/jquery/
268380 09-10-14 15:35 hello-foxx/assets/vendor/jquery/jquery.js
0 09-10-14 15:35 hello-foxx/assets/vendor/sh/
1981 09-10-14 15:35 hello-foxx/assets/vendor/sh/highlighter.css
5563 09-10-14 15:35 hello-foxx/assets/vendor/sh/sh_javascript.js
5305 09-10-14 15:35 hello-foxx/assets/vendor/sh/sh_main.min.js
0 09-10-14 15:35 hello-foxx/files/
3266 09-10-14 15:35 hello-foxx/files/index.html
398 09-10-14 15:35 hello-foxx/files/static.html
361 09-10-14 15:35 hello-foxx/kaffee.coffee
0 09-10-14 15:35 hello-foxx/lib/
108 09-10-14 15:35 hello-foxx/lib/a.js
43 09-10-14 15:35 hello-foxx/lib/c.js
1129 09-10-14 15:35 hello-foxx/manifest.json
0 09-10-14 15:35 hello-foxx/models/
330 09-10-14 15:35 hello-foxx/models/tiger.js
0 09-10-14 15:35 hello-foxx/scripts/
2065 09-10-14 15:35 hello-foxx/scripts/setup.js
1798 09-10-14 15:35 hello-foxx/scripts/teardown.js
17727 09-10-14 15:35 hello-foxx/thumbnail.png
-------- -------
614800 37 files
Next you have to make this file publicly available over http or https on a webserver.
Assume we can download the app at *http://www.example.com/hello.zip*
!SECTION Install from remote server
Having the link to your foxx application at hand you can just hand this link over to the foxx manager:
unix> foxx-manager install http://www.example.com/hello.zip /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
ArangoDB will try to download and extract the file stored at the remote location.
This http or https link can be used in all functions of the foxx-manager that allow to install foxx applications:
*install*
unix> foxx-manager install http://www.example.com/hello.zip /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
*replace*
unix> foxx-manager replace http://www.example.com/hello.zip /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
*upgrade*
unix> foxx-manager upgrade http://www.example.com/hello.zip /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example

View File

@ -1,41 +0,0 @@
!CHAPTER Install Applications from github
In this chapter we will make use of the foxx manager as described [before](FirstSteps.md).
This time we want to install an app out of our version control hosted on github.com TODO:LINK.
That means the foxx-manager does not know about the application information and we cannot install it simply by its name.
In order to install an application we need three informations:
* *Repository*: The name of the repository.
* *Username*: The username of the user owning the repository.
* *Version*: Branch or Tag name available on the repository.
As an example, we would like to install [https://www.github.com/arangodb/hello-foxx](https://www.github.com/arangodb/hello-foxx).
The *username* is *arangodb*, the *repository* is *hello-foxx*.
If we do not define a *version* it will automatically install the master branch.
unix> foxx-manager install git:arangodb/hello-foxx /example
Application hello-foxx version 1.5.0 installed successfully at mount point /example
The hello-foxx app has defined a tag for version 1.4.4 that is named "v1.4.4".
We can simply append this tag in the install command:
unix> foxx-manager install git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
This reference for github repositories can be used in all functions of the foxx-manager that allow to install foxx applications:
* *install*
unix> foxx-manager install git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
* *replace*
unix> foxx-manager replace git:arangodb/hello-foxx:v1.4.4 /legacy
Application hello-foxx version 1.4.4 installed successfully at mount point /legacy
* *upgrade*
unix> foxx-manager upgrade git:arangodb/hello-foxx:v1.5.0 /legacy
Application hello-foxx version 1.5.0 installed successfully at mount point /legacy

View File

@ -1,36 +0,0 @@
!CHAPTER Foxx Manager Commands
Use **help** to see all commands
`unix> foxx-manager help`
The following commands are available:
```
available lists all Foxx applications available in the local repository
config returns configuration information from the server
fetch fetches a Foxx application from the central foxx-apps repository into the local repository
fetched lists all fetched Foxx applications that were fetched into the local repository
help shows this help
info displays information about a Foxx application
install fetches a Foxx application from the central foxx-apps repository, mounts it to a local URL and sets it up
installed alias for the 'list' command
list lists all installed Foxx applications
mount mounts a fetched Foxx application to a local URL
purge uninstalls a Foxx application with all its mounts and physically removes the application directory
WARNING: this will remove all data and code of the application!
remove alias for the 'purge' command
replace replaces an existing Foxx application with the current local version found in the application directory
rescan rescans the Foxx application directory on the server side
note: this is only required if the server-side apps directory was modified by other processes
search searches the local foxx-apps repository
setup executes the setup script (app must already be mounted)
teardown executes the teardown script (app must be still be mounted)
WARNING: this action will remove application data if the application implements teardown!
uninstall unmounts a mounted Foxx application and calls its teardown method
unmount unmounts a mounted Foxx application without calling its teardown method
update updates the local foxx-apps repository with data from the central foxx-apps repository
```

View File

@ -1,20 +0,0 @@
!CHAPTER Using Multiple Databases
Regular Foxx applications are database-specific. When using multiple databases
inside the same ArangoDB instance, there can be different Foxx applications in each
database.
Every operation executed via the *foxx-manager* is run in the context of
a single database. By default (i.e. if not specified otherwise), the *foxx-manager*
will work in the context of the *_system* database.
If you want the *foxx-manager* to work in the context of a different database,
use the command-line argument *--server.database <database-name>* when invoking
the *foxx-manager* binary.
!SECTION Foxx Applications and Replication
Foxx applications consist of a file system part (scripts in the application directory)
and a database part. The current version of ArangoDB cannot replicate changes in the
file system so installing, updating or removing a Foxx application using *foxx-manager*
will not be included in the replication.

View File

@ -1,17 +0,0 @@
!CHAPTER Foxx Manager
!SECTION Foxx Applications
Foxx is an easy way to create APIs and simple web applications from within ArangoDB.
It is inspired by Sinatra, the classy Ruby web framework. An application built
with Foxx is written in JavaScript and deployed to ArangoDB directly. ArangoDB
serves this application, you do not need a separate application server.
In order to share your applications with the community, we have created a central GitHub repository
https://github.com/arangodb/foxx-apps
where you can register your applications. This repository also contains the hello world application for Foxx.
Applications are managed using the Foxx manager *foxx-manager*. It is similar to tools like *brew* or *aptitude*.