= Administrative tasks = A list of tasks in administering and maintaining BOINC. This doesn't include software development. A division of these tasks in "roles" is proposed [AdminRoles here]. == Client release management == Manage testing and release of the client software. [AdminReleaseManagement Details]. == Client builders == Build client installers as needed for [AdminInstallerWin Windows], [AdminInstallerMac Mac], [AdminInstallerUnix Unix], [AndroidBuildClient Android] == Client testing management == [AdminAlphaTest Operate and maintain the Alpha test system]. == Dependent library maintenance == !VirtualBox: Track !VirtualBox releases, and decide which one we should recommend and include in the client installers. It needs to work with our Vbox wrapper. Occasionally Vbox changes the API and we need to change the wrapper accordingly. Make sure you get good cross-platform test coverage; use the Alpha testers for this. If a Vbox release fixes significant bugs, consider doing a new release of the client software. OpenSSL, Zlib, curl, sqllite: track their new versions. Update as needed; for security (openssl, zlib) generally update immediately. This triggers a client software release. !WxWidgets: the GUI toolkit used by the BOINC Manager. Instructions for building the libs are [AdminDepLibs here]. == Wrapper maintenance == Update the binary versions of [AdminWrappers wrapper and vboxwrapper] as needed (e.g. when there's been fixes/enhancements in the wrapper code or changes to the BOINC API). == Server VM maintenance == Periodically (and when the server software is known to be stable) update the [VmServer Server VM] by installing and building the current BOINC code, and updating the system software (Apache, PHP, etc.). It should never need updating, but keep an eye on the [VmCompatibility Compatibility VM for Linux builds]. This is for building applications to run on old Linux systems. == Translation system management == Administer the [AdminLocalize BOINC translation system]. == Server software management == [AdminServerSoftware Manage the BOINC server software] == BOINC server admin == The BOINC web site (https://boinc.berkeley.edu) is currently hosted on isaac.ssl.berkeley.edu, which runs Scientific Linux. It runs a number of software systems: * Trac * Mediawiki * MySQL * Apache * PHP These may need to be upgraded periodically. TODO: document our configuration for these systems. TODO: a plan for migrating the server to a different machine or VM if isaac dies. TODO: move as much from BOINC server to github as possible. E.g. the trac wiki and mediawiki pages. Rom looked at this; there are some conversion tools but they didn't work completely. == Project list maintenance == [AdminApprovedProjects Maintain list of approved projects and account managers] (approve a project after you talk to its admins and are convinced that it description is accurate and they know about server security and are doing code-signing). == BOINC web site maintenance == Maintain the BOINC web site. This consists mostly of posting news items. == Security management == * Maintain the Certificate Authority list used by the client (curl/ca-bundle.crt). You can get a current list from a browser like Chrome. * Maintain the code-signing key used for Win. We get this from Comodo, and it's about $100/year. * Find and periodically use tools for web code penetration testing. == Miscellaneous == * Yearly: update the years in clientgui/DlgAbout.cpp, gl, and gl.py * Maintain contact with message-board moderators (Jord, Kathryn Marks, and Bernie)