Categorygithub.com/fmartingr/notion2ical
module
0.2.0
Repository: https://github.com/fmartingr/notion2ical.git
Documentation: pkg.go.dev

# README

notion2ical

Simple web service to expose Notion database as iCalendar compatible URLs.

Contributing

Requirements:

We provide a useful Makefile to execute common tasks:

  • Run the server locally: make quick-run
  • Run the test & coverage suite: make test
  • Lint the code: make lint
  • Format the code make format
  • Build the code: make build
  • Clean all created files: make clean

Notion integrations

Currently only the private integration is supported, so only the workspaces which the user api key is an admin for will be supported.

The public integration type is currently in the works.

Configuration

Service configuration is done using environment variables. All variables should be prefixed by NOTION2ICAL_ when using kubernetes deployments.

From internal/config/config.go

NameTypeDescription
HOSTNAMEstringShould be automatically filled
LOG_LEVELstringSlog levels
HTTP_ENABLEDboolEnable/Disable the HTTP Server
HTTP_PORTintPort for the HTTP server to listen
HTTP_PUBLIC_HOSTNAMEstringHostname used publicly when the service is released
HTTP_BODY_LIMITintBody limit in length
HTTP_READ_TIMEOUTduration1Request read timeout
HTTP_WRITE_TIMEOUTduration1Request write timeout
HTTP_IDLE_TIMEOUTduration1Request IDLE timeout
HTTP_DISABLE_KEEP_ALIVEboolEnable/Disable keep alive support
HTTP_DISABLE_PARSE_MULTIPART_FORMboolEnable/Disable parsing multipart form early
BRANDING_THANKS_MESSAGEstringMessage shown on the final configuration step
BRANDING_FOOTER_EXTRAstringExtra footer content
NOTION_INTEGRATION_TOKENstringThe Notion integration token
NOTION_MAX_PAGINATIONintThe maximum number of pages to retrieve from a database
ROUTES_CACHE_EXPIRATIONduration1Cache TTL for the generated calendars
ROUTES_CACHE_CONTROLboolEnable cache-control header
ROUTES_CALENDAR_LIMITER_MAX_REQUESTSintMaximum requests number for the calendar endpoints
ROUTES_CALENDAR_LIMITER_DURATIONduration1Maximum requests interval for the calendar endpoints
ROUTES_STATIC_PATHstringPath prefix for the static files
ROUTES_STATIC_MAX_AGEduration1Max age for the served static files
ROUTES_SYSTEM_PATHstringPath prefix for the system endpoints

Footnotes

  1. *duration = A string containing a number and the time unit: 10s = 10 seconds, 1h = 1 hour, ... 2 3 4 5 6

# Packages

No description provided by the author