You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@gabrielmongefranco thank you for contacting me. In terms of contributing, we could certainly use your skills. Several things spring to mind.
We need to automate the process of building binary releases for the various popular distros (aka rpm/deb files), and writing a proper install/setup script. Our Jenkins server could handle the former, as it already does nightly build/test jobs on CentOS/Debian/Ubuntu/Fedora, so adding jobs to create binaries for the different platforms and uploading them to https://magmadaemon.org wouldn't be hard. Building binaries seems like a somewhat pointless effort without an installer though.
The vagrant VMs you mentioned, which eventually evolved into the roboxes project, was to create create turnkey magma appliance VMs. But because they lack an install script, they're only being used for cross platform testing at the moment.
In terms of status on an installer, our current INSTALL script was written 4 years ago, and is somewhat out of sync with where things are at... files have moved, steps added/removed, etc. Not sure what needs updating. Either way, it's written in perl, and should be redone as a bash script. A more current, but more obtuse install script is the magmad.install.sh script. What we need is a solid bash script which queries the user, like the perl version, and performs all of the steps required to install and configure magmad.
Our build.lib.sh script which compiles the bundled magmad dependencies would also benefit greatly from a dependency checker. Basically some bash logic that figures out which OS your using and then uses the appropriate tool/commands to ensure all the required dependencies are installed. We get lots of reports regarding failed builds that would disappear if we had this.
You also mentioned documentation. We could also use a lot of help in that department. In terms of magma/libdime/libcore, we have lots of documentation, but it's dispersed and hard to find. Even then, much of the documentation is in varying states of accuracy, as things have evolved, and the docs haven't been kept up to date. If you're interested in compiling and editing it all into a comprehensive guide, it would be extremely helpful as well. We need updated guides/docs for building, installing, and managing magma (and libdime/libcore by extension). We could also use help documenting how to troubleshoot common problems, with guides on showing how to use the bundled scripts/tools. In a perfect world, I'd write all this up, and publish it in book form.
Our developer documentation could also use a refresh, as it would make it easier for newcomers to understand the repo/code structure, contribution requirements, interface usage, etc, if there was a guide to go with the doxygen comments.
If you manage to do all that, I could also use help updating the DIME spec. A couple of years ago I decided to shift my focus away from writing the spec, to writing code. As such there are a few very minor things which need to be updated. But mostly there are a number of important sections that were planned, but never written. I would also like to reformat the spec, and publish it as an RFC series once it stabilises. I said when you get done with the rest, because this task is rather involved. I'm actually hoping to hire someone for the task at some point, if our budget allows.
The text was updated successfully, but these errors were encountered:
Two install scripts which might be useful inspiration for a revamped Magma install script are the certbot-auo.sh bootstrap/installer/setup script and the setup-ds.pl LDAP directory server setup script. Attaching snapshots of both for reference.
@gabrielmongefranco thank you for contacting me. In terms of contributing, we could certainly use your skills. Several things spring to mind.
We need to automate the process of building binary releases for the various popular distros (aka rpm/deb files), and writing a proper install/setup script. Our Jenkins server could handle the former, as it already does nightly build/test jobs on CentOS/Debian/Ubuntu/Fedora, so adding jobs to create binaries for the different platforms and uploading them to https://magmadaemon.org wouldn't be hard. Building binaries seems like a somewhat pointless effort without an installer though.
The vagrant VMs you mentioned, which eventually evolved into the roboxes project, was to create create turnkey magma appliance VMs. But because they lack an install script, they're only being used for cross platform testing at the moment.
In terms of status on an installer, our current
INSTALL
script was written 4 years ago, and is somewhat out of sync with where things are at... files have moved, steps added/removed, etc. Not sure what needs updating. Either way, it's written inperl
, and should be redone as abash
script. A more current, but more obtuse install script is themagmad.install.sh
script. What we need is a solidbash
script which queries the user, like theperl
version, and performs all of the steps required to install and configuremagmad
.Our
build.lib.sh
script which compiles the bundledmagmad
dependencies would also benefit greatly from a dependency checker. Basically somebash
logic that figures out which OS your using and then uses the appropriate tool/commands to ensure all the required dependencies are installed. We get lots of reports regarding failed builds that would disappear if we had this.You also mentioned documentation. We could also use a lot of help in that department. In terms of magma/libdime/libcore, we have lots of documentation, but it's dispersed and hard to find. Even then, much of the documentation is in varying states of accuracy, as things have evolved, and the docs haven't been kept up to date. If you're interested in compiling and editing it all into a comprehensive guide, it would be extremely helpful as well. We need updated guides/docs for building, installing, and managing magma (and libdime/libcore by extension). We could also use help documenting how to troubleshoot common problems, with guides on showing how to use the bundled scripts/tools. In a perfect world, I'd write all this up, and publish it in book form.
Our developer documentation could also use a refresh, as it would make it easier for newcomers to understand the repo/code structure, contribution requirements, interface usage, etc, if there was a guide to go with the
doxygen
comments.If you manage to do all that, I could also use help updating the DIME spec. A couple of years ago I decided to shift my focus away from writing the spec, to writing code. As such there are a few very minor things which need to be updated. But mostly there are a number of important sections that were planned, but never written. I would also like to reformat the spec, and publish it as an RFC series once it stabilises. I said when you get done with the rest, because this task is rather involved. I'm actually hoping to hire someone for the task at some point, if our budget allows.
The text was updated successfully, but these errors were encountered: