Skip to content
This repository was archived by the owner on Mar 29, 2022. It is now read-only.

Commit 4d9421e

Browse files
committed
reorganizing agave apps part
1 parent 5c73609 commit 4d9421e

13 files changed

+158
-131
lines changed

docs/01.install_cli.md

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
---
22
layout: page
3-
title: Install and Configure the CLI
3+
title: Install and Configure the SD2E CLI
44
tagline:
55
---
66

77
The primary method for interacting with the SD2E platform is the
88
[SD2E command line interface (CLI)](https://github.com/SD2E/sd2e-cli).
9-
The CLI is a collection of ~150 shell scripts and other resources for managing
10-
authorization, files, systems, applications, jobs, and more.
9+
The SD2E CLI is a collection of several other CLIs including Agave, Abaco,
10+
TACCLab, and TACCReg. In total, they comprise ~150 shell scripts and other
11+
resources for managing authorization, files, systems, applications, jobs, and
12+
more.
1113

1214
There are three methods to install the CLI, choose whichever fits your preferred
1315
working environment:

docs/02.modify_systems.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
layout: page
3-
title: Modify Existing Systems
3+
title: Modify an Existing System
44
tagline:
55
---
66

docs/03.apps_init.md

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
layout: page
3+
title: Title Here
4+
tagline:
5+
---
6+
7+
Intro text.
8+
9+
1. List element 1
10+
2. List element 2
11+
3. List element 3
12+
13+
14+
<br>
15+
#### Header 1
16+
17+
```
18+
% code block
19+
```
20+
21+
22+
<br>
23+
#### Header 2
24+
25+
[Example link](https://url/)
26+
27+
28+
<br>
29+
#### Header 3
30+
31+
32+
33+
---
34+
Return to the [API Documentation Overview](../index.md)

docs/03.modify_applications.md renamed to docs/03.modify_app.md

+12-61
Original file line numberDiff line numberDiff line change
@@ -1,69 +1,20 @@
11
---
22
layout: page
3-
title: Modify Existing Systems and Applications
3+
title: Modify an Existing Application
44
tagline:
55
---
66

7-
Agave [systems](02.create_systems.md) and [apps](03.create_app.md) are described by
8-
`json` files and added to the SD2E tenant using the command line interface. To
9-
modify a system or app after it has been added, simply edit the original `json`
10-
file and use the command line interface to push the changes to the SD2E tenant.
7+
Agave [apps](03.old_create_app.md) are described by `json` files and added to the
8+
SD2E tenant using the command line interface. To modify an app after it has
9+
been added, simply edit the original `json` file and use the command line
10+
interface to push the changes to the SD2E tenant.
1111

12-
Common examples are shown below.
13-
14-
15-
<br>
16-
#### Modify an Agave system
17-
18-
This is an example Agave storage system `json` file from an
19-
[earlier section](create_systems.md) of this user guide:
20-
```
21-
{
22-
"id": "jetstream-storage-username",
23-
"name": "My Jetstream Storage System",
24-
"description": "My system for storing data on jetstream instance 129.114.104.39",
25-
"status": "UP",
26-
"type": "STORAGE",
27-
"storage": {
28-
"host": "129.114.104.39",
29-
"port": 22,
30-
"protocol": "SFTP",
31-
"rootDir": "/home/username",
32-
"homeDir": "/",
33-
"auth": {
34-
"publicKey": " <enter public key here> ",
35-
"privateKey": " <enter private key here> ",
36-
"username": "username",
37-
"type": "SSHKEYS"
38-
}
39-
}
40-
}
41-
```
42-
43-
This storage system is attached to a [Jetstream instance](https://jetstream-cloud.org/).
44-
Users of this and other cloud environments know that IP addresses for instances may
45-
change. If your Jetstream instance IP address changes, there is no need to delete the old
46-
storage system and create a new one. Instead, you can modify the existing storage system
47-
to use the new IP address.
48-
49-
Edit the original system `json` file to reflect the new IP address (in the case above,
50-
the `description` and `host` fields would need to be edited. Then, perform the
51-
following:
52-
```
53-
% systems-addupdate -F jetstream-storage-username.json jetstream-storage-username
54-
```
55-
56-
To confirm that the changes have taken place, verbosely list the contents of the
57-
storage system:
58-
```
59-
% systems-list -v jetstream-storage-username
60-
```
6112

6213
<br>
6314
#### Modify an Agave app
6415

65-
This is an example Agave app `json` file from an
66-
[earlier section](create_app_04.md) of this user guide:
16+
This is an example Agave app `json` file from
17+
[another section](03.old_create_app_04.md) of this user guide:
6718
```
6819
{
6920
"name": "fastqc-username",
@@ -106,11 +57,11 @@ This is an example Agave app `json` file from an
10657
```
10758

10859
If a new version of FastQC was released (e.g. 0.11.6), that would be cause to
109-
[create a new app](create_app.md), using this current app as a template. An
110-
example case where it would be approriate to modify an existing app is,
111-
for example, to a default file for the `fastq` input.
60+
[create a new app](03.old_create_app.md), using this current app as a template.
61+
A case where it would be appropriate to modify an existing app is, for example,
62+
to add a default file for the `fastq` input.
11263

113-
If you followed the [Create Custom Applications](create_app.md) user guide,
64+
If you followed the [Create Custom Applications](03.old_create_app.md) user guide,
11465
then you may have a sample fastq file located here:
11566

11667
`agave://data-tacc-work-username/sd2e-data/sample/SP1.fq`
@@ -157,7 +108,7 @@ you may consider disabling the earlier app. The following command toggles the
157108
<br>
158109
#### Further help
159110

160-
Additional system and app `json` fields can be found in in the online
111+
Additional app `json` fields can be found in in the online
161112
[Agave documentation](http://developer.tacc.cloud/).
162113

163114

docs/create_app.md renamed to docs/03.old_create_app.md

+13-10
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,14 @@ title: Create Custom Applications
44
tagline:
55
---
66

7+
##### *NOTE: This build process works, but has been streamlined in a different guide. Please refer to the new page for [Creating Apps](03.apps_init.md). The old instructions will be kept below for reference.*
8+
9+
<br><br><br>
710
You can find Agave applications ("apps") in the SD2E catalog by using the `apps-list`
8-
command described [previously](find_application.md). What if the app you are
11+
command described [previously](02.find_application.md). What if the app you are
912
looking for is not available? Using the Agave CLI, you can create your own.
1013

11-
<br>
14+
<br>
1215
#### Components of an app
1316

1417
The essential components you need to create your own app are:
@@ -18,21 +21,21 @@ The essential components you need to create your own app are:
1821
3. A test script (also written in bash) for testing the executable outside of the Agave environment
1922

2023
Several example apps exist and all components are visible. For example, visit the
21-
[SD2E Docker hub](https://hub.docker.com/u/sd2e/) to view existing app containers.
24+
[SD2E Docker Hub](https://hub.docker.com/u/sd2e/) to view existing app containers.
2225
And, example app bundles can be viewed on the
23-
[SD2E github page](https://github.com/SD2E/reactors-etl/tree/master/reactors).
26+
[SD2E GitHub page](https://github.com/SD2E/reactors-etl/tree/master/reactors).
2427

2528
<br>
2629
#### Create your own by example
2730

28-
The best way to demonstrate the creation of a custom app is by example. The
31+
The best way to demonstrate the creation of a custom app is by example. The
2932
following sub-pages will go through the process:
3033

31-
1. [Clone an example app](create_app_01.md)
32-
2. [Containerize your executable](create_app_02.md)
33-
3. [Build wrapper and test scripts](create_app_03.md)
34-
4. [Add your app to the SD2E tenant](create_app_04.md)
35-
5. [Best practices and next steps](create_app_05.md)
34+
1. [Clone an example app](03.old_create_app_01.md)
35+
2. [Containerize your executable](03.old_create_app_02.md)
36+
3. [Build wrapper and test scripts](03.old_create_app_03.md)
37+
4. [Add your app to the SD2E tenant](03.old_create_app_04.md)
38+
5. [Best practices and next steps](03.old_create_app_05.md)
3639

3740

3841
---

docs/create_app_01.md renamed to docs/03.old_create_app_01.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ inputs and outputs, what flags might be used, etc.).
1414

1515
*Prerequisite: `git` should be installed on your local machine*
1616

17-
On the [SD2E github pages](https://github.com/SD2E/reactors-etl),
17+
On the [SD2E GitHub pages](https://github.com/SD2E/reactors-etl),
1818
you will find examples of several apps that have already
1919
been built. Clone the entire repo using git and navigate into the `reactors` folder:
2020
```
@@ -34,11 +34,11 @@ fcs-tasbe-tacc/ kallisto/ msf/
3434
```
3535

3636
As of this writing, there are seven example apps including `hello-container`,
37-
which is both a simple example app and a template for creating new apps. Spend
37+
which is both a simple example app and a template for creating new apps. Spend
3838
some time navigating through the folders to get an idea of what components are
3939
part of an app bundle.
4040

41-
<br>
41+
<br>
4242
#### Structure of an app
4343

4444
The basic structure of an app looks as follows:
@@ -60,12 +60,12 @@ hello-container/
6060
```
6161

6262
At the top level, you will find a `Dockerfile` and `build.sh` script. These are
63-
necessary for building the container reproducibly, and having them will facilitate
63+
necessary for building the container reproducibly, and having them will facilitate
6464
future app updates. The `deploy.sh` script is the final script of the app building
6565
process which helps the user add their app to the Agave SD2E tenant.
6666

6767
The major subdirectory is named `hello-container-0.1.0/` - a concatenation of the
68-
name of the app and the version of the executable. This directory contains both
68+
name of the app and the version of the executable. This directory contains both
6969
`runner-template.sh`, which is a script directing how the app should be run upon
7070
invocation, and `tester.sh`, which is a clone of `runner-template.sh` for testing
7171
locally. Also included are template files `app.json` and `job.json` which contai
@@ -114,8 +114,8 @@ executable.
114114

115115

116116
---
117-
Proceed to [Containerize your executable](create_app_02.md)
117+
Proceed to [Containerize your executable](03.old_create_app_02.md)
118118

119-
Go back to [Create Custom Applications](create_app.md)
119+
Go back to [Create Custom Applications](03.old_create_app.md)
120120

121121
Return to the [API Documentation Overview](../index.md)

docs/create_app_02.md renamed to docs/03.old_create_app_02.md

+9-9
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ as if there is not one available for your executable. This is not meant to repla
1515
the full [Docker documentation](https://docs.docker.com/develop/).
1616

1717
We will continue with the example of FastQC from the
18-
[previous page](create_app_01.md).
18+
[previous page](03.old_create_app_01.md).
1919

2020
<br>
2121
#### Choose a source image
2222

23-
*Prerequisite: You should have a [Docker ID](https://hub.docker.com) and
23+
*Prerequisite: You should have a [Docker ID](https://hub.docker.com) and
2424
`docker` should be installed on your local machine*
2525

2626
The only dependency for [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)
@@ -92,8 +92,8 @@ to our `src/` directory, then mounted that directory within the image, e.g.:
9292
% docker run --rm -it -v $PWD:/src sd2e/base:ubuntu16
9393
...etc
9494
```
95-
That route is perfectly reasonable and can be followed here. However, some packages
96-
have very large zip or tar.gz files (100s of MB), and would be cumbersome to keep
95+
That route is perfectly reasonable and can be followed here. However, some packages
96+
have very large zip or tar.gz files (100s of MB), and would be cumbersome to keep
9797
in this `fastqc` app bundle folder. It is up to the app developer to find the balance
9898
between completeness of source files and responsible disk usage.
9999

@@ -118,12 +118,12 @@ RUN apt-get update \
118118
&& apt-get upgrade -y \
119119
&& apt-get install wget -y \
120120
&& apt-get install zip -y \
121-
&& apt-get install default-jre -y
121+
&& apt-get install default-jre -y
122122
123123
RUN wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip \
124124
&& unzip fastqc_v0.11.5.zip \
125125
&& rm fastqc_v0.11.5.zip \
126-
&& chmod +x FastQC/fastqc
126+
&& chmod +x FastQC/fastqc
127127
128128
ENV PATH "/FastQC/:$PATH"
129129
```
@@ -172,7 +172,7 @@ If successful, you should find the output files `SP1_fastqc.html` and `SP1_fastq
172172
in the `~/fastqc/example/` directory.
173173

174174

175-
<br>
175+
<br>
176176
#### Push your image to the cloud
177177

178178
Finally, push your Docker image to a publicly available repository. It can be
@@ -200,8 +200,8 @@ And execute the script with `bash` to push your image to the cloud:
200200
Next, we will continue to edit files in the app bundle to call this new image.
201201

202202
---
203-
Proceed to [Build wrapper and test scripts](create_app_03.md)
203+
Proceed to [Build wrapper and test scripts](03.old_create_app_03.md)
204204

205-
Go back to [Create Custom Applications](create_app.md)
205+
Go back to [Create Custom Applications](03.old_create_app.md)
206206

207207
Return to the [API Documentation Overview](../index.md)

docs/create_app_03.md renamed to docs/03.old_create_app_03.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ replace `USERNAME` with your Docker ID (or project space where the image is
8585
located). Also in the above file, the `container_exec.sh` script is sourced,
8686
'`perl /FastQC/fastqc`' is the command to execute, and the parameter passed to the
8787
command is the input fastq file (`${fastq}`). The final command in the script
88-
(begging with `DEBUG=1`) is the main container run command.
88+
(begging with `DEBUG=1`) is the main container run command.
8989

9090
At the bottom of the script are a few template functions that you can develop
9191
to validate that the test ran correctly. Here,
@@ -106,11 +106,11 @@ generated in the `~/fastqc/example/` folder. (Make sure not to confuse old outpu
106106
files with new output files - check the time stamps or remove the output and run
107107
again).
108108

109-
<br>
109+
<br>
110110
#### Write the wrapper script
111111

112112
The file loacted at `~/fastqc/fastqc-0.11.6/runner-template.sh` contains runtime
113-
instructions for your app in Agave. Essentially, it is a subset of your test
113+
instructions for your app in Agave. Essentially, it is a subset of your test
114114
script. Copy the test script to `runner_template.sh` and retain only the following
115115
lines:
116116
```
@@ -129,8 +129,8 @@ as it will be defined later by Agave. We also do not mount our example data into
129129
the Docker container, as that will be taken care of in production.
130130

131131
---
132-
Proceed to [Add your app to the SD2E tenant](create_app_04.md)
132+
Proceed to [Add your app to the SD2E tenant](03.old_create_app_04.md)
133133

134-
Go back to [Create Custom Applications](create_app.md)
134+
Go back to [Create Custom Applications](03.old_create_app.md)
135135

136136
Return to the [API Documentation Overview](../index.md)

0 commit comments

Comments
 (0)