|
17 | 17 | fi |
18 | 18 | echo "**** Linux architecture found: ${ARCH} ****" |
19 | 19 |
|
20 | | -echo "**** Checking for cloudflared setup script dependencies... ****" |
21 | | -YQARCH="${ARCH}" |
22 | | -echo "**** Temporarily installing /tmp/yq... ****" |
23 | | -curl -sLo /tmp/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_${YQARCH} |
24 | | -chmod +x /tmp/yq |
25 | | - |
26 | 20 | echo "**** Installing cloudflared...****" |
27 | 21 | if [ -d "/cloudflared/" ]; then |
28 | | - echo "**** Moving /cloudflared/cloudflared-${ARCH} to /usr/local/bin/cloudflared... ****" |
29 | | - mv /cloudflared/cloudflared-${ARCH} /usr/local/bin/cloudflared |
| 22 | + if ! command -v yq || ! yq --help | grep -q 'mikefarah'; then |
| 23 | + echo "**** Installing yq ****" |
| 24 | + mv /cloudflared/yq /usr/local/bin/yq |
| 25 | + fi |
| 26 | + |
| 27 | + echo "**** Moving /cloudflared/cloudflared to /usr/local/bin/cloudflared... ****" |
| 28 | + mv /cloudflared/cloudflared /usr/local/bin/cloudflared |
30 | 29 |
|
31 | 30 | echo "**** Deleting tmp /cloudflared dir... ****" |
32 | 31 | rm -rf /cloudflared |
@@ -92,14 +91,14 @@ if [[ ${#CF_ZONE_ID} -gt 0 ]] && [[ ${#CF_ACCOUNT_ID} -gt 0 ]] && [[ ${#CF_API_T |
92 | 91 | printf "credentials-file: /etc/cloudflared/${CF_TUNNEL_ID}.json\n" >> "/etc/cloudflared/config.yml" |
93 | 92 | printf "no-autoupdate: true\n\n" >> "/etc/cloudflared/config.yml" |
94 | 93 | printf "${CF_TUNNEL_CONFIG}" >> "/etc/cloudflared/config.yml" |
95 | | - /tmp/yq e /etc/cloudflared/config.yml |
| 94 | + yq e /etc/cloudflared/config.yml |
96 | 95 | echo "**** Config for cloudflare tunnel (${CF_TUNNEL_NAME}) saved to /etc/cloudflared/config.yml ****" |
97 | 96 |
|
98 | 97 | echo "**** Validating cloudflared tunnel rules... ****" |
99 | 98 | cloudflared tunnel ingress validate |
100 | 99 |
|
101 | 100 | echo "**** Updating cloudflare zone... ****" |
102 | | - for HOSTNAME in $(/tmp/yq e ".ingress.[].hostname" /etc/cloudflared/config.yml); do |
| 101 | + for HOSTNAME in $(yq e ".ingress.[].hostname" /etc/cloudflared/config.yml); do |
103 | 102 | if [ ! "${HOSTNAME}" = "null" ]; then |
104 | 103 | echo "**** Searching zone for hostname (${HOSTNAME}) via API... ****" |
105 | 104 | JSON_RESULT=$(curl -sX \ |
|
0 commit comments