Requirements to promote to featured Server Role

Stephen Gallagher sgallagh at redhat.com
Tue Jan 7 13:14:02 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I forgot an important one. Inline below.

On 01/06/2014 04:46 PM, Stephen Gallagher wrote:
> In order to seed the conversation for tomorrow's Server WG
> meeting, I'm putting together a first draft of a document outlining
> the requirements that must be met in order to promote an 
> application/server technology into a featured role of the Fedora 
> Server. Note: this must not preclude the ability for services not 
> considered "Featured" to deploy on Fedora Server.
> 
> I will tie these goals to the agreed-upon use-cases where
> appropriate (see 
> https://fedoraproject.org/w/index.php?title=Server/Use_Cases&oldid=365234
>
> 
for the numbering reference).
> 
> Mandatory requirements are exactly as they sound: if any one of
> these requirements is not met, the server role is ineligible for
> elevation to "featured" status. Optional requirements are
> different. This is *not* a list of things you should ignore.
> Rather, this is a list of things that if you implement them, you
> are committing that they must continue to behave that way in the
> future. (The list below should make this more clear).
> 
> This is a first draft, please add or criticize as necessary.
> 
> 
> 
> == Mandatory Requirements == 1. The Server Role *must* be packaged
> in such a way that it is possible to install the complete set as a
> unit. AKA "One-click Install". [Use Case 1]
> 
> 2. The Server Role *must* provide an API or similar stable
> external interface for configuring the role post-installation.
> Exceptions to this rule may be granted if and only if Optional
> Requirement 2 (below) is met and it can be demonstrated that the
> default method of operation is the only reasonable method of
> operation. [Use Case 1]
> 
> 3. The Server Role *must* provide an API to interrogate the 
> configurable settings of the role as identified by Mandatory 
> Requirement 2. [Use Case 2]
> 
> 4. The Server Role *must* add to the functionality of the Fedora 
> Server. In other words, a Server Role cannot be considered
> "Featured" if its purpose is to further reduce the minimal system.
> 
> 5. A Server Role *must* have an identified point of contact that 
> agrees to maintain the Server Role in Fedora. If this person or
> group becomes unresponsive, the Server Role will necessarily be
> demoted from Featured status.
> 
> 6. A Server Role *must* be installable without a local graphical 
> utility. [Use Case 9]
> 
 7. If a Server Role packages multiple upstream projects together as a
suite or solution, updates to any of these projects *must* be
coordinated for concurrent release to allow testing of the complete
system.[1]

> 
> == Optional Requirements == 1. The Server Role *may* be packaged in
> such a way that it can be uninstalled as a complete unit. The
> mechanism to accomplish this removal *must* remain consistent. [Use
> Case 1]
> 
> 2. The Server Role *may* provide a sane, usable default. If it
> does so, it *must* remain capable of accepting input through its 
> configuration API to change this default. [Use Case 1]
> 
> 3. The Server Role *may* provide an API to interrogate additional 
> useful information about the running service(s) provided by the
> Server Role. The content here is up to the Server Role to define,
> but should be treated as stable (e.g an update should never remove
> the ability to monitor something). [Use Case 2]
> 
> 4. The Server Role *may* provide a specification of its needed 
> resources to the Fedora Server in a standard format. (e.g. Memory 
> requirements, etc.) If this is provided, the Fedora Server *may*
> use this information to create isolated services such as VMs or
> containers in which to run the Server Role. [Use Case 4]
> 
> 5. The Server Role *may* request operation in an isolated
> environment (with or without implementing Optional Requirement 4).
> If it does so, the Server Role must indicate (using a standard
> Fedora Server API) what form(s) of isolation it supports. Fedora
> Server *must* honor this. [Use Case 4]
> 
> 6. A Server Role *may* provide a remote graphical (which includes 
> web-based) configuration tool.


[1] This may mean that Server Roles support "bundling" in some limited
sense; This may be as simple as packages having strict version
requirements. I am electing not to specify an implementation here.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlLL/ZoACgkQeiVVYja6o6OySgCffot7tCLI9w1Jh7ai/eKgoRWL
zsMAn03ftTiAlEI6xp4PWySa+kiKXWr+
=Kif0
-----END PGP SIGNATURE-----


More information about the server mailing list