-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbootstrap.sh
executable file
·129 lines (120 loc) · 2.43 KB
/
bootstrap.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/bash
client() {
if [ -z "$HOST" ]; then
echo
echo "Missing Host..."
exit 1
fi
if [ -z "$ID" ]; then
echo
echo "Missing ID..."
exit 1
fi
if [ -z "$FIRST_NAME" ]; then
echo
echo "Missing First Name..."
exit 1
fi
if [ -z "$LAST_NAME" ]; then
echo
echo "Missing Last Name"
exit 1
fi
echo "Setting up taskwarrrior client..."
cp "$CA" "$CERT" "$KEY" ~/.task
yes | task config taskd.certificate "$CERT" > /dev/null 2>&1
yes | task config taskd.key "$KEY" > /dev/null 2>&1
yes | task config taskd.ca "$CA" > /dev/null 2>&1
yes | task config taskd.server "$HOST" > /dev/null 2>&1
yes | task config taskd.credentials "Public/${FIRST_NAME} ${LAST_NAME}/${ID}" > /dev/null 2>&1
}
clean() {
echo "cleaning up..."
rm -rf taskd/
rm -rf "$HOME/.task/$(basename "$CA")"
rm -rf "$HOME/.task/$(basename "$CERT")"
rm -rf "$HOME/.task/$(basename "$KEY")"
}
help() {
echo
echo "you want help...?"
echo
echo "you dont need any help."
}
# Main
#
#
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"
case $key in
-c|--ca)
CA="$2"
shift # past argument
shift # past value
;;
-h|--host)
HOST="$2"
shift # past argument
shift # past value
;;
-f|--firstname)
FIRST_NAME="$2"
shift # past argument
shift # past value
;;
-l|--lastname)
LAST_NAME="$2"
shift # past argument
shift # past value
;;
-i|--id)
ID="$2"
shift # past argument
shift # past value
;;
-r|--cert)
CERT="$2"
shift # past argument
shift # past value
;;
-k|--key)
KEY="$2"
shift # past argument
shift # past value
;;
-d|--debug)
DEBUG=true
shift # past value
;;
--help)
help
exit 0
;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters
if [[ ${DEBUG} ]]; then
echo
echo
echo CA = "${CA}"
echo CERT = "${CERT}"
echo KEY = "${KEY}"
echo ID = "${ID}"
echo HOST = "${HOST}"
echo FIRST_NAME = "${FIRST_NAME}"
echo LAST_NAME = "${LAST_NAME}"
echo
echo
fi
# All params set
if [ -n "$CA" ] && [ -n "$CERT" ] && [ -n "$KEY" ]; then
"$@"
else
help
fi