aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2009-06-05 16:31:03 -0300
committerSilvio Rhatto <rhatto@riseup.net>2009-06-05 16:31:03 -0300
commit0dcce79b35798e11581f34f05600701db3e3f2fe (patch)
tree449e882b4b0cb9412ed37f68f82271fa31966291
parentad444d54d840440fcb379498bbbd1276a6478802 (diff)
downloadrsp-0dcce79b35798e11581f34f05600701db3e3f2fe.tar.gz
rsp-0dcce79b35798e11581f34f05600701db3e3f2fe.tar.bz2
adding initial rsp spec
-rw-r--r--index.mdwn116
1 files changed, 112 insertions, 4 deletions
diff --git a/index.mdwn b/index.mdwn
index f896705..16e2482 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -1,9 +1,117 @@
-Welcome to your new wiki.
+# The protocol
-All wikis are supposed to have a [[SandBox]],
-so this one does too.
+The Resource Sharing Protocol (RSP) is a set of metadata intended to help free software groups:
+
+* Share their available resources and also
+* Find groups that can host services for them given their needs and prerequisites.
+
+The RSP splits each resource in a layer or set of service layers. You can think a service layers something very general, comprising from servers, databases, websites. If you need to, you can even consider stuff such as tables and bicycles as layers that provide some kind of service to a hosted group. ;)
+
+The core protocol is composed by the following metadata:
+
+* Version: RSP version.
+* Date: when this metadata was generated.
+* Next audit: time where metadata update will happen (if applicable).
+* Layer type.
+* Layer name (if applicable).
+* Layer implementation (eg. if virtual zone: distro name, version, etc).
+* Available disk space.
+* Available memory,
+* Available CPU.
+* UPS capacity/characteristics.
+* Average downtime.
+* Timezone.
+* Available systen capabilities.
+* Networking
+ * Available bandwidth.
+ * Real IP availability.
+ * Proxy availability.
+ * Firewall/routing availability.
+ * VPN availability.
+* Who admin/update the layer:
+ * The hosting group?
+ * The hosted group?
+* Security:
+ * Security and privacy policy for the layer.
+ * Crypto
+ + Implementation.
+ + Cipher.
+ + Used procedure.
+ + Shared password? Which sharing scheme?
+ * Boot procedure:
+ + The host has automatic boot loading.
+ + No boot loading in the host, manual boot.
+* Backups
+ * Backup availability
+ + No backups.
+ + Local backups.
+ + Remote backups in more than a single place but in the same building/country/etc.
+ + Remote backups in more than a single place and also in other countries.
+ * Backup security
+ + Have unencrypted backups.
+ + Have encrypted backups only.
+ + Have encrypted backups only with a key that needs more than one sysadmin to unlock.
+ + Have encrypted backups only with a key that the sysadmins do not have access to.
+ * Backup integrity
+ + No integrity checking.
+ + Signed backups only.
+ + Push and signed backups.
+ + Pull and signed backups only.
+ * Backup and users
+ + Users are informed whether their private data are being backed up and in which ways.
+ + Have backup data always available to private download by users and/or groups with admin aid.
+ + Have backup data always available to private download by users and/or groups without admin aid.
+ + Users and/or groups can choose to not have backups of their data.
+* Legal
+ * Applicable law where layer is located.
+ * Hosting group has legal team/support?
+* Financial
+
+# Rulesets
+
+It is not strict builtin in the protocol but your group can also adopt internal rules regarding what goes at each layer. As an example, a group can adopt a data persistence rule such as data in a layer with a given level of security cannot be moved to a layer with a lower security level, except in cases it is temporarily or permanently declassified.
+Implementation
+
+The RSP implementation does not come directly from the protocol. It can be implemented several ways, like keeping tables or wiki pages with detailed information about each layer a given group (or groups) have, can offer or needs. You could even consider to write a script to keep this data updated, although this can be very difficult. One of the best ways to keep the metadata updated is through periodical audits in each layer.
+
+RSP is meant to be simple enough to be both human and machine readable. So, when considering an implementation, think about those two main types of readability.
+
+# Metadata examples
+
+A Linux-VServer instance could hold the following metadata values:
+
+* Version: 01.
+* Date: 20090409.
+* Next audit: 20090820.
+* Layer type: Linux VServer.
+* Layer name: layer.example.org.
+* Layer implementation: Debian 5.0.
+* Available disk space: 20GB.
+* Available memory: 500MB.
+* ...
+
+Another example could be a database:
+
+* Version: 01.
+* Date: 20090409.
+* Next audit: 20090820.
+* Layer type: SQL.
+* Layer name: dbname@layer.example.org.
+* Layer implementation: MySQL 5.1.
+* ...
+
+# Version
+
+This is RSP Version: 0.1.
+
+# Development
+
+RSP development and maintenance ins't a hard task: it's just a matter of:
+
+* Keep a backward-compatible list of metadata.
+* Try to fit all needs into the set.
+* KISS.
----
This wiki is powered by [ikiwiki](http://ikiwiki.info).
-