All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ssie.nessie-quarkus.0.47.1.source-code.application.properties Maven / Gradle / Ivy

There is a newer version: 0.59.0
Show newest version
#
# Copyright (C) 2020 Dremio
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# Nessie settings
### default base branch name
nessie.server.default-branch=main
nessie.server.send-stacktrace-to-client=false

## Nessie authorization settings
### This will perform authorization on branches/tags and content where rule definitions are
### using a Common Expression Language (CEL) expression (an intro to CEL can be found at https://github.com/google/cel-spec/blob/master/doc/intro.md).
### Rule definitions are of the form nessie.server.authorization.rules.=
### Available variables within the  are: 'op' / 'role' / 'ref' / 'path'
### The 'op' variable in the  can be any of:
### 'VIEW_REFERENCE', 'CREATE_REFERENCE', 'DELETE_REFERENCE', 'READ_ENTRIES', 'READ_CONTENT_KEY', 'LIST_COMMIT_LOG',
### 'COMMIT_CHANGE_AGAINST_REFERENCE', 'ASSIGN_REFERENCE_TO_HASH', 'UPDATE_ENTITY', 'READ_ENTITY_VALUE', 'DELETE_ENTITY', 'VIEW_REFLOG'
### The 'role' refers to the user's role and can be any string
### The 'ref' refers to a string representing a branch/tag name
### The 'path' refers to the Key for the content of an object and can be any string
### Some "use-case-based" example rules are shown below (in practice you might rather create a single rule that allows e.g. branch creation/deletion/commits/...):
# nessie.server.authorization.enabled=false
# nessie.server.authorization.rules.allow_branch_listing=\
#   op=='VIEW_REFERENCE' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_branch_creation=\
#   op=='CREATE_REFERENCE' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_branch_deletion=\
#   op=='DELETE_REFERENCE' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_listing_commitlog=\
#   op=='LIST_COMMIT_LOG' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_entries_reading=\
#   op=='READ_ENTRIES' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_assigning_ref_to_hash=\
#   op=='ASSIGN_REFERENCE_TO_HASH' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_commits=\
#   op=='COMMIT_CHANGE_AGAINST_REFERENCE' && role.startsWith('test_user') && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_reading_entity_value=\
#   op=='READ_ENTITY_VALUE' && role=='test_user' && path.startsWith('allowed.')
# nessie.server.authorization.rules.allow_updating_entity=\
#   op=='UPDATE_ENTITY' && role=='test_user' && path.startsWith('allowed.')
# nessie.server.authorization.rules.allow_deleting_entity=\
#   op=='DELETE_ENTITY' && role=='test_user' && path.startsWith('allowed.')
# nessie.server.authorization.rules.allow_commits_without_entity_changes=\
#   op=='COMMIT_CHANGE_AGAINST_REFERENCE' && role=='test_user2' && ref.startsWith('allowedBranch')
# nessie.server.authorization.rules.allow_all=\
#   op in ['VIEW_REFERENCE','CREATE_REFERENCE','DELETE_REFERENCE','LIST_COMMITLOG','READ_ENTRIES','LIST_COMMIT_LOG',\
#   'COMMIT_CHANGE_AGAINST_REFERENCE','ASSIGN_REFERENCE_TO_HASH','UPDATE_ENTITY','READ_ENTITY_VALUE','DELETE_ENTITY'] \
#   && role=='admin_user'
# nessie.server.authorization.rules.allow_listing_reflog=\
#   op=='VIEW_REFLOG' && role=='admin_user'

### which type of version store to use: INMEMORY, ROCKS, DYNAMO, MONGO, TRANSACTIONAL.
nessie.version.store.type=INMEMORY

