User Tools

Site Tools


gsoc:2024-gsoc-uptane

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gsoc:2024-gsoc-uptane [2024/02/05 22:19]
joster
gsoc:2024-gsoc-uptane [2024/02/07 18:54] (current)
joster
Line 16: Line 16:
  
 Mailing list: uptane@googlegroups.com Mailing list: uptane@googlegroups.com
 +
 +Discord server: https://​discord.gg/​uWyT6gDCqx (join the #gsoc-2024 channel)
  
 Mentors: Jon Oster (jon dot oster at toradex dot com), others Mentors: Jon Oster (jon dot oster at toradex dot com), others
Line 22: Line 24:
 ===== Proposal 1: Integrating aktualizr with popular embedded software updater ===== ===== Proposal 1: Integrating aktualizr with popular embedded software updater =====
  
-Aktualizr is an Uptane client written in C++ targeting embedded Linux systems. Uptane’s core functionality is securing and validating software updates in very security-sensitive and safety-critical systems. Aktualizr combines two important areas of functionality:​ implementing Uptane to actually validate software updates, and then installing those software updates. However, the mechanics of installing software updates on embedded linux systems are usually quite complex, so aktualizr hands software artifacts off to other installers/​libraries after they have passed all Uptane security checks. To do this with maximal efficiency, it's usually important to integrate quite deeply with the system responsible for actually managing the system updates.+Contributors:​ 1-2\\ 
 +Project size: Large (350 hours)\\ 
 +Level of difficulty: Difficult 
 + 
 +Aktualizr is an Uptane client written in %%C++%%, targeting embedded Linux systems. Uptane’s core functionality is securing and validating software updates in very security-sensitive and safety-critical systems. Aktualizr combines two important areas of functionality:​ implementing Uptane to actually validate software updates, and then installing those software updates. However, the mechanics of installing software updates on embedded linux systems are usually quite complex, so aktualizr hands software artifacts off to other installers/​libraries after they have passed all Uptane security checks. To do this with maximal efficiency, it's usually important to integrate quite deeply with the system responsible for actually managing the system updates.
  
 Currently, aktualizr only supports OSTree as a method of installing Linux OS updates (including kernel, initramfs, device tree, rootfs). There are other embedded Linux OS updaters, such as [[https://​sbabic.github.io/​swupdate/​swupdate.html|SWUpdate]] and [[https://​rauc.io/​|RAUC]],​ that are based on an A/B partition update scheme, a popular choice for embedded devices and automobiles. However, these projects do not yet support Uptane verification of their software updates. Currently, aktualizr only supports OSTree as a method of installing Linux OS updates (including kernel, initramfs, device tree, rootfs). There are other embedded Linux OS updaters, such as [[https://​sbabic.github.io/​swupdate/​swupdate.html|SWUpdate]] and [[https://​rauc.io/​|RAUC]],​ that are based on an A/B partition update scheme, a popular choice for embedded devices and automobiles. However, these projects do not yet support Uptane verification of their software updates.
Line 35: Line 41:
  
 ===== Proposal 2: Creating an open-source web UI for OTA Community Edition ===== ===== Proposal 2: Creating an open-source web UI for OTA Community Edition =====
 +
 +Contributors:​ 1\\
 +Project size: Large (350 hours) or Medium (175 hours)\\
 +Level of difficulty: Intermediate to difficult
  
 The Uptane project has open-source implementations of the core back-end services required to operate an Uptane system at scale, with Scala implementations of a device registry, director server, and TUF image repo server. These services are used in real-world implementations,​ but generally require some expertise both to set up and to use. A simplified, docker-based method of deploying the services is available with OTA Community Edition, so a developer with sufficient experience can get a working base system. However, this system doesn’t have a UI, a key element for allowing ordinary users to interact with the system. The Uptane project has open-source implementations of the core back-end services required to operate an Uptane system at scale, with Scala implementations of a device registry, director server, and TUF image repo server. These services are used in real-world implementations,​ but generally require some expertise both to set up and to use. A simplified, docker-based method of deploying the services is available with OTA Community Edition, so a developer with sufficient experience can get a working base system. However, this system doesn’t have a UI, a key element for allowing ordinary users to interact with the system.
Line 43: Line 53:
  
 For this project, your proposal should indicate how you plan to learn the API. Your mentor will be able to assist in understanding the API, but you shouldn'​t expect that they will document the API for you. For this project, your proposal should indicate how you plan to learn the API. Your mentor will be able to assist in understanding the API, but you shouldn'​t expect that they will document the API for you.
 +
 +Feel free to submit a medium or large proposal, depending on how extensive you expect your UI design to be. For only basic functionality (i.e. upload a package, create a software update, view vehicle manifest details, etc.) we think this could be a medium project; for a UI that is more extensive, it is likely ​ Large.
  
 **Key skills required**: Front-end/​UI development,​ automated testing, CI/CD\\ **Key skills required**: Front-end/​UI development,​ automated testing, CI/CD\\
gsoc/2024-gsoc-uptane.1707171545.txt.gz · Last modified: 2024/02/05 22:19 by joster