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 15
15
# company that owns the rights to your contribution.
16
16
17
17
Tailscale 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 (
68
68
// defaultTunName returns the default tun device name for the platform.
69
69
func defaultTunName () string {
70
70
switch runtime .GOOS {
71
+ case "illumos" , "solaris" :
72
+ return "tun"
71
73
case "openbsd" :
72
74
return "tun"
73
75
case "windows" :
Original file line number Diff line number Diff line change @@ -357,3 +357,5 @@ require (
357
357
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
358
358
sigs.k8s.io/structured-merge-diff/v4 v4.2.3 // indirect
359
359
)
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
686
686
github.com/nishanths/exhaustive v0.10.0 /go.mod h1:IbwrGdVMizvDcIxPYGVdQn5BqWJaOwpCvg4RGb8r/TA =
687
687
github.com/nishanths/predeclared v0.2.2 h1:V2EPdZPliZymNAn79T8RkNApBjMmVKh5XRpLm/w98Vk =
688
688
github.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 =
689
691
github.com/nunnatsa/ginkgolinter v0.11.2 h1:xzQpAsEyZe5F1RMy2Z5kn8UFCGiWfKqJOUd2ZzBXA4M =
690
692
github.com/nunnatsa/ginkgolinter v0.11.2 /go.mod h1:dJIGXYXbkBswqa/pIzG0QlVTTDSBMxDoCFwhsl4Uras =
691
693
github.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/
874
876
github.com/tailscale/mkctr v0.0.0-20220601142259-c0b937af2e89 /go.mod h1:OGMqrTzDqmJkGumUTtOv44Rp3/4xS+QFbE8Rn0AGlaU =
875
877
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 h1:zrsUcqrG2uQSPhaUPjUQwozcRdDdSxxqhNgNZ3drZFk =
876
878
github.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 =
879
879
github.com/tc-hib/winres v0.2.0 h1:gly/ivDWGvlhl7ENtEmA7wPQ6dWab1LlLq/DgcZECKE =
880
880
github.com/tc-hib/winres v0.2.0 /go.mod h1:uG6S5M2Q0/kThoqsCSYvGJODUQP9O9R0SNxUPmFIegw =
881
881
github.com/tcnksm/go-httpstat v0.2.0 h1:rP7T5e5U2HfmOBmZzGgGZjBQ5/GluWUylujl0tJ04I0 =
You can’t perform that action at this time.
0 commit comments