## Transactional database configuration
# Note: Nessie Quarkus Server is built with io.quarkus:quarkus-jdbc-postgresql only. If you need
# another database, the corresponding Quarkus extensions + driver need to be included in the build
# and the following setting updated.
quarkus.datasource.db-kind=postgresql
#quarkus.datasource.username=
#quarkus.datasource.password=
#quarkus.datasource.jdbc.url=jdbc:postgresql://localhost:5432/my_database
# Nessie tests manage PostgreSQL test containers explicitly. Datasource dev services are not necessary.
quarkus.datasource.devservices.enabled=false

## RocksDB version store specific configuration
#nessie.version.store.rocks.db-path=nessie-rocksdb

## MongoDB version store specific configuration
quarkus.mongodb.database=nessie
quarkus.mongodb.metrics.enabled=true
#quarkus.mongodb.connection-string=mongodb://localhost:27017
# fixed at buildtime
quarkus.mongodb.devservices.enabled=false

## Dynamo
quarkus.dynamodb.aws.region=us-west-2
quarkus.dynamodb.aws.credentials.type=DEFAULT
# quarkus.dynamodb.endpoint-override=http://localhost:8000
quarkus.dynamodb.sync-client.type=url
quarkus.dynamodb.devservices.enabled=false

# Quarkus settings
## Visit here for all configs: https://quarkus.io/guides/all-config
## some parameters are only configured at build time. These have been marked as such https://quarkus.io/guides/config#overriding-properties-at-runtime
quarkus.log.level=INFO
quarkus.log.console.level=INFO
# Somehow the trace-relevant IDs do not appear on the console, but they do in a log file... :(
#quarkus.log.console.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%X{traceId},%X{spanId},%X{sampled}] [%c{3.}] (%t) %s%e%n
quarkus.log.file.level=INFO
quarkus.log.file.format=%d{yyyy-MM-dd HH:mm:ss,SSS} %h %N[%i] %-5p [%X{traceId},%X{spanId},%X{sampled}] [%c{3.}] (%t) %s%e%n
quarkus.log.category."io.netty".level=WARN
# Effectively disable HTTP request logging to the console (HTTP access logs happen at INFO level)
quarkus.log.category."io.quarkus.http.access-log".level=${HTTP_ACCESS_LOG_LEVEL:INFO}

## Quarkus http related settings
quarkus.http.port=19120
quarkus.http.test-port=0
quarkus.http.access-log.enabled=true
# fixed at buildtime
quarkus.resteasy.path=/api
quarkus.resteasy.gzip.enabled=true

## Quarkus auth settings
#quarkus.oidc.credentials.secret=
#quarkus.oidc.client-id=
nessie.server.authentication.enabled=false
nessie.server.authentication.anonymous-paths=/q/health/live,/q/health/live/,/q/health/ready,/q/health/ready/
# to be overwritten by end user when enabling OpenID validation
quarkus.oidc.auth-server-url=http://127.255.0.0:0/auth/realms/unset/
# fixed at buildtime
quarkus.http.auth.basic=false
quarkus.oidc.enabled=true

## Quarkus swagger settings
# fixed at buildtime
quarkus.swagger-ui.always-include=true
quarkus.swagger-ui.enable=true

quarkus.application.name=Nessie

## sentry specific settings
quarkus.log.sentry.level=ERROR
quarkus.log.sentry.in-app-packages=org.projectnessie
quarkus.log.sentry=false
#quarkus.log.sentry.dsn=https://.ingest.sentry.io/

quarkus.banner.path=nessie-banner.txt

# Quarkus build settings - only change if building/deploying locally

## Quarkus required setting for third party indexing
# fixed at buildtime
quarkus.index-dependency.guava.group-id=com.google.guava
quarkus.index-dependency.guava.artifact-id=guava
quarkus.index-dependency.protobuf.group-id=com.google.protobuf
quarkus.index-dependency.protobuf.artifact-id=protobuf-java
quarkus.native.additional-build-args=\
  --initialize-at-run-time=com.google.common.cache.LongAddables,\
  --initialize-at-run-time=com.google.common.cache.Striped64,\
  --initialize-at-run-time=com.google.common.cache.Striped64$Cell,\
  --initialize-at-run-time=org.rocksdb.RocksDB,\
  --initialize-at-run-time=org.rocksdb.DBOptions,\
  --initialize-at-run-time=org.rocksdb.ColumnFamilyOptions,\
  --initialize-at-run-time=org.apache.http.impl.auth.NTLMEngineImpl,\
  -H:ResourceConfigurationFiles=resource-config.json,\
  -H:JNIConfigurationFiles=jni-config.json,\
  -J-Duser.language=en,\
  -J-Duser.country=US,\
  -J-Duser.variant=,\
  -J-Dfile.encoding=UTF-8
