Commit Graph

113 Commits

Author SHA1 Message Date
Émile Ré
9986553f4e Release proboctl/v0.3.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-10 18:49:27 +02:00
Émile Ré
90c52d743d Release probod/v0.207.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-10 18:47:09 +02:00
Émile Ré
af5f48ad8a Release prb/v0.193.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-10 18:45:22 +02:00
Émile Ré
ab2447abc6 Release proboctl/v0.2.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-09 18:06:49 +02:00
Émile Ré
5a4bbb8294 Release probod/v0.206.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-09 18:06:22 +02:00
Émile Ré
8fca59e3bc Release prb/v0.192.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-09 18:05:29 +02:00
Sacha Al Himdani
9ac71f948f Update contact email to hello@probo.com
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-06-09 16:45:23 +02:00
Émile Ré
b643c8eb6d Release probod/v0.205.0
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-08 19:32:35 +02:00
Bryan Frimin
1c0f431bee Release probod/v0.204.0 2026-06-05 17:56:54 +02:00
Bryan Frimin
2dfb7a4763 Release probod/v0.203.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-06-05 16:37:13 +02:00
Émile Ré
8f40f460d4 Release probod/v0.202.2
Signed-off-by: Émile Ré <emile@probo.com>
2026-06-03 16:42:35 +02:00
Émile Ré
4553407591 Release probod/v0.202.1
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-06-03 16:22:32 +02:00
Ludovic Vielle
460decaa1b Release probod/v0.202.0
Signed-off-by: Ludovic Vielle <ludovic@probo.com>
2026-06-03 14:47:34 +02:00
Émile Ré
d9cf24d8fc Release probod/v0.201.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-06-02 12:46:35 +02:00
Émile Ré
e560d04e12 Release prb/v0.191.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-06-02 12:45:35 +02:00
Émile Ré
66708ec053 Release probod/v0.200.1
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-06-01 16:47:49 +02:00
Émile Ré
49dabedff4 Release probod/v0.200.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-06-01 14:58:04 +02:00
Bryan Frimin
4790f83360 Release probod/v0.199.1
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-28 20:26:05 -07:00
Bryan Frimin
6ad81a319a Release probod/v0.199.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-28 18:40:45 -07:00
Bryan Frimin
ada92790bc Release probod/v0.198.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-28 14:08:23 -07:00
Bryan Frimin
5e78b11f08 Release probod/v0.197.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-28 09:54:57 -07:00
Bryan Frimin
f0b9acb748 Release probod/v0.196.1
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-27 19:27:13 -07:00
Bryan Frimin
31995aa0ca Release probod/v0.196.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-27 18:19:34 -07:00
Bryan Frimin
bc5244d9f4 Release prb/v0.190.0
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-05-27 13:47:24 -07:00
Bryan Frimin
aa3042584c Release probod/v0.195.0
Signed-off-by: Bryan Frimin <bryan@getprobo.com>
2026-05-27 13:46:23 -07:00
Bryan Frimin
caba961d7c Release probo-agent/v0.1.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 16:22:06 -07:00
Bryan Frimin
96e127a814 Release probod/v0.194.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 15:51:42 -07:00
Bryan Frimin
712f00f434 Update copyright year
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:59:17 -07:00
Bryan Frimin
5c73886faf Fix label name
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:47:14 -07:00
Bryan Frimin
e040851a4c Style
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:45:57 -07:00
Bryan Frimin
842081b66e Parse macOS postinstall conf without eval
Read KEY=VALUE lines from /tmp/probo-agent.conf directly so a
user-controlled temp file cannot execute arbitrary shell as root.

Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:45:55 -07:00
Bryan Frimin
22e50b3f11 Add probo-agent CLI and deviceagent library
Introduce the standalone device agent binary and shared library
for enrollment, posture checks, self-update, and OS service
integration. Include build targets, module deps, and release
workflow so the agent can ship independently of server changes.

Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-26 13:45:54 -07:00
Bryan Frimin
4cdf7699e8 Release probod/v0.193.1 2026-05-26 11:48:15 -07:00
Sacha Al Himdani
08d1256ac0 Release probod/v0.193.0
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-05-26 18:30:27 +02:00
Sacha Al Himdani
b25b1e6b59 Release prb/v0.189.0
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-05-26 18:26:07 +02:00
Bryan Frimin
5b199062ca Release probod/v0.192.0
Signed-off-by: Bryan Frimin <bryan@probo.com>
2026-05-25 17:06:17 -07:00
Émile Ré
85a2f43e72 Release probod/v0.191.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-05-22 13:58:22 +02:00
Émile Ré
1ebbffcef9 Release prb/v0.188.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-05-22 13:58:07 +02:00
Émile Ré
d44272bb9e Release probod/v0.190.1 2026-05-20 15:19:12 +04:00
Émile Ré
3b5b4251b2 Release proboctl/v0.1.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-05-20 13:49:31 +04:00
Émile Ré
1c445d6597 Release probod/v0.190.0
Signed-off-by: Émile Ré <emile@getprobo.com>
2026-05-20 13:48:57 +04:00
Émile Ré
9156d6a16a Add wsl linter and fix
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-20 09:27:28 +04:00
Émile Ré
ed41b354b0 Allow domains to belong to multiple third parties
Change the unique constraint on common_third_party_domains from (domain)
to (common_third_party_id, domain) so a domain like google.com can be
associated with Google, Google Analytics, Google AdSense, etc.

