calendar-notifier
![test-and-build](https://github.com/ww24/calendar-notifier/workflows/Test%20on%20master/badge.svg?branch=master)
Calendar Notifier provides event handler and actions triggered by Google Calendar.
![dockeri.co](https://dockeri.co/image/ww24/calendar-notifier)
Features
Setup
- Create GCP Project
- Create GCP Service Account
- Share Google Calendar with service account
- Set
SERVICE_ACCOUNT
environment. Use base64 encoded GCP Service Account JSON.
echo "SERVICE_ACCOUNT=$(base64 < service_account.json)" > .env
- Edit
config.sample.yml
and save as config.yml
.
- Set
CONFIG
environment. Use base64 encoded config.yml.
echo "CONFIG=$(base64 < config.yml)" > .env
Usage
Use docker-compose
Use docker
- Run
docker build -t calendar-notifier .
- Run
docker run -e SERVICE_ACCOUNT=$(base64 < service_account.json) -e CONFIG=$(base64 < config.yml) calendar-notifier
Permission
Cloud Tasks
If use Cloud Tasks Action, service account should have the following permissions.
cloudtasks.tasks.list
cloudtasks.tasks.create
cloudtasks.tasks.delete
iam.serviceAccounts.actAs
For example, give your service account the following roles.
roles/cloudtasks.viewer
roles/cloudtasks.enqueuer
roles/cloudtasks.taskDeleter
roles/iam.serviceAccountUser
References
Cloud Pub/Sub
If use Cloud Pub/Sub Action, service account should have the following permissions.
pubsub.topics.publish
For example, give your service account the following roles.
roles/pubsub.publisher
References