35 lines
1.5 KiB
Markdown
35 lines
1.5 KiB
Markdown
# tools-app Specification
|
|||
|
|
|
||
|
|
## MODIFIED Requirements
|
||
|
|
|
||
|
|
### Requirement: Configuration is hardcoded
|
||
|
|
|
||
|
|
The app SHALL hardcode all configuration in source: port `4173`, portal
|
||
|
|
`https://portal.yrka.app`, PocketBase `https://pb.itcass.net`, a2loft
|
||
|
|
`https://apis.a2loft.net`, agent `http://127.0.0.1:9000`, and the fingerprint
|
||
|
|
agent release forge `https://sources.yrka.app`. There SHALL be no runtime
|
||
|
|
configuration via environment variables or config files, with two exceptions:
|
||
|
|
the Image Cropper's service credentials (Minio keys, Azure storage connection
|
||
|
|
string, nodered credentials, cleanup-service key) SHALL come from environment
|
||
|
|
variables and SHALL NOT be stored in source; and the Fingerprint Agent
|
||
|
|
installer's release key (`GITEA_RELEASE_INSTALL_KEY`) SHALL come from the
|
||
|
|
environment and SHALL NOT be stored in source.
|
||
|
|
|
||
|
|
#### Scenario: No configuration required to run
|
||
|
|
|
||
|
|
- **WHEN** the app is started with no environment variables or config files
|
||
|
|
- **THEN** it serves on port 4173 with the hardcoded external endpoints
|
||
|
|
|
||
|
|
#### Scenario: Cropper credentials from the environment
|
||
|
|
|
||
|
|
- **WHEN** the cropper credentials are supplied as environment variables
|
||
|
|
- **THEN** the cropper routes use them without any change to the hardcoded
|
||
|
|
URL/port configuration
|
||
|
|
|
||
|
|
#### Scenario: Installer key from the environment
|
||
|
|
|
||
|
|
- **WHEN** the fpagent installer release key is supplied as an environment
|
||
|
|
variable
|
||
|
|
- **THEN** the installer and release-proxy routes use it without any change to
|
||
|
|
the hardcoded URL/port configuration
|