Skip to content

Simple Rust web service that serves calendar of a goout.net user in iCalendar format

License

Notifications You must be signed in to change notification settings

strohel/goout-calendar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7210712 · Feb 16, 2020
Jan 13, 2020
Feb 16, 2020
Feb 16, 2020
Oct 23, 2019
Feb 7, 2019
Feb 15, 2020
Feb 16, 2020
Jan 23, 2019
Feb 16, 2020
Mar 1, 2019
Feb 26, 2019
Feb 16, 2020
Jan 24, 2019
Feb 16, 2020
Dec 6, 2019

Repository files navigation

goout-calendar

Simple web service that serves calendar of a goout.net user in iCalendar format.

Documentation

Reverse-engineered GoOut REST API documentation is present in this repository in the apiary.apib file in API Blueprint format, and beautifully rendered (including ability to call endpoints) on Apiary.

The endpoints.txt file simply lists available endpoints.

Goout-calendar itself is a Rust micro web service using Rocket as a web framework. The calendar.rs module is responsible for handling of the client-facing endpoint, which lets the goout_api.rs module iteract with GoOut API.

Build and Deploy

Goout-calendar requires Rust 1.33+, but the Rocket dependency requires nightly or devel Rust build.

If you install Rust toolchain locally, you can cargo build, cargo run etc.

Alternatively, enclosed Dockerfile lets you build using docker build -t goout-calendar . and run using docker run -p 80:80 goout-calendar.

You can also deploy any cloud environment supporting Knative, for example Google Cloud Run by using the knativeservice.envsubst.yaml Knative service definition file.

Finally, there is cloudbuild.yaml configuration file for Google Cloud Build (Continuous Integration) to build and deploy automatically. Note to myself: I've configured GCB trigger on the GitHub repo to build & deploy automatically on push of a tag.

Demo Instance

I've set up a demo instance at Google Cloud Platform at http://goout.strohel.eu/.

See Also

About

Simple Rust web service that serves calendar of a goout.net user in iCalendar format

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published