Skip to content

gldraphael/status

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

status

Personal app to sync my calendar status with GitHub and expose availability from a separate calendar.

Quickstart

export STATUS_ENABLED=true
export STATUS_SOURCES_ICAL_URL="https://calendar.google.com/calendar/ical/...%40group.calendar.google.com/public/basic.ics"
export STATUS_TARGETS_GITHUB_TOKEN="ghp_..."

podman compose up

Status sync starts only when STATUS_ENABLED=true and a status target is configured. The status calendar fetch interval is configured with STATUS_SOURCES_ICAL_INTERVAL / status.sources.ical.interval, defaulting to 5m.

Availability

Set AVAILABILITY_ENABLED=true to fetch availability, expose /api/availability, and trigger Cloudflare Pages deploys when availability changes.

  • AVAILABILITY_SUPPRESSIONS_WORKING_HOURS_START defaults to 09:00 and AVAILABILITY_SUPPRESSIONS_WORKING_HOURS_END defaults to 17:50; weekday blocks that overlap that window are suppressed unless the day is a bank holiday.
  • Set AVAILABILITY_SUPPRESSIONS_EXCLUDE_ENGLAND_BANK_HOLIDAYS=true to lift that weekday suppression on England-and-Wales bank holidays from GOV.UK. Holiday data is fetched at startup and cached in Pebble.
  • AVAILABILITY_SOURCES_ICAL_URL controls the availability feed, and AVAILABILITY_API_KEY controls the exact Authorization header required by the endpoint.
  • AVAILABILITY_SOURCES_ICAL_INTERVAL / availability.sources.ical.interval controls the availability calendar fetch interval, defaulting to 5m.

Cloudflare Pages

When availability is enabled, Cloudflare Pages deploys are required and run when computed availability changes. Configure the build hook with AVAILABILITY_TARGETS_CLOUDFLARE_PAGES_DEPLOY_HOOK; the publish interval is AVAILABILITY_TARGETS_CLOUDFLARE_PAGES_INTERVAL / availability.targets.cloudflare_pages.interval, defaulting to 10m.

About

Personal tool to keep my status across various platforms in sync with my Calendars

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors