Difference between revisions of "stoney backup: OpenLDAP directory data organisation"

From stoney cloud
Jump to: navigation, search
[unchecked revision][unchecked revision]
(Links)
(Backup accounts - S3 bucket based backup account example)
 
(88 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
= Abstract =
 
= Abstract =
This document describes the OpenLDAP directory data organisation for the stoney cloud (Online) '''Backup service'''.
+
This document describes the OpenLDAP directory data organisation for the [https://www.stoney-backup.com/ stoney backup] service.
  
 
= Data Organisation =
 
= Data Organisation =
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the (Online) '''Backup service'''.
+
The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the [https://www.stoney-backup.com/ stoney backup] service.
  
 
= Backup =
 
= Backup =
 
The following LDIF shows the '''backup''' entry of the whole OpenLDAP directory tree for the stoney cloud:
 
The following LDIF shows the '''backup''' entry of the whole OpenLDAP directory tree for the stoney cloud:
dn: ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: organizationalUnit
+
dn: ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
+
objectclass: organizationalUnit
ou: backup
+
objectclass: top
 +
ou: backup
 +
</syntaxhighlight>
  
 
== Backup Configuration ==
 
== Backup Configuration ==
 
The sub tree for the configuration of the (online) backup service:
 
The sub tree for the configuration of the (online) backup service:
dn: ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
ou: configuration
+
objectclass: organizationalUnit
description: The sub tree for the configuration of the (online) backup service.
+
ou: configuration
 +
description: The sub tree for the configuration of the (online) backup service.
 +
</syntaxhighlight>
  
 
=== Backup rsnapshot Provisioning Daemon ===
 
=== Backup rsnapshot Provisioning Daemon ===
 
The sub tree for the configuration of the '''prov-backup-rsnapshot''' daemon:
 
The sub tree for the configuration of the '''prov-backup-rsnapshot''' daemon:
dn: ou=prov-backup-rsnapshot,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=prov-backup-rsnapshot,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
objectclass: sstServiceConfigurationObjectClass
+
objectclass: organizationalUnit
ou: prov-backup-rsnapshot
+
objectclass: sstServiceConfigurationObjectClass
description: The sub tree for the configuration of the prov-backup-rsnapshot daemon.
+
ou: prov-backup-rsnapshot
sstIsActive: TRUE
+
description: The sub tree for the configuration of the prov-backup-rsnapshot daemon.
 +
sstIsActive: TRUE
 +
</syntaxhighlight>
  
 
The following table describes the different attributes:
 
The following table describes the different attributes:
Line 56: Line 62:
 
=== Backup Reseller ===
 
=== Backup Reseller ===
 
The sub tree for the reseller specific (online) backup service settings:
 
The sub tree for the reseller specific (online) backup service settings:
dn: ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
ou: reseller
+
objectclass: organizationalUnit
description: The sub tree for the reseller specific (online) backup service settings.
+
ou: reseller
 +
description: The sub tree for the reseller specific (online) backup service settings.
 +
</syntaxhighlight>
  
 
The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
 
The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
dn: uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: sstReseller
+
objectclass: top
objectclass: sstServiceConfigurationObjectClass
+
objectclass: sstReseller
uid: 4000000
+
objectclass: sstServiceConfigurationObjectClass
o: Reseller Ltd.
+
uid: 4000000
description: The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
+
o: Reseller Ltd.
sstIsActive: TRUE
+
description: The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
sstIsDefault: TRUE
+
sstIsActive: TRUE
sstBelongsToResellerUID: 4000000
+
sstIsDefault: TRUE
 +
sstBelongsToResellerUID: 4000000
 +
</syntaxhighlight>
  
 
The following table describes the different attributes:
 
The following table describes the different attributes:
Line 79: Line 89:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 138: Line 148:
 
==== Backup Reseller Billing ====
 
==== Backup Reseller Billing ====
 
The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
 
The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=billing,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=billing,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
objectclass: TBD
+
objectclass: organizationalUnit
ou: billing
+
objectclass: TBD
description: The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
+
ou: billing
 +
description: The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
 +
</syntaxhighlight>
  
 
TBD: Der Aufbau sollte so sein, dass er hierarchische Informationen abbilden könnte. Oder wir machen den normalen Billing Tree, den wir ursprünglich vorgeshene haben.
 
TBD: Der Aufbau sollte so sein, dass er hierarchische Informationen abbilden könnte. Oder wir machen den normalen Billing Tree, den wir ursprünglich vorgeshene haben.
Line 152: Line 164:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 176: Line 188:
 
Legend:
 
Legend:
 
* '''x''': Mandatory in all cases.
 
* '''x''': Mandatory in all cases.
 
  
 
==== Backup Reseller Backup Account Defaults ====
 
==== Backup Reseller Backup Account Defaults ====
The sub tree for the backup account defaults for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:  
+
The sub tree for the backup account defaults for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
dn: ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
<syntaxhighlight lang='ldif'>
objectclass: top
+
dn: ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
objectclass: sstBackup
+
objectclass: organizationalUnit
ou: defaults
+
objectclass: sstBackup
description: The sub tree for the default settings of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
+
ou: defaults
loginShell: /bin/sh
+
description: The sub tree for the default settings of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
shadowMax: 99999
+
loginShell: /bin/sh
shadowWarning: 7
+
shadowMax: 99999
shadowFlag: 134539460
+
shadowWarning: 7
sstBackupWarningDays: 1
+
shadowFlag: 134539460
sstBackupWarningNumbers: 0
+
sstBackupWarningDays: 1
sstBackupWarningOn: FALSE
+
sstBackupWarningNumbers: 0
sstNotificationWarningLevel: 85
+
sstBackupWarningOn: FALSE
sstNotificationWarningMedium: mail
+
sstNotificationWarningLevel: 85
sstBackupSize: 0
+
sstNotificationWarningMedium: mail
sstIncrementSize: 0
+
sstBackupSize: 0
sstBackupIntervalHourly: 0
+
sstIncrementSize: 0
sstBackupIntervalDaily: 7
+
sstBackupIntervalHourly: 0
sstBackupIntervalWeekly: 4
+
sstBackupIntervalDaily: 7
sstBackupIntervalMonthly: 3
+
sstBackupIntervalWeekly: 4
sstBackupIntervalYearly: 0
+
sstBackupIntervalMonthly: 3
sstUseSelfcare: FALSE
+
sstBackupIntervalYearly: 0
sstUseSSH: TRUE
+
sstUseSelfcare: FALSE
sstIsActive: TRUE
+
sstUseSSH: TRUE
 +
sstIsActive: TRUE
 +
</syntaxhighlight>
  
 
The following table describes the different attributes:
 
The following table describes the different attributes:
Line 211: Line 224:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 414: Line 427:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can the selfcare interface be used with the credentials of the backup account? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). Default is <code>FALSE</code> (no).
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can the Self-Service interface be used with the credentials of the backup account? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). Default is <code>FALSE</code> (no).
  
 
|-
 
|-
Line 430: Line 443:
  
 
==== Backup Reseller Backup Notification Settings ====
 
==== Backup Reseller Backup Notification Settings ====
The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users. The idea is, that the reseller can receive notifications for a customer and reaction on the received information (for example, when the quota has been reached:
+
The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users. The idea is, that the reseller can receive notifications for a customer and react on the received information (for example, when the quota has been reached):
 
  dn: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  dn: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  objectclass: top
 
  objectclass: top
Line 447: Line 460:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 508: Line 521:
  
 
Human readable format:
 
Human readable format:
* sstVolumeCapacityDefault: 1 Gigabyte
+
* sstVolumeCapacityDefault: 1 Gibibyte (GiB)
* sstVolumeCapacityMin: 1 Gigabyte
+
* sstVolumeCapacityMin: 1 Gibibyte (GiB)
* sstVolumeCapacityMax: 500 Gigabytes
+
* sstVolumeCapacityMax: 500 Gibibyte (GiB)
* sstVolumeCapacityStep: 1 Gigabyte
+
* sstVolumeCapacityStep: 1 Gibibyte (GiB)
  
 
The following table describes how to calculate the sstVolumeCapacity* attributes:
 
The following table describes how to calculate the sstVolumeCapacity* attributes:
Line 525: Line 538:
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Kilobyte</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Kibibyte (KiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 1 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>10</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 024
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Megabyte</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Mebibyte (MiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 1 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>20</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1048576
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 048 576
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Gigabyte</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Gibibyte (GiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 1 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>30</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1073741824
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 073 741 824
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>5 Gigabytes</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>5 Gibibyte (GiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 5 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 5 x 2<sup>30</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 5368709120
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 5 368 709 120
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>10 Gigabytes</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>10 Gibibyte (GiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 10 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 10 x 2<sup>30</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 10737418240
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 10 737 418 240
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>100 Gigabytes</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>100 Gibibyte (GiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 100 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 100 x 2<sup>30</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 107374182400
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 107 374 182 400
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>500 Gigabytes</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>500 Gibibyte (GiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 500 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 500 x 2<sup>30</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 536870912000
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 536 870 912 000
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Terabyte</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Tebibyte (TiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 1 x  1024 x 1024 x 1024 x 1024
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>40</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1099511627776
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 099 511 627 776
 
+
|}
+
 
+
The following table describes the different attributes:
+
{| style="border-spacing:0;"
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| '''Attribute'''
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
+
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
+
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| ou
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Pebibyte (PiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUST</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>50</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 125 899 906 842 624
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|  
+
  
 
|-
 
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| description
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 Exbibyte (EiB)</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| 2<sup>60</sup>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| 1 152 921 504 606 846 976
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstVolumeCapacityDefault
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstVolumeCapacityMin
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstVolumeCapacityMax
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstVolumeCapacityStep
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|
+
* Arrow left / Arrow right: 1 Gigabyte (sstVolumeCapacityStep)
+
* Page up / Page down: 10 Gigabyte (10 x sstVolumeCapacityStep)
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarningMediumChange
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can a user change the notification warning medium? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). The default is <code>FALSE</code> (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstNotificationWarningMediumAdd
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can a user add new notification warning mediums (<code>mobileTelephoneNumber</code> or <code>mail</code>? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). The default is <code>TRUE</code> (yes). Currently, only adding new <code>mail</code> addresses are supported.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstQuotaChange
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can the user change the quota? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). Default is FALSE (no).
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstSendCredentialsTo
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| To whom do we send the access data or credentials. At least one entry must exist. Possible values:
+
* <code>sstSendCredentialsTo: login</code>: The access data or credentials are sent to the person logged in.
+
* <code>sstSendCredentialsTo: owner</code>: The access data or credentials are sent to the owner (person), the service belongs to.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstMailFrom
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The mail address, from which the credentials are to be sent from. In the example from above, this value is '''Support stepping stone GmbH <support@stepping-stone.ch>'''.
+
 
+
|-
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| preferredLanguage
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The notification language, which will be used to used in the mails, that are sent to the reseller, according to [http://www.ietf.org/rfc/rfc1766.txt RFC 1766] ([http://www.iso.org/iso/english_country_names_and_code_elements ISO 3166-1-alpha-2 code]-[http://www.loc.gov/standards/iso639-2/php/code_list.php ISO 639-1 Code]. For example '''de-CH''' or '''en-GB'''.
+
 
+
  
 
|}
 
|}
Line 710: Line 621:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 824: Line 735:
 
* <code>odt</code>
 
* <code>odt</code>
 
* <code>pdf</code>
 
* <code>pdf</code>
Note to selfcare developer(s). Please be aware of the following issues when using [https://github.com/IvanGuardado/PHP-Easy-Report PHP-Easy-Report]:
+
Note to Self-Service developer(s). Please be aware of the following issues when using [https://github.com/IvanGuardado/PHP-Easy-Report PHP-Easy-Report]:
 
* Minor: Spaces (and other special characters) in the document file names are going to be a problem since the names don't get escaped.
 
* Minor: Spaces (and other special characters) in the document file names are going to be a problem since the names don't get escaped.
 
* Major: You must provide a manually-created unique temp-directory for the PHP-Easy-Report object, otherwise there will be race-conditions.
 
* Major: You must provide a manually-created unique temp-directory for the PHP-Easy-Report object, otherwise there will be race-conditions.
Line 857: Line 768:
  
 
===== Backup Reseller Quota Templates =====
 
===== Backup Reseller Quota Templates =====
 +
Warns the user when the backup is running out of space (quota).
 +
 
This sub tree contains the quota templates for the (online) backup service:  
 
This sub tree contains the quota templates for the (online) backup service:  
 
  dn: ou=quota,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  dn: ou=quota,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
Line 877: Line 790:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 959: Line 872:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The path and name to a template file, that is used to inform one or more people if the multi-valued attribute <code>sstMailTo</code> is set in the notifications sub tree of the reseller
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The path and name to a template file, that is used to inform one or more people if the multi-valued attribute <code>sstMailTo</code> is set in the notifications sub tree of the reseller
* <code>ou=notifications,uid=&lt;UID&gt;,ou=reseller,ou=configuration,ou=backup,ou=services,dc=foss-cloud,dc=org
+
* <code>ou=notifications,uid=&lt;UID&gt;,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
and if <code>sstNotificationWarning</code> is set to <code>quota</code>. In most cased, the attribute <code>sstMailTo</code> is set to the support organisations mail address. For example:
 
and if <code>sstNotificationWarning</code> is set to <code>quota</code>. In most cased, the attribute <code>sstMailTo</code> is set to the support organisations mail address. For example:
 
* <code>sstMailTo: Support stepping stone GmbH &lt;support@stepping-stone.ch&gt></code>
 
* <code>sstMailTo: Support stepping stone GmbH &lt;support@stepping-stone.ch&gt></code>
Line 1,023: Line 936:
  
 
===== Backup Reseller Schedule Templates =====
 
===== Backup Reseller Schedule Templates =====
 +
Warns the user if the backup wasn't executed at the planned time (schedule).
 +
 
This sub tree contains the schedule templates for the (online) backup service:  
 
This sub tree contains the schedule templates for the (online) backup service:  
 
  dn: ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  dn: ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
Line 1,056: Line 971:
  
 
===== Backup Reseller Unsuccessful Templates =====
 
===== Backup Reseller Unsuccessful Templates =====
 +
Informs the user if the backup was executed, but finished with errors (unsuccessful).
 +
 
This sub tree contains the unsuccessful templates for the (online) backup service:  
 
This sub tree contains the unsuccessful templates for the (online) backup service:  
 
  dn: ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  dn: ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
Line 1,137: Line 1,054:
 
LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of <code>{$placeholder}</code> we have <code>&#123;&#123;placeholder&#125;&#125;</code>.
 
LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of <code>{$placeholder}</code> we have <code>&#123;&#123;placeholder&#125;&#125;</code>.
  
== Backup Accounts ==
+
===== Backup Reseller Upgrade Templates =====
The sub tree for the accounts of the (online) backup service:
+
If the Backup Client is too old, inform the user (upgrade).
  dn: ou=accounts,ou=backup,ou=services,dc=foss-cloud,dc=org
+
 
 +
This sub tree contains the '''upgrade''' templates for the (online) backup service:  
 +
  dn: ou=upgrade,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  objectclass: top
 
  objectclass: top
 
  objectclass: organizationalUnit
 
  objectclass: organizationalUnit
  ou: accounts
+
objectclass: sstTemplateSetup
  description: The sub tree for the accounts of the (online) backup service.
+
  ou: upgrade
 +
  description: This leaf contains the schedule templates for the (online) backup service.
 +
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
 +
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/upgrade/upgrade_mail
 +
sstMailTemplateFormatSource: txt
 +
sstMailTemplateFormatTarget: txt
 +
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/upgrade/upgrade_mail_reseller
 +
sstMailTemplateFormatSource: txt
 +
sstMailTemplateFormatTarget: txt
  
=== Backup Account Example ===
+
====== Upgrade Place Holders E-Mail (txt/html) ======
Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 3723707:
+
An example:
  dn: uid=3723707,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
+
{$salutation}      Mr.
 +
{$surname}          Eichenberger
 +
{$scheduled_date}  01. August 2013
 +
{$scheduled_time}  15:00
 +
{$gecos}            Michael Eichenberger
 +
{$computer}        my-laptop
 +
{$last_success}    The last successful backup was made on the 03. July 2013 at 14:45
 +
{$uid}              1234567
 +
 
 +
Optional Values:
 +
{$externalID}      12345
 +
 
 +
Example template:
 +
<pre>
 +
Subject: Online Backup information for account {$uid}
 +
 
 +
{$salutation} {$surname}
 +
 
 +
Your backup for the account '{$gecos}' and the computer '{$computer}', scheduled for the {$scheduled_date} at {$scheduled_time}, was not successful.
 +
{$last_success}
 +
 
 +
If the problem can be solved with a manual Backup, you may ignore this message.
 +
Otherwise please contact us under: support@stepping-stone.ch
 +
 
 +
Kind regards
 +
your stepping stone GmbH support team
 +
 
 +
--
 +
stepping stone GmbH
 +
Neufeldstrasse 9
 +
CH-3012 Bern
 +
 
 +
Telefon: +41 31 332 53 63
 +
www.stepping-stone.ch
 +
support@stepping-stone.ch
 +
</pre>
 +
 
 +
Which results in the following mail for the backup account 4000152:
 +
<pre>
 +
 
 +
Dear Mr. Kläy
 +
 
 +
Your backup for the account 'Pat Klaey' and the computer 'pat-GT60', scheduled for the 18. Aug 2013 at 17:15, was not successful.
 +
The last successful backup was made the 01. July 2013 at 12:00
 +
 
 +
If the problem can be solved with a manual Backup, you may ignore this message.
 +
Otherwise please contact us under: support@stepping-stone.ch
 +
 
 +
Kind regards
 +
your stepping stone GmbH support team
 +
 
 +
--
 +
stepping stone GmbH
 +
Neufeldstrasse 9
 +
CH-3012 Bern
 +
 
 +
Telefon: +41 31 332 53 63
 +
www.stepping-stone.ch
 +
support@stepping-stone.ch
 +
</pre>
 +
 
 +
====== Upgrade Place Holders LibreOffice (odt) ======
 +
LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of <code>{$placeholder}</code> we have <code>&#123;&#123;placeholder&#125;&#125;</code>.
 +
 
 +
===== Backup Reseller No Backup Templates =====
 +
Tell the user, that they have a backup account, but it was never used (no backup).
 +
 
 +
This sub tree contains the '''no backup''' templates for the (online) backup service:  
 +
  dn: ou=no backup,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
 
  objectclass: top
 
  objectclass: top
  objectclass: account
+
  objectclass: organizationalUnit
  objectclass: posixAccount
+
  objectclass: sstTemplateSetup
  objectclass: shadowAccount
+
  ou: no backup
objectclass: sstBackup
+
description: This leaf contains the schedule templates for the (online) backup service.
objectclass: sstProvisioning
+
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
objectclass: sstRelationship
+
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/no backup/no backup_mail
uid: 3723707
+
sstMailTemplateFormatSource: txt
userPassword: {SSHA}E/KLUgeAtApAPQ7mG2GMddCxTE9m9QOS
+
sstMailTemplateFormatTarget: txt
uidNumber: 3723707
+
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/no backup/no backup_mail_reseller
gidNumber: 3723707
+
sstMailTemplateFormatSource: txt
cn: Michael Eichenberger
+
sstMailTemplateFormatTarget: txt
gecos: Michael Eichenberger
+
 
homeDirectory: /var/backup/7/707/723/3723707/chroot/./home/3723707
+
====== No Backup Place Holders E-Mail (txt/html) ======
loginShell: /bin/sh
+
An example:
shadowLastChange: 11108
+
{$salutation}      Mr.
shadowMax: 99999
+
{$surname}          Eichenberger
shadowWarning: 7
+
{$scheduled_date}  01. August 2013
shadowFlag: 134539460
+
{$scheduled_time}  15:00
sstBackupIntervalHourly: 0
+
{$gecos}            Michael Eichenberger
sstBackupIntervalDaily: 7
+
{$computer}        my-laptop
sstBackupIntervalWeekly: 4
+
{$last_success}    The last successful backup was made on the 03. July 2013 at 14:45
sstBackupIntervalMonthly: 3
+
{$uid}              1234567
sstBackupIntervalYearly: 0
+
 
sstBackupWarningDays: 1
+
Optional Values:
sstBackupWarningNumbers: 0
+
{$externalID}      12345
sstBackupWarningOn: TRUE
+
 
sstNotificationWarningLevel: 85
+
Example template:
preferredLanguage: de-CH
+
<pre>
sstNotificationWarningMedium: mail
+
Subject: Online Backup information for account {$uid}
sstUseSelfcare: FALSE
+
 
sstUseSSH: TRUE
+
{$salutation} {$surname}
sstIsActive: TRUE
+
 
sstQuota: 10737418240
+
Your backup for the account '{$gecos}' and the computer '{$computer}', scheduled for the {$scheduled_date} at {$scheduled_time}, was not successful.
sstBackupSize: 0
+
{$last_success}
sstIncrementSize: 0
+
 
sstBackupLastSuccessfulBackup: computer:20130923T063554Z
+
If the problem can be solved with a manual Backup, you may ignore this message.
sstProvisioningMode: add
+
Otherwise please contact us under: support@stepping-stone.ch
sstProvisioningExecutionDate: 0
+
 
sstProvisioningState: 0
+
Kind regards
sstBelongsToResellerUID: 4000000
+
your stepping stone GmbH support team
sstBelongsToCustomerUID: 4000001
+
 
sstBelongsToPersonUID: 4000002
+
--
 +
stepping stone GmbH
 +
Neufeldstrasse 9
 +
CH-3012 Bern
 +
 
 +
Telefon: +41 31 332 53 63
 +
www.stepping-stone.ch
 +
support@stepping-stone.ch
 +
</pre>
 +
 
 +
Which results in the following mail for the backup account 4000152:
 +
<pre>
 +
 
 +
Dear Mr. Kläy
 +
 
 +
Your backup for the account 'Pat Klaey' and the computer 'pat-GT60', scheduled for the 18. Aug 2013 at 17:15, was not successful.
 +
The last successful backup was made the 01. July 2013 at 12:00
 +
 
 +
If the problem can be solved with a manual Backup, you may ignore this message.
 +
Otherwise please contact us under: support@stepping-stone.ch
 +
 
 +
Kind regards
 +
your stepping stone GmbH support team
 +
 
 +
--
 +
stepping stone GmbH
 +
Neufeldstrasse 9
 +
CH-3012 Bern
 +
 
 +
Telefon: +41 31 332 53 63
 +
www.stepping-stone.ch
 +
support@stepping-stone.ch
 +
</pre>
 +
 
 +
====== No Backup Place Holders LibreOffice (odt) ======
 +
LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of <code>{$placeholder}</code> we have <code>&#123;&#123;placeholder&#125;&#125;</code>.
 +
 
 +
== Backup accounts ==
 +
The sub tree for the accounts of the (online) backup service:
 +
<syntaxhighlight lang='ldif'>
 +
dn: ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: organizationalUnit
 +
ou: accounts
 +
description: The sub tree for the accounts of the (online) backup service.
 +
</syntaxhighlight>
 +
 
 +
=== Backup accounts - Posix account based backup account example ===
 +
Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 3723707:
 +
<syntaxhighlight lang='ldif'>
 +
dn: uid=3723707,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: account
 +
objectclass: posixAccount
 +
objectclass: shadowAccount
 +
objectclass: sstBackup
 +
objectclass: sstProvisioning
 +
objectclass: sstRelationship
 +
uid: 3723707
 +
userPassword: {SSHA}E/KLUgeAtApAPQ7mG2GMddCxTE9m9QOS
 +
uidNumber: 3723707
 +
gidNumber: 3723707
 +
cn: Michael Eichenberger
 +
gecos: Michael Eichenberger
 +
homeDirectory: /home/3723707
 +
loginShell: /bin/sh
 +
shadowLastChange: 11108
 +
shadowMax: 99999
 +
shadowWarning: 7
 +
shadowFlag: 134539460
 +
sstBackupIntervalHourly: 0
 +
sstBackupIntervalDaily: 7
 +
sstBackupIntervalWeekly: 4
 +
sstBackupIntervalMonthly: 3
 +
sstBackupIntervalYearly: 0
 +
sstBackupIterations: 99
 +
sstBackupWarningDays: 1
 +
sstBackupWarningNumbers: 0
 +
sstBackupWarningOn: TRUE
 +
sstNotificationWarningLevel: 85
 +
preferredLanguage: de-CH
 +
sstNotificationWarningMedium: mail
 +
sstUseSelfcare: FALSE
 +
sstUseSSH: TRUE
 +
sstIsActive: TRUE
 +
sstQuota: 10737418240
 +
sstBackupSize: 0
 +
sstIncrementSize: 0
 +
sstBackupLastSuccessfulBackup: computer:20130923T063554Z
 +
host: sst-int-054
 +
sstProvisioningMode: add
 +
sstProvisioningExecutionDate: 0
 +
sstProvisioningState: 0
 +
sstBelongsToResellerUID: 4000000
 +
sstBelongsToCustomerUID: 4000001
 +
sstBelongsToPersonUID: 4000002
 +
sstBelongsToServiceUID: 4000003
 +
</syntaxhighlight>
  
 
The following table describes the different attributes:
 
The following table describes the different attributes:
Line 1,197: Line 1,289:
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Existence'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Mandatory'''</center>
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Selfcare'''</center>
+
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Self-Service'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border-top:0.002cm solid #000000;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>'''Changeable'''</center>
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
 
| style="border:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Line 1,207: Line 1,299:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The unique identifier (uid). This attribute is created by the selfcare interface by reading (and incrementing) the next free uid from "cn=nextfreeuid,ou=administration,dc=stoney-cloud,dc=org".
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The unique identifier (uid). This attribute is created by the Self-Service interface by reading (and incrementing) the next free uid from "cn=nextfreeuid,ou=administration,dc=stoney-cloud,dc=org".
  
 
|-
 
|-
Line 1,215: Line 1,307:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Identifies the entry's password and encryption method in the following format: <code>{encryption method}encrypted password</code>. For example: {SSHA}zBiT1dHAZh/8zbCeyocRVWhdP0j9xJ3U. This password will be automatically set through the selfcare interface. Afterwords, the password can be changed by the user (including the reseller and customer).  
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Identifies the entry's password and encryption method in the following format: <code>{encryption method}encrypted password</code>. For example: {SSHA}zBiT1dHAZh/8zbCeyocRVWhdP0j9xJ3U. This password will be automatically set through the Self-Service interface. Afterwords, the password can be changed by the user (including the reseller and customer).  
  
 
|-
 
|-
Line 1,247: Line 1,339:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|  Named for historical reasons, the GECOS field is mandatory and is used to store extra information (such as the user's full name). Utilities such as finger or getent access this field to provide additional user information. For a personal account, this entry would consist of <code>givenName</code> and <code>surname</code>, for example <code>Michael Eichenberger</code>. These values are taken from the owners entry (ou=people). For a service account, the attribute <code>sstDisplayName</code> from the corresponding service would be used for the content of this attribute. Please be aware, that this attribute is a '''IA5String''' (OID=1.3.6.1.4.1.1466.115.121.1.26) IA5 (almost ASCII) character set (7-bit). Does NOT allow extended characters e.g. é, Ø, å etc. The selfcare interface automatically creates the content of this attribute. The user (including the reseller and customer) can modify this attribute as desired (except for the IA5 restrictions).
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"|  Named for historical reasons, the GECOS field is mandatory and is used to store extra information (such as the user's full name). Utilities such as finger or getent access this field to provide additional user information. For a personal account, this entry would consist of <code>givenName</code> and <code>surname</code>, for example <code>Michael Eichenberger</code>. These values are taken from the owners entry (ou=people). For a service account, the attribute <code>sstDisplayName</code> from the corresponding service would be used for the content of this attribute. Please be aware, that this attribute is a '''IA5String''' (OID=1.3.6.1.4.1.1466.115.121.1.26) IA5 (almost ASCII) character set (7-bit). Does NOT allow extended characters e.g. é, Ø, å etc. The Self-Service interface automatically creates the content of this attribute. The user (including the reseller and customer) can modify this attribute as desired (except for the IA5 restrictions).
 
You can use:<br />
 
You can use:<br />
 
<code>~ $ echo "Tüpfelhyänenöhrchen" | iconv -f 'utf-8' -t 'ASCII//TRANSLIT'</code><br />
 
<code>~ $ echo "Tüpfelhyänenöhrchen" | iconv -f 'utf-8' -t 'ASCII//TRANSLIT'</code><br />
Line 1,263: Line 1,355:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The directory path corresponds with the 7 digit account uid. The following example describes, how the directory structure is built up for the account with the uid 3723707.
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The directory path corresponds with the 7 digit account uid. The following example describes, how the directory structure is built up for the account with the uid 3723707.
<code>/var/backup/g/efg/bcd/abcdefg/chroot/./home/abcdefg</code><br/>
+
<code>/home/abcdefg</code><br/>
<code>/var/backup/7/707/723/3723707/chroot/./home/3723707</code>
+
<code>/home/3723707</code>
This attribute is created by the selfcare interface.
+
 
 +
This attribute is created by the Self-Service interface.
  
 
|-
 
|-
Line 1,281: Line 1,374:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Related to the /etc/shadow file, this attribute specifies number of days between January 1, 1970, and the date that the password was last modified. Must be set to the day, that the password was set (must be updated, when the password is changed). This attribute is created by the selfcare interface.
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Related to the /etc/shadow file, this attribute specifies number of days between January 1, 1970, and the date that the password was last modified. Must be set to the day, that the password was set (must be updated, when the password is changed). This attribute is created by the Self-Service interface.
  
 
|-
 
|-
Line 1,289: Line 1,382:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is '''99999''', which corresponds to about 273 years. In reality, this means, that the user does not need to change the password. This attribute is created by the selfcare interface. The value is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is '''99999''', which corresponds to about 273 years. In reality, this means, that the user does not need to change the password. This attribute is created by the Self-Service interface. The value is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
  
 
|-
 
|-
Line 1,346: Line 1,439:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How many yearly backups do we want? The default is '''0''' and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| How many yearly backups do we want? The default is '''0''' and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
 +
|-
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstBackupIterations
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The number of backup iterations (when no backup intervals have been chosen). Possible values are between 0 and 9999. Default ist '''0''' if either <code>sstBackupIntervalHourly</code>, <code>sstBackupIntervalDaily</code>, <code>sstBackupIntervalWeekly</code>, <code>sstBackupIntervalMonthly</code> or <code>sstBackupIntervalYearly</code> contain a non-zero entry. Otherwise the default is '''99'''.
  
 
|-
 
|-
Line 1,441: Line 1,542:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x<sup>2</sup></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x<sup>2</sup></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Multi-valued attribute with the E-Mail addresse(s) that is used for the notification of the user(s), if the attribute <code>sstBackupWarningOn</code> ist <code>TRUE</code> and the attribute <code>sstNotificationWarningMedium</code> ist set to <code>mail</code>. If <code>sstNotificationWarningMediumAdd</code> is set to <code>TRUE</code> and the backup service belongs to a personal account, the <code>mail</code> entry would be taken from the owners entry (ou=people). For a backup service belonging to another serviĉe, the selfcare would ask the user for the <code>mail</code> address.
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Multi-valued attribute with the E-Mail addresse(s) that is used for the notification of the user(s), if the attribute <code>sstBackupWarningOn</code> ist <code>TRUE</code> and the attribute <code>sstNotificationWarningMedium</code> ist set to <code>mail</code>. If <code>sstNotificationWarningMediumAdd</code> is set to <code>TRUE</code> and the backup service belongs to a personal account, the <code>mail</code> entry would be taken from the owners entry (ou=people). For a backup service belonging to another serviĉe, the Self-Service would ask the user for the <code>mail</code> address.
  
 
|-
 
|-
Line 1,457: Line 1,558:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can the selfcare interface be used with the credentials of the backup account? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). Default is <code>FALSE</code> (no) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Can the Self-Service interface be used with the credentials of the backup account? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no). Default is <code>FALSE</code> (no) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
  
 
|-
 
|-
Line 1,474: Line 1,575:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The date and time of the last successful backup in UTC, either 0 or in the form of hostname:[YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). For example: computer:20130923T063554Z or computer.example.com:20130923T063554Z.
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| The date and time of the last successful backup in UTC, either 0 or in the form of hostname:[YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). For example: computer:20130923T063554Z or computer.example.com:20130923T063554Z.
 +
 +
|-
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| host
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MAY</center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>x</center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 +
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| TBD
  
 
|-
 
|-
Line 1,537: Line 1,646:
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
 
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center></center>
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the service UID the leaf belongs to.
+
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:0.002cm solid #000000;padding:0.097cm;"| Stores the UID (Unique Identifier) of the service the leaf belongs to. This UID can be used to look up other information. For a customer mail account, the service the account belongs to will most likely be a stoney cloud [[stoney_cloud:_OpenLDAP_directory_data_organisation#Units_.28instances.29 | unit]] (instance).
  
 
|}
 
|}
Line 1,545: Line 1,654:
 
* '''x<sup>1</sup>''': Only show, if the number is larger than zero.
 
* '''x<sup>1</sup>''': Only show, if the number is larger than zero.
 
* '''x<sup>2</sup>''': Only show, if <code>sstBackupWarningOn</code> is set to <code>TRUE</code>.
 
* '''x<sup>2</sup>''': Only show, if <code>sstBackupWarningOn</code> is set to <code>TRUE</code>.
* '''x<sup>3</sup>''': Either <code>sstBelongsToPersonUID</code> or <code>sstBelongsToServiceUID</code> must bei set.
+
* '''x<sup>3</sup>''': Either <code>sstBelongsToPersonUID</code> or <code>sstBelongsToServiceUID</code> must bei set. The attribute <code>sstBelongsToServiceUID</code> must be set for all the stoney cloud [[stoney_cloud:_OpenLDAP_directory_data_organisation#Units_.28instances.29 | units]] (instances).
  
== Backup Groups ==
+
=== Backup accounts - S3 bucket based backup account example ===
The sub tree for the groups of the (online) backup service:
+
Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 4000907:
dn: ou=groups,ou=backup,ou=services,dc=foss-cloud,dc=org
+
<source lang="ldif">
objectclass: top
+
dn: uid=4000907,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
+
objectclass: top
ou: groups
+
objectclass: sstS3Bucket
description: The sub tree for the groups of the (online) backup service.
+
objectclass: sstProvisioning
 +
objectclass: sstRelationship
 +
uid: 4000907
 +
sstDisplayName: Support stepping stone AG
 +
description: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.
 +
sstBackupWarningDays: 1
 +
sstBackupWarningNumbers: 0
 +
sstBackupWarningOn: TRUE
 +
sstNotificationWarningMedium: mail
 +
sstIsActive: TRUE
 +
sstBillable: FALSE
 +
sstQuota: 10737418240
 +
sstS3BucketLifecycleDays: 1
 +
sstS3BucketWormDays: 1
 +
sstS3BucketWormMode: COMPLIANCE
 +
sstAutoGrow: FALSE
 +
sstActionLevel: 90
 +
host: ctrl-test-vm-043
 +
sstProvisioningMode: add
 +
sstProvisioningExecutionDate: 0
 +
sstProvisioningState: 0
 +
sstProvisioningReturnValue: 0
 +
sstBelongsToResellerUID: 2000000
 +
sstBelongsToCustomerUID: 3723426
 +
sstBelongsToPersonUID: 1000482
 +
</source>
  
=== Backup Group Example ===
+
With auto-grow:
dn: cn=3723707,ou=groups,ou=backup,ou=services,dc=foss-cloud,dc=org
+
<source lang="ldif">
objectclass: top
+
dn: uid=4000907,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: posixGroup
+
objectclass: top
objectclass: sstRelationship
+
objectclass: sstS3Bucket
cn: 3723707
+
objectclass: sstProvisioning
gidNumber: 3723707
+
objectclass: sstRelationship
sstIsActive: TRUE
+
uid: 4000907
sstBelongsToResellerUID: 4000000
+
sstDisplayName: Support stepping stone AG
sstBelongsToCustomerUID: 4000001
+
description: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.
sstBelongsToPersonUID: 4000002
+
sstBackupWarningDays: 1
 +
sstBackupWarningNumbers: 0
 +
sstBackupWarningOn: TRUE
 +
sstNotificationWarningMedium: mail
 +
sstIsActive: TRUE
 +
sstBillable: FALSE
 +
sstQuota: 10737418240
 +
sstS3BucketLifecycleDays: 1
 +
sstS3BucketWormDays: 1
 +
sstS3BucketWormMode: COMPLIANCE
 +
sstAutoGrow: TRUE
 +
sstActionLevel: 90
 +
sstAutoGrowStepBytes: 1073741824
 +
host: ctrl-test-vm-043
 +
sstProvisioningMode: add
 +
sstProvisioningExecutionDate: 0
 +
sstProvisioningState: 0
 +
sstProvisioningReturnValue: 0
 +
sstBelongsToResellerUID: 4000000
 +
sstBelongsToCustomerUID: 4000001
 +
sstBelongsToPersonUID: 4000002
 +
</source>
  
* Entscheid chroot-Umgebung. TMU/CAF/PKL/MEI
+
The following table describes the different attributes:
** chroot-Umgebung mit einer Kombination von busybox, Jailkit und dem täglich ablaufendem Backup-Script (als aufrufende Instanz)
+
{| border="1" style="border-collapse: collapse; font-size:80%;" width="100%" class="wikitable sortable"
** rsync vom Host (als static Binary)
+
! style="text-align:left; width: 180px"            | Attribute
** busybox vom Host (als static Binary)
+
! style="text-align:left; width: 220px"            | Objectclass
 +
! style="width: 80px"                              | Existance
 +
! style="width: 80px"                              | Mandatory
 +
! style="text-align:left;"                        | Description
 +
|-
  
* Verzicht auf Bind-Mount (.snapshots ist read only) -> CAF
+
| <!-- Attribute  --> style="text-align: left;"  | uid
* LDAP Struktur -> MEI/TMU
+
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
* Neuer Backup Server aufbauen (Gleicher Fingerprint) -> TMU/MEI
+
| <!-- Existance  --> style="text-align: center;" | MUST
* Backup Script (prov-backup-rsnapshot) -> PKL
+
| <!-- Mandatory  --> style="text-align: center;" | x
* SSHA Umstellung bei den Passwörtern -> MEI/CWI
+
| <!-- Description --> style="text-align: left;"  | A unique integer value with 7 digits or more. For example: <code>4000003</code>.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstDisplayName
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The human readable display name. Either the human readable server name the S3 bucket belongs to or the persons full name the S3 bucket belongs to.
 +
 
 +
For example: <code>sst-int-001: stepping stone AG: AlmaLinux 9 (LBaaS 1 Active))</code> or <code>Support stepping stone AG</code>.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | description
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The description of the leaf.
 +
 
 +
For example: <code>The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.</code>
 +
 
 +
Or: <code>The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the server 'sst-int-001: stepping stone AG: AlmaLinux 9 (LBaaS 1 Active)'.</code>
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBackupWarningDays
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | If the attribute <code>sstBackupWarningOn</code> ist true, a non-successful backup notification warning is sent after X days of non-successful backups (where X is an integer number larger than zero). X is an integer number larger than 1. 0 means, the warning is turned off. The default is '''1''' and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBackupWarningNumbers
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | If the attribute <code>sstBackupWarningOn</code> ist true, a non-successful backup notification warning is sent after X non-successful backups. X is an integer number larger than 1. 0 means, the warning is turned off. The default is '''0''' and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBackupWarningOn
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | Is the non-successful backup notification warning turned on or not? Either <code>true</code> (yes) or <code>false</code> (no). Default is true (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstNotificationWarningLevel
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstNotificationWarningMedium
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The notification medium, either sms (points to the multi-valued attribute <code>mobileTelephoneNumber</code>) or mail (points to the multi-valued attribute <code>mail</code>). Currently, only mail is supported. This is the default is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstQuota
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The S3 bucket quota in bytes. The value must be a multiple of 1073741824 bytes.
 +
 
 +
For example: '''10737418240''' (10 Gibibyte or 10 GiB).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstS3BucketLifecycleDays
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | How long the modified items are kept in the S3 version history. Possible values are between 1 and 99. Default is 1.
 +
 
 +
For example: '''3''' (three days).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstS3BucketWormDays
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | How long the S3 version history is delete protected (compliance mode). Possible values are between 1 and 99. Default is 1.
 +
 
 +
For example: '''3''' (three days).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstS3BucketWormMode
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | S3 object lock provides two retention modes that apply different levels of protection to your objects. COMPLIANCE and GOVERNANCE. Default is COMPLIANCE.
 +
 
 +
For example: '''COMPLIANCE'''.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstAutoGrow
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | Defines if the given quota must automatically expand (TRUE) or not (FALSE). Default is FALSE.
 +
 
 +
Example: '''FALSE'''
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstActionLevel
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The level in percent from which an action must be carried out.
 +
 
 +
For example: '''90''' (ninety percent).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBackupLastSuccessfulBackup
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" |
 +
| <!-- Description --> style="text-align: left;"  | The date and time of the last successful backup in UTC, either 0 or in the form of hostname:[YYYY][MM][DD]T[hh][mm][ss]Z ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]).
 +
 
 +
For example: '''computer:20130923T063554Z''' or '''computer.example.com:20130923T063554Z'''.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | preferredLanguage
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x<sup>3</sup>
 +
| <!-- Description --> style="text-align: left;"  | The notification language according to [http://www.ietf.org/rfc/rfc1766.txt RFC 1766] ([http://www.iso.org/iso/english_country_names_and_code_elements ISO 3166-1-alpha-2 code]-[http://www.loc.gov/standards/iso639-2/php/code_list.php ISO 639-1 Code].
 +
 
 +
For example '''de-CH''' or '''en-GB'''.
 +
 
 +
The content of this value is taken from the person entry from the attribute <code>preferredLanguage</code>. If the backup account belongs to a service instead of a person, this attribute must be set.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBillable
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" |
 +
| <!-- Description --> style="text-align: left;"  |
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstAutoGrowStepPercentage
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x<sup>1</sup>
 +
| <!-- Description --> style="text-align: left;"  | By how much must the quota be expanded in percent. Possible values are between 1 and 99.
 +
 
 +
For example: '''2''' (two percent).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstAutoGrowStepBytes
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x<sup>1</sup>
 +
| <!-- Description --> style="text-align: left;"  | By how much must the quota be expanded in bytes. The value must be a multiple of 1073741824 bytes.
 +
 
 +
For example: '''1073741824''' (1 Gibibyte or 1 GiB).
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | host
 +
| <!-- Objectclass --> style="text-align: left;"  | sstS3Bucket
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The host where the S3 bucket provisioning daemon runs.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstCancellationDate
 +
| <!-- Objectclass --> style="text-align: left;"  | sstRelationship
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" |
 +
| <!-- Description --> style="text-align: left;"  | The UTC based cancellation date of a reseller, customer or service in the form of [YYYY][MM][DD]T[hh][mm][ss]Z ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]).
 +
 
 +
For example: '''20201231T225959Z'''.
 +
 
 +
Presuming the service owner is located in Bern Switzerland: Bern in winter follows Central European Time (CET), which is UTC+1. Let's confirm the conversion from 20201231T225959Z (UTC) to Bern's local time step-by-step.
 +
 
 +
    UTC Timestamp:
 +
        2020-12-31 at 22:59:59 UTC.
 +
 
 +
    Bern's Time Zone in Winter:
 +
        Bern operates on CET (Central European Time) during winter, which is UTC+1.
 +
 
 +
    Conversion:
 +
        Add 1 hour to the UTC time to convert to Bern local time.
 +
 
 +
So, let's perform the conversion:
 +
 
 +
    UTC Time: 2020-12-31 22:59:59
 +
    Add 1 hour for CET: 2020-12-31 23:59:59
 +
 
 +
Thus, '''20201231T225959Z''' in Bern local time is '''2020-12-31 at 23:59:59'''.
 +
 
 +
Due to backwards compatibility, [YYYY][MM][DD] ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]) is allowed.
 +
 
 +
For example: '''20201231'''. It will be interpreted with Bern local time as '''2020-12-31 at 23:59:59'''.
 +
 
 +
The attribute <code>sstCancellationDate</code> is used in a logical AND combination with <code>sstIsActive</code>. With other words: Once the cancellation date has passed, it overrides the <code>sstIsActive</code> value.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstProvisioningMode
 +
| <!-- Objectclass --> style="text-align: left;"  | sstProvisioning
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The provisioning mode. For a new account, this attribute must be set to <code>add</code>.
 +
 
 +
For example: <code>add</code>, <code>modify</code> or <code>delete</code>.
 +
 
 +
See the [[#Backup_Provisioning | backup provisioning]] section for details.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstProvisioningExecutionDate
 +
| <!-- Objectclass --> style="text-align: left;"  | sstProvisioning
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The date the provisioning shall occur in the form of [YYYY][MM][DD]T[hh][mm][ss]Z ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]). For a new account, this attribute is normally set to '''0''' (the provisioning happens as quickly as possible).
 +
 
 +
For example: '''0''' or '''20201231T225959Z'''.
 +
 
 +
See the [[#Backup_Provisioning | backup provisioning]] section for details.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstProvisioningState
 +
| <!-- Objectclass --> style="text-align: left;"  | sstProvisioning
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The provisioning state, either '''0''' or in the form of [YYYY][MM][DD]T[hh][mm][ss]Z ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]). For a new account, this attribute must be set to '''0'''.
 +
 
 +
For example: '''0''' or '''20201231T225959Z'''.
 +
 
 +
You can use <code>date +%Y%m%dT%H%M%SZ</code> to create the time stamp in the form of [YYYY][MM][DD]T[hh][mm][ss]Z.
 +
 
 +
See the [[#Backup_Provisioning | backup provisioning]] section for details.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstProvisioningReturnValue
 +
| <!-- Objectclass --> style="text-align: left;"  | sstProvisioning
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | The provisioning return value written by the S3 bucket provisioning daemon. '''0''' means success, '''>0''' means failure.
 +
 
 +
For example: '''0'''.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBelongsToResellerUID
 +
| <!-- Objectclass --> style="text-align: left;"  | sstRelationship
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000000</code>.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBelongsToCustomerUID
 +
| <!-- Objectclass --> style="text-align: left;"  | sstRelationship
 +
| <!-- Existance  --> style="text-align: center;" | MUST
 +
| <!-- Mandatory  --> style="text-align: center;" | x
 +
| <!-- Description --> style="text-align: left;"  | Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>4000001</code>.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBelongsToPersonUID
 +
| <!-- Objectclass --> style="text-align: left;"  | sstRelationship
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x<sup>2</sup>
 +
| <!-- Description --> style="text-align: left;"  | Stores the UID of the service the leaf belongs to. This UID can be used to look up other information. A unique value with 7 digits or more. <code>4000123</code>.
 +
|-
 +
 
 +
| <!-- Attribute  --> style="text-align: left;"  | sstBelongsToServiceUID
 +
| <!-- Objectclass --> style="text-align: left;"  | sstRelationship
 +
| <!-- Existance  --> style="text-align: center;" | MAY
 +
| <!-- Mandatory  --> style="text-align: center;" | x<sup>2</sup>
 +
| <!-- Description --> style="text-align: left;"  | Stores the UID of the service the leaf belongs to. This UID can be used to look up other information. A unique value with 7 digits or more. <code>4000123</code>.
 +
|-
 +
 
 +
|}
 +
 
 +
Legend:
 +
* '''x''': Mandatory in all cases.
 +
* '''x<sup>1</sup>''': If <code>sstAutoGrow</code> is set to <code>TRUE</code>, either <code>sstAutoGrowStepPercentage</code> or <code>sstAutoGrowStepBytes</code> must be set.
 +
* '''x<sup>2</sup>''': Either <code>sstBelongsToPersonUID</code> or <code>sstBelongsToServiceUID</code> must be set.
 +
* '''x<sup>3</sup>''': See notes below!
 +
 
 +
Notes:
 +
* sstInformPersonUID (sstRelationship): We should use <code>sstInformPersonUID</code>, if <code>sstBelongsToServiceUID</code> instead <code>sstBelongsToPersonUID</code> is set. The multi-valued attribute may be set on three levels:
 +
** <code>uid=<backup_uid>,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org</code>
 +
** <code>ou=settings,uid=<customer_uid>,ou=customers,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org</code>
 +
** <code>ou=settings,uid=<reseller_uid>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org</code>
 +
* preferredLanguage (sstS3Bucket): The same applies here.
 +
 
 +
== Backup groups ==
 +
The sub tree for the groups of the (online) backup service:
 +
<syntaxhighlight lang='ldif'>
 +
dn: ou=groups,ou=backup,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: organizationalUnit
 +
ou: groups
 +
description: The sub tree for the groups of the (online) backup service.
 +
</syntaxhighlight>
  
* Icons: http://www.famfamfam.com/lab/icons/silk/
+
=== Backup groups - Posix account based backup group example ===
 +
<syntaxhighlight lang='ldif'>
 +
dn: cn=3723707,ou=groups,ou=backup,ou=services,dc=stoney-cloud,dc=org
 +
objectclass: top
 +
objectclass: posixGroup
 +
objectclass: sstRelationship
 +
cn: 3723707
 +
gidNumber: 3723707
 +
sstIsActive: TRUE
 +
sstBelongsToResellerUID: 4000000
 +
sstBelongsToCustomerUID: 4000001
 +
sstBelongsToPersonUID: 4000002
 +
</syntaxhighlight>
  
== Provisioning ==
+
=== Backup groups - S3 bucket based backup group example ===
Die Provisionierung benötigt die drei Attribute '''sstProvisioningMode''' und '''sstProvisioningState''' und '''sstProvisioningExecutionDate'''. Ablauf:
+
S3 buckets do not require a group.
# '''sstProvisioningMode''': Die Applikation '''Selfcare''' beschreibt das Attribut '''sstProvisioningMode''' mit den Werten '''add''', '''modify''' der '''delete'''.
+
## '''sstProvisioningMode: add''': Der Service soll hinzugefügt werden. Dieser Fall muss mehrmals nacheinander aufgerufen werden können. Beispiel: Bei Online Backup wurde die chroot-Umgebung bereits erstellt, dann müsste ein '''add''' nur noch kontrollieren, ob die chroot-Umgebung aktuell ist, falls nicht, müssten die entsprechenden Punkte aktualisiert werden.
+
## '''sstProvisioningMode: modify''': Der Service soll modifiziert werden.
+
## '''sstProvisioningMode: delete''': Der Service soll gelöscht werden.
+
# '''sstProvisioningExecutionDate''': Die Applikation '''Selfcare''' beschreibt das Attribut '''sstProvisioningExecutionDate''' mit dem gewünschten Ausführungszeitpunkt. Zwei Fälle:
+
## '''0''': Dies bedeutet "sofort" und wird durch den Provisionierungs-Daemon '''provisioning.pl''' ausgewertet.
+
## '''[YYYY][MM][DD]''': Das gewünschte Ausführungsdatum ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]). Muss mindestens ein Tag später als das aktuelle Datum sein, da diese Attribut durch ein alle 24 Stunden aufgerufenes Aufräum-Script gelesen wird. Der genaue Ausführungszeitpunkt kann somit nicht bestimmt werden (da abhängig vom Ausführungszeitpuntk der Aufräum-Scripts und der Anzahl anstehenden Aufgaben).
+
# '''sstProvisioningState''': Die Applikation '''Selfcare''' oder der Provisionierungs-Daemon '''provisioning.pl''' beschreiben das Attribut '''sstProvisioningState''':
+
## '''Keine Provisionierung nötig''': Falls eine Änderung keine Provisionierung im Backend verlangt (zum Beispiel bei einer Passwört-Änderung), wird das Attribut '''sstProvisioningState''' direkt durch die Applikation '''Selfcare''' it dem aktuellen Datum und der aktuellen Zeit in Form von '''[YYYY][MM][DD]T[hh][mm][ss]''' ausfüllen ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]) beschrieben. In diesem Falle ignoriert der Provisionierungs-Daemon '''provisioning.pl''' die Modifikation.
+
## Provisionierung nötig: Falls eine Änderung eine Provisionierung im Backend verlangt (zum Beispiel bei einer Quota-Änderung), muss die Applikation '''Selfcare''' dieses Attribut auf den Wert '''0''' setzen. Nach der erfolgreichen Provisionierung muss Provisionierungs-Daemon '''provisioning.pl''' das Attribut '''sstProvisioningState''' mit dem aktuellen Datum und der aktuellen Zeit in Form von '''[YYYY][MM][DD]T[hh][mm][ss]''' ausfüllen ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]).  
+
  
Die Applikation '''Selfcare''' darf erst dann wieder eine Modifikation durch einen Benutzer zulassen, wenn das Attribut '''sstProvisioningState''' einen gültigen Zeitstempel in der Form von '''[YYYY][MM][DD]T[hh][mm][ss]''' ([http://en.wikipedia.org/wiki/ISO_8601 ISO 8601]) hat. Technisch gesehen muss der Provisionierungs-Daemon '''provisioning.pl''' im RefreshAndPersist Modus nur noch auf die LDAP-Mechanismen '''add''' und '''modify''' hören. Der LDAP-Mechanismus '''delete''' muss ignoriert werden.
+
== Backup Provisioning ==
 +
See the [[stoney core: OpenLDAP provisioning|OpenLDAP provisioning]] page for the overview of the provisioning functionality and [[stoney backup: prov-backup-rsnapshot]] the actual backup provisioning.
  
 
= Links =
 
= Links =
Line 1,600: Line 2,054:
  
  
[[Category:OpenLDAP directory]][[Category:Modules]]
+
[[Category:stoney backup]]
 +
[[Category:OpenLDAP directory]]

Latest revision as of 12:29, 20 August 2024

Contents

Abstract

This document describes the OpenLDAP directory data organisation for the stoney backup service.

Data Organisation

The following chapters explain the data organisation of the stoney cloud OpenLDAP directory, in this case we looking at the stoney backup service.

Backup

The following LDIF shows the backup entry of the whole OpenLDAP directory tree for the stoney cloud:

dn: ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: organizationalUnit
objectclass: top
ou: backup

Backup Configuration

The sub tree for the configuration of the (online) backup service:

dn: ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: configuration
description: The sub tree for the configuration of the (online) backup service.

Backup rsnapshot Provisioning Daemon

The sub tree for the configuration of the prov-backup-rsnapshot daemon:

dn: ou=prov-backup-rsnapshot,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstServiceConfigurationObjectClass
ou: prov-backup-rsnapshot
description: The sub tree for the configuration of the prov-backup-rsnapshot daemon.
sstIsActive: TRUE

The following table describes the different attributes:

Attribute
Existence
Mandatory
Description
description
MAY
x
The description of the leaf.
sstIsActive
MAY
x
Is the entry active? Either true (yes) or false (no).

Legend:

  • x: Mandatory in all cases.

Backup Reseller

The sub tree for the reseller specific (online) backup service settings:

dn: ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: reseller
description: The sub tree for the reseller specific (online) backup service settings.

The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.

dn: uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstReseller
objectclass: sstServiceConfigurationObjectClass
uid: 4000000
o: Reseller Ltd.
description: The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
sstIsActive: TRUE
sstIsDefault: TRUE
sstBelongsToResellerUID: 4000000

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
A unique integer value with 7 digits or more. For example: 4000000.
o
MUST
x
The company name, for example: stepping stone GmbH.
description
MAY
x
The description of the leaf.
sstIsActive
MUST
x
Is the entry active? Either TRUE (yes) or FALSE (no).
sstIsDefault
MAY
Contains the leaf a default entry? Either TRUE (yes) or FALSE (no). If sstIsDefault is set to TRUE, this entry acts as a fall back configuration. In other words: If a reseller doesn't have his own (online) backup service configuration, then this on will be used.
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.

Legend:

  • x: Mandatory in all cases.

Backup Reseller Billing

The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:

dn: ou=billing,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: TBD
ou: billing
description: The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.

TBD: Der Aufbau sollte so sein, dass er hierarchische Informationen abbilden könnte. Oder wir machen den normalen Billing Tree, den wir ursprünglich vorgeshene haben.

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
description
MAY
x
The description of the leaf.

Legend:

  • x: Mandatory in all cases.

Backup Reseller Backup Account Defaults

The sub tree for the backup account defaults for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:

dn: ou=defaults,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstBackup
ou: defaults
description: The sub tree for the default settings of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
loginShell: /bin/sh
shadowMax: 99999
shadowWarning: 7
shadowFlag: 134539460
sstBackupWarningDays: 1
sstBackupWarningNumbers: 0
sstBackupWarningOn: FALSE
sstNotificationWarningLevel: 85
sstNotificationWarningMedium: mail
sstBackupSize: 0
sstIncrementSize: 0
sstBackupIntervalHourly: 0
sstBackupIntervalDaily: 7
sstBackupIntervalWeekly: 4
sstBackupIntervalMonthly: 3
sstBackupIntervalYearly: 0
sstUseSelfcare: FALSE
sstUseSSH: TRUE
sstIsActive: TRUE

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
description
MAY
x
loginShell
MAY
x
The path to the login shell. The default is /bin/sh.
shadowMax
MAY
x
Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is 99999, which corresponds to about 273 years. In reality, this means, that the user does not need to change the password.
shadowWarning
MAY
x
Related to the /etc/shadow file, this attribute specifies the number of days before the password expires that the user is warned. The default is 7.
shadowFlag
MAY
x
Related to the /etc/shadow file, this attribute is currently not used and is reserved for future use. The default is set to 134539460.


sstVolumeCapacityDefault
MAY
x
sstVolumeCapacityMin
MAY
x
sstVolumeCapacityMax
MAY
x
sstVolumeCapacityStep
MAY
x
sstQuotaChange
MAY
x
Can the user change the quota? Either TRUE (yes) or FALSE (no). Default is FALSE (no).
sstBackupWarningDays
MUST
x
After how many missed backup days should the user be warned. Possible values are between 0 and 99. Default is 1.
sstBackupWarningNumbers
MUST
x
After how many missed backups should the user be warned. Possible values are between 0 and 99. Default is 0.
sstBackupWarningOn
MUST
x
Does the user want to informed about failed backups (TRUE) or not (FALSE).
sstNotificationWarningLevel
MUST
x
The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent.
sstNotificationWarningMedium
MUST
x
The notification medium, either sms (points to the multi-valued attribute mobileTelephoneNumber) or mail (points to the multi-valued attribute mail). Currently, only mail is supported.
sstNotificationWarningMediumChange
MAY
x
Can a user change the notification warning medium? Either TRUE (yes) or FALSE (no). The default is FALSE (no).
sstNotificationWarningMediumAdd
MAY
x
Can a user add new notification warning mediums (mobileTelephoneNumber or mail? Either TRUE (yes) or FALSE (no). The default is TRUE (yes). Currently, only adding new mail addresses are supported.
sstBackupIntervalHourly
MUST
x
How many hourly backups do we want? The default is 0.
sstBackupIntervalDaily
MUST
x
How many daily backups do we want? The default is 7.
sstBackupIntervalWeekly
MUST
x
How many weekly backups do we want? The default is 4.
sstBackupIntervalMonthly
MUST
x
How many monthly backups do we want? The default is 3.
sstBackupIntervalYearly
MUST
x
How many yearly backups do we want? The default is 0.
sstIsActive
MUST
x
Is the backup account active? Either TRUE (yes) or FALSE (no). Default is TRUE (yes).
sstUseSelfcare
MUST
x
Can the Self-Service interface be used with the credentials of the backup account? Either TRUE (yes) or FALSE (no). Default is FALSE (no).
sstUseSSH
MUST
x
Is the ssh service active for the backup account? Either TRUE (yes) or FALSE (no). Default is TRUE (yes).

Legend:

  • x: Mandatory in all cases.

Backup Reseller Backup Notification Settings

The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users. The idea is, that the reseller can receive notifications for a customer and react on the received information (for example, when the quota has been reached):

dn: ou=notifications,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstNotificationObjectClass
ou: notifications
description: The sub tree stores the notification information for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000. This information is used independently of the notification settings of the users.
sstMailTo: Support stepping stone GmbH <support@stepping-stone.ch>
sstNotificationWarning: quota
sstNotificationWarning: schedule
sstNotificationWarning: unsuccessful

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
description
MAY
x
sstMailTo
MAY
x
sstNotificationWarning
MAY
This multi-valued attribute will be used to turn single notifications on or off. The attribute sstBackupWarningOn must be set to TRUE Possible values are quota, schedule and unsuccessful (the names correspond with the template dn).

Legend:

  • x: Mandatory in all cases.

Backup Reseller Backup Account Settings

The sub tree stores the information about what can be modified in which scope for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:

dn: ou=settings,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstServiceSettingsObjectClass
ou: settings
description: This sub tree stores the information about what can be modified in which scope.
sstVolumeCapacityDefault: 1073741824
sstVolumeCapacityMin: 1073741824
sstVolumeCapacityMax: 536870912000
sstVolumeCapacityStep: 1073741824
sstNotificationWarningMediumChange: FALSE
sstNotificationWarningMediumAdd: TRUE
sstQuotaChange: FALSE
sstSendCredentialsTo: owner
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
preferredLanguage: de-CH

Human readable format:

  • sstVolumeCapacityDefault: 1 Gibibyte (GiB)
  • sstVolumeCapacityMin: 1 Gibibyte (GiB)
  • sstVolumeCapacityMax: 500 Gibibyte (GiB)
  • sstVolumeCapacityStep: 1 Gibibyte (GiB)

The following table describes how to calculate the sstVolumeCapacity* attributes:

Size Calculation Value
1 Byte
1 1
1 Kibibyte (KiB)
210 1 024
1 Mebibyte (MiB)
220 1 048 576
1 Gibibyte (GiB)
230 1 073 741 824
5 Gibibyte (GiB)
5 x 230 5 368 709 120
10 Gibibyte (GiB)
10 x 230 10 737 418 240
100 Gibibyte (GiB)
100 x 230 107 374 182 400
500 Gibibyte (GiB)
500 x 230 536 870 912 000
1 Tebibyte (TiB)
240 1 099 511 627 776
1 Pebibyte (PiB)
250 1 125 899 906 842 624
1 Exbibyte (EiB)
260 1 152 921 504 606 846 976

Legend:

  • x: Mandatory in all cases.

Backup Reseller Templates

This sub tree contains the templates for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:

dn: ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: templates
description: This sub tree contains the templates for the (online) backup service for the reseller Reseller Ltd. with the uid 4000000.
Backup Reseller Credentials Templates

This sub tree contains the quota templates for the (online) backup service:

dn: ou=credentials,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: credentials
description: This leaf contains the credential templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_attachment
sstTemplateFormatSource: odt
sstTemplateFormatTarget: pdf

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
description
MUST
x
sstMailFrom
MAY
x
The mail address, from which the credentials are sent from. For example:
  • Support stepping stone GmbH <support@stepping-stone.ch>).

If this attribute does not exist, the

  • sstMailFrom

from

  • ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org

must be taken.

sstMailTo
MAY
If this multi-valued attribute is set with one or mail address(es), then these recipients will receive the same information as the login user or the owner, depending on the value of sstSendCredentialsTo under ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org. Normally, this attribute is not set for the credentials.
sstMailTemplate
MAY
x
The template, that is used to create the mail that is sent to either the user logged in (sstSendCredentialsTo: login) or to the owner of then newly created service (sstSendCredentialsTo: owner. For example:
  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_mail.
sstMailTemplateFormatSource
MAY
x
The format of the source template. Supported values:
  • txt
  • html

Place holder:

  • For both txt or html as a source and txt or html, the place holders have the form of {$placeholder}.

Default would normally be txt.

sstMailTemplateFormatTarget
MAY
x
The format of the target. Supported values:
  • txt
  • html
sstTemplate
MAY
x
The template, that is used to create the attachment that is sent with the mail. For example:
  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_attachment.
sstTemplateFormatSource
MAY
x
The format of the source template. Supported values:
  • txt
  • odt

Place holders:

  • If we have txt or html as a source and txt or html, the place holders have the form of {$placeholder}.
  • If we have odt as a source and odt or pdf as a target, then PHP-Easy-Report is used to replace the placeholders. These have the form of {{placeholder}}.

The complete path and file name is a string concatenation of the values of the attributes sstTemplate, preferredLanguage and sstTemplateFormatSource (with a dot in between the values). For example:

  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_attachment
  • preferredLanguage: en-GB
  • sstTemplateFormatSource: odt

This gives us:

  • file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_attachment.en-GB.ode

Default would normally be odt.

sstTemplateFormatTarget
MAY
x
The format of the target. Supported values:
  • txt
  • odt
  • pdf

Note to Self-Service developer(s). Please be aware of the following issues when using PHP-Easy-Report:

  • Minor: Spaces (and other special characters) in the document file names are going to be a problem since the names don't get escaped.
  • Major: You must provide a manually-created unique temp-directory for the PHP-Easy-Report object, otherwise there will be race-conditions.

Default would normally be pdf.

Legend:

  • x: Mandatory in all cases.
Credentials Place Holders E-Mail (txt/html)

Address with an example:

{$company}                         stepping stone GmbH
{$salutation} {$name} {$surname}   Mr. Michael Eichenberger
{$address}                         Neufeldstrasse 9
{$country}-{$zip} {$location}      CH-3013 Bern

Date with an example:

{$day}                             16
{$month}                           August
{$year}                            2013

Backup Service with an example:

{$uid}                             4000124
{$password}                        XlWz4Qa#

Optional Values:

{$externalID}       12345
Credentials Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup Reseller Quota Templates

Warns the user when the backup is running out of space (quota).

This sub tree contains the quota templates for the (online) backup service:

dn: ou=quota,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: quota
description: This leaf contains the quota templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
ou
MUST
x
description
MUST
x
sstMailFrom
MAY
x
The mail address, from which the quota mails are sent from. For example:
  • Support stepping stone GmbH <support@stepping-stone.ch>.

If this attribute does not exist, the

  • sstMailFrom

from

  • ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org

must be taken.

sstMailTo
MAY
If this multi-valued attribute is set with one or mail address(es), then these recipients will receive the same information as the owner. Normally, this attribute is not set.
sstMailTemplate
MAY
x
The template, that is used to create the mail that is sent to the owner of the service if sstBackupWarningOn: TRUE and sstNotificationWarningMedium: mail. If the mail is not set, you must look for the mail in the owners person entry under uid=<UID>,ou=people,dc=stoney-cloud,dc=org.

For example:

  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/credentials/credentials_mail.
sstMailTemplateFormatSource
MAY
x
The format of the source template. Supported values:
  • txt
  • html

Place holder:

  • For both txt or html as a source and txt or html, the place holders have the form of {$placeholder}.

Default would normally be txt.

sstMailTemplateFormatTarget
MAY
x
The format of the target. Supported values:
  • txt
  • html
sstMailTemplateReseller
MAY
x1
The path and name to a template file, that is used to inform one or more people if the multi-valued attribute sstMailTo is set in the notifications sub tree of the reseller
  • ou=notifications,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org

and if <code>sstNotificationWarning is set to quota. In most cased, the attribute sstMailTo is set to the support organisations mail address. For example:

  • sstMailTo: Support stepping stone GmbH <support@stepping-stone.ch&gt>

This way, the support organisation will be pre-informed for when the customer should call or write.

The information the recipients will receive, is the same as the owner, but will formatted according to:

  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail_reseller
  • sstMailTemplateResellerFormatSource: txt
  • sstMailTemplateResellerFormatTarget: txt
sstMailTemplateResellerFormatSource
MAY
x1
The format of the source template. Supported values:
  • txt
  • html

Place holder:

  • For both txt or html as a source and txt or html, the place holders have the form of {$placeholder}.

The complete path and file name is a string concatenation of the values of the attributes sstTemplate, preferredLanguage and sstTemplateFormatSource (with a dot in between the values). For example:

  • sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail_reseller
  • preferredLanguage: en-GB
  • sstTemplateFormatSource: txt

This gives us:

  • file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/quota/quota_mail_reseller.en-GB.txt

Default would normallb be txt.

sstMailTemplateResellerFormatTarget
MAY
x1
The format of the target. Supported values:
  • txt
  • html

Default would normallb be txt.

Legend:

  • x: Mandatory in all cases.
  • x1: Must exist, if sstMailTo is set.
Quota Place Holders E-Mail (txt/html)

An example:

{$salutation}       Mr.
{$surname}          Eichenberger
{$uid}              3723707
{$percent}          98
{$quota}            100
{$backup_size}      40
{$snapshot_size}    48

Optional Values:

{$externalID}       12345
Quota Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup Reseller Schedule Templates

Warns the user if the backup wasn't executed at the planned time (schedule).

This sub tree contains the schedule templates for the (online) backup service:

dn: ou=schedule,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: schedule
description: This leaf contains the schedule templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/schedule/schedule_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/schedule/schedule_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
Schedule Place Holders E-Mail (txt/html)

An example:

{$salutation}       Mr.
{$surname}          Eichenberger
{$scheduled_date}   01. August 2013
{$scheduled_time}   15:00
{$gecos}            Michael Eichenberger
{$computer}         my-laptop
{$last_success}     The last successful backup was made on the 03. July 2013 at 14:45
{$uid}              1234567

Optional Values:

{$externalID}       12345
Schedule Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup Reseller Unsuccessful Templates

Informs the user if the backup was executed, but finished with errors (unsuccessful).

This sub tree contains the unsuccessful templates for the (online) backup service:

dn: ou=unsuccessful,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: unsuccessful
description: This leaf contains the schedule templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/unsuccessful/unsuccessful_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/unsuccessful/unsuccessful_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
Unsuccessful Place Holders E-Mail (txt/html)

An example:

{$salutation}       Mr.
{$surname}          Eichenberger
{$scheduled_date}   01. August 2013
{$scheduled_time}   15:00
{$gecos}            Michael Eichenberger
{$computer}         my-laptop
{$last_success}     The last successful backup was made on the 03. July 2013 at 14:45
{$uid}              1234567

Optional Values:

{$externalID}       12345

Example template:

Subject: Online Backup information for account {$uid}

{$salutation} {$surname}

Your backup for the account '{$gecos}' and the computer '{$computer}', scheduled for the {$scheduled_date} at {$scheduled_time}, was not successful.
{$last_success}

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch

Which results in the following mail for the backup account 4000152:


Dear Mr. Kläy

Your backup for the account 'Pat Klaey' and the computer 'pat-GT60', scheduled for the 18. Aug 2013 at 17:15, was not successful.
The last successful backup was made the 01. July 2013 at 12:00

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch
Unsuccessful Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup Reseller Upgrade Templates

If the Backup Client is too old, inform the user (upgrade).

This sub tree contains the upgrade templates for the (online) backup service:

dn: ou=upgrade,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: upgrade
description: This leaf contains the schedule templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/upgrade/upgrade_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/upgrade/upgrade_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
Upgrade Place Holders E-Mail (txt/html)

An example:

{$salutation}       Mr.
{$surname}          Eichenberger
{$scheduled_date}   01. August 2013
{$scheduled_time}   15:00
{$gecos}            Michael Eichenberger
{$computer}         my-laptop
{$last_success}     The last successful backup was made on the 03. July 2013 at 14:45
{$uid}              1234567

Optional Values:

{$externalID}       12345

Example template:

Subject: Online Backup information for account {$uid}

{$salutation} {$surname}

Your backup for the account '{$gecos}' and the computer '{$computer}', scheduled for the {$scheduled_date} at {$scheduled_time}, was not successful.
{$last_success}

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch

Which results in the following mail for the backup account 4000152:


Dear Mr. Kläy

Your backup for the account 'Pat Klaey' and the computer 'pat-GT60', scheduled for the 18. Aug 2013 at 17:15, was not successful.
The last successful backup was made the 01. July 2013 at 12:00

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch
Upgrade Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup Reseller No Backup Templates

Tell the user, that they have a backup account, but it was never used (no backup).

This sub tree contains the no backup templates for the (online) backup service:

dn: ou=no backup,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: no backup
description: This leaf contains the schedule templates for the (online) backup service.
sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch>
sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/no backup/no backup_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/no backup/no backup_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
No Backup Place Holders E-Mail (txt/html)

An example:

{$salutation}       Mr.
{$surname}          Eichenberger
{$scheduled_date}   01. August 2013
{$scheduled_time}   15:00
{$gecos}            Michael Eichenberger
{$computer}         my-laptop
{$last_success}     The last successful backup was made on the 03. July 2013 at 14:45
{$uid}              1234567

Optional Values:

{$externalID}       12345

Example template:

Subject: Online Backup information for account {$uid}

{$salutation} {$surname}

Your backup for the account '{$gecos}' and the computer '{$computer}', scheduled for the {$scheduled_date} at {$scheduled_time}, was not successful.
{$last_success}

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch

Which results in the following mail for the backup account 4000152:


Dear Mr. Kläy

Your backup for the account 'Pat Klaey' and the computer 'pat-GT60', scheduled for the 18. Aug 2013 at 17:15, was not successful.
The last successful backup was made the 01. July 2013 at 12:00

If the problem can be solved with a manual Backup, you may ignore this message. 
Otherwise please contact us under: support@stepping-stone.ch

Kind regards
your stepping stone GmbH support team

--
stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63
www.stepping-stone.ch
support@stepping-stone.ch
No Backup Place Holders LibreOffice (odt)

LibreOffice (odt) templates have the same place holders as the E-Mail (text/html) templates. The only thing that changes, are the definitions. Instead of {$placeholder} we have {{placeholder}}.

Backup accounts

The sub tree for the accounts of the (online) backup service:

dn: ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: accounts
description: The sub tree for the accounts of the (online) backup service.

Backup accounts - Posix account based backup account example

Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 3723707:

dn: uid=3723707,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: account
objectclass: posixAccount
objectclass: shadowAccount
objectclass: sstBackup
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 3723707
userPassword: {SSHA}E/KLUgeAtApAPQ7mG2GMddCxTE9m9QOS
uidNumber: 3723707
gidNumber: 3723707
cn: Michael Eichenberger
gecos: Michael Eichenberger
homeDirectory: /home/3723707
loginShell: /bin/sh
shadowLastChange: 11108
shadowMax: 99999
shadowWarning: 7
shadowFlag: 134539460
sstBackupIntervalHourly: 0
sstBackupIntervalDaily: 7
sstBackupIntervalWeekly: 4
sstBackupIntervalMonthly: 3
sstBackupIntervalYearly: 0
sstBackupIterations: 99
sstBackupWarningDays: 1
sstBackupWarningNumbers: 0
sstBackupWarningOn: TRUE
sstNotificationWarningLevel: 85
preferredLanguage: de-CH
sstNotificationWarningMedium: mail
sstUseSelfcare: FALSE
sstUseSSH: TRUE
sstIsActive: TRUE
sstQuota: 10737418240
sstBackupSize: 0
sstIncrementSize: 0
sstBackupLastSuccessfulBackup: computer:20130923T063554Z
host: sst-int-054
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002
sstBelongsToServiceUID: 4000003

The following table describes the different attributes:

Attribute
Existence
Mandatory
Self-Service
Changeable
Description
uid
MUST
x
x
The unique identifier (uid). This attribute is created by the Self-Service interface by reading (and incrementing) the next free uid from "cn=nextfreeuid,ou=administration,dc=stoney-cloud,dc=org".
userPassword
MAY
x
x
x
Identifies the entry's password and encryption method in the following format: {encryption method}encrypted password. For example: {SSHA}zBiT1dHAZh/8zbCeyocRVWhdP0j9xJ3U. This password will be automatically set through the Self-Service interface. Afterwords, the password can be changed by the user (including the reseller and customer).
uidNumber
MUST
x
Related to the /etc/shadow file, this attribute specifies the user's login ID. Is the same as the uid. For example: 3723707.
gidNumber
MUST
x
Group ID number. Is the same as the uid. For example: 3723707.
cn
MUST
x
givenName and Surname. Will be used for the presentation in the interface. TBD
gecos
MAY
x
x
x
Named for historical reasons, the GECOS field is mandatory and is used to store extra information (such as the user's full name). Utilities such as finger or getent access this field to provide additional user information. For a personal account, this entry would consist of givenName and surname, for example Michael Eichenberger. These values are taken from the owners entry (ou=people). For a service account, the attribute sstDisplayName from the corresponding service would be used for the content of this attribute. Please be aware, that this attribute is a IA5String (OID=1.3.6.1.4.1.1466.115.121.1.26) IA5 (almost ASCII) character set (7-bit). Does NOT allow extended characters e.g. é, Ø, å etc. The Self-Service interface automatically creates the content of this attribute. The user (including the reseller and customer) can modify this attribute as desired (except for the IA5 restrictions).

You can use:
~ $ echo "Tüpfelhyänenöhrchen" | iconv -f 'utf-8' -t 'ASCII//TRANSLIT'
which gives you:
Tuepfelhyaenenoehrchen
or:
iconv("UTF-8", "ASCII//TRANSLIT", "Tüpfelhyänenöhrchen")
Please be aware, that some characters don't get converted properly ... For example: Ø and £. The characters $ and € work.

homeDirectory
MUST
x
The directory path corresponds with the 7 digit account uid. The following example describes, how the directory structure is built up for the account with the uid 3723707.

/home/abcdefg
/home/3723707

This attribute is created by the Self-Service interface.

loginShell
MAY
x
The path to the login shell. The default is /bin/sh and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
shadowLastChange
MAY
x
Related to the /etc/shadow file, this attribute specifies number of days between January 1, 1970, and the date that the password was last modified. Must be set to the day, that the password was set (must be updated, when the password is changed). This attribute is created by the Self-Service interface.
shadowMax
MAY
x
Related to the /etc/shadow file, this attribute specifies the maximum number of days the password is valid. The default is 99999, which corresponds to about 273 years. In reality, this means, that the user does not need to change the password. This attribute is created by the Self-Service interface. The value is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
shadowWarning
MAY
x
Related to the /etc/shadow file, this attribute specifies the number of days before the password expires that the user is warned. The default is 7 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
shadowFlag
MAY
x
Related to the /etc/shadow file, this attribute is currently not used and is reserved for future use. The default is set to 134539460 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIntervalHourly
MUST
x
x1
How many hourly backups do we want? The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIntervalDaily
MUST
x
x1
How many daily backups do we want? The default is 7 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIntervalWeekly
MUST
x
x1
How many weekly backups do we want? The default is 4 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIntervalMonthly
MUST
x
x1
How many monthly backups do we want? The default is 3 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIntervalYearly
MUST
x
x1
How many yearly backups do we want? The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupIterations
MAY
x
x
The number of backup iterations (when no backup intervals have been chosen). Possible values are between 0 and 9999. Default ist 0 if either sstBackupIntervalHourly, sstBackupIntervalDaily, sstBackupIntervalWeekly, sstBackupIntervalMonthly or sstBackupIntervalYearly contain a non-zero entry. Otherwise the default is 99.
sstBackupWarningDays
MUST
x
x1
If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X days of non-successful backups (where X is an integer number larger than zero). X is an integer number larger than 1. 0 means, the warning is turned off. The default is 1 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupWarningNumbers
MUST
x
x1
If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X non-successful backups. X is an integer number larger than 1. 0 means, the warning is turned off. The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupWarningOn
MUST
x
Is the non-successful backup notification warning turned on or not? Either true (yes) or false (no). Default is true (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstNotificationWarning
MAY
This multi-valued attribute will be used to turn single notifications on or off. The attribute sstBackupWarningOn must be set to TRUE Possible values are quota, schedule and unsuccessful (the names correspond with the template dn).
preferredLanguage
MAY
x
x2
x
The notification language according to RFC 1766 (ISO 3166-1-alpha-2 code-ISO 639-1 Code. For example de-CH or en-GB. The content of this value is taken from the person entry from the attribute preferredLanguage. If the backup account belongs to a service, the user must be asked for the notification language.
sstNotificationWarningLevel
MUST
x
x2
x
The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstNotificationWarningMedium
MUST
x
The notification medium, either sms (points to the multi-valued attribute mobileTelephoneNumber) or mail (points to the multi-valued attribute mail). Currently, only mail is supported. This is the default is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstQuota
MAY
x
x
x
The filesystem quota in bytes. 10737418240 Bytes equal 10 Gigabytes. The user can change the quota, if the sstQuotaChange is set to TRUE. See "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupSize
MAY
x
x
The size of the actual backup in bytes. Default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry. This attribute will be updated by the writeAccountSize.pl script, which is called during the daily backup run by the rsnapshotPostExecWrapper.sh script.
sstIncrementSize
MAY
x
x
The size of all the incremental backups combined in bytes. This attribute will be updated by the writeAccountSize.pl script, which is called during the daily backup run by the rsnapshotPostExecWrapper.sh script.
mobileTelephoneNumber
MAY
Multi-valued attribute with the mobile phone number(s) that is used for the notification of the user(s), if the attribute sstBackupWarningOn ist true and the attribute sstNotificationWarningMedium ist set to sms. Currently, only adding new mail addresses are supported, therefore this attribute is not used for the moment.
mail
MAY
x2
x2
x
Multi-valued attribute with the E-Mail addresse(s) that is used for the notification of the user(s), if the attribute sstBackupWarningOn ist TRUE and the attribute sstNotificationWarningMedium ist set to mail. If sstNotificationWarningMediumAdd is set to TRUE and the backup service belongs to a personal account, the mail entry would be taken from the owners entry (ou=people). For a backup service belonging to another serviĉe, the Self-Service would ask the user for the mail address.
sstIsActive
MUST
x
Is the backup account active? Either TRUE (yes) or FALSE (no). Default is TRUE (yes) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstUseSelfcare
MUST
x
Can the Self-Service interface be used with the credentials of the backup account? Either TRUE (yes) or FALSE (no). Default is FALSE (no) and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstUseSSH
MUST
x
Is the ssh service active for the backup account? Either TRUE (yes) or FALSE (no). Default is TRUE (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupLastSuccessfulBackup
MAY
The date and time of the last successful backup in UTC, either 0 or in the form of hostname:[YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). For example: computer:20130923T063554Z or computer.example.com:20130923T063554Z.
host
MAY
x
TBD
sstProvisioningMode
MUST
x
The provisioning mode, either add, modify or delete. For a new account, this attribute must be set to add. See Provisioning for details.
sstProvisioningExecutionDate
MUST
x
The date the provisioning shall occur in the form of [YYYY][MM][DD] (ISO 8601). For a new account, this attribute must be set to 0. See Provisioning for details.
sstProvisioningReturnValue
MAY
The provisioning return value written by the prov-backup-rsnapshot daemon. 0 means success, >0 means failure. See the prov-backup-rsnapshot Exit Codes for detailed information.
sstProvisioningState
MUST
x
The provisioning state, either 0 or in the form of [YYYY][MM][DD]T[hh][mm][ss] (ISO 8601). For a new account, this attribute must be set to 0. See Provisioning for details.
sstBelongsToResellerUID
MUST
x
Stores the reseller UID the leaf belongs to.
sstBelongsToCustomerUID
MUST
x
Stores the customer UID the leaf belongs to.
sstBelongsToPersonUID
MAY
x3
Stores the person UID the leaf belongs to.
sstBelongsToServiceUID
MAY
x3
Stores the UID (Unique Identifier) of the service the leaf belongs to. This UID can be used to look up other information. For a customer mail account, the service the account belongs to will most likely be a stoney cloud unit (instance).

Legend:

  • x: Mandatory in all cases.
  • x1: Only show, if the number is larger than zero.
  • x2: Only show, if sstBackupWarningOn is set to TRUE.
  • x3: Either sstBelongsToPersonUID or sstBelongsToServiceUID must bei set. The attribute sstBelongsToServiceUID must be set for all the stoney cloud units (instances).

Backup accounts - S3 bucket based backup account example

Each (Online) Backup service account has it's own change root (chroot, jail) directory. The following example shows the OpenLDAP directory entry for the (online) backup account with the uid number 4000907:

dn: uid=4000907,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstS3Bucket
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 4000907
sstDisplayName: Support stepping stone AG
description: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.
sstBackupWarningDays: 1
sstBackupWarningNumbers: 0
sstBackupWarningOn: TRUE
sstNotificationWarningMedium: mail
sstIsActive: TRUE
sstBillable: FALSE
sstQuota: 10737418240
sstS3BucketLifecycleDays: 1
sstS3BucketWormDays: 1
sstS3BucketWormMode: COMPLIANCE
sstAutoGrow: FALSE
sstActionLevel: 90
host: ctrl-test-vm-043
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstProvisioningReturnValue: 0
sstBelongsToResellerUID: 2000000
sstBelongsToCustomerUID: 3723426
sstBelongsToPersonUID: 1000482

With auto-grow:

dn: uid=4000907,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: sstS3Bucket
objectclass: sstProvisioning
objectclass: sstRelationship
uid: 4000907
sstDisplayName: Support stepping stone AG
description: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.
sstBackupWarningDays: 1
sstBackupWarningNumbers: 0
sstBackupWarningOn: TRUE
sstNotificationWarningMedium: mail
sstIsActive: TRUE
sstBillable: FALSE
sstQuota: 10737418240
sstS3BucketLifecycleDays: 1
sstS3BucketWormDays: 1
sstS3BucketWormMode: COMPLIANCE
sstAutoGrow: TRUE
sstActionLevel: 90
sstAutoGrowStepBytes: 1073741824
host: ctrl-test-vm-043
sstProvisioningMode: add
sstProvisioningExecutionDate: 0
sstProvisioningState: 0
sstProvisioningReturnValue: 0
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002

The following table describes the different attributes:

Attribute Objectclass Existance Mandatory Description
uid sstS3Bucket MUST x A unique integer value with 7 digits or more. For example: 4000003.
sstDisplayName sstS3Bucket MUST x The human readable display name. Either the human readable server name the S3 bucket belongs to or the persons full name the S3 bucket belongs to.

For example: sst-int-001: stepping stone AG: AlmaLinux 9 (LBaaS 1 Active)) or Support stepping stone AG.

description sstS3Bucket MAY x The description of the leaf.

For example: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the user 'Support stepping stone AG'.

Or: The leaf for the S3 bucket based backup account with the uid '4000907' belonging to the server 'sst-int-001: stepping stone AG: AlmaLinux 9 (LBaaS 1 Active)'.

sstBackupWarningDays sstS3Bucket MUST x If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X days of non-successful backups (where X is an integer number larger than zero). X is an integer number larger than 1. 0 means, the warning is turned off. The default is 1 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupWarningNumbers sstS3Bucket MUST x If the attribute sstBackupWarningOn ist true, a non-successful backup notification warning is sent after X non-successful backups. X is an integer number larger than 1. 0 means, the warning is turned off. The default is 0 and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstBackupWarningOn sstS3Bucket MUST x Is the non-successful backup notification warning turned on or not? Either true (yes) or false (no). Default is true (yes) and is taken from the "ou=settings,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstNotificationWarningLevel sstS3Bucket MUST x The quota notification level in percent, when the owner of the backup needs to warned. A value between 0 and 100. The default is 85 percent and is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstNotificationWarningMedium sstS3Bucket MUST x The notification medium, either sms (points to the multi-valued attribute mobileTelephoneNumber) or mail (points to the multi-valued attribute mail). Currently, only mail is supported. This is the default is taken from the "ou=defaults,uid=<UID>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org" entry.
sstQuota sstS3Bucket MUST x The S3 bucket quota in bytes. The value must be a multiple of 1073741824 bytes.

For example: 10737418240 (10 Gibibyte or 10 GiB).

sstS3BucketLifecycleDays sstS3Bucket MUST x How long the modified items are kept in the S3 version history. Possible values are between 1 and 99. Default is 1.

For example: 3 (three days).

sstS3BucketWormDays sstS3Bucket MUST x How long the S3 version history is delete protected (compliance mode). Possible values are between 1 and 99. Default is 1.

For example: 3 (three days).

sstS3BucketWormMode sstS3Bucket MUST x S3 object lock provides two retention modes that apply different levels of protection to your objects. COMPLIANCE and GOVERNANCE. Default is COMPLIANCE.

For example: COMPLIANCE.

sstAutoGrow sstS3Bucket MUST x Defines if the given quota must automatically expand (TRUE) or not (FALSE). Default is FALSE.

Example: FALSE

sstActionLevel sstS3Bucket MUST x The level in percent from which an action must be carried out.

For example: 90 (ninety percent).

sstBackupLastSuccessfulBackup sstS3Bucket MAY The date and time of the last successful backup in UTC, either 0 or in the form of hostname:[YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601).

For example: computer:20130923T063554Z or computer.example.com:20130923T063554Z.

preferredLanguage sstS3Bucket MAY x3 The notification language according to RFC 1766 (ISO 3166-1-alpha-2 code-ISO 639-1 Code.

For example de-CH or en-GB.

The content of this value is taken from the person entry from the attribute preferredLanguage. If the backup account belongs to a service instead of a person, this attribute must be set.

sstBillable sstS3Bucket MAY
sstAutoGrowStepPercentage sstS3Bucket MAY x1 By how much must the quota be expanded in percent. Possible values are between 1 and 99.

For example: 2 (two percent).

sstAutoGrowStepBytes sstS3Bucket MAY x1 By how much must the quota be expanded in bytes. The value must be a multiple of 1073741824 bytes.

For example: 1073741824 (1 Gibibyte or 1 GiB).

host sstS3Bucket MUST x The host where the S3 bucket provisioning daemon runs.
sstCancellationDate sstRelationship MAY The UTC based cancellation date of a reseller, customer or service in the form of [YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601).

For example: 20201231T225959Z.

Presuming the service owner is located in Bern Switzerland: Bern in winter follows Central European Time (CET), which is UTC+1. Let's confirm the conversion from 20201231T225959Z (UTC) to Bern's local time step-by-step.

   UTC Timestamp:
       2020-12-31 at 22:59:59 UTC.
   Bern's Time Zone in Winter:
       Bern operates on CET (Central European Time) during winter, which is UTC+1.
   Conversion:
       Add 1 hour to the UTC time to convert to Bern local time.

So, let's perform the conversion:

   UTC Time: 2020-12-31 22:59:59
   Add 1 hour for CET: 2020-12-31 23:59:59

Thus, 20201231T225959Z in Bern local time is 2020-12-31 at 23:59:59.

Due to backwards compatibility, [YYYY][MM][DD] (ISO 8601) is allowed.

For example: 20201231. It will be interpreted with Bern local time as 2020-12-31 at 23:59:59.

The attribute sstCancellationDate is used in a logical AND combination with sstIsActive. With other words: Once the cancellation date has passed, it overrides the sstIsActive value.

sstProvisioningMode sstProvisioning MUST x The provisioning mode. For a new account, this attribute must be set to add.

For example: add, modify or delete.

See the backup provisioning section for details.

sstProvisioningExecutionDate sstProvisioning MUST x The date the provisioning shall occur in the form of [YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). For a new account, this attribute is normally set to 0 (the provisioning happens as quickly as possible).

For example: 0 or 20201231T225959Z.

See the backup provisioning section for details.

sstProvisioningState sstProvisioning MUST x The provisioning state, either 0 or in the form of [YYYY][MM][DD]T[hh][mm][ss]Z (ISO 8601). For a new account, this attribute must be set to 0.

For example: 0 or 20201231T225959Z.

You can use date +%Y%m%dT%H%M%SZ to create the time stamp in the form of [YYYY][MM][DD]T[hh][mm][ss]Z.

See the backup provisioning section for details.

sstProvisioningReturnValue sstProvisioning MAY x The provisioning return value written by the S3 bucket provisioning daemon. 0 means success, >0 means failure.

For example: 0.

sstBelongsToResellerUID sstRelationship MUST x Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000000.
sstBelongsToCustomerUID sstRelationship MUST x Stores the customer UID the leaf belongs to. A unique value with 7 digits or more. For example: 4000001.
sstBelongsToPersonUID sstRelationship MAY x2 Stores the UID of the service the leaf belongs to. This UID can be used to look up other information. A unique value with 7 digits or more. 4000123.
sstBelongsToServiceUID sstRelationship MAY x2 Stores the UID of the service the leaf belongs to. This UID can be used to look up other information. A unique value with 7 digits or more. 4000123.

Legend:

  • x: Mandatory in all cases.
  • x1: If sstAutoGrow is set to TRUE, either sstAutoGrowStepPercentage or sstAutoGrowStepBytes must be set.
  • x2: Either sstBelongsToPersonUID or sstBelongsToServiceUID must be set.
  • x3: See notes below!

Notes:

  • sstInformPersonUID (sstRelationship): We should use sstInformPersonUID, if sstBelongsToServiceUID instead sstBelongsToPersonUID is set. The multi-valued attribute may be set on three levels:
    • uid=<backup_uid>,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=org
    • ou=settings,uid=<customer_uid>,ou=customers,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
    • ou=settings,uid=<reseller_uid>,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
  • preferredLanguage (sstS3Bucket): The same applies here.

Backup groups

The sub tree for the groups of the (online) backup service:

dn: ou=groups,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
ou: groups
description: The sub tree for the groups of the (online) backup service.

Backup groups - Posix account based backup group example

dn: cn=3723707,ou=groups,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: posixGroup
objectclass: sstRelationship
cn: 3723707
gidNumber: 3723707
sstIsActive: TRUE
sstBelongsToResellerUID: 4000000
sstBelongsToCustomerUID: 4000001
sstBelongsToPersonUID: 4000002

Backup groups - S3 bucket based backup group example

S3 buckets do not require a group.

Backup Provisioning

See the OpenLDAP provisioning page for the overview of the provisioning functionality and stoney backup: prov-backup-rsnapshot the actual backup provisioning.

Links