Experimental Flags
/tmp on ram
This option allows the job to mount /tmp as tmpfs (ram).
When used, the /tmp directory will be mounted as tmpfs (ram) instead of the default behavior which is writing to the disk. This can be useful to avoid disk I/O and speed up the job.
Note
If more data are written than the amount of requested memory, the job will fail with OOMKilled (Out Of Memory Killer).
method |
description |
examples |
|---|---|---|
new |
|
|
yaml |
|
alphabit:
tmp_on_tmpfs: {}
|
Read-only root filesystem
This option allows the job to run with a read-only root filesystem in the container.
When set to true, the root filesystem of the container will be mounted as read-only,
preventing any writes to the filesystem. This can be useful for security hardening
and ensuring that the container does not modify its own filesystem.
Note
When using this option, ensure that your application does not need to write to the root filesystem. You may need to mount writable volumes for directories that require write access (e.g., /tmp, /var/log).
method |
description |
examples |
|---|---|---|
new |
|
|
yaml |
|
alphabit:
readOnlyRootFilesystem: true
|
Reserved nodes only
This option allows the job to be scheduled only on reserved nodes. When used, the job will not spill out of the reserved nodes.
Usage
method |
description |
examples |
|---|---|---|
yaml |
|
alphabit:
reserved-nodes-only:
- account
- parent-accounts
- organization
|
Example Context
For the next example, the following context will be used:
Organization and accounts:
organization A
account B
account B1
account C
account D
With the reserved nodes:
Node 1: Reserved for account B
Node 2: Reserved for account C
Node 3: Reserved for organization A
Possible value
alphabit.reserved-nodes-only can be a combination of the following values:
account
With this value, the account of the job must exactly match with the account of the reserved nodes.
alphabit:
reserved-nodes-only:
- account
- Job submission with this option:
A job submitted in the account B can only be scheduled on node 1.
A job submitted in the account B1 cannot be scheduled and will fail directly.
A job submitted in the account C can only be scheduled on node 2.
A job submitted in the account D cannot be scheduled and will fail directly.
parent-accounts
With this value, the account of the job needs to match with the parent accounts only (account itself and organization excluded).
alphabit:
reserved-nodes-only:
- parent-accounts
- Job submission with this option:
A job submitted in the account B cannot be scheduled and will fail directly.
A job submitted in the account B1 can only be scheduled on node 1.
A job submitted in the account C cannot be scheduled and will fail directly.
A job submitted in the account D cannot be scheduled and will fail directly.
organization
With this value, the job will only be scheduled on the node reserved for the organization of the job
alphabit:
reserved-nodes-only:
- organization
- Job submission with this option:
A job submitted in the account B can only be scheduled on node 3.
A job submitted in the account B1 can only be scheduled on node 3.
A job submitted in the account C can only be scheduled on node 3.
A job submitted in the account D can only be scheduled on node 3.
Combination Example
account & parent-accounts
With these values, the account of the job needs to match with the account or the parent accounts (organization excluded).
alphabit:
reserved-nodes-only:
- account
- parent-accounts
- Job submission with this option:
A job submitted in the account B cannot be scheduled on node 1.
A job submitted in the account B1 can only be scheduled on node 1.
A job submitted in the account C cannot be scheduled on node 2.
A job submitted in the account D cannot be scheduled and will fail directly.
Root certificate location
This option allows to update the location where is mounted the root certificate in the job container.
By default /etc/ssl/certs/ca-certificates.crt is used.
CA_CURL_BUNDLE environment variable is also set to the same value.
When this option is used, the specified location will be used to mount the root certificate provided by Toolkit.
CA_CURL_BUNDLE will be also updated to the specified location.
Note
CA_CURL_BUNDLE can be overwritten by the user by using the -e/--env parameter.
method |
description |
examples |
|---|---|---|
new |
|
|
yaml |
|
alphabit:
root_cert_path: /tmp/root.crt
|
Simulation of job preemption
This option allows to simulate a preemption of the job.
When using this option, the job will be preempted the number of times specified by the interrupts parameter.
This options is divided in 2 parameters:
interrupts: Number of preemption to do on the jobinterrupt-after: Number of seconds to wait before preempting the job
Note
When using this option, it makes more sense to set the job as Restartable.
method |
description |
examples |
|---|---|---|
new |
|
|
yaml |
|
alphabit:
interrupts: 2
interrupt-after: 60
|