@@ -295,11 +295,11 @@ func runCreate(cmd *cobra.Command, _ []string) error {
295295
296296 var userData string
297297 if len (letsencryptDomains ) > 0 {
298- userData = MakeHTTPSUserdata (inletsToken ,
298+ userData = makeHTTPSUserdata (inletsToken ,
299299 inletsProVersion ,
300300 letsencryptIssuer , letsencryptDomains )
301301 } else {
302- userData = provision . MakeExitServerUserdata (
302+ userData = makeExitServerUserdata (
303303 inletsToken ,
304304 inletsProVersion )
305305 }
@@ -595,31 +595,55 @@ func createHost(provider, name, region, zone, projectID, userData, inletsProCont
595595 return nil , fmt .Errorf ("no provisioner for provider: %q" , provider )
596596}
597597
598- // MakeHTTPSUserdata makes a user-data script in bash to setup inlets
599- // PRO with a systemd service and the given version.
600- func MakeHTTPSUserdata (authToken , version , letsEncryptIssuer string , domains []string ) string {
598+ // makeHTTPSUserdata makes a user-data script in bash to setup inlets
599+ // with a systemd service and the given version.
600+ func makeHTTPSUserdata (authToken , version , letsEncryptIssuer string , domains []string ) string {
601601
602602 domainFlags := ""
603603 for _ , domain := range domains {
604604 domainFlags += fmt .Sprintf ("--letsencrypt-domain=%s " , domain )
605605 }
606+ domainFlags = strings .TrimSpace (domainFlags )
607+ return fmt .Sprintf (`#!/bin/bash
608+ export AUTHTOKEN="%s"
609+ export IP=$(curl -sfSL https://checkip.amazonaws.com)
610+ export VERSION="%s"
611+
612+ curl -SLsf https://github.com/inlets/inlets-pro/releases/download/$VERSION/inlets-pro -o /tmp/inlets-pro && \
613+ chmod +x /tmp/inlets-pro && \
614+ mv /tmp/inlets-pro /usr/local/bin/inlets-pro
615+
616+ curl -SLsf https://github.com/inlets/inlets-pro/releases/download/$VERSION/inlets-pro-http.service -o inlets-pro.service && \
617+ mv inlets-pro.service /etc/systemd/system/inlets-pro.service && \
618+ echo "AUTHTOKEN=$AUTHTOKEN" >> /etc/default/inlets-pro && \
619+ echo "IP=$IP" >> /etc/default/inlets-pro && \
620+ echo "DOMAINS=%s" >> /etc/default/inlets-pro && \
621+ echo "ISSUER=--letsencrypt-issuer=%s" >> /etc/default/inlets-pro && \
622+ systemctl daemon-reload && \
623+ systemctl start inlets-pro && \
624+ systemctl enable inlets-pro
625+ ` , authToken , version , domainFlags , letsEncryptIssuer )
626+ }
627+
628+ // makeExitServerUserdata makes a user-data script in bash to setup inlets
629+ // with systemd service and the given version.
630+ func makeExitServerUserdata (authToken , version string ) string {
606631
607- return `#!/bin/bash
608- export AUTHTOKEN="` + authToken + ` "
632+ return fmt . Sprintf ( `#!/bin/bash
633+ export AUTHTOKEN="%s "
609634export IP=$(curl -sfSL https://checkip.amazonaws.com)
635+ export VERSION="%s"
610636
611- curl -SLsf https://github.com/inlets/inlets-pro/releases/download/` + version + ` /inlets-pro -o /tmp/inlets-pro && \
637+ curl -SLsf https://github.com/inlets/inlets-pro/releases/download/$VERSION /inlets-pro -o /tmp/inlets-pro && \
612638 chmod +x /tmp/inlets-pro && \
613639 mv /tmp/inlets-pro /usr/local/bin/inlets-pro
614640
615- curl -SLsf https://github.com/inlets/inlets-pro/releases/download/` + version + ` /inlets-pro-http .service -o inlets-pro.service && \
641+ curl -SLsf https://github.com/inlets/inlets-pro/releases/download/$VERSION /inlets-pro.service -o inlets-pro.service && \
616642 mv inlets-pro.service /etc/systemd/system/inlets-pro.service && \
617643 echo "AUTHTOKEN=$AUTHTOKEN" >> /etc/default/inlets-pro && \
618644 echo "IP=$IP" >> /etc/default/inlets-pro && \
619- echo "DOMAINS=` + strings .TrimSpace (domainFlags ) + `" >> /etc/default/inlets-pro && \
620- echo "ISSUER=--letsencrypt-issuer=` + letsEncryptIssuer + `" >> /etc/default/inlets-pro && \
621645 systemctl daemon-reload && \
622646 systemctl start inlets-pro && \
623647 systemctl enable inlets-pro
624- `
648+ ` , authToken , version )
625649}
0 commit comments