Build Server

From NeoWiki

I haven't finished writing it yet. This is a proposal for Neoturbine to get a build server/ PMS :P (package management system). What do you think of the idea? Paste your thoughts here.

Contents

[edit] goal

to distribute the most up-to-date "unstable" unrealircd/bopm binaries for various operating systems. also, keep the most recent "stable" releases in the package database.

[edit] maybe

even other irc/ network security related tools could be distributed... really anything we "need". ;)

One thing that comes to mind is Snort (to try to keep others from breaking into the system). Even though there are probably others distributing Snort (and related tools) we could mirror those packages for convenience/ if necessary.

[edit] operating systems (& package management systems) to consider

  • pacman
    • arch linux
  • apt packaging system
    • debian
    • ubuntu server edition
    • apt can also distribute RPMs
      • at the same time?
  • RPMs
  • other package management systems
    • Nix seems interesting [1] [2]
      • cross distribution package management!!
  • windows binaries?
    • LOL
    • i don't have a windows license
    • do you need proprietary tools to compile unreal on windows?

[edit] how to accomplish

generally: check to see if the content management system (or source package) is updated ("released") daily. if it is, launch a virtualization of an operating system which compiles unreal, bopm, and anything else and puts it on a package management system.

[edit] virtualization software

which ones are good... i have no experience with any :P

[edit] specific package management systems

detailed instructions for creating packages (not just compiling) for various operating systems

[edit] hardware specs

  • any box that can run at least one instance of the "development version" of each operating system should be able to handle this.
  • it would be nice if the box was "super charged" and could run multiple virtualized systems at once so multiple binaries could be created at once... but its not really necessary.
  • i only have access to x86 boxes so other architectures are out for now

[edit] why?

    1. we can sign/securely distribute the packages -- another use for the signing party!!
      • not just packages but configuration files, too!
      • this is tricky because of security reasons... maybe only our spam rules without specific network configuration (passwords, etc)
    2. makes it easier for those who want to run servers to actually do it!
      • increase the amount of servers we have on board :P
      • btw, if you're overseas -- join the network :)
    3. help the larger unreal/bopm/irc community by distributing up-to-date binaries. :P
      • afaik, nobody is doing this already
    4. heterogeneity wins (at least in this case) -- by using multiple distributions which are (hopefully) configured differently on default we lower the risk of a coordinated attack against _all_ of our servers. Basically even if 0day vulnerabilities exist for some of our operating systems the whole network won't go down (due to an attack) because at least some others will be running different OSs "immune" to the attacks.
      • if a 0day vulnerability does exist... you can bring back servers faster if you don't have to compile unreal, bopm, etc (not that it takes long... it's just busy work.)
    5. will give me (or others) the opportunity to gain a better understanding of how to create packages, virtualize systems, configure tools, etc.