Payload Images hinzugefügt

2026-06-28 19:49:25 +00:00
parent 0dd19c31d0
commit 5ee3ab2fd6
+135
@@ -0,0 +1,135 @@
# Payload Images
Payload images are reusable intermediate images containing extracted installer content.
---
## Windows Payload
Directory:
```text
romexis-payload/
```
Purpose:
- download official Windows installer
- extract required InstallShield CAB components
- build `/opt/romexis`
- extract MSSQL initialization SQL files
- write `/opt/romexis/version`
Output contract:
```text
/opt/romexis
/opt/romexis-mssql-db
/opt/romexis/version
/opt/romexis/server/RomexisServer.jar
```
The payload must not contain architecture-specific runtime libraries like Chilkat.
---
## Version File
Supported Windows installer URLs are maintained in:
```text
romexis-payload/romexis-versions.env
```
Example:
```text
6_5_3_444_203=https://content.planmeca.com/files/Planmeca_Romexis_6.5.3.444.203_Win.zip
```
---
## Copy Map
Installer extraction is controlled by:
```text
romexis-payload/romexis-copy-map.tsv
```
Format:
```text
Source<TAB>Destination
```
Example:
```text
Server_jar /opt/romexis/server
Server_Program_64bit/server/*.xml /opt/romexis/server
```
When this mapping changes, all payload versions should be rebuilt because the extracted runtime layout may change.
---
## Firebird Payload
Directory:
```text
romexis-firebird-payload/
```
Purpose:
- download official macOS DMG
- extract PKG payloads
- collect Firebird database SQL scripts
- collect original backup/restore helper scripts
- include `romexis_new.fdb` as reference/template
Output contract:
```text
/opt/romexis-firebird-db/version
/opt/romexis-firebird-db/scripts
/opt/romexis-firebird-db/tools
/opt/romexis-firebird-db/templates
/opt/romexis-firebird-db/layout
```
Important files:
```text
/opt/romexis-firebird-db/scripts/rxdb.sh
/opt/romexis-firebird-db/scripts/rxupd.sh
/opt/romexis-firebird-db/scripts/RX_Base_10fb_MAC.sql
/opt/romexis-firebird-db/scripts/RX_Update_653.sql
/opt/romexis-firebird-db/tools/Romexis_Firebird_Backup.sh
/opt/romexis-firebird-db/tools/Romexis_Firebird_Restore.sh
/opt/romexis-firebird-db/templates/romexis_new.fdb
```
---
## Inspecting a Payload Image
If a payload image is based on `scratch`, it may not have a shell.
Use:
```bash
docker save gitea.buchhorster.de/patrick/romexis-firebird-payload:latest -o payload.tar
mkdir payload rootfs
tar -xf payload.tar -C payload
tar -xf payload/<layer-id>/layer.tar -C rootfs
find rootfs/opt -type f | sort
```
If the image includes a shell:
```bash
docker run --rm -it --entrypoint sh gitea.buchhorster.de/patrick/romexis-firebird-payload:latest
```