442 Commits

Author SHA1 Message Date
miloschwartz
068b2a0dcd clean up paid features check 2026-01-22 11:16:27 -08:00
Owen
688892523c Bump version 2026-01-21 14:24:29 -08:00
Jan-Filip Grosse
4d73488f0c updated the sync and creation of new rules objects to include priorities passed by blueprints. 2026-01-20 15:22:12 -08:00
Jan-Filip Grosse
46e62b24cf Updated RuleSchema to include priority as optional int() value. Included validiation to make sure that no priorities are duplicated (including those which get auto-assigned). 2026-01-20 15:22:12 -08:00
Varun Narravula
d5ae381528 feat(fingerprint): clean up stale snapshots older than 1 year 2026-01-20 12:13:43 -08:00
Owen
ce632a25cf Consolidate the messages into the same enum 2026-01-17 11:41:10 -08:00
Owen
9114dd5992 Send terminate error messages 2026-01-16 14:57:54 -08:00
Owen
05748bf8ff Merge branch 'dev' into msg-delivery 2026-01-16 12:22:23 -08:00
Owen
f8c98bf6bf Fix log messages 2026-01-16 12:19:52 -08:00
Fred KISSIE
9040f9b82a ♻️ set approval state nullable 2026-01-15 01:03:02 +01:00
Fred KISSIE
cbf184342b Merge branch 'dev' into feat/device-approvals 2026-01-14 23:08:40 +01:00
Owen
69dbd20ea5 Use same regex for blueprint aliases
Closes #2218
Fixes #2216
2026-01-11 13:39:46 -08:00
Fred KISSIE
7164721ee0 🐛 insert timestamp correctly 2026-01-09 01:50:56 +01:00
Fred KISSIE
a81bbb9192 create approval request and mark client approval as pending if the user's role requires it 2026-01-09 01:18:15 +01:00
Owen
dccf101554 Allow all in country in blueprints
Fixes #2163
2025-12-24 16:14:26 -05:00
miloschwartz
8732e50047 add flag to disable product help banners 2025-12-24 16:14:26 -05:00
miloschwartz
9759e86921 add stripPortFromHost and reuse everywhere 2025-12-24 16:14:26 -05:00
Owen
40eeb9b7cb Allow all in country in blueprints
Fixes #2163
2025-12-24 10:49:18 -05:00
Owen
2bb94e24eb Merge branch 'main' into dev 2025-12-23 16:57:01 -05:00
Owen
729c2adb3f Dont allow maintence page on remote nodes 2025-12-23 15:24:26 -05:00
miloschwartz
074ee70025 add flag to disable product help banners 2025-12-23 13:33:24 -05:00
miloschwartz
da112d3417 add stripPortFromHost and reuse everywhere 2025-12-23 12:35:03 -05:00
Owen
5c67a1cb12 Format 2025-12-22 16:28:41 -05:00
Owen
59f8334cfd Fix ee export of MaintenanceSchema 2025-12-22 16:27:54 -05:00
Owen
2e60ecec87 Add maintence options to blueprints 2025-12-22 14:00:50 -05:00
Owen
6060b1d60d Merge branch 'main' into dev 2025-12-21 20:31:38 -05:00
Dhananjay Mahtha
7507806aaa Fix: Support public-resources and private-resources in Docker blueprint labels
- Add support for pangolin.public-resources.* labels as alias for proxy-resources
- Add support for pangolin.private-resources.* labels as alias for client-resources
- Update processContainerLabels to parse all four resource type prefixes
- Update early-exit check in applyNewtDockerBlueprint to consider all four resource keys
- ConfigSchema transformation will merge public/private into proxy/client as designed

Fixes #2125
2025-12-21 17:09:01 -05:00
Dhananjay Mahtha
90c48f20e0 Fix: Prevent cache memory leak by adding maxKeys limit and conditional caching
- Add maxKeys limit (10,000) to NodeCache to prevent unbounded memory growth
- Skip caching undefined values when GeoIP/ASN lookups fail (e.g., when MaxMind DB not configured)
- Add periodic cache statistics logging every 5 minutes for monitoring
- Fixes memory leak where cache would grow indefinitely with high request volumes

