Changes

/* Backup accounts - S3 bucket based backup account example */
= Abstract =
This document describes the OpenLDAP directory data organisation for the [https://www.stoney cloud (Online) '''Backup -backup.com/ 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 (Online) '''Backup [https://www.stoney-backup.com/ stoney backup] service'''.
= Backup =
The following LDIF shows the '''backup''' entry of the whole OpenLDAP directory tree for the stoney cloud:
<syntaxhighlight lang='ldif'>dn: ou=backup,ou=services,dc=stoney-cloud,dc=org objectclass: organizationalUnit objectclass: top ou: backup</syntaxhighlight>
== Backup Configuration ==
The sub tree for the configuration of the (online) backup service:
<syntaxhighlight lang='ldif'>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.</syntaxhighlight>
=== Backup rsnapshot Provisioning Daemon ===
The sub tree for the configuration of the '''prov-backup-rsnapshot''' daemon:
<syntaxhighlight lang='ldif'>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</syntaxhighlight>
The following table describes the different attributes:
=== Backup Reseller ===
The sub tree for the reseller specific (online) backup service settings:
<syntaxhighlight lang='ldif'>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.</syntaxhighlight>
The sub tree for the specific (online) backup service settings for the reseller Reseller Ltd. with the uid 4000000.
<syntaxhighlight lang='ldif'>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</syntaxhighlight>
The following table describes the different attributes:
| 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>'''SelfcareSelf-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:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
==== Backup Reseller Billing ====
The sub tree for the billing information of the (online) backup service for the reseller Reseller Ltd. with the uid 4000000:
<syntaxhighlight lang='ldif'>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.</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.
| 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>'''SelfcareSelf-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:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
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: <syntaxhighlight lang='ldif'>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</syntaxhighlight>
The following table describes the different attributes:
| 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>'''SelfcareSelf-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: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;"| <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 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).
|-
| 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>'''SelfcareSelf-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:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
Human readable format:
* sstVolumeCapacityDefault: 1 GigabyteGibibyte (GiB)* sstVolumeCapacityMin: 1 GigabyteGibibyte (GiB)* sstVolumeCapacityMax: 500 GigabytesGibibyte (GiB)* sstVolumeCapacityStep: 1 GigabyteGibibyte (GiB)
The following table describes how to calculate the sstVolumeCapacity* attributes:
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>1 KilobyteKibibyte (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 10242<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;"| 10241 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 MegabyteMebibyte (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 10242<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;"| 10485761 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 GigabyteGibibyte (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 10242<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;"| 10737418241 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 GigabytesGibibyte (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 10242<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;"| 53687091205 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 GigabytesGibibyte (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 10242<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;"| 1073741824010 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 GigabytesGibibyte (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 10242<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;"| 107374182400107 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 GigabytesGibibyte (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 10242<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;"| 536870912000536 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 TerabyteTebibyte (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:0.002cm solid #000000;padding:0.097cm;"| 1099511627776 |} 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;"| 2<centersup>'''Existence'''40</centersup>| 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'''1 099 511 627 776
|-
| 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>MUST1 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;"| 2<centersup>x50</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></centersup>| 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;"| description| 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;"| 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 Exbibyte (sstVolumeCapacityStepEiB)* 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;"| 2<centersup>x60</centersup>| 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'''.152 921 504 606 846 976
|}
| 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>'''SelfcareSelf-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:0.002cm solid #000000;padding:0.097cm;"| '''Description'''
* <code>odt</code>
* <code>pdf</code>
Note to selfcare 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.
* Major: You must provide a manually-created unique temp-directory for the PHP-Easy-Report object, otherwise there will be race-conditions.
| 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>'''SelfcareSelf-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: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;"| <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
* <code>ou=notifications,uid=&lt;UID&gt;,ou=reseller,ou=configuration,ou=backup,ou=services,dc=fossstoney-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:
* <code>sstMailTo: Support stepping stone GmbH &lt;support@stepping-stone.ch&gt></code>
===== 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=unsuccessfulupgrade,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=backup,ou=services,dc=stoney-cloud,dc=org
objectclass: top
objectclass: organizationalUnit
objectclass: sstTemplateSetup
ou: unsuccessfulupgrade
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/unsuccessfulupgrade/unsuccessful_mailupgrade_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/unsuccessfulupgrade/unsuccessful_mail_resellerupgrade_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
====== Unsuccessful Upgrade Place Holders E-Mail (txt/html) ======
An example:
{$salutation} Mr.
</pre>
====== Unsuccessful 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=unsuccessfulno 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: unsuccessfulno 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/unsuccessfulno backup/unsuccessful_mailno backup_mail
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/backup/unsuccessfulno backup/unsuccessful_mail_resellerno backup_mail_reseller
sstMailTemplateFormatSource: txt
sstMailTemplateFormatTarget: txt
====== Unsuccessful No Backup Place Holders E-Mail (txt/html) ======
An example:
{$salutation} Mr.
</pre>
====== Unsuccessful 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 accounts ==
The sub tree for the accounts of the (online) backup service:
<syntaxhighlight lang='ldif'>dn: ou=accounts,ou=backup,ou=services,dc=fossstoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: accounts description: The sub tree for the accounts of the (online) backup service.</syntaxhighlight>
=== Backup Account Example 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: /var/backup/7/707/723/3723707/chroot/./home/3723707 loginShell: /bin/sh shadowLastChange: 11108 shadowMax: 99999 shadowWarning: 7 shadowFlag: 134539460 sstBackupIntervalHourly: 0 sstBackupIntervalDaily: 7 sstBackupIntervalWeekly: 4 sstBackupIntervalMonthly: 3 sstBackupIntervalYearly: 0 sstBackupIterations: 99sstBackupWarningDays: 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-054sstProvisioningMode: add sstProvisioningExecutionDate: 0 sstProvisioningState: 0 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002sstBelongsToServiceUID: 4000003</syntaxhighlight>
The following table describes the different attributes:
| 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>'''SelfcareSelf-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: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;"| <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 unique identifier (uid). This attribute is created by the selfcare Self-Service 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: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 Self-Service 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: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 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 />
<code>~ $ echo "Tüpfelhyänenöhrchen" | iconv -f 'utf-8' -t 'ASCII//TRANSLIT'</code><br />
| 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.
<code>/var/backup/g/efg/bcd/abcdefg/chroot/./home/abcdefg</code><br/><code>/var/backup/7/707/723/3723707/chroot/./home/3723707</code> This attribute is created by the selfcare Self-Service interface.
|-
| 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 Self-Service interface.
|-
| 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 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.
|-
| 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: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'''.
|-
| 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: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 Self-Service 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: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 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.
|-
| 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: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
|-
| 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 (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).
|}
* '''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>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 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:<source lang="ldif">dn: uid=4000907,ou=accounts,ou=backup,ou=services,o=stepping-stone,c=chobjectclass: topobjectclass: sstS3Bucketobjectclass: sstProvisioningobjectclass: sstRelationshipuid: 4000907sstDisplayName: Support stepping stone AGdescription: The leaf for the S3 bucket based backup account belonging to the user 'Support stepping stone AG'.sstBackupWarningDays: 1sstBackupWarningNumbers: 0sstBackupWarningOn: TRUEsstNotificationWarningMedium: mailsstIsActive: TRUEsstBillable: FALSEsstQuota: 10737418240sstS3BucketLifecycleDays: 1sstS3BucketWormDays: 1sstS3BucketWormMode: COMPLIANCEsstAutoGrow: FALSEsstActionLevel: 90host: ctrl-test-vm-043sstProvisioningMode: addsstProvisioningExecutionDate: 0sstProvisioningState: 0sstProvisioningReturnValue: 0sstBelongsToResellerUID: 2000000sstBelongsToCustomerUID: 3723426sstBelongsToPersonUID: 1000482</source> With auto-grow:<source lang="ldif">dn: uid=4000907,ou=accounts,ou=backup,ou=services,dc=stoney-cloud,dc=orgobjectclass: topobjectclass: sstS3Bucketobjectclass: sstProvisioningobjectclass: sstRelationshipuid: 4000907sstDisplayName: Support stepping stone AGdescription: The leaf for the S3 bucket based backup account belonging to the user 'Support stepping stone AG'.sstBackupWarningDays: 1sstBackupWarningNumbers: 0sstBackupWarningOn: TRUEsstNotificationWarningMedium: mailpreferredLanguage: de-CH sstIsActive: TRUEsstBillable: FALSEsstQuota: 10737418240sstS3BucketLifecycleDays: 1sstS3BucketWormDays: 1sstS3BucketWormMode: COMPLIANCEsstAutoGrow: TRUEsstActionLevel: 90sstAutoGrowStepBytes: 1073741824host: ctrl-test-vm-043sstProvisioningMode: addsstProvisioningExecutionDate: 0sstProvisioningState: 0sstProvisioningReturnValue: 0sstBelongsToResellerUID: 4000000sstBelongsToCustomerUID: 4000001sstBelongsToPersonUID: 4000002</source> The following table describes the different attributes:{| border="1" style="border-collapse: collapse; font-size:80%;" width="100%" class="wikitable sortable"! style="text-align:left; width: 180px" | Attribute! style="text-align:left; width: 220px" | Objectclass! style="width: 80px" | Existance! style="width: 80px" | Mandatory! style="text-align:left;" | Description|- | <!-- Attribute --> style="text-align: left;" | uid| <!-- Objectclass --> style="text-align: left;" | sstS3Bucket| <!-- Existance --> style="text-align: center;" | MUST| <!-- Mandatory --> style="text-align: center;" | x| <!-- 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: '''sst-int-001: stepping stone AG: AlmaLinux 9 (LBaaS 1 Active))''' or '''Support stepping stone AG'''.|- | <!-- 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: The leaf for the S3 bucket based backup account belonging to the user 'Support stepping stone AG'.|- | <!-- 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;" | 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;" | | <!-- 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, the user must be asked for the notification language.|- | <!-- 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| <!-- 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;" | | <!-- 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</s> is set to <code>TRUE</code>, either <code>sstAutoGrowStepPercentage</code> or <code>sstAutoGrowStepBytes</code> must be set. == Backup groups ==
The sub tree for the groups of the (online) backup service:
<syntaxhighlight lang='ldif'>dn: ou=groups,ou=backup,ou=services,dc=fossstoney-cloud,dc=org objectclass: top objectclass: organizationalUnit ou: groups description: The sub tree for the groups of the (online) backup service.</syntaxhighlight>
=== Backup Group Example groups - Posix account based backup group example === <syntaxhighlight lang='ldif'>dn: cn=3723707,ou=groups,ou=backup,ou=services,dc=fossstoney-cloud,dc=org objectclass: top objectclass: posixGroup objectclass: sstRelationship cn: 3723707 gidNumber: 3723707 sstIsActive: TRUE sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002</syntaxhighlight> === Backup groups - S3 bucket based backup group example ===S3 buckets do not require a group.
== Backup Provisioning ==
[[Category:stoney backup]][[Category:OpenLDAP directory]]
SLB, editor, reviewer
3,407
edits