Project

General

Profile

Arvswitch » History » Version 8

Peter Amstutz, 03/03/2016 07:00 PM

1 1 Peter Amstutz
h1. Arvswitch
2
3 8 Peter Amstutz
h2. Usage
4
5
<pre>
6
$ arvswitch
7
Switch Arvados environment conf
8
Usage: arvswitch name
9
Available confs: ...
10
11
$ arvsave 
12
Save current Arvados environment variables to conf file
13
Usage: arvsave name
14
15
$ arvrm
16
Delete Arvados environment conf
17
Usage: arvrm name
18
19
$ arvboxswitch 
20
Switch Arvbox environment conf
21
Usage: arvboxswitch name
22
Your current container is: arvbox
23
Available confs: ...
24
25
$ arvopen
26
Open Arvados uuid in browser
27
Usage: arvopen uuid
28
</pre>
29
30
h2. Code
31
32 1 Peter Amstutz
Copy this into your @.bashrc@ or create a new file called something like "arvswitch.sh" and add the line ". arvswitch.sh" to your @.bashrc@
33
34
<pre>
35
HISTIGNORE=$HISTIGNORE:'export ARVADOS_API_TOKEN=*'
36
37
arvswitch() {
38
    if [[ -n "$1" ]] ; then
39
        if [[ -f $HOME/.config/arvados/$1.conf ]] ; then
40 3 Peter Amstutz
            unset ARVADOS_API_HOST_INSECURE
41 1 Peter Amstutz
            for a in $(cat $HOME/.config/arvados/$1.conf) ; do export $a ; done
42 7 Peter Amstutz
            echo "Switched to $1"
43 1 Peter Amstutz
        else
44
            echo "$1 unknown"
45
        fi
46
    else
47
        echo "Switch Arvados environment conf"
48
        echo "Usage: arvswitch name"
49 7 Peter Amstutz
        echo "Available confs:" $((cd $HOME/.config/arvados && ls --indicator-style=none *.conf) | rev | cut -c6- | rev)
50 1 Peter Amstutz
    fi
51
}
52
53
arvsave() {
54
    if [[ -n "$1" ]] ; then
55 7 Peter Amstutz
	touch $HOME/.config/arvados/$1.conf
56
	chmod 0600 $HOME/.config/arvados/$1.conf
57 5 Peter Amstutz
        env | grep ARVADOS_ > $HOME/.config/arvados/$1.conf
58 1 Peter Amstutz
    else
59
        echo "Save current Arvados environment variables to conf file"
60
        echo "Usage: arvsave name"
61
    fi
62
}
63
64
arvrm() {
65
    if [[ -n "$1" ]] ; then
66
        if [[ -f $HOME/.config/arvados/$1.conf ]] ; then
67
            rm $HOME/.config/arvados/$1.conf
68
        else
69
            echo "$1 unknown"
70
        fi
71
    else
72
        echo "Delete Arvados environment conf"
73
        echo "Usage: arvrm name"
74 7 Peter Amstutz
    fi
75
}
76
77
arvboxswitch() {
78
    if [[ -n "$1" ]] ; then
79
        if [[ -d $HOME/.arvbox/$1 ]] ; then
80
            export ARVBOX_CONTAINER=$1
81
            echo "Arvbox switched to $1"
82
        else
83
            echo "$1 unknown"
84
        fi
85
    else
86
        if test -z "$ARVBOX_CONTAINER" ; then
87
            ARVBOX_CONTAINER=arvbox
88
        fi
89
        echo "Switch Arvbox environment conf"
90
        echo "Usage: arvboxswitch name"
91
        echo "Your current container is: $ARVBOX_CONTAINER"
92
        echo "Available confs:" $(cd $HOME/.arvbox && ls --indicator-style=none)
93
    fi
94
}
95
96
arvopen() {
97
    if [[ -n "$1" ]] ; then
98
        xdg-open https://curover.se/$1
99
    else
100
        echo "Open Arvados uuid in browser"
101
        echo "Usage: arvopen uuid"
102 1 Peter Amstutz
    fi
103
}
104
</pre>
105 6 Ward Vandewege
106
h2. Alternatives
107
108
See DJB's "envdir":http://cr.yp.to/daemontools/envdir.html