- Sphere Engine overview
- Compilers
- Overview
- API
- Widgets
- Resources
- Problems
- Overview
- API
- Widgets
- Handbook
- Resources
- Containers
- Overview
- Glossary
- API
- Workspaces
- Handbook
- Resources
- RESOURCES
- Programming languages
- Modules comparison
- Webhooks
- Infrastructure management
- API changelog
- FAQ
Effective project configuration
The vast flexibility of the Sphere Engine Containers module allows numerous different approaches for configuring projects. Each approach can yield a similar effect, but they are not equal in terms of efficiency.
As a rule of thumb, it's worth keeping in mind the following:
- it is better to have all dependencies pre-downloaded than to download them for every submission,
- it is better to keep files as a part of the project if they don't change rather than submit them separately every time,
- submissions should contain only new or modified files prepared by the end-users.
If you stick to the above rules, your end-users' submissions will be executed fast, improving their user experience and keeping your budget in line.
Read-only files
Marking files as read-only will prevent users from modifying them. Files will become read-only only in regular workspaces and submissions. All files will still be writeable in the project edit mode.
Note: Keep in mind that providing a directory path will prevent the user from modifying all files in that folder, as well as creating new files in that folder.
Providing a file path will prevent the user from modifying just that file.
How to make files read-only
After opening the project in edit mode, add a list of files or directories to the files.read_only
field in the project configuration file.
Example of the project config using the files.read_only
field:
{
"version": "2.1",
"scenarios": {
...
},
"files": {
"read_only": [
"read_only_file.txt",
"read_only_folder",
".sphere-engine"
]
}
}
Note: All non-absolute paths are interpreted as relative to the /home/user/workspace
directory.
Symlinked files and directories
Marking symlinked files and directories as read-only is not supported. They will still appear read-only in the editor, but users can modify them using the command line.