Toolserver:Using the stable server


 * Note: The stable server is still experimental, and details on this page are subject to change.

The stable server provides a stable environment to run tested, mature tools. This page explains how to set up and maintain your tools on the stable server.

Logging in
When you are given access to the stable server, you will be given an account with your SSH keys from hemlock added. You can log into this account as normal; the server name is stable.ts.wikimedia.org.

Accessing your project
Each tool on the stable server runs under a role account, a special kind of user account. To see which tools you have access to, run roles. To become the role account, use become:

user$ become mytool mytool$

No password is required to do this.

Your account, and your tool's role account, each share a group. You can use this to restrict access to the tool to authorised users.

While you can use your normal user account for maintenance and development, all tools must run under the role account.

screen
By default, screen doesn't work after you su to a different user. If you want to use screen, run /usr/local/sbin/ttyallow roleuser before you su.

Resource limits
Each tool has its own project, a Solaris concept used for resource management. The project has the same name as the tool's role account. Each project has resource limits; currently, the default limits are:


 * Maximum threads in the entire project: 100
 * Maximum physical memory use (RSS) for the entire project: 256MB
 * Maximum heap size for each process in the project: 1GB

If you need more resources, send mail to ts-admins.

Web hosting
URLs for stable tools are of the form http://stable.ts.wikimedia.org/~toolname/. Before you can use web hosting, you must ask an admin to enable web hosting for your account.

The document root for static files is ~toolname/www.


 * PHP: Ask a root to enable PHP for your tool. You must specify which directories PHP will be enabled for.
 * CGI: CGI cannot be used; CGI applications must be turned into FastCGI applications. For most languages, this is fairly trivial.
 * FastCGI: Ask an admin to enable a FastCGI responder for the appropriate path. (TODO: add docs on how to start FastCGI listeners.)

All PHP/FastCGI scripts run as your tool's uid.

Subversion
Each tool has its own subversion repository. For development, access it as file:///svnroot/tool/ or svn+ssh://stable.ts.wikimedia.org/svnroot/tool/. All developers for your tool have commit access. For anonymous access, use svn://stable.ts.wikimedia.org/tool/.

Your repository will be added to FishEye at http://fisheye.ts.wikimedia.org/browse/toolname/.

Bug tracking
Each project on the stable server can have its own JIRA project. Ask an admin to create this for you.