Bläddra i källkod

Enable git cloning of letsencrypt from a trove

Bob Mottram 9 år sedan
förälder
incheckning
830f1c2baf
1 ändrade filer med 47 tillägg och 5 borttagningar
  1. 47
    5
      src/freedombone-addcert

+ 47
- 5
src/freedombone-addcert Visa fil

33
 export TEXTDOMAIN=${PROJECT_NAME}-addcert
33
 export TEXTDOMAIN=${PROJECT_NAME}-addcert
34
 export TEXTDOMAINDIR="/usr/share/locale"
34
 export TEXTDOMAINDIR="/usr/share/locale"
35
 
35
 
36
-CONFIG_FILE=$HOME/${PROJECT_NAME}.cfg
36
+CONFIGURATION_FILE=$HOME/${PROJECT_NAME}.cfg
37
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
37
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
38
 
38
 
39
 HOSTNAME=
39
 HOSTNAME=
50
 LETSENCRYPT_SERVER='https://acme-v01.api.letsencrypt.org/directory'
50
 LETSENCRYPT_SERVER='https://acme-v01.api.letsencrypt.org/directory'
51
 LETSENCRYPT_REPO="https://github.com/letsencrypt/letsencrypt"
51
 LETSENCRYPT_REPO="https://github.com/letsencrypt/letsencrypt"
52
 MY_EMAIL_ADDRESS=
52
 MY_EMAIL_ADDRESS=
53
+FRIENDS_TROVE_SERVER=
54
+FRIENDS_TROVE_PASSWORD=
55
+
56
+if [ -f $CONFIGURATION_FILE ]; then
57
+    if grep -q "LETSENCRYPT_REPO" $CONFIGURATION_FILE; then
58
+        LETSENCRYPT_REPO=$(grep "LETSENCRYPT_REPO" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
59
+    fi
60
+    if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
61
+        LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
62
+    fi
63
+
64
+    # use a trove?
65
+    if ! grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
66
+        FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
67
+        FRIENDS_TROVE_SSH_PORT=2222
68
+        if ! grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
69
+            FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
70
+        fi
71
+        if ! grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
72
+            FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
73
+        fi
74
+        LETSENCRYPT_REPO="ssh://trove@${FRIENDS_TROVE_SERVER}:${FRIENDS_TROVE_SSH_PORT}/home/trove/letsencrypt"
75
+    fi
76
+fi
53
 
77
 
54
 function show_help {
78
 function show_help {
55
     echo ''
79
     echo ''
157
 
181
 
158
 CERTFILE=$HOSTNAME
182
 CERTFILE=$HOSTNAME
159
 
183
 
184
+function git_clone {
185
+    repo_url="$1"
186
+    destination_dir="$2"
187
+    if [[ "$repo_url" == "ssh:"* ]]; then
188
+        if [ "${FRIENDS_TROVE_SERVER}" ]; then
189
+            if [ ${#FRIENDS_TROVE_SERVER} -gt 2 ]; then
190
+                if [ "$FRIENDS_TROVE_PASSWORD" ]; then
191
+                    if [ ${#FRIENDS_TROVE_PASSWORD} -gt 2 ]; then
192
+                        sshpass -p "$FRIENDS_TROVE_PASSWORD" git clone "$repo_url" "$destination_dir"
193
+                        return
194
+                    fi
195
+                fi
196
+            fi
197
+        fi
198
+    fi
199
+    git clone "$repo_url" "$destination_dir"
200
+}
201
+
160
 function add_cert_letsencrypt {
202
 function add_cert_letsencrypt {
161
     CERTFILE=$LETSENCRYPT_HOSTNAME
203
     CERTFILE=$LETSENCRYPT_HOSTNAME
162
 
204
 
163
     # obtain the email address for the admin user
205
     # obtain the email address for the admin user
164
     if [ ! $MY_EMAIL_ADDRESS ]; then
206
     if [ ! $MY_EMAIL_ADDRESS ]; then
165
-        if [ -f $CONFIG_FILE ]; then
166
-            if grep -q "MY_EMAIL_ADDRESS=" $CONFIG_FILE; then
167
-                MY_EMAIL_ADDRESS=$(cat $CONFIG_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
207
+        if [ -f $CONFIGURATION_FILE ]; then
208
+            if grep -q "MY_EMAIL_ADDRESS=" $CONFIGURATION_FILE; then
209
+                MY_EMAIL_ADDRESS=$(cat $CONFIGURATION_FILE | grep "MY_EMAIL_ADDRESS=" | awk -F '=' '{print $2}')
168
             fi
210
             fi
169
         fi
211
         fi
170
     fi
212
     fi
184
 
226
 
185
     # obtain the repo
227
     # obtain the repo
186
     if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
228
     if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
187
-        git clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
229
+        git_clone $LETSENCRYPT_REPO ${INSTALL_DIR}/letsencrypt
188
         if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
230
         if [ ! -d ${INSTALL_DIR}/letsencrypt ]; then
189
             exit 76283
231
             exit 76283
190
         fi
232
         fi