Skip to content

Module Configuration

Aaron Coburn edited this page May 25, 2020 · 14 revisions

Trellis consists of various modules that are assembled into a single application. Many of these modules can be configured at runtime with environment variables or system properties.

The configuration keys for each module are described here:

HTTP

  • trellis.http.base-url - A base URL
  • trellis.http.cache-max-age - The max-age for HTTP cache headers
  • trellis.http.cache-revalidate - Whether cached response must be revalidated
  • trellis.http.cache-nocache - Whether to disable cache handling
  • trellis.http.web-sub-hub - A websubhub URL
  • trellis.http.memento-header-dates - Whether to include Memento date headers
  • trellis.http.precondition-required - Whether to require preconditions on PUT
  • trellis.http.weak-etag - Whether to use weak ETags in RDF responses

Authentication

  • trellis.auth.admin-users - Users who should be considered admins
  • trellis.auth.realm - The authentication realm to use (default=trellis)

Basic authentication

  • trellis.auth.basic.credentials - The path to a credentials file

OAuth authentication

  • trellis.oauth.keystore.path - The path to a Java Keystore
  • trellis.oauth.keystore.credentials - The credentials for a Java Keystore
  • trellis.oauth.keystore.ids - A whitelist of IDs for the Java Keystore
  • trellis.oauth.sharedsecret - A shared secret, when using HMAC signatures
  • trellis.oauth.jwk - A URL for an external JWK document

WebACL

  • trellis.webac.challenges - The challenges to use, separated by comma (e.g. Basic,Bearer)
  • trellis.webac.membership-check - Whether to enforce WebAC on membership resources

File-based binary and memento storage

  • trellis.file.binary-path - The base file path for the binary resources
  • trellis.file.binary-hierarchy - The levels of hierarchy for storing binaries
  • trellis.file.binary-length - The length of each hierarchy level (usually 2 or 3)
  • trellis.file.memento-path - The base file path for the memento resources

RDF I/O processing

  • trellis.io.jsonld-profiles - A whitelist of JSON-LD profiles
  • trellis.io.jsonld-domains - A whitelist of JSON-LD domain names

Namespace processing

  • trellis.namespaces.path - The path to a namespace file

RDFa/HTML generation

  • trellis.rdfa.template - A mustache template for HTML generation
  • trellis.rdfa.css - CSS URL(s) to use with RDFa
  • trellis.rdfa.icon - an icon URL to use with RDFa
  • trellis.rdfa.js - JS URL(s) to use with RDFa

Notifications

AMQP

  • trellis.amqp.exchange-name - The AMQP exchange name
  • trellis.amqp.routing-key - The AMQP routing key
  • trellis.amqp.mandatory - The AMQP mandatory property
  • trellis.amqp.immediate - The AMQP immediate property

JMS

  • trellis.jms.queue - The JMS queue name

Kafka

  • trellis.kafka.topic - The Kafka topic name

Application wrappers

Dropwizard application wrapper

  • trellis.dropwizard.initialize-root - Whether to initialize the root resource
Clone this wiki locally