ipsilon.conf(5)

πŸ“¦ version 3.1.1, in epel 9, fedora 43, fedora 44

πŸ’– ipsilon.conf β€” the IdP config file, bestie edition πŸ’–

okay so this is the manual page for ipsilon.conf in the Ipsilon Manual Pages, and honestly? it's giving "the file that runs your whole IdP" energy. let's get into it 🫢


✨ NAME ✨

ipsilon.conf β€” the Ipsilon IdP configuration file. yes queen, this is the config file.


✨ SYNOPSIS ✨

/etc/ipsilon/<instancename>/ipsilon.conf

like. that's the path. that's the vibe. πŸ’…


✨ DESCRIPTION ✨

so ipsilon.conf is where you set instance-specific configuration options for one Ipsilon instance. one file, one instance, very main character of it.

it should live in a subdirectory that represents the instance, inside the system configuration directory β€” which is normally /etc/ipsilon. for example:

/etc/ipsilon/idp/ispilon.conf

see how idp is the subdirectory and it's all nested under /etc/ipsilon? yeah. that's the whole thing. πŸŽ€


✨ SYNTAX ✨

the rules, bestie, and we are following them:

  • config options are not case sensitive. the values, though? those may be case sensitive depending on the option. so don't get cute with values.
  • blank lines? ignored. nobody cares. 🌸
  • lines starting with # are comments and are ignored. write your little notes, it's fine.
  • a valid line is: an option name, an equals sign, and a value. that's it. that's the whole formula.
  • spaces around the equals sign are ignored. verbose=True and verbose = True are both valid, slay.
  • an option terminates at the end of a line. no sneaky multi-line situations.
  • non-string values should NOT be quoted β€” and no, the quotes will not be stripped for you. this is the classic mistake and I need you to not do it:
# Wrong - don't include quotes with boolean options
verbose = "True"

# Right - Properly formatted options
verbose = True
verbose=True
okay and this one matters: options must appear in the section named [global]. there are no other sections defined or used currently. so don't invent a section. it's [global] or nothing. periodt.

✨ OPTIONS ✨

here's every single one, no skips, no shortcuts πŸ’–

  • debug β€” turns on extra debugging output. more words, more chaos, more info.
  • tools.log_request_response.on β€” logs the full SAML 2 request and response information. everything. the whole conversation.
  • db.conn.log β€” enables verbose database connection tracing logs. heads up though: debug needs to be True for this to actually get written. no debug, no log, sorry bestie 😭
  • template_dir β€” where the template directory for building the UI lives. this can be relative to base.dir.
  • base.mount β€” the base mount for UI pages. this should match the name of the IdP.
  • base.dir β€” the Ipsilon UI base directory, e.g. /usr/share/ipsilon.
  • admin.config.db β€” database URL for storing Ipsilon administrative settings.
  • user.prefs.db β€” database URL for storing persistent user information. this is where users get marked as administrators by setting is_admin to 1. πŸ‘‘
  • transactions.db β€” database URL for storing login transactions.
  • tools.sessions.on β€” enables sessions in CherryPy. this should always be True. like, always. don't fight it.
  • tools.sessions.name β€” the session name to use in session cookies.
  • tools.sessions.storage_type β€” type of storage for the sessions. see the CherryPy documentation for more details. Ipsilon defaults to using file. Ipsilon also adds a session storage type "Sql" for storing the sessions in an SQL database, for load-balanced servers. cute AND scalable.
  • tools.sessions.storage_path β€” the directory where the CherryPy sessions are stored.
  • tools.sessions.storage_dburi β€” the database URL used for session storage if storage_type is set to "Sql".
  • tools.sessions.path β€” the URI where the session is valid. this should conform to the instance name, e.g. /idp.
  • tools.sessions.timeout β€” how long, in minutes, the session is valid for. default is 60.
  • tools.sessions.httponly β€” if False (the default), the cookie httponly value will not be set. if True, the cookie httponly value will be set (to 1). if you set this to True, browsers are instructed to only send cookies with http requests, which means they won't be available for Javascript-based requests. πŸ”₯
  • tools.sessions.secure β€” if False, the cookie secure value will not be set. if True (the default), the cookie secure value will be set (to 1). if you set this to True, browsers are instructed to only send cookies to secure (TLS-protected) URLs. very safe, very demure. πŸ¦‹

✨ SEE ALSO ✨


and that's the whole page, bestie!! this came out of the Ipsilon manual pages, version 3.0.1 β€” so if you're on that version, you're exactly where you need to be. mwah πŸ’‹βœ¨πŸŽ€

πŸ“¦ where this page comes from