-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add initial implementation (#4)
- Loading branch information
Showing
13 changed files
with
1,986 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
name: ci | ||
|
||
on: | ||
push: | ||
|
||
workflow_dispatch: | ||
|
||
permissions: | ||
actions: none | ||
checks: none | ||
contents: read | ||
deployments: none | ||
issues: none | ||
packages: none | ||
pull-requests: none | ||
repository-projects: none | ||
security-events: none | ||
statuses: none | ||
|
||
# Cancel in-progress runs for pull requests when developers push | ||
# additional changes | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
|
||
- name: Echo Go Cache Paths | ||
id: go-cache-paths | ||
run: | | ||
echo "GOCACHE=$(go env GOCACHE)" >> ${{ runner.os == 'Windows' && '$env:' || '$' }}GITHUB_OUTPUT | ||
echo "GOMODCACHE=$(go env GOMODCACHE)" >> ${{ runner.os == 'Windows' && '$env:' || '$' }}GITHUB_OUTPUT | ||
- name: Go Build Cache | ||
uses: actions/cache@v3 | ||
with: | ||
path: ${{ steps.go-cache-paths.outputs.GOCACHE }} | ||
key: ${{ runner.os }}-go-build-${{ hashFiles('**/go.**', '**.go') }} | ||
|
||
# Install Go! | ||
- uses: actions/setup-go@v3 | ||
with: | ||
go-version: "~1.21" | ||
|
||
- name: Test | ||
run: go test ./... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,250 @@ | ||
module github.com/coder/xray | ||
|
||
go 1.21 | ||
|
||
replace tailscale.com => github.com/coder/tailscale v1.1.1-0.20231205095743-61c97bad8c8b | ||
|
||
replace github.com/gliderlabs/ssh => github.com/coder/ssh v0.0.0-20230621095435-9a7e23486f1c | ||
|
||
require ( | ||
cdr.dev/slog v1.6.2-0.20240126064726-20367d4aede6 | ||
github.com/coder/coder/v2 v2.7.2-0.20240130231137-0c30dde9b581 | ||
github.com/google/go-containerregistry v0.14.0 | ||
github.com/google/uuid v1.6.0 | ||
github.com/jfrog/jfrog-client-go v1.31.6 | ||
github.com/spf13/cobra v1.8.0 | ||
github.com/stretchr/testify v1.8.4 | ||
go.uber.org/mock v0.4.0 | ||
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 | ||
k8s.io/api v0.29.1 | ||
k8s.io/apimachinery v0.29.1 | ||
k8s.io/client-go v0.29.1 | ||
) | ||
|
||
require ( | ||
cloud.google.com/go/compute v1.23.3 // indirect | ||
cloud.google.com/go/compute/metadata v0.2.3 // indirect | ||
dario.cat/mergo v1.0.0 // indirect | ||
filippo.io/edwards25519 v1.0.0 // indirect | ||
github.com/CycloneDX/cyclonedx-go v0.7.1 // indirect | ||
github.com/DataDog/appsec-internal-go v1.0.0 // indirect | ||
github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect | ||
github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // indirect | ||
github.com/DataDog/datadog-go/v5 v5.3.0 // indirect | ||
github.com/DataDog/go-libddwaf v1.5.0 // indirect | ||
github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect | ||
github.com/DataDog/gostackparse v0.7.0 // indirect | ||
github.com/DataDog/sketches-go v1.4.2 // indirect | ||
github.com/Microsoft/go-winio v0.6.1 // indirect | ||
github.com/ProtonMail/go-crypto v0.0.0-20230717121422-5aa5874ade95 // indirect | ||
github.com/acomagu/bufpipe v1.0.4 // indirect | ||
github.com/agext/levenshtein v1.2.3 // indirect | ||
github.com/akutz/memconn v0.1.0 // indirect | ||
github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 // indirect | ||
github.com/andybalholm/brotli v1.1.0 // indirect | ||
github.com/apparentlymart/go-textseg/v13 v13.0.0 // indirect | ||
github.com/apparentlymart/go-textseg/v15 v15.0.0 // indirect | ||
github.com/aws/aws-sdk-go-v2 v1.20.3 // indirect | ||
github.com/aws/aws-sdk-go-v2/config v1.18.32 // indirect | ||
github.com/aws/aws-sdk-go-v2/credentials v1.13.31 // indirect | ||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.7 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.40 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.34 // indirect | ||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.38 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.34 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/ssm v1.37.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sso v1.13.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.15.1 // indirect | ||
github.com/aws/aws-sdk-go-v2/service/sts v1.21.1 // indirect | ||
github.com/aws/smithy-go v1.19.0 // indirect | ||
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect | ||
github.com/benbjohnson/clock v1.3.5 // indirect | ||
github.com/beorn7/perks v1.0.1 // indirect | ||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect | ||
github.com/cespare/xxhash/v2 v2.2.0 // indirect | ||
github.com/charmbracelet/lipgloss v0.8.0 // indirect | ||
github.com/cloudflare/circl v1.3.7 // indirect | ||
github.com/coder/retry v1.5.1 // indirect | ||
github.com/coder/terraform-provider-coder v0.13.0 // indirect | ||
github.com/coreos/go-iptables v0.6.0 // indirect | ||
github.com/coreos/go-oidc/v3 v3.9.0 // indirect | ||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect | ||
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect | ||
github.com/dustin/go-humanize v1.0.1 // indirect | ||
github.com/ebitengine/purego v0.5.0-alpha.1 // indirect | ||
github.com/emicklei/go-restful/v3 v3.11.0 // indirect | ||
github.com/emirpasic/gods v1.18.1 // indirect | ||
github.com/evanphx/json-patch v5.6.0+incompatible // indirect | ||
github.com/fatih/color v1.16.0 // indirect | ||
github.com/forPelevin/gomoji v1.1.8 // indirect | ||
github.com/fxamacker/cbor/v2 v2.4.0 // indirect | ||
github.com/go-chi/chi/v5 v5.0.10 // indirect | ||
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect | ||
github.com/go-git/go-billy/v5 v5.4.1 // indirect | ||
github.com/go-git/go-git/v5 v5.8.1 // indirect | ||
github.com/go-jose/go-jose/v3 v3.0.1 // indirect | ||
github.com/go-logr/logr v1.4.1 // indirect | ||
github.com/go-logr/stdr v1.2.2 // indirect | ||
github.com/go-ole/go-ole v1.2.6 // indirect | ||
github.com/go-openapi/jsonpointer v0.19.6 // indirect | ||
github.com/go-openapi/jsonreference v0.20.2 // indirect | ||
github.com/go-openapi/swag v0.22.4 // indirect | ||
github.com/godbus/dbus/v5 v5.1.0 // indirect | ||
github.com/gogo/protobuf v1.3.2 // indirect | ||
github.com/golang-jwt/jwt/v4 v4.5.0 // indirect | ||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect | ||
github.com/golang/protobuf v1.5.3 // indirect | ||
github.com/golang/snappy v0.0.4 // indirect | ||
github.com/google/btree v1.1.2 // indirect | ||
github.com/google/gnostic-models v0.6.8 // indirect | ||
github.com/google/go-cmp v0.6.0 // indirect | ||
github.com/google/gofuzz v1.2.0 // indirect | ||
github.com/google/nftables v0.1.1-0.20230115205135-9aa6fdf5a28c // indirect | ||
github.com/google/pprof v0.0.0-20230817174616-7a8ec2ada47b // indirect | ||
github.com/gookit/color v1.5.4 // indirect | ||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 // indirect | ||
github.com/hashicorp/errwrap v1.1.0 // indirect | ||
github.com/hashicorp/go-cty v1.4.1-0.20200414143053-d3edf31b6320 // indirect | ||
github.com/hashicorp/go-hclog v1.5.0 // indirect | ||
github.com/hashicorp/go-multierror v1.1.1 // indirect | ||
github.com/hashicorp/go-uuid v1.0.3 // indirect | ||
github.com/hashicorp/go-version v1.6.0 // indirect | ||
github.com/hashicorp/hcl/v2 v2.17.0 // indirect | ||
github.com/hashicorp/logutils v1.0.0 // indirect | ||
github.com/hashicorp/terraform-plugin-go v0.12.0 // indirect | ||
github.com/hashicorp/terraform-plugin-log v0.7.0 // indirect | ||
github.com/hashicorp/terraform-plugin-sdk/v2 v2.20.0 // indirect | ||
github.com/hashicorp/yamux v0.1.1 // indirect | ||
github.com/hdevalence/ed25519consensus v0.1.0 // indirect | ||
github.com/illarion/gonotify v1.0.1 // indirect | ||
github.com/imdario/mergo v0.3.15 // indirect | ||
github.com/inconshreveable/mousetrap v1.1.0 // indirect | ||
github.com/insomniacslk/dhcp v0.0.0-20231206064809-8c70d406f6d2 // indirect | ||
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect | ||
github.com/jfrog/build-info-go v1.9.8 // indirect | ||
github.com/jfrog/gofrog v1.3.0 // indirect | ||
github.com/jmespath/go-jmespath v0.4.0 // indirect | ||
github.com/josharian/intern v1.0.0 // indirect | ||
github.com/josharian/native v1.1.1-0.20230202152459-5c7d0dd6ab86 // indirect | ||
github.com/jsimonetti/rtnetlink v1.3.5 // indirect | ||
github.com/json-iterator/go v1.1.12 // indirect | ||
github.com/kevinburke/ssh_config v1.2.0 // indirect | ||
github.com/klauspost/compress v1.17.4 // indirect | ||
github.com/klauspost/cpuid/v2 v2.2.5 // indirect | ||
github.com/klauspost/pgzip v1.2.5 // indirect | ||
github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a // indirect | ||
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect | ||
github.com/mailru/easyjson v0.7.7 // indirect | ||
github.com/mattn/go-colorable v0.1.13 // indirect | ||
github.com/mattn/go-isatty v0.0.20 // indirect | ||
github.com/mattn/go-runewidth v0.0.15 // indirect | ||
github.com/mdlayher/genetlink v1.3.2 // indirect | ||
github.com/mdlayher/netlink v1.7.2 // indirect | ||
github.com/mdlayher/sdnotify v1.0.0 // indirect | ||
github.com/mdlayher/socket v0.5.0 // indirect | ||
github.com/mholt/archiver/v3 v3.5.1 // indirect | ||
github.com/miekg/dns v1.1.55 // indirect | ||
github.com/minio/sha256-simd v1.0.1 // indirect | ||
github.com/mitchellh/copystructure v1.2.0 // indirect | ||
github.com/mitchellh/go-ps v1.0.0 // indirect | ||
github.com/mitchellh/go-testing-interface v1.14.1 // indirect | ||
github.com/mitchellh/go-wordwrap v1.0.1 // indirect | ||
github.com/mitchellh/mapstructure v1.5.0 // indirect | ||
github.com/mitchellh/reflectwalk v1.0.2 // indirect | ||
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect | ||
github.com/modern-go/reflect2 v1.0.2 // indirect | ||
github.com/muesli/reflow v0.3.0 // indirect | ||
github.com/muesli/termenv v0.15.2 // indirect | ||
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect | ||
github.com/nwaples/rardecode v1.1.0 // indirect | ||
github.com/opencontainers/go-digest v1.0.0 // indirect | ||
github.com/outcaste-io/ristretto v0.2.3 // indirect | ||
github.com/philhofer/fwd v1.1.2 // indirect | ||
github.com/pierrec/lz4/v4 v4.1.21 // indirect | ||
github.com/pion/transport v0.14.1 // indirect | ||
github.com/pion/udp v0.1.2 // indirect | ||
github.com/pjbgf/sha1cd v0.3.0 // indirect | ||
github.com/pkg/errors v0.9.1 // indirect | ||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect | ||
github.com/prometheus/client_golang v1.18.0 // indirect | ||
github.com/prometheus/client_model v0.5.0 // indirect | ||
github.com/prometheus/common v0.46.0 // indirect | ||
github.com/prometheus/procfs v0.12.0 // indirect | ||
github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 // indirect | ||
github.com/rivo/uniseg v0.4.4 // indirect | ||
github.com/robfig/cron/v3 v3.0.1 // indirect | ||
github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect | ||
github.com/sergi/go-diff v1.3.1 // indirect | ||
github.com/skeema/knownhosts v1.2.0 // indirect | ||
github.com/spaolacci/murmur3 v1.1.0 // indirect | ||
github.com/spf13/pflag v1.0.5 // indirect | ||
github.com/tailscale/certstore v0.1.1-0.20220316223106-78d6e1c49d8d // indirect | ||
github.com/tailscale/golang-x-crypto v0.0.0-20230713185742-f0b76a10a08e // indirect | ||
github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 // indirect | ||
github.com/tailscale/netlink v1.1.1-0.20211101221916-cabfb018fe85 // indirect | ||
github.com/tailscale/wireguard-go v0.0.0-20230710185534-bb2c8f22eccf // indirect | ||
github.com/tcnksm/go-httpstat v0.2.0 // indirect | ||
github.com/tinylib/msgp v1.1.8 // indirect | ||
github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63 // indirect | ||
github.com/ulikunitz/xz v0.5.11 // indirect | ||
github.com/valyala/fasthttp v1.51.0 // indirect | ||
github.com/vishvananda/netlink v1.2.1-beta.2 // indirect | ||
github.com/vishvananda/netns v0.0.4 // indirect | ||
github.com/vmihailenco/msgpack v4.0.4+incompatible // indirect | ||
github.com/vmihailenco/msgpack/v4 v4.3.12 // indirect | ||
github.com/vmihailenco/tagparser v0.1.2 // indirect | ||
github.com/x448/float16 v0.8.4 // indirect | ||
github.com/xanzy/ssh-agent v0.3.3 // indirect | ||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect | ||
github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 // indirect | ||
github.com/zclconf/go-cty v1.14.1 // indirect | ||
github.com/zeebo/errs v1.3.0 // indirect | ||
go.nhat.io/otelsql v0.12.0 // indirect | ||
go.opentelemetry.io/otel v1.19.0 // indirect | ||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect | ||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 // indirect | ||
go.opentelemetry.io/otel/metric v1.19.0 // indirect | ||
go.opentelemetry.io/otel/sdk v1.19.0 // indirect | ||
go.opentelemetry.io/otel/trace v1.19.0 // indirect | ||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect | ||
go.uber.org/atomic v1.11.0 // indirect | ||
go4.org/intern v0.0.0-20230525184215-6c62f75575cb // indirect | ||
go4.org/mem v0.0.0-20220726221520-4f986261bf13 // indirect | ||
go4.org/netipx v0.0.0-20230728180743-ad4cb58a6516 // indirect | ||
go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 // indirect | ||
golang.org/x/crypto v0.18.0 // indirect | ||
golang.org/x/exp v0.0.0-20240119083558-1b970713d09a // indirect | ||
golang.org/x/mod v0.14.0 // indirect | ||
golang.org/x/net v0.20.0 // indirect | ||
golang.org/x/oauth2 v0.16.0 // indirect | ||
golang.org/x/sync v0.6.0 // indirect | ||
golang.org/x/sys v0.16.0 // indirect | ||
golang.org/x/term v0.16.0 // indirect | ||
golang.org/x/text v0.14.0 // indirect | ||
golang.org/x/time v0.5.0 // indirect | ||
golang.org/x/tools v0.17.0 // indirect | ||
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect | ||
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect | ||
google.golang.org/appengine v1.6.8 // indirect | ||
google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 // indirect | ||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f // indirect | ||
google.golang.org/grpc v1.61.0 // indirect | ||
google.golang.org/protobuf v1.32.0 // indirect | ||
gopkg.in/DataDog/dd-trace-go.v1 v1.57.0 // indirect | ||
gopkg.in/inf.v0 v0.9.1 // indirect | ||
gopkg.in/warnings.v0 v0.1.2 // indirect | ||
gopkg.in/yaml.v2 v2.4.0 // indirect | ||
gopkg.in/yaml.v3 v3.0.1 // indirect | ||
gvisor.dev/gvisor v0.0.0-20230504175454-7b0a1988a28f // indirect | ||
inet.af/netaddr v0.0.0-20230525184311-b8eac61e914a // indirect | ||
inet.af/peercred v0.0.0-20210906144145-0893ea02156a // indirect | ||
k8s.io/klog/v2 v2.110.1 // indirect | ||
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 // indirect | ||
k8s.io/utils v0.0.0-20230726121419-3b25d923346b // indirect | ||
nhooyr.io/websocket v1.8.7 // indirect | ||
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect | ||
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect | ||
sigs.k8s.io/yaml v1.4.0 // indirect | ||
storj.io/drpc v0.0.33-0.20230420154621-9716137f6037 // indirect | ||
tailscale.com v1.46.1 // indirect | ||
) |
Oops, something went wrong.