Layout of a server profile
When you create a server profile, you can review the typical server profile hierarchy structure.
Use either of the following methods to create a server profile:
-
Extract the template named
server-profile-template-paz.zip, which is located in theresourcedirectory. -
Run the
manage-profile generate-profilesubcommand. Themanage-profiletool references the file system directory structure.
You can add files to each directory as needed.
The following hierarchy represents the file structure of a basic server profile.
-server-profile/
|-- dsconfig/
|-- misc-files/
|-- server-root/
| |-- post-setup/
| |-- pre-setup/
|-- server-sdk-extensions/
|-- setup-arguments.txt
|-- variables-ignore.txt
setup-arguments.txt
When you create a new profile, you must add arguments to the setup-arguments.txt file.
When manage-profile setup is run, these arguments are passed to the server’s setup tool. To view the arguments that are available in this file, run the server’s setup --help command.
To provide the equivalent, non-interactive CLI arguments after any prompts have been completed, run setup interactively. The setup-arguments.txt file in the profile template contains an example set of arguments that you can change.
setup-arguments.txt is the only required file in the profile.
dsconfig/
You can use dsconfig batch files to apply dsconfig commands to PingAuthorize Server.
You can add dsconfig batch files to the dsconfig directory. These files, each of which must include a .dsconfig extension, contain dsconfig commands to apply to server.
Because the dsconfig batch files are ordered lexicographically, 00-base.dsconfig runs before 01-second.dsconfig, and so on.
To produce a dsconfig batch file that reproduces the current configuration, run bin/config-diff.
server-root/
You can add a variety of server root files to the server-root directory.
Any server root files can be added to the server-root directory, including schema files, email template files, custom password dictionaries, and other files that must be present on the final server root. Add these files to the server-root/pre-setup or server-root/post-setup directory, depending on when they need to be copied to the server root. Most server root files are added to theserver-root/pre-setup directory.
server-sdk-extensions/
Add server SDK extension .zip files to the server-sdk-extensions directory.
Include any configuration that is necessary for the extensions in the profile’s dsconfig batch files.
variables-ignore.txt
You can use the variables-ignore.txt file to indicate the relative paths of any files whose variables you do not want to have substituted.
The variables-ignore.txt file is an optional component of the server profile. It is useful when adding bash scripts to the server root because such files often contain expressions that the manage-profile tool normally interprets as variables.
Add variables-ignore.txt to a profile’s root directory to indicate the relative paths of any files that are not to have their variables substituted.
The following example shows the contents of a typical variables-ignore.txt file.
server-root/pre-setup/script-to-ignore.sh server-root/post-setup/another-file-to-ignore.txt
server-root/permissions.properties
You can use server-root/permissions.properties to specify permissions you want to apply to files copied to the server root.
The permissions.properties file, located in the server-root directory, is an optional file that specifies the permissions to apply to files that are copied to the server root. These permissions are represented in octal notation. By default, server root files maintain their permissions when copied.
The following example shows the contents of a typical permissions.properties file.
default=700 file-with-special-permissions.txt=600 new-subdirectory/file-with-special-permissions.txt=644 bin/example-script.sh=760
misc-files/
You can find additional miscellaneous documentation and other files in the misc-files directory.
The manage-profile tool does not use the misc-files directory. Use the variable PING_PROFILE_ROOT to refer to files in this directory from other locations, such as setup-arguments.txt.
|
Use |
For example, a password file named password.txt in the misc-files directory could be referenced with ${PING_PROFILE_ROOT}/misc-files/password.txt in setup-arguments.txt. Use a reference like this example to supply the file for the --rootUserPasswordFile argument in setup-arguments.txt.