Add support for reading and setting the execution environment from a config file#7
Merged
Add support for reading and setting the execution environment from a config file#7
Conversation
Add support for printing debug messages when DEBUG is enbaled at build time. For easier usage, the make targets urunit_static_debug and urunit_dynamic_debug, produce binaries with debug messages enabled. Furthermore, add a few debug messages in the whole execution. Signed-off-by: Charalampos Mainas <cmainas@nubificus.co.uk>
Separate the logic of the child, after the fork, in a separate function. Signed-off-by: Charalampos Mainas <cmainas@nubificus.co.uk>
Add support for reading the environment variables from a config file which is defined by the environment variable "URUNIT_CONFIG". If this environment variable is not set, then urunit follows the previous execution path and execs the app using the existing environment variables. If the environment variable sis set then it should point to the configuration file with the environment variables. The environment variables are in a list which starts with the special string "UES" and ends with the special string "UEE". For instance a valid list is the following: UES PATH=/bin MYENV=myvalue UEE urunit will set these environment variables for the execution of the application and in case PATH was set, it will use this environment variable to search for the full path othe application's binary. Signed-off-by: Charalampos Mainas <cmainas@nubificus.co.uk>
In a similar way with environment variables, read the execution environment configuration from the configuration file. The respective config for the execution environment should have the following format: UCS UID:<uid> GID:<gid> WD: <working_directory> UCE Given such a configuration, urunit will set the gid then the uid and at last switch to the working_directory. Signed-off-by: Charalampos Mainas <cmainas@nubificus.co.uk>
e19d835 to
02424c3
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add support for reading the environment variables and the execution environment configuration from a config file. Based on this config, set up the execution environment for the application to run. The configuration file is determined by the
URUNIT_CONFIGenvironment variable. If this environment variable is not set, then urunit will simply continue the execution of the application.If it is set, then it should point to a config file with the following format:
Based on the above configuration,
urunitsets up the environment variables and uid,gid, working directory for the application execution. Furthermore, if thePATHenvironment variable exists in the environment variables list, thenurunitwill use this environment variable to find the full path of the application binary, using a simple implementation ofexecvpe().