1.  Environment Variables

Most container configuration can be accomplished by setting environment variables for the instantiated container. The details for how to set environment variables for a container depend on the orchestration engine you use (e.g. docker run, Docker Compose, Docker Swarm, Kubernetes, ...) and full details are beyond the scope of this documentation.

1.1.  Secrets

Registry containers support the convention of an associated environment variable ending with _FILE to indicate a path relative to the container from which the value for an environment variable should be read.

For example if the environment variable COMANAGE_REGISTRY_DATABASE_USER_PASSWORD_FILE exists and its value is the path to a readable file, then the contents of the file will be read into the environment variable COMANAGE_REGISTRY_DATABASE_USER_PASSWORD.

If both an environment variable and the associated _FILE environment variable are defined the associated _FILE environment variable takes precedence, provided that the file it points to exists and is readable.

1.2.  Shibboleth SP Configuration

Most Registry deployers using SAML SSO for authentication do so in a multi-lateral federated identity context. A production-ready Shibboleth SP configuration for multi-lateral federation requires many edits to the default template files provided by the Shibboleth SP software.

For this reason, while the image allows some Shibboleth SP configurations to be directly injected using environment variables (see the table below), most deployers prepare production-ready Shibboleth SP configuration files and then either bind mount the files into the container at run time using the slashRoot mechanism, or build a custom container image using the project image as a base and COPY the necessary Shibboleth SP configuration files with local deployment details into the directory /etc/shibboleth/.

To facilitate this approach the image includes the standard example and template configuration files experienced Shibboleth SP deployers expect to find.

1.3.  mod_auth_openidc Configuration

Most configuration details for the mod_auth_openidc module may be configured using environment variables (see below). Deployers that require additional configuration flexibility must bind mount the files into the container at run time using the slashRoot mechanism, or build a custom container image using the project image as a base and COPY the necessary file into place. See the mod_auth_openidc example for the full set of configuration options.

1.4.  Table of All Environment Variables

VariableDescriptionRequiredDefaultExampleNotes
COMANAGE_REGISTRY_ADMIN_GIVEN_NAMEGiven name for first platform administratorYesRegistryJuliaThe environment variable is read the first time the container is started and saved to the COmanage Registry database. Later changes to the environment variable are not reflected in the database state.
COMANAGE_REGISTRY_ADMIN_FAMILY_NAMEFamily name for first platform administratorYesAdminJanssenThe environment variable is read the first time the container is started and saved to the COmanage Registry database. Later changes to the environment variable are not reflected in the database state.
COMANAGE_REGISTRY_ADMIN_USERNAMEUsername name for first platform administratorYesregistry.adminjulia.janseen@my.orgWhen integrating with a single sign-on (SSO) system, this is the value the SSO infrastructure (SAML or OIDC) will set for the Apache REMOTE_USER CGI environment variable for the first platform administrator. The value is often an eduPersonPrincipalName (ePPN) or OIDC sub claim.

The environment variable is read the first time the container is started and saved to the COmanage Registry database. Later changes to the environment variable are 
not reflected in the database state.
COMANAGE_REGISTRY_CRON_USERUser that runs the cron job when using the cron imageNowww-datasomeuidUsed by the cron container only.

The crontab file is installed using the command /usr/bin/crontab and the -u flag with the value for this environment variable or the default value if not defined.
COMANAGE_REGISTRY_CRONTABFull path to the crontab fileNo/srv/comanage-registry/local/crontab/opt/crontabUsed by the cron container only.

See this example crontab file.
COMANAGE_REGISTRY_DATASOURCEDatabase type, one of Database/Postgres or Database/MysqlYesDatabase/PostgresDatabase/MysqlMariaDB users should use Database/Mysql.

The environment variable is read when the container starts and written to the configuration file 
database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 
COMANAGE_REGISTRY_DATABASEDatabase nameYesregistrycomanage_registryThe environment variable is read when the container starts and written to the configuration file database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 
COMANAGE_REGISTRY_DATABASE_HOSTDatabase server hostYescomanage-registry-databasedatabase-server.my.orgThe environment variable is read when the container starts and written to the configuration file database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 
COMANAGE_REGISTRY_DATABASE_PORTDatabase server portNounset5433If unset the container uses the default port for the database type (5432 for Postgres and 3306 for MySQL/MariaDB).

The environment variable is read when the container starts and written to the configuration file database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 


