fleet/tools
Victor Lyuboslavsky c1a5e3b7b6
Fix calendar duplicated events and other issues (#20443)
#19352
Includes the following changes:
- Re-enable calendar callback
- Introduced a new Redis key that indicates event was updated by
calendar callback. In that case, we ignore subsequent callbacks for 10
seconds.
- This reduces the amount of Google API calls, including handling of the
unneeded callback generated by our own event change.
- Read event from DB after acquiring lock. This is critical since we get
the updated ETag of the Google Calendar event from our DB. Using the
previous ETag when fetching event sometimes returns stale data,
resulting in duplicate events.
- Fixed bug in getCalendarLock where calendar cron would always think it
got the lock
- Do not refetch timezone during calendar callback to reduce Google API
load
- Watch for calendar event changes for 1 week after event end (to
account for user moving event into the future)
- #20442: Speculative improvement for Google callback latency by keeping
the same notification channel (callback URL).
- processCalendarAsync now takes at least 1 sec to process all events,
to reduce CPU/Redis load
- Increased lock expiration time from 1 minute to 20 minutes to account
for potential Google API retries, fixing occasional duplicate events.
- Added `get-events.go` helper script that gets maintenance events from
user calendars, and checks for duplicates

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-24 13:40:33 +02:00
..
api added mention of new vuln endpoint (#17912) 2024-05-29 17:08:05 -06:00
apm-elastic Fix stack trace, duplicates and better coverage of captured errors in APM (#16516) 2024-02-05 11:53:39 -05:00
app Fix SSO paths to always use /v1/ instead of /latest/ (#5246) 2022-04-20 12:46:45 -04:00
backup_db MySQL 8.0 Migration (#20225) 2024-07-22 16:27:36 -04:00
blackhat-mdm Waive 3 Go code scanning vulnerability alerts. (#18007) 2024-04-03 16:04:01 -05:00
bomutils-docker Pin image SHA in Dockerfiles (#10205) 2023-03-01 11:37:00 -08:00
calendar Fix calendar duplicated events and other issues (#20443) 2024-07-24 13:40:33 +02:00
ci Modifying chart to include dependencies (#14758) 2023-11-07 11:16:33 -06:00
cis Script for comparing two CIS PDF files (#15307) 2023-12-06 09:21:12 -05:00
cloner-check CP Exclude Labels: API changes (#19846) 2024-06-25 15:26:28 -04:00
dbutils 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
desktop Move external dependency fleetdm/kolide-kit to monorepo (#15861) 2024-01-02 18:22:52 -03:00
file-server Switching systray dependency to one without glibc requirements (#14197) 2023-11-02 14:40:21 -05:00
fleet-docker Update/ensure pinned Dockerfile images (#20141) 2024-07-01 19:36:42 -05:00
fleetctl-docker Testing a fix for fleet ci packaging (#12610) 2023-07-27 16:00:51 -07:00
fleetctl-npm Adding changes for Fleet v4.54.0 (#20280) (#20561) 2024-07-17 16:50:26 -07:00
inspect-cert chore: remove refs to deprecated io/ioutil (#14485) 2023-10-27 15:28:54 -03:00
installerstore Enable errcheck linter for golangci-lint (#8899) 2022-12-05 16:50:49 -06:00
jira-integration 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00
kubequery Move kubequery dependency to monorepo (#16027) 2024-01-11 08:30:26 -03:00
loadtest Update osquery loadtest guide (#14886) 2023-11-02 15:13:42 -03:00
mailpit Fix SMTP e-mail send when SMTP server has credentials (#10758) 2023-03-28 15:23:15 -03:00
mdm Add a tool to extract MDM assets from a Fleet database (#20659) 2024-07-23 15:11:18 -03:00
mysql-replica-testing MySQL 8.0 Migration (#20225) 2024-07-22 16:27:36 -04:00
nvd/nvdvuln vscode false positivies (#19508) 2024-06-13 11:03:53 -04:00
oncall Move and fix oncall.sh script (#18217) 2024-04-11 16:23:00 -03:00
osquery MySQL 8.0 Migration (#20225) 2024-07-22 16:27:36 -04:00
osquery-agent-options Update osquery flags to 5.12.2 (#19338) 2024-06-10 17:02:49 -03:00
osquery-testing 15135 remove atom package (#15410) 2023-12-04 14:26:26 -05:00
percona/test MySQL 8.0 Migration (#20225) 2024-07-22 16:27:36 -04:00
redis-stress Add redis stress (#3363) 2022-01-20 16:18:17 -03:00
redis-tests Bump go to 1.19.1 (#7690) 2022-09-12 20:32:43 -03:00
release Update freeze instructions in engineering handbook (#20524) 2024-07-18 12:38:54 -07:00
run-scripts Implement script execution on the fleetd agent (disabled by default) (#13569) 2023-08-30 14:02:44 -04:00
saml use the configured EntityID for audience validation on MDM SSO (#16144) 2024-01-22 14:30:45 -03:00
seed_data 14969 vuln software seeding tool (#15116) 2023-11-30 13:01:50 -07:00
sentry-self-hosted Fix stack trace of captured errors in Sentry, capture errors in more code paths (#16966) 2024-02-22 15:10:28 -03:00
sign-fleetctl sign fleetctl for macOS during releases (#16670) 2024-04-19 14:36:30 -03:00
smtp4dev 14729 smtp settings validation for TLS (#15029) 2023-11-21 11:48:21 -07:00
team-builder Add team builder script (#10086) 2023-05-03 09:55:14 -07:00
telemetry add services to inspect traces and monitor a local server (#8597) 2022-11-21 10:50:10 -03:00
terraform Update go.mod (#20273) 2024-07-09 11:44:35 -07:00
test-certs Add fake certificates for testing TLS issues (#20390) 2024-07-16 13:21:39 -03:00
test-orbit-mtls Fixing SSL certificates to make them valid. (#16359) 2024-01-31 12:00:59 -06:00
test_extensions/hello_world Add support for Linux ARM64 (#19931) 2024-07-17 16:07:59 -04:00
testdata Add fixtures for software and vulnerabilities end-to-end tests (#6337) 2022-06-23 10:01:37 -05:00
tuf Improvements to releaser script and adding arm64 to tuf.md (#20635) 2024-07-23 14:57:27 -03:00
webhook Additional changes to happy path and cleanup cron job (#17757) 2024-03-26 13:39:37 -05:00
windows-mdm-enroll Implement Windows MDM programmatic unenrollment (notification + orbit trigger) (#12505) 2023-06-28 09:13:37 -04:00
wix-docker Pin image SHA in Dockerfiles (#10205) 2023-03-01 11:37:00 -08:00
zendesk-integration 🧹 friday cleanup party: substitute deprecated import of go-kit (#19774) 2024-06-17 10:27:31 -03:00