1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
Name: meshbay-hub
Version: 0.4.0
Release: 1%{?dist}
Summary: MeshBay Hub — identity authority and group registry server
License: AGPLv3+
URL: https://meshbay.org
Source0: %{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: python3-devel >= 3.12
BuildRequires: python3-pip
BuildRequires: python3-hatchling
Requires: python3 >= 3.12
Requires: python3-meshbay-common = %{version}
Requires: python3-fastapi
Requires: python3-uvicorn
Requires: python3-sqlalchemy >= 2.0
Requires: python3-alembic
Requires: python3-asyncpg
Requires: python3-pyjwt
Requires: python3-blake3
Requires: python3-slowapi
Requires: postgresql-server
%description
MeshBay Hub provides identity management, group registry,
GEK bundle distribution, and coordination for MeshBay nodes.
Runs as a systemd service behind Caddy (HTTPS).
%prep
%autosetup
%build
%{python3} -m pip wheel --no-deps --wheel-dir dist .
%install
%{python3} -m pip install --root %{buildroot} --no-index --find-links dist meshbay-hub
# systemd service
install -Dm644 packaging/systemd/meshbay-hub.service \
%{buildroot}%{_unitdir}/meshbay-hub.service
# Config file template
install -Dm644 packaging/conf/hub.toml.example \
%{buildroot}%{_sysconfdir}/meshbay/hub.toml.example
# Data directory
install -d %{buildroot}%{_sharedstatedir}/meshbay/hub
%pre
getent group meshbay >/dev/null || groupadd -r meshbay
getent passwd meshbay >/dev/null || \
useradd -r -g meshbay -d %{_sharedstatedir}/meshbay -s /sbin/nologin \
-c "MeshBay service account" meshbay
%post
%systemd_post meshbay-hub.service
%preun
%systemd_preun meshbay-hub.service
%postun
%systemd_postun_with_restart meshbay-hub.service
%files
%license LICENSE
%doc README.md
%{python3_sitelib}/meshbay_hub/
%{python3_sitelib}/meshbay_hub-*.dist-info/
%{_bindir}/meshbay-hub
%{_unitdir}/meshbay-hub.service
%config(noreplace) %{_sysconfdir}/meshbay/hub.toml.example
%dir %attr(750, meshbay, meshbay) %{_sharedstatedir}/meshbay/hub
%changelog
* Sun Aug 16 2026 MeshBay Team <team@meshbay.org> - 0.4.0-1
- Web client translated into fr, es, pt-BR, zh-CN, ja, de, it, nl and pl
- Catalogues load on demand, one file per language, English as fallback
- Plural forms selected through Intl.PluralRules (Polish needs four)
- Locale matching keeps the region, so pt-BR and zh-CN resolve
- Static assets are revalidated, so a half-updated SPA cannot load
* Sat Aug 15 2026 MeshBay Team <team@meshbay.org> - 0.3.0-1
- Transfers survive leaving a group; downloads stream to disk in every browser
- Download a folder as a zip, built in the browser (zip64, store-only)
- Group owner can remove a member; editable group description
- Nodes are recorded at the address their signed announcement arrived from
- Deleted accounts stop being counted; the connection log keeps their name
* Fri Aug 14 2026 MeshBay Team <team@meshbay.org> - 0.2.0-1
- Hub no longer stores or publishes user identity keys (H3); schema migration
- Access tokens carry no pk_user claim
- SPA: Argon2id for the keypair bundle, per-node identity, invitation codes
* Sat Aug 09 2026 MeshBay Team <team@meshbay.org> - 0.1.0-1
- Initial package
|