COMANAGE_REGISTRY_DATABASE_POSTGRES_SSLMODEsslmode configuration for PostgreSQLNounsetrequire

One of disable, allow, prefer, require, verify-ca, verify-full. See the PostgreSQL Database Connection Control Functions . When set to one of the strings noted above the database configuration file will include 'sslmode' => '<value>'. The CakePHP ORM layer will in turn include this in the PDO_PGSQL DSN.

Only used with PostgreSQL.

You probably want "require".

COMANAGE_REGISTRY_DATABASE_USERDatabase usernameYesregistry_usercomanage-userThe environment variable is read when the container starts and written to the configuration file database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 
COMANAGE_REGISTRY_DATABASE_USER_PASSWORDDatabase user passwordYespasswordO5Yhtt6TLOxNjo93fmB9The environment variable is read when the container starts and written to the configuration file database.php inside the container only if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image. 
COMANAGE_REGISTRY_EMAIL_FROM_EMAILDefault email "From" for emails sent by Registry. This is the email part of the sender array.Yesyou@localhostregistry@my.orgThe name part of the sender array is specified using COMANAGE_REGISTRY_EMAIL_FROM_NAME. When used together the resulting PHP is
'${COMANAGE_REGISTRY_EMAIL_FROM_EMAIL}' => '${COMANAGE_REGISTRY_EMAIL_FROM_NAME}'

The environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a CakePHP email configuration value.

COMANAGE_REGISTRY_EMAIL_FROM_NAMEDefault email "From" for emails sent by COmanage Registry. This is the name part of the sender array.YesunsetRegistryThe email part of the sender array is specified using COMANAGE_REGISTRY_EMAIL_FROM_EMAIL. When used together the resulting PHP is
'${COMANAGE_REGISTRY_EMAIL_FROM_EMAIL}' => '${COMANAGE_REGISTRY_EMAIL_FROM_NAME}'

The environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a CakePHP email configuration value.

COMANAGE_REGISTRY_EMAIL_TRANSPORTEmail transportNounsetSmtpThe environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a 
CakePHP email configuration value.
COMANAGE_REGISTRY_EMAIL_HOSTEmail server hostNounsettls://smtp.gmail.comThe environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a 
CakePHP email configuration value.
COMANAGE_REGISTRY_EMAIL_PORTEmail server portNounset465The environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a 
CakePHP email configuration value.
COMANAGE_REGISTRY_EMAIL_ACCOUNTEmail server accountNounsetregistry-smtp@my.orgThe environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a 
CakePHP email configuration value.
COMANAGE_REGISTRY_EMAIL_ACCOUNT_PASSWORDEmail server account passwordNounsetSw5x71ToBHBEr4VqpRxDThe environment variable is read when the container starts and written to the configuration file email.php if the file does not already exist, either because it has been mounted using a persistent volume (or bind mount) or has been added when using the image as a base to build a new image.

This is a 
CakePHP email configuration value.
COMANAGE_REGISTRY_ENABLE_PLUGINComma separated list of non-core plugins to enableNounsetIdentifierEnroller,LdapIdentifierValidator,
LdapSource

