-
Notifications
You must be signed in to change notification settings - Fork 452
HtmlOps
Each project has a server status page (project_url/server_status.php). This page, which is visible to the public, provides a "dashboard" for the project's server. It shows:
- A list of the project's daemons, whether they're running, and where.
- A count of jobs in various states.
- Counts of active users and hosts.
- The average throughput (FLOPS) of the project.
- A list of the project's applications, with a summary of job throughput for each.
Each project also has an project management web page, not visible to the public, that lets project administrators
- Browse the database
- Screen user profiles
- Administer "special users" (e.g., forum moderators)
- Create and edit applications and app versions
- Send mass email to users (note: a more flexible way of doing this is described here).
- Send emails to users with malfunctioning hosts.
- See a distribution of how many FLOPs results are using.
- Cancel workunits
- View recent results, and analyze failures
- Browse stripcharts
- Browse log files
If your project's URL is http://a.b.c/test, then the URL of the project management page is http://a.b.c/test_ops. The directory containing the admin pages is ~/projects/test/html/ops/.
Because the page lets you do things like see user email addresses, it's extremely important that it be secure. There are two levels of protection:
When a project is created, a file html/ops/.htaccess is created that disallows access to the project management page. You can use htpasswd to create a .htpasswd file containing credentials for yourself:
htpasswd -c .htpasswd username
The config file html/project/project.inc can specify a function auth_ops() that defines a project-specific policy for protecting the project management page. Possible policies:
- Access only if logged in as user from a given list.
- Access only to users with ADMIN or DEV flag set in forum_preferences.privileges.
- Access only from specific IP addresses.
- Any other policy you can think of.
Some examples are given in the function auth_ops_example() in the default config file.
You can add your own content to the project management page by defining a function admin_index_extra() in your html/project/project.inc. Whatever text this function outputs will be shown at the top of the page.