Uploaded image for project: 'CFEngine Community'
  1. CFEngine Community
  2. CFE-2735

Librarification i1 - libutils / libntech

    XMLWordPrintable

    Details

    • Type: Epic
    • Status: Done
    • Priority: Medium
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: cf-net
    • Labels:
      None
    • Epic Name:
      librarification-i1

      Description

      We've talked about "Librarification" for a number of reasons:

      • Well designed libraries are easier to test (unit testing, fuzz testing, etc.)
      • Easier to reuse in new binaries, projects or products
      • Makes the code more well separated (less spaghetti, more maintainable)

      Dependency chains should look like this:

      cf-agent -> libpromises -> libcfnet -> libutils -> libcompat
      cf-net   -> libcfnet -> libutils -> libcompat
      cf-check -> libutils -> libcompat
      

      Librarification iteration 1:

      • libcfnet
        • New versions of client side protocol commands, GET, STAT, OPENDIR
          • Implemented and used in cf-net only
      • libutils
        • The most reusable part of CFEngine
        • Only requires libcompat
        • libutils + libcompat should be a separate repo, used as a submodule
          • Some examples / documentation should also be added

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                karlhto Karl Hole Totland
                Reporter:
                olehermanse Ole Herman Schumacher Elgesem
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel