Direkt zum Hauptinhalt

24.04.2022 / Roadmap

Roadmap

API Version v0.3 - April 2022

Content of API:

  1. Ausleihen von Maschinen (Use, Check, Block, Disable)
  2. Übertragen von Maschinen - ???
  3. Verwalten von Nutzern (Add, Remove) - 15.05.2022
  4. Ändern von Nutzerrollen - 15.05.2022
  5. Hinzufügen von FabFire Karten zu Nutzern - ???

AuditLog

TODO:

QR-Code für Maschinen NFC für Maschinen GTK und MacOS UWP im Store

Mehr Infos zu 3. und 4.: Anbinden von externen IDPs Persistenz von Nutzerdaten nach Server neustart BackUp von Nutzerdaten

API Version v0.4 - August 2022

Content of API:

  1. Komplexe Status
  2. Live Notes an Ressourcen die nur für ≥Manager sichtbar sind. (Blame)

Mail

Hello!

since two of our guys couldn't join the meetings I'll recap the main points from the two meetings last week:

We scheduled tentative weekly 30-minute meetings every Tuesday at 15:50 CEST for further establishing details of the integration of FabAccess in the INTERFACER project, starting out with somewhat longer meetings and getting shorter as required. The main topics that were identified to require further discussion are the requirements that FabAccess poses to the existing IAM software solution, especially special topics like card management, to refine the requirements for the FabAccess milestones in the current roadmap, and conduct research on the design and implementation of the FabAccess token and other integrations with the FabChain.

Regarding the Milestones, an initial draft:

Milestones

Since out reference client tracks our server software closely features generally require code on both sides and aren't itemized separately.

  1. Release 0.3 — "Spigots of Berlin" by 2022-04-24
    • Features implemented
      • Audit log
      • internal user auth & roles
      • NXP DESFire based authentication system
      • 5-state machine model
      • Actor / Initiator system
      • Configuration of some machine metadata
      • Basic UI for machine state interactions
  2. Release 0.4 — "Digging up Stuttgart" by 2022-08-31
    • Features implemented:
      • OIDC Service Provider
      • User roles sourced from external sources (e.g. LDAP)
      • Framework allowing additional machine models to be implemented
      • Dynamic UI capable of displaying complex states required by some machine models
      • Client support for OIDC auth
  3. Comprehensive documentation of Beta Diflouroborane and Borepin. by 2022-09-30
    • Primary Focus Setup and Pre-Production enviroments
  4. Final (INTERFACER) Release — by 2022-12-31
    • Features implemented:
      • Templating allowing for custom corporate designs
      • Publishing OpenHardware CardSystem
      • Python/Lua Scripting API
  5. Comprehensive documentation of Release Diflouroborane and Borepin. by 2022-12-31
    • Primary Focus End-Users and Common Production Setups
  6. Follow-up support, up to 2023-03-31
    • incl. assisting INTERFACER testing/integration setups

API information

API schema language is https://capnproto.org/ language reference can be found at https://capnproto.org/language.html

A Python API test script can be found at https://gitlab.com/fabinfra/fabaccess/pyfabapi

In the following a very short explanation of the contents of each schema file:

connection.capnp

Initial starting point for API interactions with an instance of the interface Bootstrap being send to each client on connection establishment.

authenticationsystem.capnp

SASL-based authentication returning an instance of struct Session from connection.capnp on successful authentication, giving access to some or all Subsystems based on user roles.

machinesystem.capnp

Lookup system for machines based on URN or configured names.

permissionsystem.capnp

Administrative access to internal roles.

usersystem.capnp

Lookup & admin access to internal representation of users.

machine.capnp

Machine object methods allowing state updates following the current 5-state model and administrative access for privileged operators.

user.capnp

Access to user information and administrative methods for privileged operator.

space.capnp && general.capnp && role.capnp

Auxiliary types used in other files.

Test env

We have a test environment with a preconfigured server. https://gitlab.com/fabinfra/fabaccess/testenv

All available test users are listed in the README.md file. For a simple start the "Admin1" user is the most useful.

The password for all users is "secret".

The test server is currently running at "test.fab-access.org:59661"

Please write if you need clarifications on any subject matter.

Greetings, dequbed & Joseph

Naming Things

0.?

https://de.wikipedia.org/wiki/Historisches_Archiv_der_Stadt_K%C3%B6ln#Einsturz_des_Geb%C3%A4udes_im_M%C3%A4rz_2009

Ideen:

  • Rubbles of Cologne
  • Shattering in Cologne
  • Eroding down Cologne
  • Collapsing down Cologne
  • Collapsing in Cologne

0.??

Elbphilharmonie

Ideen:

  • Reverberating Hamburg

0.???

https://de.wikipedia.org/wiki/GAIA-X

Notes

  • 0.2: "Joris-Version"
  • 0.3: Erster Status, der überhaupt valide veröffentlicht werden kann (TLS). Tür öffnen noch schwierig. (bis spätestens April 2022)
  • 0.4: Abstraktionseben geschaffen, komplexer Status einer Maschine setzen können. Z.B. zusammenhängende Maschinen (Kühlungen / Lüftung / ..). Tür ist einfach nutzbar eingebaut. (bis spätestens August 2022)
  • 1.0: Stabile API für Maschinenstatus, erweiterbar - vorhandenes geht beim Erweitern nicht kaputt.
  • Menschenlesbare Dokumentation der API - nicht zwingend in Cap'nProto, auf jeden Fall aber in den abgeleiteten Anwender-Schnittstellen (Python/...).
  • Visionäre Versionen
  • 1.x: Raumbuchung ermöglichen, ...
  • ... bis 2.0 wird nichts mehr "kaputt gehen" - d.h. Versionskompatibilität.

Recap mail aka. CYA cryptobros edition

Hello all,

since two of our guys couldn't join the meeting I'll recap the main points from the meeting earlier today:

Updating the information we had so far Adam is the technical manager for the work-package of FabAccess in INTERFACER, making him our primary contact person for technical issues instead of Henry. As Henry and I have discussed in January we'll want to have a test setup before a more precise priority list for the requirements is made.

We scheduled a follow-up meeting on 2022-04-19 at 15:50 CEST, and decided tentatively to make the 15:50 slot every tuesday a weekly meeting for further establishing details of the integration of FabAccess in the INTERFACER project, starting out with somewhat longer meetings as required.

The main topics that were identified to require further discussion are the requirements that FabAccess poses to the FabCityOS IAM system, especially special topics like card management, and to refine the requirements for the FabAccess milestones in the current roadmap.

Please tell me if you spot any mistakes.

Greeting, dequbed