You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
5.6 KiB
Markdown
164 lines
5.6 KiB
Markdown
# System configuration
|
|
|
|
This section describes configuration of ReCodEx components. Bold items in lists
|
|
describing the values are mandatory, italic ones are optional.
|
|
|
|
## REST API
|
|
|
|
The API can be configured in `config.neon` and `config.local.neon` files in
|
|
`app/config` directory of the API project source tree. The first file is
|
|
predefined by authors and should not be modified. The second one is not present
|
|
and could be created by copying `config.local.neon.example` template in the
|
|
config directory. Local configuration have higher precedence, so it will
|
|
override default values from `config.neon`.
|
|
|
|
### Configurable items
|
|
|
|
Description of configurable items. All timeouts are in milliseconds if not
|
|
stated otherwise.
|
|
|
|
- accessManager -- configuration of access token in [JWT
|
|
standard](https://www.rfc-editor.org/rfc/rfc7519.txt). Do **not** modify
|
|
unless you really know what are you doing.
|
|
- fileServer -- connection to fileserver
|
|
- address -- URI of fileserver
|
|
- auth -- _username_ and _password_ for HTTP basic authentication
|
|
- timeouts -- _connection_ timeout for establishing new connection and
|
|
_request_ timeout for completing one request
|
|
- broker -- connection to broker
|
|
- address -- URI of broker
|
|
- auth -- _username_ and _password_ for broker callback authentication back
|
|
to API
|
|
- timeouts -- _ack_ timeout for first response that broker receives the
|
|
message, _send_ timeout how long try to send new job to the broker and
|
|
_result_ timeout how long to wait for confirmation if job can be processed
|
|
or not
|
|
- monitor -- connection to monitor
|
|
- address -- URI of monitor
|
|
- CAS -- CAS external authentication
|
|
- serviceId -- visible identifier of this service
|
|
- ldapConnection -- parameters for connecting to LDAP, _hostname_,
|
|
_base_dn_, _port_, _security_ and _bindName_
|
|
- fields -- names of LDAP keys for informations as _email_, _firstName_ and
|
|
_lastName_
|
|
- emails -- common configuration for sending email (addresses and template
|
|
variables)
|
|
- apiUrl -- base URL of API server including port (for referencing pictures
|
|
in messages)
|
|
- footerUrl -- link in the message footer
|
|
- siteName -- name of frontend (ReCodEx, or KSP for unique instance for KSP
|
|
course)
|
|
- githubUrl -- URL to GitHub repository of this project
|
|
- from -- sending email address
|
|
- failures -- admin messages on errors
|
|
- emails -- additional info for sending mails, _to_ is admin mail address,
|
|
_from_ is source address, _subjectPrefix_ is prefix of mail subject
|
|
- forgottenPassword -- user messages for changing passwords
|
|
- redirectUrl -- URL of web application where the password can be changed
|
|
- tokenExpiration -- expiration timeout of temporary token (in seconds)
|
|
- emails -- additional info for sending mails, _from_ is source address and
|
|
_subjectPrefix_ is prefix of mail subject
|
|
- mail -- configuration of sending mails
|
|
- smtp -- using SMTP server, have to be "true"
|
|
- host -- address of the server
|
|
- port -- sending port (common values are 25, 465, 587)
|
|
- username -- login to the server
|
|
- password -- password to the server
|
|
- secure -- security, values are empty for no security, "ssl" or "tls"
|
|
- context -- additional parameters, depending on used mail engine. For
|
|
examle self-signed certificates can be allowed as _verify_peer_ and
|
|
_verify_peer_name_ to false and _allow_self_signed_ to true under _ssl_
|
|
key (see example).
|
|
|
|
Outside the parameters section of configuration is configuration for Doctrine.
|
|
It is ORM framework which maps PHP objects (entities) into database tables and
|
|
rows. The configuration is simple, required items are only _user_, _password_
|
|
and _host_ with _dbname_, i.e. address of database computer (mostly localhost)
|
|
with name of ReCodEx database.
|
|
|
|
### Example local configuration file
|
|
|
|
```{.yml}
|
|
parameters:
|
|
accessManager:
|
|
leeway: 60
|
|
issuer: https://recodex.projekty.ms.mff.cuni.cz
|
|
audience: https://recodex.projekty.ms.mff.cuni.cz
|
|
expiration: 86400 # 24 hours in seconds
|
|
usedAlgorithm: HS256
|
|
allowedAlgorithms:
|
|
- HS256
|
|
verificationKey: "recodex-123"
|
|
fileServer:
|
|
address: http://127.0.0.1:9999
|
|
auth:
|
|
username: "user"
|
|
password: "pass"
|
|
timeouts:
|
|
connection: 500
|
|
broker:
|
|
address: tcp://127.0.0.1:9658
|
|
auth:
|
|
username: "user"
|
|
password: "pass"
|
|
timeouts:
|
|
ack: 100
|
|
send: 5000
|
|
result: 1000
|
|
monitor:
|
|
address: wss://recodex.projekty.ms.mff.cuni.cz:4443/ws
|
|
CAS:
|
|
serviceId: "cas-uk"
|
|
ldapConnection:
|
|
hostname: "ldap.cuni.cz"
|
|
base_dn: "ou=people,dc=cuni,dc=cz"
|
|
port: 389
|
|
security: SSL
|
|
bindName: "cunipersonalid"
|
|
fields:
|
|
email: "mail"
|
|
firstName: "givenName"
|
|
lastName: "sn"
|
|
emails:
|
|
apiUrl: https://recodex.projekty.ms.mff.cuni.cz:4000
|
|
footerUrl: https://recodex.projekty.ms.mff.cuni.cz
|
|
siteName: "ReCodEx"
|
|
githubUrl: https://github.com/ReCodEx
|
|
from: "ReCodEx <noreply@example.com>"
|
|
failures:
|
|
emails:
|
|
to: "Admin Name <admin@example.com>"
|
|
from: %emails.from%
|
|
subjectPrefix: "ReCodEx Failure Report - "
|
|
forgottenPassword:
|
|
redirectUrl: "https://recodex.projekty.ms.mff.cuni.cz/
|
|
forgotten-password/change"
|
|
tokenExpiration: 600 # 10 minues
|
|
emails:
|
|
from: %emails.from%
|
|
subjectPrefix: "ReCodEx Forgotten Password Request - "
|
|
mail:
|
|
smtp: true
|
|
host: "smtp.ps.stdin.cz"
|
|
port: 587
|
|
username: "user"
|
|
password: "pass"
|
|
secure: "tls"
|
|
context:
|
|
ssl:
|
|
verify_peer: false
|
|
verify_peer_name: false
|
|
allow_self_signed: true
|
|
doctrine:
|
|
user: "user"
|
|
password: "pass"
|
|
host: localhost
|
|
dbname: "recodex-api"
|
|
```
|
|
|
|
|
|
<!---
|
|
// vim: set formatoptions=tqn flp+=\\\|^\\*\\s* textwidth=80 colorcolumn=+1:
|
|
-->
|
|
|