devilsec / events-index

Index of all upcoming DevilSec events

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DevilSec Event Index

This repository contains an index of all upcoming DevilSec events in addition to a script which generates ICS files of all upcoming events.

The ICS files are referenced to in the schedule page of the DevilSec website.

This repository is maintained by DevilSec's event planning team.

Index Files

Events

The events.json is the index of all upcoming DevilSec events.

All events are objects of an 'events' array.
Each event object contains the following attributes:

  • Name: A string value which represents the name of the event.
  • Date: An ISO 8601 timestamp. It must at a minimum contain the date and the hour.
  • Duration: A duration value which can be any combination of days ([0-9]*d), hours ([0-9]*h), minutes ([0-9]*m) and seconds ([0-9]*s).
  • Location: A string value which represents the location of the event.
  • Location URL: A URL that represents the location of the event (i.e. Google Maps or OpenStreetMap, etc.).
  • Speakers: An array of speaker indexes which match a speaker in the Speakers index (speakers.json). The array should be left empty if there are no speakers.
  • Category: An integer value representing the category, matching a category in the Category index (category.json).
  • Description: A string value representing the description of the event.
  • ICS URL: A string value representing the corresponding ICS file of the event. This is automatically generated by the icsgen.py script.

Speakers

The speakers.json is an index of speakers which either will speak or have spoken at a DevilSec event.

All speakers are objects of a 'speakers' array.
Each speaker object contains the following attributes:

  • ID: An integer value representing a unique ID of a speaker.
  • Name: A string value representing the name of a speaker.
  • Description: A string value representing a short description of a speaker. This value is currently unused.

Categories

The categories.json is an index of categories which events are part of.

All categories are objects of a 'categoroies' array.
Each category object contains the following attributes:

  • ID: An integer value representing a unique ID of a category.
  • Name: A string value representing the name of the category.

Miscellaneous

A GitHub secret is used within the GitHub workflow which runs the script and commits the ICS files because GitHub requires personal tokens to be used for write actions that are ran within a workflow which is triggered by a push event.
The GitHub personal token must have the public_repo permission and be stored as a secret named COMMIT_TOKEN.
If the Commit ICS Files step of the workflow fails with the fatal error: could not read Username for 'https://github.com': No such device or address, it means that the token has either expired or invalid.

About

Index of all upcoming DevilSec events


Languages

Language:Python 100.0%