-
Notifications
You must be signed in to change notification settings - Fork 18
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use package_info.json to manage version info
- Loading branch information
Showing
9 changed files
with
162 additions
and
153 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Gocommands | ||
iRODS Command-line Tools written in Go | ||
|
||
|
||
## Download pre-built binary | ||
Please download binary file (bundled with `tar` or `zip`) at [https://github.com/cyverse/gocommands/releases](https://github.com/cyverse/gocommands/releases). | ||
Be sure to download a binary for your target system architecture. | ||
|
||
For Darwin-amd64 (Mac OS): | ||
```bash | ||
curl -L -o gocmd.tar.gz https://github.com/cyverse/gocommands/releases/download/v$VERSION/gocmd-v$VERSION-darwin-amd64.tar.gz && \ | ||
tar zxvf gocmd.tar.gz && rm gocmd.tar.gz | ||
``` | ||
|
||
For Linux-amd64: | ||
```bash | ||
curl -L -o gocmd.tar.gz https://github.com/cyverse/gocommands/releases/download/v$VERSION/gocmd-v$VERSION-linux-amd64.tar.gz && \ | ||
tar zxvf gocmd.tar.gz && rm gocmd.tar.gz | ||
``` | ||
|
||
For Linux-arm64: | ||
```bash | ||
curl -L -o gocmd.tar.gz https://github.com/cyverse/gocommands/releases/download/v$VERSION/gocmd-v$VERSION-linux-arm64.tar.gz && \ | ||
tar zxvf gocmd.tar.gz && rm gocmd.tar.gz | ||
``` | ||
|
||
|
||
## How to use | ||
|
||
### Using the iCommands configuration | ||
`Gocommands` understands the iCommands' configuration files, `~/.irods/irods_environment.json`. | ||
To create iCommands' configuration file, run `gocmd init` to create the configuration file under `~/.irods`. | ||
|
||
``` | ||
gocmd init | ||
``` | ||
|
||
If you already have iCommands' configuration files, you don't need any steps to do. | ||
|
||
To check what configuration files you are loading | ||
``` | ||
gocmd env | ||
``` | ||
|
||
Run `ls`. | ||
``` | ||
gocmd ls | ||
``` | ||
|
||
|
||
### Using an external configuration file | ||
`Gocommands` can read configuration from an `YAML` file. | ||
|
||
Create `config.yaml` file using an editor and type in followings. | ||
```yaml | ||
irods_host: "data.cyverse.org" | ||
irods_port: 1247 | ||
irods_user_name: "your username" | ||
irods_zone_name: "iplant" | ||
irods_user_password: "your password" | ||
``` | ||
|
||
When you run `Gocommands`, provide the configuration file's path with `-c` flag. | ||
```bash | ||
gocmd -c config.yaml ls | ||
``` | ||
|
||
Some of field values, such as `irods_user_password` can be omitted if you don't want to put it in clear text. `Gocommands` will ask you to type the missing field values in runtime. | ||
|
||
### Using environmental variables | ||
`Gocommands` can read configuration from environmental variables. | ||
|
||
Set environmental variables | ||
```bash | ||
export IRODS_HOST="data.cyverse.org" | ||
export IRODS_PORT=1247 | ||
export IRODS_USER_NAME="your username" | ||
export IRODS_ZONE_NAME="iplant" | ||
export IRODS_USER_PASSWORD="your password" | ||
``` | ||
|
||
Then run `Gocommands` with `-e` flag. | ||
```bash | ||
gocmd -e ls | ||
``` | ||
|
||
Some of field values, such as `IRODS_USER_PASSWORD` can be omitted if you don't want to put it in clear text. `Gocommands` will ask you to type the missing field values in runtime. | ||
|
||
## Troubleshooting | ||
|
||
### Getting `SYS_NOT_ALLOWED` error | ||
|
||
`put`, `bput`, or `sync` subcommands throw `SYS_NOT_ALLOWED` error if iRODS server does not support data replication. To disable data replication, use `--no_replication` flag. | ||
|
||
|
||
## License | ||
|
||
Copyright (c) 2010-2023, The Arizona Board of Regents on behalf of The University of Arizona | ||
|
||
All rights reserved. | ||
|
||
Developed by: CyVerse as a collaboration between participants at BIO5 at The University of Arizona (the primary hosting institution), Cold Spring Harbor Laboratory, The University of Texas at Austin, and individual contributors. Find out more at http://www.cyverse.org/. | ||
|
||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: | ||
|
||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. | ||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. | ||
* Neither the name of CyVerse, BIO5, The University of Arizona, Cold Spring Harbor Laboratory, The University of Texas at Austin, nor the names of other contributors may be used to endorse or promote products derived from this software without specific prior written permission. | ||
|
||
|
||
Please check [LICENSE](https://github.com/cyverse/gocommands/tree/master/LICENSE) file. |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
{ | ||
"name": "gocommands", | ||
"version": "0.6.4", | ||
"git_repo": "https://github.com/cyverse/gocommands.git" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/bash | ||
# | ||
# This script updates variables in $1 and output to $2. | ||
# | ||
# It update following variables | ||
# | ||
# VERSION update it with "version" value in package_info.json | ||
|
||
VERSION=$(jq -r .version package_info.json) | ||
|
||
|
||
main() | ||
{ | ||
expand_tmpl $1 > $2 | ||
} | ||
|
||
|
||
# escapes / and \ for sed script | ||
escape() | ||
{ | ||
local var="$*" | ||
|
||
# Escape \ first to avoid escaping the escape character, i.e. avoid / -> \/ -> \\/ | ||
var="${var//\\/\\\\}" | ||
|
||
printf '%s' "${var//\//\\/}" | ||
} | ||
|
||
|
||
expand_tmpl() | ||
{ | ||
cat <<EOF | sed --file - "$1" | ||
s/\$VERSION/$(escape $VERSION)/g | ||
EOF | ||
} | ||
|
||
set -e | ||
|
||
main $1 $2 |