The maxKeys limit uses LRU eviction, so oldest entries are automatically removed
when the limit is reached. With ~10k requests/day and 5min TTL, 10k keys provides
ample headroom while preventing OOM issues.

Fixes #2120
2025-12-21 17:08:27 -05:00
Owen
1d5d856799 Make extendedCompatibility on by default 2025-12-21 16:38:28 -05:00
Owen
8ea6b0cd9e Adjust algo for showing maintence page 2025-12-21 16:38:27 -05:00
miloschwartz
dedc13ab98 bump version 2025-12-21 15:45:12 -05:00
Owen
6a5939599c Remove maintence mode internal vars and use server 2025-12-20 17:28:39 -05:00
Owen
a9a0fbe244 Merge UI into new screen 2025-12-20 16:35:16 -05:00
Owen
d8344988c0 Restrict license 2025-12-20 16:35:16 -05:00
Pallavi Kumari
d82535d3e1 point the resource to the nextjs server for maintenance screen 2025-12-20 16:35:16 -05:00
Pallavi Kumari
1d862131dd remove maintenance mode from oss traefik config generator 2025-12-20 16:35:16 -05:00
Pallavi Kumari
795302a351 refactor files and add func to private traefik config generator file 2025-12-20 16:35:16 -05:00
Pallavi Kumari
096a2bfa10 fix maintenance router name 2025-12-20 16:35:16 -05:00
Owen
800bdcb277 generate traefik config for maintenance ui 2025-12-20 16:35:16 -05:00
Owen
eafcefbe45 Merge branch 'dev' of github.com:jln-brtn/pangolin into jln-brtn-dev 2025-12-20 15:34:32 -05:00
Owen
b80757a129 Add blueprint validation 2025-12-20 12:16:31 -05:00
Owen
4ecca88856 Add asn option to blueprint type 2025-12-20 12:16:31 -05:00
Thomas Wilde
4f154d212e Add ASN-based resource rule matching
- Add MaxMind ASN database integration
- Implement ASN lookup and matching in resource rule verification
- Add curated list of 100+ major ASNs (cloud, ISP, CDN, mobile carriers)
- Add ASN dropdown selector in resource rules UI with search functionality
- Support custom ASN input for unlisted ASNs
- Add 'ALL ASNs' special case handling (AS0)
- Cache ASN lookups with 5-minute TTL for performance
- Update validation schemas to support ASN match type

This allows administrators to create resource access rules based on
Autonomous System Numbers, similar to existing country-based rules.
Useful for restricting access by ISP, cloud provider, or mobile carrier.
2025-12-20 12:16:31 -05:00
Owen
ce3cb98422 Add blueprint validation 2025-12-20 12:16:00 -05:00
Owen
428a76d742 Add asn option to blueprint type 2025-12-20 12:16:00 -05:00
Thomas Wilde
8d2955475b Add ASN-based resource rule matching
- Add MaxMind ASN database integration
- Implement ASN lookup and matching in resource rule verification
- Add curated list of 100+ major ASNs (cloud, ISP, CDN, mobile carriers)
- Add ASN dropdown selector in resource rules UI with search functionality
- Support custom ASN input for unlisted ASNs
- Add 'ALL ASNs' special case handling (AS0)
- Cache ASN lookups with 5-minute TTL for performance
- Update validation schemas to support ASN match type

This allows administrators to create resource access rules based on
Autonomous System Numbers, similar to existing country-based rules.
Useful for restricting access by ISP, cloud provider, or mobile carrier.
2025-12-20 12:16:00 -05:00
Owen
fea4d43920 Make utility subnet configurable 2025-12-19 14:45:00 -05:00
Owen
8ff588407c Fix various small issues; blueprints working 2025-12-17 22:12:16 -05:00
Owen
c2e06725a8 Keep the same site resource id 2025-12-17 22:12:16 -05:00
Owen
bb43e0c325 Handle changing site by recreating site resource 2025-12-17 22:12:16 -05:00