File tree Expand file tree Collapse file tree 21 files changed +494
-7
lines changed Expand file tree Collapse file tree 21 files changed +494
-7
lines changed Original file line number Diff line number Diff line change 1+ name : illumos-Cross
2+
3+ on :
4+ push :
5+ branches :
6+ - main
7+ - ' illumos-*'
8+ pull_request :
9+ branches :
10+ - ' *'
11+
12+ jobs :
13+ build :
14+ runs-on : ubuntu-latest
15+
16+ if : " !contains(github.event.head_commit.message, '[ci skip]')"
17+
18+ steps :
19+ - name : Check out code
20+ uses : actions/checkout@v3
21+ with :
22+ fetch-depth : 0
23+
24+ - name : Set up Go
25+ uses : actions/setup-go@v4
26+ with :
27+ go-version-file : ' go.mod'
28+ check-latest : true
29+ id : go
30+
31+ - name : SunOS build script
32+ run : bash -x build.sh
Original file line number Diff line number Diff line change 1+ ---
2+ name : " tagged-release"
3+
4+ on :
5+ push :
6+ tags :
7+ - " v*-sunos"
8+
9+ jobs :
10+ tagged-release :
11+ name : " SunOS Tagged Release"
12+ runs-on : " ubuntu-latest"
13+
14+ steps :
15+ - name : Check out code
16+ uses : actions/checkout@v3
17+ with :
18+ fetch-depth : 0
19+
20+ - name : Set up Go
21+ uses : actions/setup-go@v4
22+ with :
23+ go-version-file : ' go.mod'
24+ check-latest : true
25+ id : go
26+
27+ - name : SunOS build script
28+ run : bash -x build.sh
29+
30+ - name : Create Release
31+ uses : " marvinpinto/action-automatic-releases@latest"
32+ with :
33+ repo_token : " ${{ secrets.GITHUB_TOKEN }}"
34+ prerelease : false
35+ files : |
36+ cmd/tailscaled/tailscale.xml
37+ sha256sums
38+ tailscaled-illumos
39+ tailscaled-solaris
Original file line number Diff line number Diff line change 1515# company that owns the rights to your contribution.
1616
1717Tailscale Inc.
18+
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+
3+ set -o xtrace
4+ set -o errexit
5+
6+ export TS_USE_TOOLCHAIN=true
7+ # This prevents illumos libc from leaking into Solaris binaries when built on illumos
8+ export CGO_ENABLED=0
9+
10+ fix_osabi () {
11+ if [[ $( uname -s) == SunOS ]]; then
12+ /usr/bin/elfedit \
13+ -e " ehdr:ei_osabi ELFOSABI_SOLARIS" \
14+ -e " ehdr:ei_abiversion EAV_SUNW_CURRENT" \
15+ " ${1?} "
16+ else
17+ elfedit --output-osabi " Solaris" --output-abiversion " 1" " ${1?} "
18+ fi
19+ }
20+
21+ for GOOS in illumos solaris; do
22+ export GOOS
23+ bash -x ./build_dist.sh --box ./cmd/tailscaled
24+ fix_osabi tailscaled
25+ mv tailscaled{,-${GOOS} }
26+ done
27+
28+ ln cmd/tailscaled/tailscale.xml .
29+ shasum -a 256 tailscaled-* tailscale.xml > sha256sums
30+ rm ./tailscale.xml
Original file line number Diff line number Diff line change 1+ <?xml version =' 1.0' ?>
2+ <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3+ <service_bundle type =' manifest' name =' export' >
4+ <service name =' vpn/tailscale' type =' service' version =' 0' >
5+ <create_default_instance enabled =' true' />
6+ <single_instance />
7+ <dependency name =' network' grouping =' require_all' restart_on =' error' type =' service' >
8+ <service_fmri value =' svc:/milestone/network:default' />
9+ </dependency >
10+ <dependency name =' filesystem' grouping =' require_all' restart_on =' error' type =' service' >
11+ <service_fmri value =' svc:/system/filesystem/local' />
12+ </dependency >
13+ <method_context >
14+ <method_credential group =' root' user =' root' />
15+ </method_context >
16+ <exec_method name =' start' type =' method' exec =' /opt/local/sbin/tailscaled' timeout_seconds =' 60' >
17+ <method_context >
18+ <method_environment >
19+ <envvar name =' SSL_CERT_FILE' value =' /opt/tools/share/mozilla-rootcerts/cacert.pem' />
20+ </method_environment >
21+ </method_context >
22+ </exec_method >
23+ <exec_method name =' stop' type =' method' exec =' :kill' timeout_seconds =' 60' />
24+ <property_group name =' application' type =' application' />
25+ <property_group name =' startd' type =' framework' >
26+ <propval name =' duration' type =' astring' value =' child' />
27+ <propval name =' ignore_error' type =' astring' value =' core,signal' />
28+ </property_group >
29+ <stability value =' Evolving' />
30+ <template >
31+ <common_name >
32+ <loctext xml : lang =' C' >Tailscale</loctext >
33+ </common_name >
34+ </template >
35+ </service >
36+ </service_bundle >
Original file line number Diff line number Diff line change 1+ <?xml version =' 1.0' ?>
2+ <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3+ <service_bundle type =' manifest' name =' export' >
4+ <service name =' vpn/tailscale' type =' service' version =' 0' >
5+ <create_default_instance enabled =' true' />
6+ <single_instance />
7+ <dependency name =' network' grouping =' require_all' restart_on =' error' type =' service' >
8+ <service_fmri value =' svc:/milestone/network:default' />
9+ </dependency >
10+ <dependency name =' filesystem' grouping =' require_all' restart_on =' error' type =' service' >
11+ <service_fmri value =' svc:/system/filesystem/local' />
12+ </dependency >
13+ <method_context >
14+ <method_credential group =' root' user =' root' />
15+ </method_context >
16+ <exec_method name =' start' type =' method' exec =' /usr/local/sbin/tailscaled' timeout_seconds =' 60' />
17+ <exec_method name =' stop' type =' method' exec =' :kill' timeout_seconds =' 60' />
18+ <property_group name =' application' type =' application' />
19+ <property_group name =' startd' type =' framework' >
20+ <propval name =' duration' type =' astring' value =' child' />
21+ <propval name =' ignore_error' type =' astring' value =' core,signal' />
22+ </property_group >
23+ <stability value =' Evolving' />
24+ <template >
25+ <common_name >
26+ <loctext xml : lang =' C' >Tailscale</loctext >
27+ </common_name >
28+ </template >
29+ </service >
30+ </service_bundle >
Original file line number Diff line number Diff line change @@ -68,6 +68,8 @@ import (
6868// defaultTunName returns the default tun device name for the platform.
6969func defaultTunName () string {
7070 switch runtime .GOOS {
71+ case "illumos" , "solaris" :
72+ return "tun"
7173 case "openbsd" :
7274 return "tun"
7375 case "windows" :
Original file line number Diff line number Diff line change @@ -357,3 +357,5 @@ require (
357357 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
358358 sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
359359)
360+
361+ replace github.com/tailscale/wireguard-go => github.com/nshalman/wireguard-go v0.0.20200321-0.20230423150539-55df1b6c04ac
Original file line number Diff line number Diff line change @@ -686,6 +686,8 @@ github.com/nishanths/exhaustive v0.10.0 h1:BMznKAcVa9WOoLq/kTGp4NJOJSMwEpcpjFNAV
686686github.com/nishanths/exhaustive v0.10.0 /go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA =
687687github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk =
688688github.com/nishanths/predeclared v0.2.2 /go.mod h1:RROzoN6TnGQupbC+lqggsOlcgysk3LMK/HI84Mp280c =
689+ github.com/nshalman/wireguard-go v0.0.20200321-0.20230423150539-55df1b6c04ac h1:wEG2xJ+7q062tBEU8gkJvN2hC5RpZWhEIWAug5LUC0k =
690+ github.com/nshalman/wireguard-go v0.0.20200321-0.20230423150539-55df1b6c04ac /go.mod h1:J62uaH3KrbhKtrKXQJ6/Z+kcs0r4CdA7qd5AXQtl0/s =
689691github.com/nunnatsa/ginkgolinter v0.11.2 h1:xzQpAsEyZe5F1RMy2Z5kn8UFCGiWfKqJOUd2ZzBXA4M =
690692github.com/nunnatsa/ginkgolinter v0.11.2 /go.mod h1:dJIGXYXbkBswqa/pIzG0QlVTTDSBMxDoCFwhsl4Uras =
691693github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec =
@@ -874,8 +876,6 @@ github.com/tailscale/mkctr v0.0.0-20220601142259-c0b937af2e89 h1:7xU7AFQE83h0wz/
874876github.com/tailscale/mkctr v0.0.0-20220601142259-c0b937af2e89 /go.mod h1:OGMqrTzDqmJkGumUTtOv44Rp3/4xS+QFbE8Rn0AGlaU =
875877github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 h1:zrsUcqrG2uQSPhaUPjUQwozcRdDdSxxqhNgNZ3drZFk =
876878github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 /go.mod h1:NzVQi3Mleb+qzq8VmcWpSkcSYxXIg0DkI6XDzpVkhJ0 =
877- github.com/tailscale/wireguard-go v0.0.0-20230710185534-bb2c8f22eccf h1:bHQHwIHId353jAF2Lm0cGDjJpse/PYS0I0DTtihL9Ls =
878- github.com/tailscale/wireguard-go v0.0.0-20230710185534-bb2c8f22eccf /go.mod h1:QRIcq2+DbdIC5sKh/gcAZhuqu6WT6L6G8/ALPN5wqYw =
879879github.com/tc-hib/winres v0.2.0 h1:gly/ivDWGvlhl7ENtEmA7wPQ6dWab1LlLq/DgcZECKE =
880880github.com/tc-hib/winres v0.2.0 /go.mod h1:uG6S5M2Q0/kThoqsCSYvGJODUQP9O9R0SNxUPmFIegw =
881881github.com/tcnksm/go-httpstat v0.2.0 h1:rP7T5e5U2HfmOBmZzGgGZjBQ5/GluWUylujl0tJ04I0 =
You can’t perform that action at this time.
0 commit comments