Compare commits

...

3 Commits

Author SHA1 Message Date
Aarnav Tale a0d6905123 chore: v0.3.0 2024-09-25 16:32:58 -04:00
Aarnav Tale 4095ed2a68 docs: version the docker images 2024-09-25 16:26:19 -04:00
Aarnav Tale 58e98278d1 chore: support dns use_username_in_magic_dns config 2024-09-25 16:22:00 -04:00
11 changed files with 27 additions and 17 deletions
+4
View File
@@ -1,3 +1,7 @@
### 0.3.0 (September 25, 2024)
- Bumped the minimum supported version of Headscale to 0.23.
- Updated the UI to respect `dns.use_username_in_magic_dns`.
### 0.2.4 (August 24, 2024)
- Removed ACL management from the integration since Headscale 0.23-beta2 now supports it natively.
- Removed the `ACL_FILE` environment variable since it's no longer needed.
+1 -1
View File
@@ -28,7 +28,7 @@ export default function Modal({ name, disabled }: Properties) {
Devices are accessible at
{' '}
<Code>
[device].[user].{name}
[device].{name}
</Code>
{' '}
when Magic DNS is enabled.
+4 -2
View File
@@ -25,7 +25,9 @@ export async function loader() {
const dns = {
prefixes: config.prefixes,
magicDns: config.dns.magic_dns,
baseDomain: config.dns.base_domain,
baseDomain: config.dns.use_username_in_magic_dns
? `[user].${config.dns.base_domain}`
: config.dns.base_domain,
nameservers: config.dns.nameservers.global,
splitDns: config.dns.nameservers.split,
searchDomains: config.dns.search_domains,
@@ -107,7 +109,7 @@ export default function Page() {
on the tailnet. Devices will be accessible at
{' '}
<Code>
[device].[user].
[device].
{data.baseDomain}
</Code>
{' '}
+6 -4
View File
@@ -31,6 +31,10 @@ export default function MachineRow({ machine, routes, magic, users }: Props) {
tags.unshift('Expired')
}
let prefix = magic?.startsWith('[user]')
? magic.replace('[user]', machine.user.name)
: magic
return (
<tr
key={machine.id}
@@ -102,16 +106,14 @@ export default function MachineRow({ machine, routes, magic, users }: Props) {
'justify-between w-full break-keep',
)}
onPress={async () => {
const ip = `${machine.givenName}.${machine.user.name}.${magic}`
const ip = `${machine.givenName}.${prefix}`
await navigator.clipboard.writeText(ip)
toast('Copied hostname to clipboard')
}}
>
{machine.givenName}
.
{machine.user.name}
.
{magic}
{prefix}
<CopyIcon className="w-3 h-3" />
</Menu.ItemButton>
)
+5 -1
View File
@@ -32,6 +32,10 @@ export async function loader({ request }: LoaderFunctionArgs) {
if (config.dns.magic_dns) {
magic = config.dns.base_domain
}
if (config.dns.use_username_in_magic_dns) {
magic = `[user].${magic}`
}
}
return {
@@ -76,7 +80,7 @@ export default function Page() {
based on their name and also at
{' '}
<Code>
[name].[user].
[name].
{data.magic}
</Code>
</Tooltip>
-1
View File
@@ -36,7 +36,6 @@ export default function Add({ magic }: Props) {
{' '}
<Code>
[machine].
{username.length > 0 ? username : '[username]'}
.
{magic}
</Code>
-1
View File
@@ -59,7 +59,6 @@ export default function Rename({ username, magic }: Props) {
{' '}
<Code>
[machine].
{newName.length > 0 ? newName : '[new-username]'}
.
{magic}
</Code>
+1 -1
View File
@@ -61,7 +61,7 @@ ACLs when the file is changed.
## Deployment
Requirements:
- Headscale 0.23 beta-2 or later
- Headscale 0.23 or newer
- Headscale and Headplane need a Reverse Proxy (NGINX, Traefik, Caddy, etc)
Currently there are 3 integration providers that can do this for you:
+2 -2
View File
@@ -16,7 +16,7 @@ Headplane in a production environment.
## Deployment
Requirements:
- Headscale 0.23 beta-2 or later
- Headscale 0.23 or newer
- Headscale and Headplane need a Reverse Proxy (NGINX, Traefik, Caddy, etc)
Docker heavily simplifies the deployment process, but this process can be
@@ -29,7 +29,7 @@ Here is a simple Docker Compose deployment:
services:
headplane:
container_name: headplane
image: ghcr.io/tale/headplane:latest
image: ghcr.io/tale/headplane:0.3.0
restart: unless-stopped
ports:
- '3000:3000'
+2 -2
View File
@@ -37,7 +37,7 @@ that you'll NEED to setup a reverse proxy and this is incomplete:
```yaml
services:
headscale:
image: 'headscale/headscale:0.23.0-beta2'
image: 'headscale/headscale:0.23.0'
container_name: 'headscale'
restart: 'unless-stopped'
command: 'serve'
@@ -50,7 +50,7 @@ services:
TZ: 'America/New_York'
headplane:
container_name: headplane
image: ghcr.io/tale/headplane:latest
image: ghcr.io/tale/headplane:0.3.0
restart: unless-stopped
volumes:
- './data:/var/lib/headscale'
+2 -2
View File
@@ -88,7 +88,7 @@ spec:
serviceAccountName: default
containers:
- name: headplane
image: ghcr.io/tale/headplane:latest
image: ghcr.io/tale/headplane:0.3.0
env:
- name: COOKIE_SECRET
value: 'abcdefghijklmnopqrstuvwxyz'
@@ -107,7 +107,7 @@ spec:
mountPath: /etc/headscale
- name: headscale
image: headscale/headscale:0.23.0-beta2
image: headscale/headscale:0.23.0
command: ['serve']
env:
- name: TZ