diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-26 23:58:22 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-26 23:58:22 +0100 |
commit | 110ffae47db27a49bbc43f86ba3737bccc1b3085 (patch) | |
tree | d74934b12e2904b8aff5fe87421a6501b8ea5c8e /docs | |
parent | ca27d6f6d9ccc35bf55db3d360d1d464d5e206e7 (diff) | |
download | app.sh-110ffae47db27a49bbc43f86ba3737bccc1b3085.tar.gz app.sh-110ffae47db27a49bbc43f86ba3737bccc1b3085.tar.bz2 app.sh-110ffae47db27a49bbc43f86ba3737bccc1b3085.tar.xz app.sh-110ffae47db27a49bbc43f86ba3737bccc1b3085.zip |
o Rewriting most of this stuff to make it feel more like git.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/README.md | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index c4a83e9..0000000 --- a/docs/README.md +++ /dev/null @@ -1,166 +0,0 @@ -Installation ------------- - - git clone http://.../app.sh.git - - mkdir /opt/apps - cd /opt/apps - ln -s .../app.sh.git/app.sh app.sh - -NOTE: The bash completion is not perfect yet. - - echo 'source .../app.sh.git/app_completion' >> ~/.bashrc - -Or was it `~/.bash_profile`? hmm - -TODOs ------ - -* Support installation-wide settings. Useful for shared environment - settings etc (PATH). - -* Add support for hooks in .app/hooks. Example hooks: - * Diff config. Save a backup of the config on installtaion. - * Copy the configuration from the previous installation. - -* Support changing current version. - -* Document app.sh - * Concept: config. group, key and value. - * Scriptable - -* init.d support - register the application under /etc/init.d on - installation. Should probably be a plugin. - -* Support -h for all applicable methods to show the help/usage. - -* Rename "scripts/" to handlers or something similar. Perhaps just - remove it entirely. - -* Document how the operate method (custom pid-method stuff) can see - its own output for debugging. - -Commands --------- - -### `instance` - -#### `install` - -#### `upgrade` - -Tries to upgrade all instances where the version doesn't match the resolved version. - -#### `list` - -#### `list-versions` - -#### `set-current` - -#### `remove` - -Not implemented - -### `conf` - -#### `get` - - ./app -n $n -i $i conf get - -#### `set` - - ./app -n $n -i $i conf set group.key value - -#### `delete` - - ./app -n $n -i $i conf delete group.key - -### `operate` - -The operate sub-methods are provided by the application. - -#### Supported methods by `pid-method` - -#### `start` - -#### `stop` - -TODO: support -f flag that doesn't exit with 1 if the app is not running. - -#### `status` - -### `foreach` - -Runs the given command for each of the selected instances. - -Method Contract ---------------- - -### Environment variables you can depend on - -* `APPSH_NAME` -* `APPSH_INSTANCE` -* `APPSH_METHOD` - -Unclassified: - -* `APPSH_HOME` -* `APPSH_APPS` - -Directory Hierarchy -------------------- - -### Current - -App.sh is installed through cloning the git repository and/or -unpacking a tarball from the git repository. The directory that -contains the app.sh libraries is known as `$APPSH_HOME`. - -App.sh related: - - ./ The root of an application set. Known as $APPSH_APPS - ./app The app script, symlinked from your git clone directory - ./.app/lib bash libraries used by app.sh and methods - ./.app/var runtime data - -Applications: - - ./<name>/<instance>/ - Known as $APPSH_INSTANCE_HOME - current -> - symlink to the currently installed app - versions/ - collection with all installed versions - 1.0/ - A installed version. The zip file is unzipped here. - root/ - The current directory when executing methods and scripts - scripts/ - 1.1/ - 2.0/ - -Creating Apps -------------- - -"App bundles" are basically just zip file with a specific layout. It -has to contain at least a `root/` directory which contains your -application. It can contain anything. The `current` symlink will point -to this directory. - -The bundle can also contain a special `scripts` directory which -contains scripts that's run durtion package operations. Only -`postinstall` is currently supported. - -Zip File Tree -============= - - root/ - bin/ - myapp - etc/ - config - scripts/ - postinstall - -Managing Apps -------------- - -Setting Environment Variables ------------------------------ - - app -n .. -i .. conf |