COMANAGE_REGISTRY_HTTP_LISTEN_PORTApache HTTP Server listening port for HTTP (no TLS) trafficNo808080This environment variable only configures the listening port for HTTP (no TLS) traffic. See COMANAGE_REGISTRY_HTTPS_LISTEN_PORT for configuring HTTPS (with TLS) traffic.
COMANAGE_REGISTRY_HTTP_NODo not listen for HTTP (no TLS) trafficNounset1When set to any value the Apache HTTP Server will not listen for HTTP (no TLS) traffic.
COMANAGE_REGISTRY_HTTPS_LISTEN_PORTApache HTTP Server listening port for HTTPS (with TLS) trafficNo4438443This environment variable only configures the listening port for HTTPS (with TLS) traffic. See COMANAGE_REGISTRY_HTTP_LISTEN_PORT for configuring HTTPS (no TLS) traffic.
COMANAGE_REGISTRY_HTTPS_NODo not listen for HTTPS (with TLS) trafficNounset1When set to any value the Apache HTTP Server will not listen for HTTPS (with TLS) traffic.
COMANAGE_REGISTRY_OIDC_AUTH_REQUEST_PARAMSAdd additional query string parameters to the OIDC authentication request to the OPNounsetidphint=http%3A%2F%2Forcid.org%2Foauth%2FauthorizeThe value is used with the mod_auth_openidc configuration parameter OIDCAuthRequestParams.
COMANAGE_REGISTRY_OIDC_CLIENT_IDOIDC client IDYes when using mod_auth_openidc authentication, No otherwiseunsetcilogon:/client_id/7c1f02f06ab959a9400ecd1e907173The value is used with the mod_auth_openidc configuration parameter OIDCClientID.
COMANAGE_REGISTRY_OIDC_CLIENT_SECRETOIDC client secretYes when using mod_auth_openidc authentication, No otherwiseunsetPuE4eIqsvIZ66vtThe value is used with the mod_auth_openidc configuration parameter OIDCClientSecret.
COMANAGE_REGISTRY_OIDC_CRYPTO_PASSPHRASEPassword to use when encrypting OIDC state cookieYes when using mod_auth_openidc authentication, No otherwiseunsets6r9GfwAXV00a2TKMaV2The value is used with the mod_auth_openidc configuration parameter OIDCCryptoPassphrase.
COMANAGE_REGISTRY_OIDC_FORWARD_HEADERSForward standard proxy headers when using OIDCNounset1When set the mod_auth_openidc configuration parameter OIDCXForwardedHeaders is set to X-Forwarded-Host X-Forwarded-Port X-Forwarded-Proto.
COMANAGE_REGISTRY_OIDC_PROVIDER_METADATA_URLOIDC OP metadata URLNo, but if not set all other OP configuration must be injected using other mechanismsunsethttps://cilogon.org/.well-known/openid-configurationThe value is used with the mod_auth_openidc configuration parameter OIDCProviderMetadataURL.
COMANAGE_REGISTRY_OIDC_REMOTE_USER_CLAIMOIDC claim to write into REMOTE_USERNosubeppnThe value is used with the mod_auth_openidc configuration parameter OIDCRemoteUserClaim.
COMANAGE_REGISTRY_OIDC_SCOPESOIDC scopes to requestNoopenidopenid email profileThe list of scopes should be space delimited. The value is used with the mod_auth_openidc configuration parameter OIDCScope.
COMANAGE_REGISTRY_OIDC_SESSION_INACTIVITY_TIMEOUTOIDC session inactivity timeout in secondsNounset3600The value is used with the mod_auth_openidc configuration parameter OIDCSessionInactivityTimeout.
COMANAGE_REGISTRY_OIDC_SESSION_MAX_DURATIONOIDC session maximum duration in secondsNounset28800The value is used with the mod_auth_openidc configuration parameter OIDCSessionMaxDuration.
COMANAGE_REGISTRY_NO_DATABASE_CONFIGDo not write a database configuration fileNounset1If the environment variable is set to any value then the entrypoint script will not attempt to write the database configuration file database.php. This environment variable is often used with the comanage-registry-cron image when it shares a bind mounted directory with the COmanage Registry image.
COMANAGE_REGISTRY_NO_EMAIL_CONFIGDo not write an email configuration fileNounset1If the environment variable is set to any value then the entrypoint script will not attempt to write the email configuration file email.php. This environment variable is often used with the comanage-registry-cron image when it shares a bind mounted directory with the COmanage Registry image.
COMANAGE_REGISTRY_REMOTE_IPEnable the Apache HTTP Server mod_remoteip moduleNounset1When set the mod_remoteip module is enabled and the configuration parameter RemoteIPHeader is set to X-Forwarded-For unless otherwise overridden using COMANAGE_REGISTRY_REMOTE_IP_HEADER. This is often used when proxying the container so that the actual client IP address is logged.
COMANAGE_REGISTRY_REMOTE_IP_HEADERDeclare the header field which should be parsed for useragent IP addressesNoX-Forwarded-For
X-Client-IP
The value is used with the mod_remoteip module configuration parameter RemoteIPHeader.
COMANAGE_REGISTRY_REMOTE_IP_INTERNAL_PROXYDeclare client intranet IP addresses trusted to present the RemoteIPHeader valueNounset
10.0.2.0/24
The value is used with the mod_remoteip module configuration parameter RemoteIPInternalProxy.
COMANAGE_REGISTRY_REMOTE_IP_INTERNAL_PROXY_LISTDeclare client intranet IP addresses trusted to present the RemoteIPHeader value from a fileNounset/etc/apache2/my_proxy_listThe value is used with the mod_remoteip module configuration parameter RemoteIPInternalProxyList. The file must be injected into the container using some mechanism.
COMANAGE_REGISTRY_REMOTE_IP_PROXIES_HEADERDeclare the header field which will record all intermediate IP addressesNounset
X-Forwarded-By
The value is used with the mod_remoteip module configuration parameter RemoteIPProxiesHeader.
COMANAGE_REGISTRY_REMOTE_IP_PROXY_PROTOCOLEnable or disable PROXY protocol handlingNounsetOnThe value is used with the mod_remoteip module configuration parameter RemoteIPProxyProtocol.
COMANAGE_REGISTRY_REMOTE_IP_PROXY_PROTOCOL_EXCEPTIONSDisable processing of PROXY header for certain hosts or networksNounset10.0.2.1/32The value is used with the mod_remoteip module configuration parameter RemoteIPProxyProtocolExceptions.
COMANAGE_REGISTRY_REMOTE_IP_TRUSTED_PROXYDeclare client intranet IP addresses trusted to present the RemoteIPHeader valueNounset
proxy.example.com
The value is used with the mod_remoteip module configuration parameter RemoteIPTrustedProxy.
COMANAGE_REGISTRY_REMOTE_IP_TRUSTED_PROXY_LISTDeclare client intranet IP addresses trusted to present the RemoteIPHeader value from a fileNounset/etc/apache2/my_proxy_listThe value is used with the mod_remoteip module configuration parameter RemoteIPTrustedProxyList. The file must be injected into the container using some mechanism.
COMANAGE_REGISTRY_SECURITY_SALTSecurity salt used when hashing. Must be 40 or more characters from the set [0-9a-zA-Z]Noautomatically generated if not providedVuUq2mnXC0Cco8uKcjO1rDdP2lVC3lgP970QP2XYIf present the environment variable is read the first time the container is started and written to the persistent volume (or bind mount) in the configuration file security.salt. Later changes to the environment variable are not reflected in the file which must be edited directly. If not using a persistent volume or bind mount or otherwise providing the file security.salt then you must configure this environment variable in order that the same value persists between container restarts.
COMANAGE_REGISTRY_SECURITY_SEEDSecurity seed used for encrypt/decrypt. Must be 30 or more numerical digitsNoautomatically generated if not provided47072649794709969916818407654If present the environment variable is read the first time the container is started and written to the persistent volume (or bind mount) in the configuration file security.seed. Later changes to the environment variable are not reflected in the file which must be edited directly. If not using a persistent volume or bind mount or otherwise providing the file security.seed then you must configure this environment variable in order that the same value persists between container restarts.
COMANAGE_REGISTRY_PHP_SESSION_REDIS_URLURL for Redis server to use for storing PHP sessionsNounset
tcp://host1:6379
The value is set in the php.ini file for the configuration parameter session.save_path. The value for the configuration parameter save_handler is set to redis. See the PhpRedis extension documentation for details.
COMANAGE_REGISTRY_SKIP_SETUPDo not run the database setup commandNounset1When set the container will not execute the database setup command.
COMANAGE_REGISTRY_SKIP_UPGRADEDo not run the upgrade commandNounset1When set the container will not execute the upgrade command. This can aid in faster container start times.
COMANAGE_REGISTRY_SLASH_ROOT_DIRECTORYDirectory to use for copying configuration files into the container based on a "root like" directory structureNo/opt/registry/slashRoot/srv/rootWhen set and the directory exists files will be copied from the directory into the image using the GNU cp command with the --preserve=all and --parents options.
COMANAGE_REGISTRY_VIRTUAL_HOST_FQDNApache HTTP Server virtual host nameNoObtained from inspecting HTTPS x509 certificate file if present, otherwise "unknown"registry.my.org
COMANAGE_REGISTRY_VIRTUAL_HOST_REDIRECT_HTTP_NODo not redirect HTTP to HTTPSNounset1When set the Apache HTTP Server will not be configured to redirect HTTP traffic to HTTPS.
COMANAGE_REGISTRY_VIRTUAL_HOST_PORTApache HTTP Server virtual host portNo80 for HTTP and 443 for HTTPS443Used to construct the Apache HTTP Server ServerName configuration parameter. This is most often used when proxying the container in order to override the actual port used behind the proxy. This does not set the actual listening port and is only used to configure ServerName, which is used by the Apache HTTP Server and its modules to construct self-referential URLs. To configure the actual listening ports see COMANAGE_REGISTRY_HTTP_LISTEN_PORT and COMANAGE_REGISTRY_HTTPS_LISTEN_PORT.
COMANAGE_REGISTRY_VIRTUAL_HOST_SCHEMEApache HTTP Server virtual host schemeNohttp for HTTP listening port and https for HTTPS listening porthttpsUsed to construct the Apache HTTP Server ServerName configuration parameter. This is most often used when proxying the container in order to override the actual scheme used behind the proxy. 
HTTPS_CERT_FILEpath to file containing x509 certificate for HTTPSNoautomatically generated self-signed certificate/run/secrets/https_cert_fileThe path is relative to the running container.

