Skip to content

Instantly share code, notes, and snippets.

@dalbani
Last active December 22, 2022 16:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dalbani/b9e8e10e8a61499f7e56900c858e15b2 to your computer and use it in GitHub Desktop.
Save dalbani/b9e8e10e8a61499f7e56900c858e15b2 to your computer and use it in GitHub Desktop.
Sling Starter configuration for Oak only deployment
{
"execution-environment:JSON|false": {
"framework": {
"id": "org.apache.felix:org.apache.felix.framework:7.0.5"
}
},
"bundles": [
{
"id": "org.osgi:org.osgi.service.component:1.5.0",
"start-order": "1"
},
{
"id": "org.osgi:org.osgi.service.log:1.5.0",
"start-order": "1"
},
{
"id": "org.osgi:org.osgi.util.converter:1.0.9",
"start-order": "1"
},
{
"id": "org.osgi:org.osgi.util.function:1.2.0",
"start-order": "1"
},
{
"id": "org.osgi:org.osgi.util.promise:1.2.0",
"start-order": "1"
},
{
"id": "org.osgi:org.osgi.util.pushstream:1.0.2",
"start-order": "1"
},
{
"id": "org.slf4j:jcl-over-slf4j:${slf4j.version}",
"start-order": "1"
},
{
"id": "org.slf4j:log4j-over-slf4j:${slf4j.version}",
"start-order": "1"
},
{
"id": "org.slf4j:slf4j-api:${slf4j.version}",
"start-order": "1"
},
{
"id": "org.apache.sling:org.apache.sling.javax.activation:0.3.0",
"start-order": "1"
},
{
"id": "org.apache.sling:org.apache.sling.commons.johnzon:1.2.14",
"start-order": "1"
},
{
"id": "org.apache.sling:org.apache.sling.commons.log:5.4.2",
"start-order": "1"
},
{
"id": "org.apache.sling:org.apache.sling.commons.logservice:1.1.0",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.log:1.2.6",
"start-order": "1"
},
{
"id": "org.apache.aries:org.apache.aries.util:1.1.3",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.configadmin:1.9.24",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.configadmin.plugin.interpolation:1.2.4",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.converter:1.0.18",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.eventadmin:1.6.4",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.cm.json:1.0.6",
"start-order": "1"
},
{
"id": "org.apache.felix:org.apache.felix.scr:2.2.2",
"start-order": "1"
},
{
"id": "org.apache.geronimo.specs:geronimo-annotation_1.3_spec:1.3",
"start-order": "1"
},
{
"id": "org.apache.geronimo.specs:geronimo-atinject_1.0_spec:1.2",
"start-order": "1"
},
{
"id": "org.apache.geronimo.specs:geronimo-ws-metadata_2.0_spec:1.1.3",
"start-order": "1"
},
{
"id": "org.apache.servicemix.bundles:org.apache.servicemix.bundles.saaj-impl:1.5.1_1",
"start-order": "10"
},
{
"id": "org.apache.servicemix.specs:org.apache.servicemix.specs.jaxws-api-2.2:2.9.0",
"start-order": "10"
},
{
"id": "org.apache.servicemix.specs:org.apache.servicemix.specs.saaj-api-1.3:2.9.0",
"start-order": "10"
},
{
"id": "org.apache.felix:org.apache.felix.metatype:1.2.4",
"start-order": "4"
},
{
"id": "io.dropwizard.metrics:metrics-core:3.2.6",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.healthcheck.api:2.0.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.healthcheck.core:2.0.14",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.healthcheck.generalchecks:3.0.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole:4.8.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole.plugins.ds:2.1.0",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole.plugins.event:1.1.8",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole.plugins.memoryusage:1.0.10",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole.plugins.obr:1.0.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.webconsole.plugins.packageadmin:1.0.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.healthcheck.webconsoleplugin:2.0.2",
"start-order": "5"
},
{
"id": "org.apache.sling:org.apache.sling.commons.log.webconsole:1.0.0",
"start-order": "5"
},
{
"id": "commons-codec:commons-codec:1.15",
"start-order": "5"
},
{
"id": "commons-fileupload:commons-fileupload:1.4",
"start-order": "5"
},
{
"id": "commons-io:commons-io:2.11.0",
"start-order": "5"
},
{
"id": "org.apache.aries.jmx:org.apache.aries.jmx.api:1.1.5",
"start-order": "5"
},
{
"id": "org.apache.aries.jmx:org.apache.aries.jmx.core:1.1.8",
"start-order": "5"
},
{
"id": "org.apache.aries.jmx:org.apache.aries.jmx.whiteboard:1.2.0",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.bundlerepository:2.0.10",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.http.jetty:4.1.14",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.http.servlet-api:1.1.4",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.http.whiteboard:4.0.0",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.inventory:1.1.0",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.prefs:1.1.0",
"start-order": "5"
},
{
"id": "org.apache.felix:org.apache.felix.jaas:1.0.2",
"start-order": "10"
},
{
"id": "org.apache.felix:org.apache.felix.http.sslfilter:1.2.6",
"start-order": "10"
},
{
"id": "com.google.guava:guava:15.0",
"start-order": "15"
},
{
"id": "commons-collections:commons-collections:3.2.2",
"start-order": "15"
},
{
"id": "org.apache.commons:commons-collections4:4.4",
"start-order": "15"
},
{
"id": "javax.jcr:jcr:2.0",
"start-order": "15"
},
{
"id": "org.apache.httpcomponents:httpclient-osgi:4.5.13",
"start-order": "15"
},
{
"id": "org.apache.httpcomponents:httpcore-osgi:4.4.15",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:jackrabbit-data:${jackrabbit.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:jackrabbit-jcr-commons:${jackrabbit.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:jackrabbit-spi-commons:${jackrabbit.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:jackrabbit-spi:${jackrabbit.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:jackrabbit-webdav:${jackrabbit.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-api:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-blob-plugins:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-blob:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-commons:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-core:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-core-spi:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-jackrabbit-api:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-jcr:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-query-spi:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-security-spi:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-store-composite:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-store-document:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-store-spi:${oak.version}",
"start-order": "15"
},
{
"id": "org.apache.pdfbox:fontbox:2.0.26",
"start-order": "15"
},
{
"id": "org.apache.pdfbox:jempbox:1.8.16",
"start-order": "15"
},
{
"id": "org.apache.pdfbox:pdfbox:2.0.26",
"start-order": "15"
},
{
"id": "org.apache.tika:tika-core:2.4.1",
"start-order": "15"
},
{
"id": "org.apache.tika:tika-parsers-standard-package:2.4.1",
"start-order": "15"
},
{
"id": "com.fasterxml.jackson.core:jackson-annotations:${jackson.version}",
"start-order": "15"
},
{
"id": "com.fasterxml.jackson.core:jackson-core:${jackson.version}",
"start-order": "15"
},
{
"id": "com.fasterxml.jackson.core:jackson-databind:${jackson.version}",
"start-order": "15"
},
{
"id": "javax.mail:mail:1.5.0-b01",
"start-order": "15"
},
{
// Provides the JMX tab in Felix Web Console.
"id": "com.adobe.granite:com.adobe.granite.jmx:0.2.14",
"start-order": "15"
},
{
"id": "org.apache.sling:org.apache.sling.commons.json:2.0.20",
"start-order": "15"
},
{
"id": "org.apache.commons:commons-lang3:3.12.0",
"start-order": 15
},
{
"id": "com.h2database:h2-mvstore:2.1.214",
"start-order": "15"
},
{
"id": "org.mongodb:mongo-java-driver:3.12.11",
"start-order": "15"
},
{
"id": "com.amazonaws:aws-java-sdk-osgi:1.12.319",
"start-order": "15"
},
{
"id": "software.amazon.ion:ion-java:1.5.1",
"start-order": "15"
},
{
"id": "io.netty:netty-buffer:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-codec:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-handler:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-codec-http:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-common:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-resolver:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-transport:${netty.version}",
"start-order": "15"
},
{
"id": "io.netty:netty-transport-native-unix-common:${netty.version}",
"start-order": "15"
},
{
"id": "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:${jackson.version}",
"start-order": "15"
},
{
"id": "joda-time:joda-time:2.11.2",
"start-order": "15"
},
{
"id": "org.apache.jackrabbit:oak-blob-cloud:${oak.version}",
"start-order": "15"
}
],
"configurations": {
"org.apache.felix.jaas.Configuration.factory~GuestLoginModule": {
"jaas.controlFlag": "optional",
"jaas.classname": "org.apache.jackrabbit.oak.spi.security.authentication.GuestLoginModule",
"jaas.ranking": 300
},
"org.apache.felix.jaas.Configuration.factory~TokenLoginModule": {
"jaas.controlFlag": "sufficient",
"jaas.classname": "org.apache.jackrabbit.oak.security.authentication.token.TokenLoginModule",
"jaas.ranking": 200
},
"org.apache.felix.jaas.Configuration.factory~LoginModuleImpl": {
"jaas.controlFlag": "required",
"jaas.classname": "org.apache.jackrabbit.oak.security.authentication.user.LoginModuleImpl",
"jaas.ranking": 100
},
"org.apache.felix.jaas.ConfigurationSpi": {
"jaas.configProviderName": "FelixJaasProvider",
"jaas.defaultRealmName": "jackrabbit.oak",
"jaas.globalConfigPolicy": "proxy"
},
"org.apache.jackrabbit.oak.security.authentication.AuthenticationConfigurationImpl": {
"org.apache.jackrabbit.oak.authentication.configSpiName": "FelixJaasProvider"
},
"org.apache.felix.hc.core.impl.servlet.HealthCheckExecutorServlet~default": {
"servletPath": "/system/health"
},
"org.apache.felix.hc.generalchecks.BundlesStartedCheck": {
"hc.tags": [
"bundles"
]
},
"org.apache.felix.hc.generalchecks.CpuCheck": {
"hc.tags": [
"cpu",
"system-resources"
],
"cpuPercentageThresholdWarn": 95
},
"org.apache.felix.hc.generalchecks.DiskSpaceCheck": {
"hc.tags": [
"diskspace",
"system-resources"
],
"diskPaths": [
"."
]
},
"org.apache.felix.hc.generalchecks.FrameworkStartCheck": {
"hc.tags": [
"systemalive"
],
"targetStartLevel:Integer": "30"
},
"org.apache.felix.hc.generalchecks.MemoryCheck": {
"hc.tags": [
"memory",
"system-resources"
],
"heapUsedPercentageThresholdCritical": 100,
"heapUsedPercentageThresholdWarn": 95
},
"org.apache.felix.hc.generalchecks.ServicesCheck": {
"hc.tags": [
"systemalive"
],
"services.list": [
"javax.jcr.Repository"
]
},
"org.apache.felix.hc.generalchecks.ThreadUsageCheck": {
"hc.tags": [
"threads",
"cpu",
"system-resources"
]
},
"org.apache.jackrabbit.oak.jcr.osgi.RepositoryManager": {},
"org.apache.sling.commons.log.LogManager": {
"org.apache.sling.commons.log.packagingDataEnabled": true,
"org.apache.sling.commons.log.pattern": "%d{dd.MM.yyyy HH:mm:ss.SSS} *%level* [%thread] %logger %msg%n",
"org.apache.sling.commons.log.level": "info",
"org.apache.sling.commons.log.file": "logs/error.log",
"org.apache.sling.commons.log.file.number:Integer": "7",
"org.apache.sling.commons.log.file.size": "'.'yyyy-MM-dd"
},
"org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService": {
"db": "$[env:MONGODB_DATABASE;default=sling]",
"mongouri": "mongodb://$[env:MONGODB_USERNAME;default=sling]:$[env:MONGODB_PASSWORD;default=sling]@$[env:MONGODB_HOST;default=localhost]:$[env:MONGODB_PORT;type=Integer;default=27017]/?authSource=$[env:MONGODB_AUTH_SOURCE;default=admin]",
"customBlobStore": true,
"persistentCache": "$[env:DOCUMENT_NODE_STORE_PERSISTENT_CACHE;default=cache]",
"journalCache": "$[env:DOCUMENT_NODE_STORE_JOURNAL_CACHE;default=diff-cache]"
},
"org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore": {
"path": "$[env:S3_BLOBSTORE_DIRECTORY]",
"s3Bucket": "$[env:S3_BLOBSTORE_BUCKET]",
"s3Region": "$[env:S3_BLOBSTORE_REGION]",
"s3EndPoint": "$[env:S3_BLOBSTORE_ENDPOINT]",
"accessKey": "$[env:S3_BLOBSTORE_ACCESS_KEY]",
"secretKey": "$[env:S3_BLOBSTORE_SECRET_KEY]",
"minRecordLength": 0,
"stagingSplitPercentage": 10,
"uploadThreads": 10,
"writeThreads": 10,
"stagingPurgeInterval": 300,
"stagingRetryInterval": 600,
"cacheSize": "$[env:S3_BLOBSTORE_CACHE_SIZE]",
"connectionTimeout": "$[env:S3_BLOBSTORE_CONNECTION_TIMEOUT]",
"socketTimeout": "$[env:S3_BLOBSTORE_SOCKET_TIMEOUT]",
"maxConnections": "$[env:S3_BLOBSTORE_MAX_CONNECTIONS]",
"maxErrorRetry": "$[env:S3_BLOBSTORE_MAX_ERROR_RETRY]"
}
},
"framework-properties": {
"localIndexDir": "${sling.home}/repository/index",
"repository.home": "${sling.home}/repository",
// export XML packages in addition to JRE version with special versions for backwards-compatibility reasons
"sling.jre-1.8.javax.xml": ",javax.xml;version=\"2.1.0\",javax.xml.datatype;uses:=\"javax.xml.namespace\";version=\"2.1.0\",javax.xml.namespace;version=\"2.1.0\",javax.xml.parsers;uses:=\"javax.xml.validation,org.w3c.dom,org.xml.sax,org.xml.sax.helpers\";version=\"2.1.0\",javax.xml.stream;uses:=\"javax.xml.namespace,javax.xml.stream.events,javax.xml.stream.util,javax.xml.transform\";version=\"1.0.0\",javax.xml.stream.events;uses:=\"javax.xml.namespace,javax.xml.stream\";version=\"1.0.0\",javax.xml.stream.util;uses:=\"javax.xml.namespace,javax.xml.stream,javax.xml.stream.events\";version=\"1.0.0\",javax.xml.transform;version=\"2.1.0\",javax.xml.transform.dom;uses:=\"javax.xml.transform,org.w3c.dom\";version=\"2.1.0\",javax.xml.transform.sax;uses:=\"javax.xml.transform,javax.xml.transform.stream,org.xml.sax,org.xml.sax.ext\";version=\"2.1.0\",javax.xml.transform.stax;uses:=\"javax.xml.stream,javax.xml.stream.events,javax.xml.transform\";version=\"2.1.0\",javax.xml.transform.stream;uses:=\"javax.xml.transform\";version=\"2.1.0\",javax.xml.validation;uses:=\"javax.xml.transform,javax.xml.transform.stream,org.w3c.dom,org.w3c.dom.ls,org.xml.sax\";version=\"2.1.0\",javax.xml.xpath;uses:=\"javax.xml.namespace,org.xml.sax\";version=\"2.1.0\",org.w3c.dom;version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.bootstrap;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.css;uses:=\"org.w3c.dom,org.w3c.dom.stylesheets,org.w3c.dom.views\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.events;uses:=\"org.w3c.dom,org.w3c.dom.views\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.html;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.ls;uses:=\"org.w3c.dom,org.w3c.dom.events\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.ranges;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.stylesheets;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.traversal;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.views;version=\"{dollar}{felix.detect.java.version}\",org.w3c.dom.xpath;uses:=\"org.w3c.dom\";version=\"{dollar}{felix.detect.java.version}\",org.xml.sax;version=\"{dollar}{felix.detect.java.version}\",org.xml.sax.ext;uses:=\"org.xml.sax,org.xml.sax.helpers\";version=\"{dollar}{felix.detect.java.version}\",org.xml.sax.helpers;uses:=\"org.xml.sax\";version=\"{dollar}{felix.detect.java.version}\"",
"sling.jpms.javax.xml": "{dollar}{sling.jre-1.8.javax.xml},javax.xml.catalog;uses:=\"javax.xml.namespace\";version=\"1.0.0\"",
// all from Java 1.8 and in addition javax.xml.catalog
"felix.systempackages.calculate.uses": "true",
"sling.bootdelegation.class.org.apache.felix.jaas.boot.ProxyLoginModule": "org.apache.felix.jaas.boot",
"org.osgi.framework.bootdelegation": "sun.*,com.sun.*,jdk.internal.reflect,jdk.internal.reflect.*",
"org.osgi.framework.system.packages.extra": "{dollar}{sling.jre-{dollar}{java.specification.version}.javax.xml}{dollar}{sling.{dollar}{felix.detect.jpms}.javax.xml},sun.net,sun.net.www",
"felix.systempackages.substitution": "true",
"felix.cm.config.plugins": "org.apache.felix.configadmin.plugin.interpolation"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment