Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 20 additions & 12 deletions .github/workflows/claude-documentation-reviewer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -271,20 +271,28 @@ jobs:
i += 1
continue

# Convert bold-closed format: **Line N: title** + sub-bullets → **Line N:** title. parts.
m = re.match(r'^\*\*(Line \d+:.*?)\*\*\s*$', line)
# Convert bold-closed format: **Line N: label.** + continuation → **Line N:** label. continuation.
m = re.match(r'^\*\*(Line \d+):\s*(.*?)\*\*\s*$', line)
if m:
title = m.group(1).rstrip('.')
lineref = m.group(1)
label = m.group(2).rstrip('.')
i += 1
parts = []
while i < len(src) and re.match(r'^\s*[-*]\s+', src[i]):
sub = re.sub(r'^\s*[-*]\s+', '', src[i])
sub = re.sub(r'^(Issue|Fix|Description|Suggested change|Current):\s*', '', sub, flags=re.IGNORECASE)
if sub.strip():
parts.append(sub.strip().rstrip('.'))
i += 1
combined = f'**{title}. {". ".join(parts)}.**' if parts else f'**{title}.**'
result.append(combined)
parts = [label] if label else []
while i < len(src):
next_line = src[i]
if re.match(r'^\s*[-*]\s+', next_line):
sub = re.sub(r'^\s*[-*]\s+', '', next_line)
sub = re.sub(r'^(Issue|Fix|Description|Suggested change|Current|Should):\s*', '', sub, flags=re.IGNORECASE)
if sub.strip():
parts.append(sub.strip().rstrip('.'))
i += 1
elif next_line.strip() and not re.match(r'^\*\*(Line \d+)', next_line) and not re.match(r'^#+\s', next_line):
parts.append(next_line.strip().rstrip('.'))
i += 1
else:
break
desc = '. '.join(parts).rstrip('.')
result.append(f'**{lineref}:** {desc}.' if desc else f'**{lineref}:**')
continue

# Collapse numbered list items with sub-bullets (e.g. 1. **Issue title**: desc\n - Current: ...\n - Fix: ...)
Expand Down
52 changes: 22 additions & 30 deletions docs/passwordsecure/9.1/msp_system.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,62 +6,54 @@ sidebar_position: 30

# MSP System

To ensure optimal operation, we recommend that the following hardware resources are made available:
For optimal operation, make the following hardware resources available.

## Microsoft SQL Server

The following system requirements are the minimum system requirements and should manage around 10
customers with less than 20 users each.
These are the minimum system requirements for managing approximately 10 customers with fewer than 20 users each.

- Windows Server 2016 (or newer)
- MSSQL Server 2014 (or newer)
- 4 CPU’s
- Windows Server 2016 or newer
- MSSQL Server 2014 or newer
- 4 CPUs
- 16 GB RAM
- min. 100 GB HDD
- 100 GB HDD minimum

:::warning
Please note, that using a SQL Server with Express edition is not recommended because of
diverse limitations there.
SQL Server Express edition is not recommended due to its limitations.
:::

As your customer count grows, add the following resources for every 200 additional users:

If your customer's count is growing over time, you should add every 200 users a minimum of at least:

- 2 CPU’s
- 2 CPUs
- 8 GB RAM

## Application Server

The following system requirements are the minimum system requirements and should manage around 10
customers with 20 users each.
These are the minimum system requirements for managing approximately 10 customers with 20 users each.

- Windows Server 2016 (or newer)
- 4 CPU’s
- Windows Server 2016 or newer
- 4 CPUs
- 16 GB RAM
- min. 50 GB HDD
- 50 GB HDD minimum
- .NET Framework 4.8

If your customer's count is growing over time, you should add every 200 users a minimum of at least:
As your customer count grows, add the following resources for every 200 additional users:

- 1 CPU
- 4 GB RAM

RECOMMENDED: Currently, we suggest you use an application server to handle a max of about 100
customers. So if you reach 100 customers, you should set up a second Application Server or use some
sort of load balancing between the application servers.
:::tip
Configure each application server to handle a maximum of 100 customers. When you reach that limit, set up a second application server or implement load balancing across your application servers.
:::

:::warning
Every additional 1000 users an additional Web-Endpoint - incl. loadbalancing - is
recommended
Add an additional Web Endpoint — including load balancing — for every 1,000 additional users.
:::


:::warning
Every additional 100 customers/1000 users an additional Application Server - incl.
loadbalancing - is recommended.
Add an additional application server — including load balancing — for every 100 additional customers or 1,000 additional users.
:::


NOTE: Please note that individual variables - like the number of passwords per user - will affect
performance. Especially for MSP-Systems it is required to monitor performance continuously, and add
additional resources on demand.
:::note
Individual variables, such as the number of passwords per user, affect performance. For MSP systems, monitor performance continuously and add resources as needed.
:::
Loading