bosun.org@v0.0.0-20210513094433-e25bc3e69a1f/docs/call.md (about)

     1  ---
     2  layout: default
     3  title: Sunsetting Bosun at Stack Overflow and Call for New Bosun Maintainer(s)
     4  ---
     5  
     6  # Sunsetting Bosun at Stack Overflow and Call for New Bosun Maintainer(s)
     7  
     8  Stack Overflow has decided to move away from maintaining our own open source monitoring system and instead move to a commercial SaaS monitoring product. For the size of our company, maintaining an open source monitoring system properly of Bosun's scope is beyond our resources and does not align clearly with our objectives.  We want to be building more products and features for our Stack Overflow community and clients.  Building our own tools takes us away from that core mission.  To that end, Stack Overflow will be migrating away from Bosun by the end of 2019.
     9  
    10  ## What this means for the future of the Bosun Project
    11  
    12  Bosun is a powerful monitoring system with a growing community.  We hope that someone in the community steps up and takes over as primary maintainer(s) of the project.
    13  
    14  It is our hope that a new maintainer can be found and the project will continue.  If we can not find a new maintainer, we plan on sunsetting the project by the end of 2019.
    15  
    16  ### Support for the remainder of 2019
    17  
    18  For the remainder of 2019 (or until a new maintainer is found), Stack commits to continuing our support:
    19   - Bug Fixes.
    20   - Surface level improvements:
    21     - Expression language: Additional Functions, non-breaking modifications.
    22     - Template Functions: New functions available in templates.
    23     - Minor UI improvements.
    24  
    25  ### Assistance for new maintainer
    26  
    27  If someone/group/company wants to become the new primary maintainer (govern the project, decide what gets merged and what doesn't) then this will become less of an ending of the project and more of a handoff.
    28  
    29  In this situation:
    30  
    31   - I (Kyle) would make myself available to mentor new maintainers and give feedback on ideas/features/code, code walkthroughs and things like this if able to.
    32   - Stack will endeavour to produce at least one major release before a transition to new maintainers trying to wrap a few major bugs.
    33   - Take a pass at code refactoring (non-impactful) and commenting to make it easier for someone to take over.
    34   - Help expand on what might need to change in the code to be able to do some of the items below once a maintainer has taken over.
    35  
    36  # How can I/we learn more about becoming a maintainer?
    37  
    38  You can email me at `kyle@stackoverflow.com`, or you can reach out to us in our [slack instance](https://bosun.org/slackInvite).
    39  
    40  # Challenges/Ideas for Maintainers
    41  
    42  There are a number of projects and/or features that have been discussed and in some cases designed but not implemented.  We hope the new maintainers consider the following projects:
    43  
    44  <table>
    45      <thead>
    46          <th>Summary</th>
    47          <th>Areas</th>
    48          <th>Difficulty</th>
    49          <th>Description</th>
    50      </thead>
    51      <tr>
    52          <td>Refactor "State Machine"</td>
    53          <td>Backend</td>
    54          <td>Very Hard</td>
    55          <td>The code behind silences, when to send notifications, escalations etc (the sched package) is hard to understand and changes have often produced on expected results. Should be refactored into a set of finite state machines that are testable. If one wanted to make a solid 1.x.x release, I believe this would be the great challenge.</td>
    56      </tr>
    57      <tr>
    58          <td>Multi-File Support</td>
    59          <td>UI, Backend, Configuration Parser</td>
    60          <td>Hard</td>
    61          <td>Update the UI so rules (alert definitions, templates, notifications, etc) can be in different files. So the configuration does not become overwhelming long. Use Bosun's security middleware to limit certain files to certain Users/Groups.</td>
    62      </tr>
    63      <tr>
    64          <td>Clean up JS</td>
    65          <td>UI</td>
    66          <td>Medium</td>
    67          <td>Use some sort of packaging system for js libraries, update typescript, update d3, update angular, use more typescript objects</td>
    68      </tr>
    69      <tr>
    70          <td>Snippets and Expression Autocompletion</td>
    71          <td>UI</td>
    72          <td>Medium</td>
    73          <td>Use the abilities of the ace editor to enable snippets to pre-fill in config blocks and expression functions. Would make Bosun easier to use. Also support best practices within a company by adding custom snippets. See <a href="https://github.com/bosun-monitor/bosun/tree/snip">experimental snippet branch</a>. Could also integrate function documentation into language to make it available to the editor, see <a href="https://github.com/bosun-monitor/bosun/tree/exprDoc">experimental exprDoc branch</a>.</td>
    74      </tr>
    75      <tr>
    76          <td>API V2</td>
    77          <td>Backend, API</td>
    78          <td>Medium</td>
    79          <td>Make an APIv2 that is fully documented and has consistent response types, errors are always json etc</td>
    80      </tr>
    81      <tr>
    82          <td>Move incident Information to Relation Database</td>
    83          <td>Backend, Database</td>
    84          <td>Medium</td>
    85          <td>Instead of using redis for incident state information, use a relational database to allow for reporting. Also future enhancements to do things like collect "was this alert useful" information would be easier to implement and report on.</td>
    86      </tr>
    87      <tr>
    88          <td>Realtime Dashboard</td>
    89          <td>Backend, UI</td>
    90          <td>Medium</td>
    91          <td>Make dashboard based on websockets so dashboard can be refreshed, and other users get notifications from the actions of different users.</td>
    92      </tr>
    93      <tr>
    94          <td>Graphing UIs</td>
    95          <td>UI</td>
    96          <td>Medium</td>
    97          <td>Creating Graphing UIs for TSDBs besides OpenTSDB, like Prometheus and Graphite</td>
    98      </tr>
    99      <tr>
   100          <td>Use Grafana For UI</td>
   101          <td>UI</td>
   102          <td>Hard</td>
   103          <td>Deprecate Bosun's UI and rebuild it entirely as a Grafana App.</td>
   104      </tr>
   105  </table>
   106