mirror of
https://github.com/juanfont/headscale.git
synced 2024-11-26 08:53:05 +00:00
Compare commits
5 commits
a59c2ebdf8
...
0fc6e9f279
Author | SHA1 | Date | |
---|---|---|---|
|
0fc6e9f279 | ||
|
a7874af3d0 | ||
|
0c1309b7e2 | ||
|
126177c7ab | ||
|
fd3968882d |
11 changed files with 21 additions and 22 deletions
2
.github/workflows/test-integration.yaml
vendored
2
.github/workflows/test-integration.yaml
vendored
|
@ -108,7 +108,7 @@ jobs:
|
||||||
--volume $PWD/control_logs:/tmp/control \
|
--volume $PWD/control_logs:/tmp/control \
|
||||||
--env HEADSCALE_INTEGRATION_POSTGRES=${{env.USE_POSTGRES}} \
|
--env HEADSCALE_INTEGRATION_POSTGRES=${{env.USE_POSTGRES}} \
|
||||||
golang:1 \
|
golang:1 \
|
||||||
go run gotest.tools/gotestsum@latest -- ./... \
|
go run gotest.tools/gotestsum@latest -- -race ./... \
|
||||||
-failfast \
|
-failfast \
|
||||||
-timeout 120m \
|
-timeout 120m \
|
||||||
-parallel 1 \
|
-parallel 1 \
|
||||||
|
|
|
@ -62,7 +62,7 @@ event.
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior
|
Instances of abusive, harassing, or otherwise unacceptable behavior
|
||||||
may be reported to the community leaders responsible for enforcement
|
may be reported to the community leaders responsible for enforcement
|
||||||
at our Discord channel. All complaints
|
on our [Discord server](https://discord.gg/c84AZQhmpx). All complaints
|
||||||
will be reviewed and investigated promptly and fairly.
|
will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and
|
All community leaders are obligated to respect the privacy and
|
||||||
|
|
4
Makefile
4
Makefile
|
@ -22,7 +22,7 @@ build:
|
||||||
dev: lint test build
|
dev: lint test build
|
||||||
|
|
||||||
test:
|
test:
|
||||||
gotestsum -- -short -coverprofile=coverage.out ./...
|
gotestsum -- -short -race -coverprofile=coverage.out ./...
|
||||||
|
|
||||||
test_integration:
|
test_integration:
|
||||||
docker run \
|
docker run \
|
||||||
|
@ -33,7 +33,7 @@ test_integration:
|
||||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||||
-v $$PWD/control_logs:/tmp/control \
|
-v $$PWD/control_logs:/tmp/control \
|
||||||
golang:1 \
|
golang:1 \
|
||||||
go run gotest.tools/gotestsum@latest -- -failfast ./... -timeout 120m -parallel 8
|
go run gotest.tools/gotestsum@latest -- -race -failfast ./... -timeout 120m -parallel 8
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
golangci-lint run --fix --timeout 10m
|
golangci-lint run --fix --timeout 10m
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
An open source, self-hosted implementation of the Tailscale control server.
|
An open source, self-hosted implementation of the Tailscale control server.
|
||||||
|
|
||||||
Join our [Discord](https://discord.gg/c84AZQhmpx) server for a chat.
|
Join our [Discord server](https://discord.gg/c84AZQhmpx) for a chat.
|
||||||
|
|
||||||
**Note:** Always select the same GitHub tag as the released version you use
|
**Note:** Always select the same GitHub tag as the released version you use
|
||||||
to ensure you have the correct example configuration and documentation.
|
to ensure you have the correct example configuration and documentation.
|
||||||
|
|
|
@ -41,13 +41,15 @@ In addition to that, you may use packages provided by the community or from dist
|
||||||
[installation guide using community packages](../setup/install/community.md).
|
[installation guide using community packages](../setup/install/community.md).
|
||||||
|
|
||||||
For convenience, we also [build Docker images with headscale](../setup/install/container.md). But **please be aware that
|
For convenience, we also [build Docker images with headscale](../setup/install/container.md). But **please be aware that
|
||||||
we don't officially support deploying headscale using Docker**. We have a [Discord
|
we don't officially support deploying headscale using Docker**. On our [Discord server](https://discord.gg/c84AZQhmpx)
|
||||||
channel](https://discord.com/channels/896711691637780480/1070619770942148618) where you can ask for Docker-specific help
|
we have a "docker-issues" channel where you can ask for Docker-specific help to the community.
|
||||||
to the community.
|
|
||||||
|
|
||||||
## Why is my reverse proxy not working with headscale?
|
## Why is my reverse proxy not working with headscale?
|
||||||
|
|
||||||
We don't know. We don't use reverse proxies with headscale ourselves, so we don't have any experience with them. We have [community documentation](../ref/integration/reverse-proxy.md) on how to configure various reverse proxies, and a dedicated [Discord channel](https://discord.com/channels/896711691637780480/1070619818346164324) where you can ask for help to the community.
|
We don't know. We don't use reverse proxies with headscale ourselves, so we don't have any experience with them. We have
|
||||||
|
[community documentation](../ref/integration/reverse-proxy.md) on how to configure various reverse proxies, and a
|
||||||
|
dedicated "reverse-proxy-issues" channel on our [Discord server](https://discord.gg/c84AZQhmpx) where you can ask for
|
||||||
|
help to the community.
|
||||||
|
|
||||||
## Can I use headscale and tailscale on the same machine?
|
## Can I use headscale and tailscale on the same machine?
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,5 @@
|
||||||
# Getting help
|
# Getting help
|
||||||
|
|
||||||
Join our Discord server for announcements and community support:
|
Join our [Discord server](https://discord.gg/c84AZQhmpx) for announcements and community support.
|
||||||
|
|
||||||
- [announcements](https://discord.com/channels/896711691637780480/896711692120129538)
|
|
||||||
- [general](https://discord.com/channels/896711691637780480/896711692120129540)
|
|
||||||
- [docker-issues](https://discord.com/channels/896711691637780480/1070619770942148618)
|
|
||||||
- [reverse-proxy-issues](https://discord.com/channels/896711691637780480/1070619818346164324)
|
|
||||||
- [web-interfaces](https://discord.com/channels/896711691637780480/1105842846386356294)
|
|
||||||
|
|
||||||
Please report bugs via [GitHub issues](https://github.com/juanfont/headscale/issues)
|
Please report bugs via [GitHub issues](https://github.com/juanfont/headscale/issues)
|
||||||
|
|
|
@ -6,5 +6,4 @@ code archives. Container images are available on [Docker Hub](https://hub.docker
|
||||||
|
|
||||||
An Atom/RSS feed of headscale releases is available [here](https://github.com/juanfont/headscale/releases.atom).
|
An Atom/RSS feed of headscale releases is available [here](https://github.com/juanfont/headscale/releases.atom).
|
||||||
|
|
||||||
Join the ["announcements" channel on Discord](https://discord.com/channels/896711691637780480/896711692120129538) for
|
See the "announcements" channel on our [Discord server](https://discord.gg/c84AZQhmpx) for news about headscale.
|
||||||
news about headscale.
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ Headscale is an open source, self-hosted implementation of the Tailscale control
|
||||||
|
|
||||||
This page contains the documentation for the latest version of headscale. Please also check our [FAQ](./about/faq.md).
|
This page contains the documentation for the latest version of headscale. Please also check our [FAQ](./about/faq.md).
|
||||||
|
|
||||||
Join our [Discord](https://discord.gg/c84AZQhmpx) server for a chat and community support.
|
Join our [Discord server](https://discord.gg/c84AZQhmpx) for a chat and community support.
|
||||||
|
|
||||||
## Design goal
|
## Design goal
|
||||||
|
|
||||||
|
|
|
@ -16,4 +16,4 @@ Headscale doesn't provide a built-in web interface but users may pick one from t
|
||||||
| headscale-admin | [Github](https://github.com/GoodiesHQ/headscale-admin) | Headscale-Admin is meant to be a simple, modern web interface for headscale |
|
| headscale-admin | [Github](https://github.com/GoodiesHQ/headscale-admin) | Headscale-Admin is meant to be a simple, modern web interface for headscale |
|
||||||
| ouroboros | [Github](https://github.com/yellowsink/ouroboros) | Ouroboros is designed for users to manage their own devices, rather than for admins |
|
| ouroboros | [Github](https://github.com/yellowsink/ouroboros) | Ouroboros is designed for users to manage their own devices, rather than for admins |
|
||||||
|
|
||||||
You can ask for support on our dedicated [Discord channel](https://discord.com/channels/896711691637780480/1105842846386356294).
|
You can ask for support on our [Discord server](https://discord.gg/c84AZQhmpx) in the "web-interfaces" channel.
|
||||||
|
|
|
@ -4,6 +4,7 @@ import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/ory/dockertest/v3"
|
"github.com/ory/dockertest/v3"
|
||||||
|
@ -25,7 +26,6 @@ type ExecuteCommandOption func(*ExecuteCommandConfig) error
|
||||||
func ExecuteCommandTimeout(timeout time.Duration) ExecuteCommandOption {
|
func ExecuteCommandTimeout(timeout time.Duration) ExecuteCommandOption {
|
||||||
return ExecuteCommandOption(func(conf *ExecuteCommandConfig) error {
|
return ExecuteCommandOption(func(conf *ExecuteCommandConfig) error {
|
||||||
conf.timeout = timeout
|
conf.timeout = timeout
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -67,6 +67,7 @@ func ExecuteCommand(
|
||||||
StdErr: &stderr,
|
StdErr: &stderr,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
resultChan <- result{exitCode, err}
|
resultChan <- result{exitCode, err}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
|
@ -88,7 +89,6 @@ func ExecuteCommand(
|
||||||
|
|
||||||
return stdout.String(), stderr.String(), nil
|
return stdout.String(), stderr.String(), nil
|
||||||
case <-time.After(execConfig.timeout):
|
case <-time.After(execConfig.timeout):
|
||||||
|
|
||||||
return stdout.String(), stderr.String(), ErrDockertestCommandTimeout
|
return stdout.String(), stderr.String(), ErrDockertestCommandTimeout
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -351,18 +351,22 @@ func (s *Scenario) CreateTailscaleNodesInUser(
|
||||||
cert := headscale.GetCert()
|
cert := headscale.GetCert()
|
||||||
hostname := headscale.GetHostname()
|
hostname := headscale.GetHostname()
|
||||||
|
|
||||||
|
s.mu.Lock()
|
||||||
opts = append(opts,
|
opts = append(opts,
|
||||||
tsic.WithHeadscaleTLS(cert),
|
tsic.WithHeadscaleTLS(cert),
|
||||||
tsic.WithHeadscaleName(hostname),
|
tsic.WithHeadscaleName(hostname),
|
||||||
)
|
)
|
||||||
|
s.mu.Unlock()
|
||||||
|
|
||||||
user.createWaitGroup.Go(func() error {
|
user.createWaitGroup.Go(func() error {
|
||||||
|
s.mu.Lock()
|
||||||
tsClient, err := tsic.New(
|
tsClient, err := tsic.New(
|
||||||
s.pool,
|
s.pool,
|
||||||
version,
|
version,
|
||||||
s.network,
|
s.network,
|
||||||
opts...,
|
opts...,
|
||||||
)
|
)
|
||||||
|
s.mu.Unlock()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf(
|
return fmt.Errorf(
|
||||||
"failed to create tailscale (%s) node: %w",
|
"failed to create tailscale (%s) node: %w",
|
||||||
|
|
Loading…
Reference in a new issue