The file should include the PEM format X.509 certificate and any intermediate signing CA certificates.
HTTPS_PRIVKEY_FILEpath to file containing x509 private key for HTTPSNoautomatically generated private key/run/secrets/https_privkey_file

The path is relative to the running container.

PHP_IMAGE_VERSION




SHIBBOLETH_SP_ENCRYPT_CERTPEM encoded X.509 certificate used for encrypting assertions to be sent to and consumed by the SPYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usesp-encrypt-cert.pemMany deployers start a container without specifying the variable and then break into the running container and use the /etc/shibboleth/keygen.sh script to generate the persistent cert and private key pair and copy them out of the container. Later after escrowing the cert and private key they are injected into the container using the variable(s).
SHIBBOLETH_SP_ENCRYPT_PRIVKEYPrivate key associated with the PEM encoded X.509 certificate used for encrypting assertions to be sent to and consumed by the SPYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usesp-encrypt-key.pemMany deployers start a container without specifying the variable and then break into the running container and use the /etc/shibboleth/keygen.sh script to generate the persistent cert and private key pair and copy them out of the container. Later after escrowing the cert and private key they are injected into the container using the variable(s).
SHIBBOLETH_SP_ENTITY_IDSAML entityID for the SPYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usehttps://myapp.my.org/shibboleth/sp
SHIBBOLETH_SP_METADATA_PROVIDER_XMLXML stanza for configuring Shibboleth SP metadata consumptionYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production useSee the Shibboleth SP documentation on Metadata configuration.Due to the complex syntax which makes escaping some characters tedious, most deployers write the configuration into a file, bind mount or COPY the file into the image, and specify the variable SHIBBOLETH_SP_METADATA_PROVIDER_XML_FILE to point to the location of the file relative to the running container.
SHIBBOLETH_SP_SAMLDS_URLURL for SAML IdP Discovery ServiceYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usehttps://login-chooser.my.org/
SHIBBOLETH_SP_SIGNING_CERTPEM encoded X.509 certificate used by the SP for signing authentication requestsYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usesp-signing-cert.pemMany deployers start a container without specifying the variable and then break into the running container and use the /etc/shibboleth/keygen.sh script to generate the persistent cert and private key pair and copy them out of the container. Later after escrowing the cert and private key they are injected into the container using the variable(s).
SHIBBOLETH_SP_SIGNING_PRIVKEYPrivate key associated with the PEM encoded X.509 certificate used by the SP for signing authentication requestsYes when using Shibboleth SP authentication, No otherwiseimage default not suitable for production usesp-signing-key.pemMany deployers start a container without specifying the variable and then break into the running container and use the /etc/shibboleth/keygen.sh script to generate the persistent cert and private key pair and copy them out of the container. Later after escrowing the cert and private key they are injected into the container using the variable(s).

