p-hennessy / Bolt

All the parts for building a Discord robot
https://docs.bolt.bot/
MIT License
8 stars 6 forks source link

Bundle and deploy Bolt with standard methods #75

Closed p-hennessy closed 5 years ago

p-hennessy commented 5 years ago

Will have CI produce yum, dpkg and tarball packages

Basically I want to be able to download an RPM or DEB artifact, install it, and configure it just like any other service.

Here is my scratch for what it'll look like; basically mirroring that of Apache

/etc/bolt/
    config.yml
    /plugins
        /Manage
            __init__.py
            main.py
            config.yml
/etc/logrotate.d/
    bolt
/var/log/bolt/
/lib/systemd/system/
    bolt.service

/usr/bin/bolt

Will depend on having...

How might users interact with developing plugins? Perhaps provide a way to launching the bot in a 'developer' mode

How will users install and configure plugins?

p-hennessy commented 5 years ago

Options the executable will need to support

no args             <--- Puts bot in foreground for dev purposes
--daemon            <--- Used by systemd to start the service
--verify-config     <--- Used to check if the config files are good and loadable
--verify-plugins    <--- Used to check if the plugins are able to be loaded
--version           <--- Self explanatory 
p-hennessy commented 5 years ago

https://pyinstaller.readthedocs.io/en/stable/operating-mode.html#bundling-to-one-file

This shows a lot of promise; and worked with a test compile of Bolt. Will need to do some more testing to make sure this is actually distrubtable