Skip to content

Commit 8c1cd0e

Browse files
author
karmaking
committed
docfix: sanity docs
1 parent f163120 commit 8c1cd0e

File tree

3 files changed

+3
-150
lines changed

3 files changed

+3
-150
lines changed
Binary file not shown.

obp-api/src/main/resources/docs/introductory_system_documentation.md

Lines changed: 3 additions & 150 deletions
Original file line numberDiff line numberDiff line change
@@ -627,45 +627,6 @@ sudo cp nginx.apimanager.conf /etc/nginx/sites-enabled/
627627
sudo systemctl reload nginx
628628
```
629629

630-
**Directory Structure:**
631-
632-
```
633-
/OpenBankProject/
634-
├── API-Manager/
635-
│ ├── apimanager/
636-
│ │ ├── apimanager/
637-
│ │ │ ├── __init__.py
638-
│ │ │ ├── settings.py
639-
│ │ │ ├── local_settings.py # Your config
640-
│ │ │ ├── urls.py
641-
│ │ │ └── wsgi.py
642-
│ │ └── manage.py
643-
│ ├── apimanager.service
644-
│ ├── gunicorn.conf.py
645-
│ ├── nginx.apimanager.conf
646-
│ ├── supervisor.apimanager.conf
647-
│ └── requirements.txt
648-
├── db.sqlite3
649-
├── logs/
650-
├── static-collected/
651-
└── venv/
652-
```
653-
654-
**PostgreSQL Configuration:**
655-
656-
```python
657-
DATABASES = {
658-
'default': {
659-
'ENGINE': 'django.db.backends.postgresql_psycopg2',
660-
'NAME': 'apimanager_db',
661-
'USER': 'apimanager_user',
662-
'PASSWORD': 'secure_password',
663-
'HOST': 'localhost',
664-
'PORT': '5432',
665-
}
666-
}
667-
```
668-
669630
**Management:**
670631

671632
- Super Admin users can manage roles at `/users`
@@ -3939,7 +3900,9 @@ LANGCHAIN_TRACING_V2=true
39393900
LANGCHAIN_API_KEY=lsv2_pt_...
39403901
```
39413902

3942-
### 12.3 Props File Complete Reference
3903+
### 12.3 OBP API props examples
3904+
3905+
see sample.props.template for comprehensive list of props
39433906

39443907
**Core Settings:**
39453908

@@ -4850,116 +4813,6 @@ PUT /management/consumers/{CONSUMER_ID}
48504813
PUT /management/consumers/{CONSUMER_ID}/consumer/certificate
48514814
```
48524815

4853-
### 6.4 SSL/TLS Configuration
4854-
4855-
#### 6.4.1 SSL with PostgreSQL
4856-
4857-
**Generate SSL Certificates:**
4858-
4859-
```bash
4860-
# Create SSL directory
4861-
sudo mkdir -p /etc/postgresql/ssl
4862-
cd /etc/postgresql/ssl
4863-
4864-
# Generate private key
4865-
sudo openssl genrsa -out server.key 2048
4866-
4867-
# Generate certificate signing request
4868-
sudo openssl req -new -key server.key -out server.csr
4869-
4870-
# Self-sign certificate (or use CA-signed)
4871-
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
4872-
4873-
# Set permissions
4874-
sudo chmod 600 server.key
4875-
sudo chown postgres:postgres server.key server.crt
4876-
```
4877-
4878-
**PostgreSQL Configuration (`postgresql.conf`):**
4879-
4880-
```ini
4881-
ssl = on
4882-
ssl_cert_file = '/etc/postgresql/ssl/server.crt'
4883-
ssl_key_file = '/etc/postgresql/ssl/server.key'
4884-
ssl_ca_file = '/etc/postgresql/ssl/ca.crt' # Optional
4885-
ssl_prefer_server_ciphers = on
4886-
ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL'
4887-
```
4888-
4889-
**OBP-API Props:**
4890-
4891-
```properties
4892-
db.url=jdbc:postgresql://localhost:5432/obpdb?user=obp&password=xxx&ssl=true&sslmode=require
4893-
```
4894-
4895-
#### 6.4.2 SSL Encryption with Props File
4896-
4897-
**Generate Keystore:**
4898-
4899-
```bash
4900-
# Generate keystore with key pair
4901-
keytool -genkeypair -alias obp-api \
4902-
-keyalg RSA -keysize 2048 \
4903-
-keystore /path/to/api.keystore.jks \
4904-
-validity 365
4905-
4906-
# Export public certificate
4907-
keytool -export -alias obp-api \
4908-
-keystore /path/to/api.keystore.jks \
4909-
-rfc -file apipub.cert
4910-
4911-
# Extract public key
4912-
openssl x509 -pubkey -noout -in apipub.cert > public_key.pub
4913-
```
4914-
4915-
**Encrypt Props Values:**
4916-
4917-
```bash
4918-
#!/bin/bash
4919-
# encrypt_prop.sh
4920-
echo -n "$2" | openssl pkeyutl \
4921-
-pkeyopt rsa_padding_mode:pkcs1 \
4922-
-encrypt \
4923-
-pubin \
4924-
-inkey "$1" \
4925-
-out >(base64)
4926-
```
4927-
4928-
**Usage:**
4929-
4930-
```bash
4931-
./encrypt_prop.sh /path/to/public_key.pub "my-secret-password"
4932-
# Outputs: BASE64_ENCODED_ENCRYPTED_VALUE
4933-
```
4934-
4935-
**Props Configuration:**
4936-
4937-
```properties
4938-
# Enable JWT encryption
4939-
jwt.use.ssl=true
4940-
keystore.path=/path/to/api.keystore.jks
4941-
keystore.alias=obp-api
4942-
4943-
# Encrypted property
4944-
db.password.is_encrypted=true
4945-
db.password=BASE64_ENCODED_ENCRYPTED_VALUE
4946-
```
4947-
4948-
#### 6.4.3 Password Obfuscation (Jetty)
4949-
4950-
**Generate Obfuscated Password:**
4951-
4952-
```bash
4953-
java -cp /usr/share/jetty9/lib/jetty-util-*.jar \
4954-
org.eclipse.jetty.util.security.Password \
4955-
### 12.5 Complete API Roles Reference
4956-
4957-
OBP-API uses a comprehensive role-based access control (RBAC) system with over **334 static roles**. Roles control access to specific API endpoints and operations.
4958-
4959-
**Note:** All roles can be dynamically listed using the `/obp/v5.1.0/roles` endpoint.
4960-
4961-
**Last Updated:** 2025-10-29
4962-
49634816
#### Role Naming Convention
49644817

49654818
Roles follow a consistent naming pattern:
Binary file not shown.

0 commit comments

Comments
 (0)