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