version: 2 project_name: meshpanel builds: - main: ./cmd/meshpanel env: [CGO_ENABLED=0] flags: [-trimpath] # Keep in sync with TSTAGS in the Makefile. tags: - ts_omit_aws - ts_omit_kube - ts_omit_drive - ts_omit_taildrop - ts_omit_tpm - ts_omit_bird - ts_omit_capture - ts_omit_clientupdate - ts_omit_completion - ts_omit_debugeventbus - ts_omit_desktop_sessions - ts_omit_doctor - ts_omit_synology - ts_omit_systray - ts_omit_syspolicy - ts_omit_tap - ts_omit_wakeonlan - ts_omit_webclient - ts_omit_ssh - ts_omit_appconnectors - ts_omit_relayserver - ts_omit_portmapper - ts_omit_netlog - ts_omit_tailnetlock - ts_omit_posture - ts_omit_flashappliance - ts_omit_qrcodes - ts_omit_networkmanager - ts_omit_resolved - ts_omit_iptables - ts_omit_dbus - ts_omit_linuxdnsfight - ts_omit_oauthkey - ts_omit_identityfederation - ts_omit_cloud - ts_omit_captiveportal - ts_omit_advertiseexitnode - ts_omit_advertiseroutes - ts_omit_useexitnode - ts_omit_outboundproxy - ts_omit_webbrowser - ts_omit_colorable - ts_omit_hujsonconf - ts_omit_remoteconfig - ts_omit_usermetrics - ts_omit_clientmetrics - ts_omit_debugportmapper - ts_omit_conn25 - ts_omit_cliconndiag - ts_omit_sdnotify - ts_omit_syslog - ts_omit_linkspeed - ts_omit_gro - ts_omit_tundevstats ldflags: ["-s -w -X main.version={{ .Version }}"] goos: [linux] goarch: [amd64, arm64, arm] goarm: ["7"] archives: # The bare binary, for `curl -Lo meshpanel …/releases/latest/download/meshpanel_linux_amd64`. - id: binary formats: [binary] name_template: "{{ .ProjectName }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" - id: archive formats: [tar.gz] name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" files: - LICENSE - README.md - THIRD_PARTY_NOTICES.md - deploy/* nfpms: - package_name: meshpanel homepage: https://github.com/meshpanel/meshpanel maintainer: meshpanel contributors description: Control panel for headscale with device approvals over the web and Telegram. license: MIT formats: [deb, rpm] bindir: /usr/bin contents: - src: deploy/meshpanel.service dst: /usr/lib/systemd/system/meshpanel.service - src: deploy/config.example.yaml dst: /etc/meshpanel/config.yaml type: config|noreplace file_info: mode: 0640 - src: deploy/headscale-update.example.yaml dst: /usr/share/doc/meshpanel/headscale-update.example.yaml - src: deploy/headscale-update.sudoers dst: /usr/share/doc/meshpanel/headscale-update.sudoers - src: deploy/sudoers dst: /usr/share/doc/meshpanel/sudoers.example - src: deploy/Caddyfile dst: /usr/share/doc/meshpanel/Caddyfile.example - src: deploy/nginx.conf dst: /usr/share/doc/meshpanel/nginx.conf.example scripts: postinstall: scripts/postinstall.sh release: extra_files: - glob: deploy/config.example.yaml checksum: name_template: checksums.txt # checksums.txt.sig: ed25519 signature the in-app updater verifies. The binary # is only trusted if its hash is in this signed file. signs: - id: checksums cmd: scripts/sign.sh args: ["${artifact}", "${signature}"] artifacts: checksum signature: "${artifact}.sig" changelog: sort: asc filters: exclude: ["^docs:", "^test:"]