Skip to content

Latest commit

 

History

History
41 lines (35 loc) · 2.53 KB

20230817-cccamp23.md

File metadata and controls

41 lines (35 loc) · 2.53 KB

SpaceAPIs Workshop at CCC Camp23

Motivation of the participants

  • Get an idea about different implementations and how things were implemented and why
  • Further use casse and what could be added to the schema specification
  • Some answers how to implement it correctly
  • Best practices

Different implementations like

  • Rust server coredump (spaceapi-community + own implementation)
    • Client-Server architecture
    • Door status and other information (sensors) published into Redis with an expiration period -> automatic open/close mechanism
  • Chaos Computer Club Basel Implementation
    • Added additional information like stock of different kind of mate
    • Door status and other information (sensors) published into InfluxDB
    • Cron Job clears open status
    • Extra device in space
      • Buttons for people arrive/leave
      • Counter is displayed via Nixie Tubes
  • Fork of the spaceapi-community Rust server by dezentrale
    • Simple configuration via yaml file to configuration the long living data (address, website, ...)
    • Client-Server architecture
      • The API endpoint runs on a VPS
      • The client runs on an RaspberryPI and send open/close via an additional not specified admin interface protected by an API-Key
    • Next feature Dead man's switch
      • Keep alive every 5 minutes to signal the space is open
      • If client doesn't call after 5 minutes the server set status to closed
      • differentiation between regular open/close request and keep-alive request as business logic
  • Python implementation of Chaostreff Potsdam (CCCP)
    • Python Flask implementation
    • Sensor data from solar power generator is provided
    • Open status is directly gathered by the server application

Ideas for extensions and other use cases

  • There is already an externsion pattern ext_<fieldname> to describe data, that's not specified
  • Related spaces to express friendship between spaces -> linked spaces already specified for schema specification v15
  • Representation of a network of spaces like the ChaosZone (Spaces from East Germany, Czech Republic, ...) -> maybe via an tag
  • Solar power generation provided provided by CCCP isn't specified -> CCCP maybe has maybe an open MR as a recommendation for specification