2.  Overlaying Files

Most container configuration can be accomplished by setting environment variables for the instantiated container. See the sections above for details.

When a configuration environment variable is not available or more flexibility is needed to support advanced configurations, files may be overlayed in one of three different ways:

2.1. slashRoot mechanism

When the image is instantiated as a container the entrypoint script inspects the container's file system for the presence of a directory colloquially known as "slash Root" or slashRoot. The default directory is /opt/registry/slashRoot.

If the entrypoint script finds the slashRoot directory it copies the files found under that directory to the location in the image indicated by the path of the file relative to the slashRoot directory.

For example, if the file /opt/registry/slashRoot/etc/shibboleth/shibboleth2.xml exists then the entrypoint script will copy that file to /etc/shibboleth/shibboleth2.xml. Likewise, if the file /opt/registry/slashRoot/etc/apache2/ports.conf exists then the entrypoint script will copy that file to /etc/apache2/ports.conf.

The location of the slashRoot directory may be configured using the COMANAGE_REGISTRY_SLASH_ROOT_DIRECTORY environment variable. See above.

The entrypoint script copies files from slashRoot before most other environment variables are processed, so any configuration details set using environment variables will override those in files copied using this mechanism.

Deployers must take care to set both the file ownership and permissions correctly. See below details on the expected ownership and permissions for commonly overlaid files.

