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

Commit f20107b

Browse files
authored
Merge pull request #25 from SD2E/devel
Devel
2 parents 7d341df + 50d8102 commit f20107b

37 files changed

+2056
-427
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ for generating their own authorization tokens and, optionally, saving them in th
1111
<br>
1212
#### Generate authorization token
1313

14-
Generate a token with the following command (the `-S` flag stores the token in
14+
Generate a token with the following command (the `-S` flag stores the token in
1515
your Agave configuration file):
1616
```
1717
% auth-tokens-create -S
Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ title: Create the Client API Keys
44
tagline:
55
---
66

7-
The Agave CLI is used to configure your user environment to interact with the
8-
SD2E platform. If you do not yet have the CLI installed and in your `$PATH`, first
9-
go [here](install_cli.md).
7+
[The Agave API](http://developer.tacc.cloud/), (a component of the SD2E API), is
8+
used to configure your user environment to interact with the SD2E platform. If
9+
you do not yet have the CLI installed and in your `$PATH`, first go
10+
[here](01.install_cli.md) to install it.
1011

1112
<br>
1213
#### Initiate with the SD2E Agave tenant
1314

14-
On the command line, perform:
15+
On the command line, perform:
1516
```
1617
% tenants-init -t sd2e
1718
@@ -24,7 +25,7 @@ home directory: `~/.agave/current`
2425
<br>
2526
#### Create API keys
2627

27-
API keys are used to authenticate and store your user credentials for a specific
28+
API keys are used to authenticate and store your user credentials for a specific
2829
client application. To generate API Keys:
2930
```
3031
% clients-create -S -N sd2e_client -D "My client used for interacting with SD2E"
@@ -60,7 +61,7 @@ can delete then regenerate client API keys with the following:
6061
```
6162

6263
<br>
63-
#### The ~/.agave/current configuration file
64+
#### The `~/.agave/current` configuration file
6465

6566
In addition to the tenant ID, your API keys are stored in the Agave configuration
6667
file. To view the contents of the file:
Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,35 @@
11
---
22
layout: page
3-
title: Install and Configure the CLI
3+
title: Install and Configure the SD2E CLI
44
tagline:
55
---
66

7-
The primary method for interacting with the SD2E platform is the
8-
[Agave command line interface (CLI)](https://agaveapi.co/).
9-
The CLI is a collection of ~150 shell scripts for managing
10-
authorization, files, systems, applications, jobs, and more.
7+
The primary method for interacting with the SD2E platform is the
8+
[SD2E command line interface (CLI)](https://github.com/SD2E/sd2e-cli).
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

12-
There are three methods to install the CLI:
14+
There are three methods to install the CLI, choose whichever fits your preferred
15+
working environment:
1316
1. Run an installer script to install in ~/sd2e-cloud-cli/bin/
1417
2. Manual install to a location of your choosing
1518
3. Pull a CLI Docker image
1619

1720
<br>
18-
#### Run an installer script to install in ~/sd2e-cloud-cli/bin/
21+
#### Requirements
22+
23+
Make sure in your environment, you have:
24+
1. [Bash](https://www.gnu.org/software/bash/)
25+
2. [cURL](https://curl.haxx.se/)
26+
3. [Git](https://git-scm.com/)
27+
4. [Docker](https://www.docker.com/get-docker)
28+
5. [jq](https://stedolan.github.io/jq/)
29+
6. [python 2.7+ or 3.x+](https://www.python.org/downloads/)
30+
31+
<br>
32+
#### Install method 1: Run an installer script to install in `~/sd2e-cloud-cli/bin/`
1933

2034
Open a terminal window and run the installer script:
2135
```
@@ -41,7 +55,7 @@ TACC Cloud API versions:
4155
```
4256

4357
<br>
44-
#### Manual install to a location of your choosing
58+
#### Install method 2: Manual install to a location of your choosing
4559

4660
Open a terminal window and navigate to your preferred location for installation:
4761

@@ -51,7 +65,8 @@ Open a terminal window and navigate to your preferred location for installation:
5165

5266
Download and unpack the CLI:
5367
```
54-
% curl -L https://raw.githubusercontent.com/sd2e/sd2e-cli/master/sd2e-cloud-cli.tgz -o sd2e-cloud-cli.tgz
68+
% curl -L https://raw.githubusercontent.com/sd2e/sd2e-cli/master/sd2e-cloud-cli.tgz \
69+
-o sd2e-cloud-cli.tgz
5570
% tar -xvzf sd2e-cloud-cli.tgz
5671
```
5772

@@ -74,7 +89,7 @@ TACC Cloud API versions:
7489
```
7590

7691
<br>
77-
#### Pull a CLI Docker image
92+
#### Install method 3: Pull a CLI Docker image *(outdated)*
7893

7994
The CLI is also available as a Docker image. For this to work, it is assumed you
8095
have a reasonably recent version of [Docker](https://www.docker.com/) installed.
@@ -99,15 +114,23 @@ TACC Cloud API versions:
99114
<br>
100115
#### Influential environment variables
101116

117+
When working with the SD2E platform, you may optionally set some of the following
118+
environment variables. In bash, it will take the form:
119+
```
120+
% export VAR_NAME=option
121+
e.g.
122+
% export AGAVE_JSON_PARSER=jq
123+
```
124+
102125
<table style="width:100%" border="1px" cellpadding="5">
103126
<tr>
104-
<th align="left">environment variable</th>
105-
<th align="left">options</th>
106-
<th align="left">description</th>
127+
<th align="left">Environment variable</th>
128+
<th align="left">Options</th>
129+
<th align="left">Description</th>
107130
</tr>
108131
<tr>
109132
<td>AGAVE_JSON_PARSER</td>
110-
<td>json_mirror, jq, json, python, native</td>
133+
<td>jq, json_mirror, json, python, native</td>
111134
<td>Set this to your favorite json parser (if installed)</td>
112135
<tr>
113136
</tr>

docs/01.request_access.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
layout: page
3+
title: Request Access to the SD2E Platform
4+
tagline:
5+
---
6+
7+
#### SD2E Access
8+
Access is restricted to SD2 project members. Your username and password will be
9+
the same as your TACC username and password. To gain access, please follow the
10+
instructions on this page:
11+
12+
[Request SD2E Access](https://sd2e.org/accounts/request-access/)
13+
14+
Note: If you are already logged in to SD2E.org, you will have to first logout
15+
by [clicking here](https://sd2e.org/accounts/logout), then retry the link above.
16+
Account confirmation may take up to 1-2 business days.
17+
18+
<br>
19+
#### GitLab
20+
Depending on how you plan to interact with and use the SD2E platform, you may
21+
also need access to the [SD2E GitLab](https://gitlab.sd2e.org/). Once your TACC
22+
account and SD2E access are confirmed, request access to Gitlab by posting in
23+
the `#cyberinfrastructure` channel of the
24+
[SD2E Team Slack](https://sd2e.slack.com/messages).
25+
26+
<br>
27+
#### Docker Hub
28+
Several components of the SD2E platform utilize Docker images. To make full use
29+
of this platform, create a personal [Docker Hub account](https://hub.docker.com/)
30+
if you do not have one already.
31+
32+
33+
34+
---
35+
Return to the [API Documentation Overview](../index.md)

docs/ssh_keys.md renamed to docs/01.ssh_keys.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ tagline:
55
---
66

77
In certain circumstances, it is advantageous to use public / private SSH keys
8-
to authenticate with Agave. Specifically, this is important when
9-
[creating your own private systems](create_systems.md). Having SSH keys will make it
10-
easier to interact with systems that do not allow password authentication or that
11-
require frequent password changes, and it will increase security by preventing
12-
the need to store your password in a plain text file.
8+
to authenticate with the Agave API. Specifically, this is important when
9+
[creating your own private systems](02.create_systems.md). Having SSH keys
10+
will make it easier to interact with systems that do not allow password
11+
authentication or that require frequent password changes, and it will increase
12+
security by preventing the need to store your password in a plain text file.
1313

1414
If you are new to the Agave CLI and the SD2E Agave tenant, it is recommended to
1515
skip this section of the documents until you need to
16-
[create your own private systems](create_systems.md).
16+
[create your own private systems](02.create_systems.md).
1717

1818
<br>
1919
#### Prerequisites
@@ -40,7 +40,7 @@ Welcome to
4040
/ ___ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | __/
4141
/_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| \___|
4242
|_|
43-
[js-104-39] %
43+
[js-104-39] %
4444
```
4545

4646
<br>
@@ -76,8 +76,8 @@ Finally, add your public key to the `authorized_keys` file on your remote system
7676
[js-104-39] % cat agave_rsa.pub >> ~/.ssh/authorized_keys
7777
```
7878
Your private key (`agave_rsa`) will be used in the future when it is time to
79-
[create your own private systems](create_systems.md). Never share your private
80-
key with anyone else.
79+
[create your own private systems](02.create_systems.md). Never share your
80+
private key with anyone else.
8181

8282

8383
---
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Modify the file to include the following:
5757
"maxRunTime": "05:00:00",
5858
"archive": false,
5959
"inputs": {
60-
"input": "agave://data-sd2e-community/sample/sailfish/test/read1.fastq"
60+
"input": "agave://data-sd2e-community/sample/sailfish/test/reads1.fastq.gz"
6161
},
6262
"parameters": {
6363
}
@@ -81,7 +81,7 @@ number of cores, and other parameters can be modified in a similar way.
8181

8282
A useful feature of Agave and the SD2E tenant is the ability to use the output
8383
of one job as the input of a second job. It saves time and avoids unnecessary
84-
file transfers to keep the output/input in Agave "Job API space. For example,
84+
file transfers to keep the output/input in Agave "job API space". For example,
8585
perhaps you want to filter out ribosomal RNA from your raw sequence data using
8686
`SortMeRNA`, then perform a quality control check on the remaining RNA seq data
8787
using `FastQC`. For the first step, run `SortMeRNA` on sample data:
@@ -154,16 +154,16 @@ URI to the `input_file` will remain the same:
154154
```
155155
https://api.sd2e.org/ # base URL - DO NOT CHANGE
156156
jobs/v2/ # refers to jobs API - DO NOT CHANGE
157-
68373037840494.../ # previous job ID
157+
68373037840494.../ # job ID from step 1
158158
outputs/media/ # location of output data - DO NOT CHANGE
159-
4311028...free_reads.fastq # name of output file
159+
4311028...free_reads.fastq # name of output file from step 1
160160
```
161161

162162
<br>
163163
#### Parameter sweeps
164164

165165
Most public SD2E apps are designed to take one input file or configuration, run
166-
an analysis, and return a result. With some simple scripting, it is possible to
166+
an analysis, and return a result. With some simple scripting, it is possible to
167167
perform parameter sweeps using multiple Agave jobs. For example, imagine you would
168168
like to run FastQC on a series of fastq files named: `fastq_01.fq`, `fastq_02.fq`,
169169
`fastq_03.fq`, etc:
@@ -180,7 +180,7 @@ fastq_01.fq fastq_02.fq fastq_03.fq
180180
% jobs-template fastqc-0.11.5u2 > fastqc.json
181181
```
182182

183-
The next step is to write a short script around the `fastqc.json` template
183+
The next step is to write a short script around the `fastqc.json` template
184184
that populates the file name into a new job json file, then submits the job.
185185
Here is an example script:
186186

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ tagline:
66

77
Most standard SD2E API users will not need to create custom execution or storage
88
systems. By default, you have access to some private and public execution and
9-
storage systems that should connect you to [most of TACC resources](systems_basics.md).
9+
storage systems that should connect you to [most of TACC resources](02.systems_basics.md).
1010

1111
Even so, there are circumstances where it is advantageous to create your own systems.
1212
For example, they can help you connect to private lab servers, license servers,
@@ -19,21 +19,21 @@ and execution system.
1919

2020
For any system you register with Agave, you need the hostname and login credentials.
2121
The preferred login credentials are SSH key pairs. For instructions on creating
22-
appropriate public / private keys, see [here](ssh_keys.md).
22+
appropriate public / private keys, see [here](01.ssh_keys.md).
2323

2424
You also need some basic information on the compute resources which will be
2525
registered as systems. For storage systems, you need to know the desired path
2626
for storing files. For execution systems, you need to first decide if it will be
27-
an HPC or CLI execution system. If an HPC execution system, you need some
27+
an HPC or CLI execution system. If an HPC execution system, you need some
2828
information about the queueing system (queue names, limits, etc.). For both types
2929
of execution system you need a path for running jobs.
3030

31-
The Jetstream instance we will register has hostname `129.114.104.39`. We will
32-
assume the user '`username`' has already created [SSH keys](ssh_keys.md) and added
33-
the public key to `~/.ssh/known_hosts/`. The path for storing data will be the
34-
home directory, `/home/username/`. Since this instance does not have a queuing
35-
system, we will register it as a CLI execution system and run jobs from
36-
the home directory, `/home/username/`.
31+
The Jetstream instance we will register has hostname `129.114.104.39`. We will
32+
assume the user '`username`' has already created [SSH keys](01.ssh_keys.md)
33+
and added the public key to `~/.ssh/known_hosts/`. The path for storing data
34+
will be the home directory, `/home/username/`. Since this instance does not have
35+
a queuing system, we will register it as a CLI execution system and run jobs
36+
from the home directory, `/home/username/`.
3737

3838
<br>
3939
#### Register a storage system
@@ -97,7 +97,7 @@ To register this system with Agave, use the following command:
9797
<br>
9898
#### Register an execution system
9999

100-
An execution system contains many of the same fields as a storage system. Use
100+
An execution system contains many of the same fields as a storage system. Use
101101
the following template to begin:
102102
```
103103
{
@@ -151,7 +151,7 @@ Again, because keys will be stored in plain text in this file, do not share this
151151
file with anyone and keep it secure. More fields, including information about how to submit jobs to an `HPC` system
152152
using a queue can be found in the [Agave documentation](http://developer.tacc.cloud/).
153153

154-
Save the template in a file called `jetstream-execution-username.json`.
154+
Save the template in a file called `jetstream-execution-username.json`.
155155
To register this system with Agave, use the following command:
156156
```
157157
% systems-addupdate -F jetstream-execution-username.json

0 commit comments

Comments
 (0)