Also fix Beamer domain (was hotjar.com, now getbeamer.com) and preserve
the original url.Parse error in pgconn DSN parsing.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:11 +04:00
Émile Ré
48a494461e Add proboctl CLI and move seed commands into it
Introduce a new proboctl Cobra CLI for Probo instance management
that connects directly to PostgreSQL. Move the standalone
common-third-parties-import and common-tracker-patterns-import
commands into proboctl as `proboctl seed common-third-parties`
and `proboctl seed common-tracker-patterns`, replacing flag-based
PG connection with a shared factory pattern.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:09 +04:00
Émile Ré
844817543d Handle LoadByID errors explicitly instead of silently falling through to auto-create
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:09 +04:00
Émile Ré
53e1260d4d Add slug-based dedup and auto-create third parties from OCD
Add a slug column to common_third_parties for stable cross-source
deduplication. The OCD tracker patterns importer now resolves third
parties via a three-step cascade (slug lookup, domain fallback,
auto-create) instead of silently dropping unmatched links.

Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:08 +04:00
Émile Ré
a16821802e Fix PR review findings
- Replace copy-pasted New Relic URLs in Resend third-party entry
  with correct resend.com URLs and drop inapplicable fields
- Escape single '%' instead of '%%' in LIKE pattern conversion so
  literal percent signs are not treated as wildcards
- Return actual row ID from CommonTrackerPattern.Upsert via
  RETURNING id so conflict-path callers get the existing ID
- Add ORDER BY id ASC to vendor-by-common-third-party query for
  deterministic LIMIT 1 selection

Signed-off-by: Émile Ré <emile@getprobo.com>
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:08 +04:00
Émile Ré
ad74bb2ed6 Switch tracker patterns import to Open Cookie Database
Replace the local data.json source with a live clone of the
Open Cookie Database repository. The importer now reads
open-cookie-database.json, maps OCD entries to tracker pattern
rows, and resolves third-party links via case-insensitive
platform name lookup.

Signed-off-by: Émile Ré <emile@getprobo.com>
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:07 +04:00
Émile Ré
f0483d5280 Add tracker pattern seed data and domain aliases
Seed common_tracker_patterns from Open Cookie Database (2300
patterns with max_age_seconds where available). Add domain
aliases to all 92 vendors in data.json. Extend third-parties
import to upsert domain aliases. Add dedicated import command
for tracker patterns with third-party name cache.

Signed-off-by: Émile Ré <emile@getprobo.com>
Signed-off-by: Émile Ré <emile@probo.com>
2026-05-18 19:05:06 +04:00
Sacha Al Himdani
3ff66757ad Remove deprecated snapshot system
The register/document model has fully replaced the snapshot system.
Delete every snapshot-scoped row and strip the application code that
referenced them: SnapshotID/SourceID struct fields, snapshot_id IS NULL
filters, snapshot columns from SELECT/INSERT statements and named args,
and the eight migrate-*-snapshots-to-documents one-shot tools.

The remaining snapshot_id / source_id columns, the snapshots and
controls_snapshots tables, the snapshots_type enum, and the
snapshot-scoped indexes are now unused; they are dropped in a follow-up
schema migration so this change can roll back cleanly without leaving
orphaned data.

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
2026-05-15 23:26:02 +02:00