The precise mechanism used by the entrypoint script to copy the files is a combination of the GNU xargs and cp commands with the --preserve=all, --parents, and --no-dereference options.

2.2. Bind mounting  individual files

Deployers may wish to overlay individual files by bind mounting rather than using the slashRoot mechanism. See below for an incomplete list of files in the image that may be overlayed. 

Deployers must take care to set both the file ownership and permissions correctly. See below details on the expected ownership and permissions for commonly overlaid files.

2.3. Build a new image and COPYing in the configuration files

The images are designed so that each may be used as the base for a new image with necessary customizations provided by using a customized Dockerfile (or similar) and the COPY command to overlay specific files.

Image builders must take care to set both the file ownership and permissions correctly. See below details on the expected ownership and permissions for commonly overlaid files.


2.4. Configuration file paths

2.4.1. Registry

PathDescriptionUIDPermission
Octal
Example
/srv/comanage-registry/Registry PHP application top-level directory330755
/srv/comanage-registry/local/Config/database.phpDatabase connection configuration330600Example
/srv/comanage-registry/local/Config/email.phpEmail configuration330600Example
/srv/comanage-registry/local/Config/security.saltSecurity salt file3306006fHzSa2ps1bzyseXbJ7TKcHowXsR9dyIUV0XSuA4
/srv/comanage-registry/local/Config/security.seedSecurity seed file330600694812053204336881869880217405
/srv/comanage-registry/local/Plugin/Registry custom plugin directory330755/srv/comanage-registry/local/Plugin/FooEnroller
/srv/comanage-registry/local/webroot/Registry webroot directory for additional css, images, and other web file injection330755/srv/comanage-registry/local/webroot/img/mylogo.png

2.4.2.  Apache HTTP Server

PathDescriptionUIDPermission
Octal
ExampleNotes
/etc/apache2/cert.pemX.509 certificate for HTTPS330644
PEM format including all intermediate CA certificates
/etc/apache2/privkey.pemmatching private key for HTTPS330600
PEM format
/etc/apache2/sites-available/000-comanage.confHTTP Server virtual host configuration330644
Details differ depending on authentication mechanism. See below.
/etc/apache2/ports.confHTTP Server listening port configuration330644
Default are ports 80 and 443

2.4.3.  Authentication

2.4.3.1. Basic Authentication

PathDescriptionUIDPermission
Octal
ExampleNotes
/etc/apache2/basic-authbasic authentication password file330600Example
/etc/apache2/sites-available/000-comanage.confHTTP Server virtual host configuration330644

2.4.3.2. mod_auth_openidc

PathDescriptionUIDPermission
Octal
ExampleNotes
/etc/apache2/sites-available/000-comanage.confHTTP Server virtual host configuration330644

2.4.3.3. Shibboleth SP

PathDescriptionUIDPermission
Octal
ExampleNotes
/etc/apache2/sites-available/000-comanage.confHTTP Server virtual host configuration330644

/etc/shibboleth/Shibboleth SP top level configuration directory00755
The configuration file layout is the same as would be found in a default stand-alone configuration of the Shibboleth SP software. Please refer to the Shibboleth Project SP Documentation for details.
/etc/shibboleth/shibboleth2.xmlPrimary Shibboleth SP configuration file00644
Shibboleth Project SP Documentation
/etc/shibboleth/attribute-map.xmlAttribute extraction/mapping configuration file00644
Shibboleth Project SP Documentation
/etc/shibboleth/sp-encrypt-cert.pemSAML X.509 certificate for encrypting messages sent to the SP9990644

/etc/shibboleth/sp-encrypt-key.pemMatching private key file9990600

/etc/shibboleth/sp-signing-cert.pemSAML X.509 certificate used by the SP for signing outgoing messages9990644

/etc/shibboleth/sp-signing-key.pemMatching private key file9990600

2.4.3.4. cron

PathDescriptionUIDPermission
Octal
ExampleNotes
/srv/comanage-registry/local/crontabCrontab file configuring crond00644Example

3.  Example Deployment Files and Configurations

Click here for a list of example deployment files and configurations.

  • No labels