edi
edi copied to clipboard
Embedded development infrastructure.
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 250k+ 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_ allows you to run multiple OS instances on your development host. For complex target system deployments LXD is a great choice too.
- 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
_ orDebian Linux
_ distribution. - By default, edi generates
Debian Linux
_ based target systems.
.. _Ansible: https://www.ansible.com .. _LXD: https://www.linuxcontainers.org .. _Yaml: http://docs.ansible.com/ansible/YAMLSyntax.html .. _Jinja2: http://jinja.pocoo.org/ .. _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