# Disable monitoring due to https://github.com/oracle/graal/issues/5303, reported via
# https://github.com/projectnessie/nessie/issues/5900
#   --enable-monitoring

## quarkus container specific settings
# fixed at buildtime
quarkus.container-image.group=projectnessie
quarkus.container-image.name=nessie

# Metrics collection settings
quarkus.micrometer.enabled=true
quarkus.micrometer.export.prometheus.enabled=true
quarkus.micrometer.binder.jvm=true

quarkus.opentelemetry.enabled=true
quarkus.opentelemetry.tracer.enabled=true

# Overrides
## dev overrides - dev is used when running Nessie in dev mode `mvn quarkus:dev`
%dev.quarkus.dynamodb.endpoint-override=http://localhost:8000
%dev.quarkus.dynamodb.aws.credentials.type=STATIC
%dev.quarkus.dynamodb.aws.credentials.static-provider.access-key-id=test-key
%dev.quarkus.dynamodb.aws.credentials.static-provider.secret-access-key=test-secret

mp.openapi.extensions.smallrye.operationIdStrategy=METHOD

# order matters below, since the first matching pattern will be used
quarkus.micrometer.binder.http-server.match-patterns=\
  /api/v2/trees/.*/contents/.*=/api/v2/trees/{ref}/contents/{key},\
  /api/v2/trees/.*/contents=/api/v2/trees/{ref}/contents,\
  /api/v2/trees/.*/entries=/api/v2/trees/{ref}/entries,\
  /api/v2/trees/.*/diff/.*=/api/v2/trees/{from-ref}/diff/{to-ref},\
  /api/v2/trees/.*/history=/api/v2/trees/{ref}/history,\
  /api/v2/trees/.*/history/commit=/api/v2/trees/{ref}/history/commit,\
  /api/v2/trees/.*/history/merge=/api/v2/trees/{ref}/history/merge,\
  /api/v2/trees/.*/history/transplant=/api/v2/trees/{ref}/history/transplant,\
  /api/v2/trees/.*=/api/v2/trees/{ref},\
  /api/v1/diffs/.*=/api/v1/diffs/{diff_params},\
  /api/v1/trees/branch/.*/commit=/api/v1/trees/branch/{branchName}/commit,\
  /api/v1/trees/branch/.*/transplant=/api/v1/trees/branch/{branchName}/transplant, \
  /api/v1/trees/branch/.*/merge=/api/v1/trees/branch/{branchName}/merge, \
  /api/v1/trees/branch/.*=/api/v1/trees/branch/{ref},\
  /api/v1/trees/tree/.*/entries=/api/v1/trees/tree/{ref}/entries,\
  /api/v1/trees/tree/.*/log=/api/v1/trees/tree/{ref}/log, \
  /api/v1/trees/tree/.*=/api/v1/trees/tree/{ref}, \
  /api/v1/trees/.*/.*=/api/v1/trees/{referenceType}/{ref}, \
  /api/v1/namespaces/namespace/.*/.*=/api/v1/namespaces/namespace/{ref}/{name}, \
  /api/v1/namespaces/.*=/api/v1/namespaces/{ref}, \
  /contents/.*=/contents/{key}

%test.quarkus.devservices.enabled=false
%test.quarkus.jacoco.report=false
%test.quarkus.jacoco.reuse-data-file=true




© 2015 - 2024 Weber Informatics LLC | Privacy Policy