Changes
/* Storage - Configuration - Resellers */
= Storage =
The following LDIF shows the '''storage''' LDAP entry for the stoney storage service: <source lang="ldif">dn: ou=storage,ou=services,dc=stoney-cloud,dc=org objectclass: organizationalUnit objectclass: top ou: storagedescription: The sub tree for the Nextcloud based stoney storage service.</source>
== Storage - Configuration ==
The sub tree for the configuration of the storage storage service:
=== Storage - Configuration - Provisioning Daemon daemon ===
See the [[stoney_core:_OpenLDAP_directory_data_organisation#Services | Services description]] for the naming convention.
The sub tree for the configuration of the '''prov-storage-nextcloud''' daemon:
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;"| '''Objectclass'''
| 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: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;"| organizationalUnit
| 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;"| <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;"| The name of the leaf.
|-
| 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;"| sstServiceConfigurationObjectClass
| 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;"| sstIsActive
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceConfigurationObjectClass
| 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:0.002cm solid #000000;padding:0.097cm;"| Is the entry active? Either true <code>TRUE</code> (yes) or false <code>FALSE</code> (no).
The default value is <code>TRUE</code>.
|}
* '''x''': Mandatory in all cases.
=== Storage - Configuration - Reseller ===
The sub tree for the reseller specific storage storage service settings:
The sub tree for the specific storage storage service settings for the reseller Reseller Ltd. with the uid 4000000.
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;"| '''Objectclass'''
| 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:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| uid
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller
| 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;"| <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;"| A unique integer value with 7 digits or more. For example: <code>uid: 4000000</code> corresponds with <code>sstBelongsToResellerUID: 4000000</code>.
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| oorganizationName| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| <center>MUSTMAY</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>1</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></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 company name, for . For example: <code>stepping stone GmbHAG</code>. |-| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| givenName| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller| 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<sup>1</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></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;"| Name. For example: <code>Hans</code>. |-| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| surname| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller| 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<sup>1</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></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;"| Surname. For example: <code>Muster</code>.
|-
| 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;"| sstReseller
| 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 description of the leaf. For example: <code>The sub tree for the specific stoney storage service settings for the reseller Reseller Ltd. with the uid 4000000.</code>
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsActive
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller
| 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;"| <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;"| Is the entry active? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
The default value is <code>TRUE</code>.
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsCompany
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller
| 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;"| <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;"| Do we have an organisation or a private person? Either <code>TRUE</code> (yes) or <code>FALSE</code> (no).
The default value is <code>TRUE</code>.
|-
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstIsDefault
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstServiceConfigurationObjectClass
| 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:none;padding:0.097cm;"| sstBelongsToResellerUID
| style="border-top:none;border-bottom:0.002cm solid #000000;border-left:0.002cm solid #000000;border-right:none;padding:0.097cm;"| sstReseller
| 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;"| <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;"| Stores the reseller UID the leaf belongs to. A unique value with 7 digits or more. For example: <code>sstBelongsToResellerUID: 4000000</code> corresponds with <code>uid: 4000000</code>.
|}
Legend:
* '''x''': Mandatory in all cases.
* '''x<sup>1</sup>''': If <code>sstIsCompany</code> is set to <code>TRUE</code>, the <code>organizationName</code> must be set. Otherwise <code>givenName</code> and <code>surname</code> must be set.
==== Storage - Configuration - Reseller - Account defaults ====
<span style="color: red">Work in progress ...</span>
The following table describes the different attributes:
* '''x''': Mandatory in all cases.
==== Storage - Configuration - Reseller Storage - Notification Settings settings ====
The sub tree stores the notification information for the storage storage 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):
The following table describes the different attributes:
* '''x''': Mandatory in all cases.
==== Storage - Configuration - Reseller Storage - Account Settings ====The sub tree stores the information about what can be modified in which scope for the storage storage service for the reseller Reseller Ltd. with the uid 4000000: <source lang="ldif">dn: ou=settings,uid=4000000,ou=reseller,ou=configuration,ou=storage,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</source>
Human readable format:
* '''x''': Mandatory in all cases.
==== Storage - Configuration - Reseller - Templates ====
This sub tree contains the templates for the storage storage service for the reseller Reseller Ltd. with the uid 4000000:
===== Storage - Configuration - Reseller - Credentials Templates templates =====This sub tree contains the quota credentials templates for the storage storage service: <source lang="ldif">dn: ou=credentials,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=storage,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: credentials description: This leaf contains the credential templates for the storage storage service. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/storage/credentials/credentials_mail sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt sstTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/storage/credentials/credentials_attachment sstTemplateFormatSource: odt sstTemplateFormatTarget: pdf</source>
The following table describes the different attributes:
* '''x''': Mandatory in all cases.
====== Credentials Place Holders EStorage -Mail Configuration - Reseller - Credentials templates email place holders (txt/html) ======
Address with an example:
Date with an example:
Storage Service with an example:
Optional Values:
====== Storage - Configuration - Reseller - Credentials Place Holders templates LibreOffice place holders (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>{{placeholder}}</code>.
===== Storage - Configuration - Reseller - Quota Templates templates =====
Warns the user when the storage is running out of space (quota).
This sub tree contains the quota templates for the storage storage service: <source lang="ldif">dn: ou=quota,ou=templates,uid=4000000,ou=reseller,ou=configuration,ou=storage,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit objectclass: sstTemplateSetup ou: quota description: This leaf contains the quota templates for the storage storage service. sstMailFrom: Support stepping stone GmbH <support@stepping-stone.ch> sstMailTemplate: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/storage/quota/quota_mail sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt sstMailTemplateReseller: file:///var/www/selfcare/htdocs/themes/selfcare.tombstone.ch/templates/services/storage/quota/quota_mail_reseller sstMailTemplateFormatSource: txt sstMailTemplateFormatTarget: txt</source>
The following table describes the different attributes:
* '''x<sup>1</sup>''': Must exist, if <code>sstMailTo</code> is set.
====== Quota Place Holders EStorage -Mail Configuration - Reseller - Quota templates email place holders (txt/html) ======
An example:
Optional Values:
====== Storage - Configuration - Reseller - Quota Place Holders templates LibreOffice place holders (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>{{placeholder}}</code>.
== Storage - Accounts ==
The sub tree for the accounts of the stoney storage service:
=== Storage - Account Example example ===
The following example shows the OpenLDAP directory entry for the storage storage account with the uid number 3730083:
The following table describes the different attributes:
| 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;"| This multi-valued attribute will be used to turn single notifications on or off. The attribute sstStorageWarningOn <code>sstWikiWarningOn</code> must be set to <code>TRUE</code> Possible values are quota. Currently, schedule and unsuccessful the stoney storage service only supports <code>quota</code> (the names correspond with the template dn).
|-
| 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 provisioning return value written by the [[stoney_storage:_prov-storage-nextcloud | prov-storage-nextcloud]] daemon. '''0''' means success, '''>0''' means failure. See the prov-storage-nextcloud [[provstoney_storage:_prov-storage-nextcloud#Exit_Codes | Exit Codes]] for detailed information.
|-
* '''x<sup>3</sup>''': Either <code>sstBelongsToPersonUID</code> or <code>sstBelongsToServiceUID</code> must bei set.
== Storage - Groups ==
The sub tree for the groups of the storage storage service:
=== Storage - Group Example example === <source lang="ldif">dn: cn=3730083,ou=groups,ou=storage,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: posixGroup objectclass: sstRelationship cn: 3730083 gidNumber: 3730083 sstIsActive: TRUE sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002</source>
== Storage - SSL-Certificates certificates ==The leaf entries for SSL-Certificates certificates of the storage stoney storage service (where uid=(.+) is a regular expression): dn: uid=(.+),uid=(.+),ou=accounts,ou=storage,ou=services,dc=are located directly below the stoney-cloud,dc=org objectclass: top objectclass: organizationalUnit uid: (wiki account entry.+) sstWebsiteURL: box.stepping-stone.ch host: kvm-1185 sstIsActive: TRUE sstProvisioningMode: add sstProvisioningExecutionDate: 0 sstProvisioningState: 0 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002
=== Storage - SSL-Certificate Example certificate example === <source lang="ldif">dn: uid=3732364,uid=3730083,ou=accounts,ou=storage,ou=services,dc=stoney-cloud,dc=org objectclass: top objectclass: sstStorageCertificate objectclass: sstProvisioning objectclass: sstRelationship uid: 3732364 sstWebsiteURL: box.stepping-stone.ch host: kvm-1185 sstIsActive: TRUE sstProvisioningMode: add sstProvisioningExecutionDate: 0 sstProvisioningState: 0 sstBelongsToResellerUID: 4000000 sstBelongsToCustomerUID: 4000001 sstBelongsToPersonUID: 4000002</source>
== Storage Provisioning ==