Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lueschem/edi

Embedded development infrastructure.
https://github.com/lueschem/edi

ansible debian embedded image iot jinja2 lxc lxd python python3 raspberry-pi ubuntu yaml

Last synced: about 2 months ago
JSON representation

Embedded development infrastructure.

Awesome Lists containing this project

README

        

Embedded Development Infrastructure - edi
=========================================

.. image:: https://github.com/lueschem/edi/actions/workflows/package-build.yml/badge.svg?branch=master
:target: https://github.com/lueschem/edi/actions?query=branch%3Amaster

.. image:: https://github.com/lueschem/edi/actions/workflows/package-build.yml/badge.svg?branch=develop
:target: https://github.com/lueschem/edi/actions?query=branch%3Adevelop

.. image:: https://img.shields.io/badge/deb-packagecloud.io-844fec.svg
:target: https://packagecloud.io/get-edi/debian

.. image:: https://readthedocs.org/projects/edi/badge/?version=latest
:target: https://docs.get-edi.io/en/latest/?badge=latest
:alt: Documentation Status

edi is a generic tool that helps you to streamline your *e*\ mbedded *d*\ evelopment *i*\ nfrastructure.
By itself edi does not do a lot but together with a project configuration (examples:
`edi-pi`_, `edi-cl`_ and `edi-var`_) it unfolds its potential and you can build

- artifacts like *full OS images* that can be directly flashed to a device,
- artifacts that allow you to *update your device over the air*\ ,
- *Linux containers* that serve as a *digital twin* of the device and can be used for development,
build automation, testing and even container based deployments and
- nice *documents* about the content of your artifacts

in a reproducible manner that easily fits into a modern, automated development workflow.

.. _`edi-pi`: https://github.com/lueschem/edi-pi
.. _`edi-cl`: https://github.com/lueschem/edi-cl
.. _`edi-var`: https://github.com/lueschem/edi-var

edi is proven in use and OS and container images generated by edi are running on 700k+ devices
all around the world! edi project configurations can easily be adjusted to individual use cases
and additional hardware devices. The setup is designed in a way that it scales up to large
development projects.

Instead of reinventing the wheel, edi leverages best of breed open source technologies:

- Ansible_ is the tool of choice for doing the configuration management.
- LXD_ or Podman_ allow you to run multiple OS twin instances on your development host.
- Yaml_ and Jinja2_ are the consistent way to write edi configuration files and Ansible playbooks.
- Python_ is the language and ecosystem that makes the system integration efficient.
- edi is supposed to be used on the `Ubuntu Linux`_ or `Debian Linux`_ distribution.
- By default, edi generates `Debian Linux`_ based target systems.

.. _Ansible: https://www.ansible.com
.. _LXD: https://www.linuxcontainers.org
.. _Podman: https://podman.io
.. _Yaml: https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
.. _Jinja2: https://jinja.palletsprojects.com/
.. _Python: https://www.python.org
.. _Ubuntu Linux: https://www.ubuntu.com
.. _Debian Linux: https://www.debian.org

----

License
+++++++

edi is licensed under the LGPL license.

Contributions
+++++++++++++

You are welcome to contribute to edi. In case of questions you can contact me by e-mail ([email protected]).

More Information
++++++++++++++++

For more information please visit `https://www.get-edi.io`_.

.. _`https://www.get-edi.io`: https://www.get-edi.io