399 lines
13 KiB
YAML
399 lines
13 KiB
YAML
|
# ======================== Elasticsearch Configuration =========================
|
||
|
#
|
||
|
# NOTE: Elasticsearch comes with reasonable defaults for most settings.
|
||
|
# Before you set out to tweak and tune the configuration, make sure you
|
||
|
# understand what are you trying to accomplish and the consequences.
|
||
|
#
|
||
|
# The primary way of configuring a node is via this file. This template lists
|
||
|
# the most important settings you may want to configure for a production cluster.
|
||
|
#
|
||
|
# Please see the documentation for further information on configuration options:
|
||
|
# <http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>
|
||
|
#
|
||
|
# ---------------------------------- Cluster -----------------------------------
|
||
|
#
|
||
|
# Use a descriptive name for your cluster:
|
||
|
#
|
||
|
cluster.name: gchange-pod-g1
|
||
|
#
|
||
|
# Host for remote access to the cluster - used by P2P and share modules (default: <none> = not accessible)
|
||
|
#
|
||
|
cluster.remote.host: aries.copylaradio.com
|
||
|
#
|
||
|
# Port for remote access to the cluster (Default: 80)
|
||
|
#
|
||
|
cluster.remote.port: 443
|
||
|
#
|
||
|
# Does remote access need SSL ? (default: 'true' if port=443, 'false' otherwise)
|
||
|
#
|
||
|
cluster.remote.useSsl: true
|
||
|
#
|
||
|
# ------------------------------------ Node ------------------------------------
|
||
|
#
|
||
|
# Use a descriptive name for the node: (default: will be generated)
|
||
|
#
|
||
|
node.name: aries
|
||
|
#
|
||
|
# Add custom attributes to the node: (Default: none)
|
||
|
#
|
||
|
# node.rack: r1
|
||
|
#
|
||
|
# ----------------------------------- Paths ------------------------------------
|
||
|
#
|
||
|
# Path to directory where to store the data (separate multiple locations by comma):
|
||
|
#
|
||
|
# path.data: /path/to/data
|
||
|
#
|
||
|
# Path to log files:
|
||
|
#
|
||
|
# path.logs: /path/to/logs
|
||
|
#
|
||
|
# ----------------------------------- Memory -----------------------------------
|
||
|
#
|
||
|
# Lock the memory on startup:
|
||
|
#
|
||
|
# bootstrap.mlockall: true
|
||
|
#
|
||
|
# Make sure that the `ES_HEAP_SIZE` environment variable is set to about half the memory
|
||
|
# available on the system and that the owner of the process is allowed to use this limit.
|
||
|
#
|
||
|
# Elasticsearch performs poorly when the system is swapping the memory.
|
||
|
#
|
||
|
# ---------------------------------- Network -----------------------------------
|
||
|
#
|
||
|
# Set the bind address to a specific IP (IPv4 or IPv6):
|
||
|
#
|
||
|
network.host: 127.0.0.1
|
||
|
#
|
||
|
# Set a custom port for HTTP:
|
||
|
#
|
||
|
http.port: 9200
|
||
|
|
||
|
http.cors.allow-origin: "/.*/"
|
||
|
http.cors.enabled: true
|
||
|
#
|
||
|
#http.compression: true
|
||
|
#
|
||
|
# Internal transport layer
|
||
|
#
|
||
|
# transport.tcp.port: 9210-9220
|
||
|
#
|
||
|
# For more information, see the documentation at:
|
||
|
# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html>
|
||
|
#
|
||
|
# --------------------------------- Discovery ----------------------------------
|
||
|
#
|
||
|
# Pass an initial list of hosts to perform discovery when new node is started:
|
||
|
# The default list of hosts is ["127.0.0.1", "[::1]"]
|
||
|
#
|
||
|
# discovery.zen.ping.unicast.hosts: ["host1", "host2"]
|
||
|
# discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
|
||
|
#
|
||
|
# Prevent the "split brain" by configuring the majority of nodes (total number of nodes / 2 + 1):
|
||
|
#
|
||
|
# discovery.zen.minimum_master_nodes: 3
|
||
|
#
|
||
|
# For more information, see the documentation at:
|
||
|
# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery.html>
|
||
|
#
|
||
|
# ---------------------------------- Gateway -----------------------------------
|
||
|
#
|
||
|
# Block initial recovery after a full cluster restart until N nodes are started:
|
||
|
#
|
||
|
# gateway.recover_after_nodes: 3
|
||
|
#
|
||
|
# For more information, see the documentation at:
|
||
|
# <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway.html>
|
||
|
#
|
||
|
# ---------------------------------- Various -----------------------------------
|
||
|
#
|
||
|
# Disable starting multiple nodes on a single system:
|
||
|
#
|
||
|
# node.max_local_storage_nodes: 1
|
||
|
#
|
||
|
# Require explicit names when deleting indices:
|
||
|
#
|
||
|
# action.destructive_requires_name: true
|
||
|
#
|
||
|
# Security to isolate plugin classpath - /!\ WARNING: should always be DISABLE
|
||
|
#
|
||
|
security.manager.enabled: false
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod ---------------------------------
|
||
|
#
|
||
|
# Enable Cesium+ pod core plugin (default: true)
|
||
|
#
|
||
|
duniter.enable: true
|
||
|
#
|
||
|
# Endpoint API for core module (indices on blockchain, peers, etc) (default: ES_CORE_API)
|
||
|
#
|
||
|
duniter.core.api: GCHANGE_API
|
||
|
#
|
||
|
# Delete then create all indices at startup - /!\ WARNING: DO NOT set to true in production
|
||
|
#
|
||
|
# duniter.indices.reload: true
|
||
|
#
|
||
|
# Default string analyzer
|
||
|
#
|
||
|
duniter.string.analyzer: french
|
||
|
#
|
||
|
# Enabling blockchain synchronization (default: true)
|
||
|
#
|
||
|
duniter.blockchain.enable: false
|
||
|
#
|
||
|
# Enabling blockchain movement indexation ? (default: ${duniter.blockchain.enable})
|
||
|
#
|
||
|
# duniter.blockchain.movement.enable: false
|
||
|
#
|
||
|
# Include/exclude blockchain movement, using regexp on `TX.comment` (default: <empty>)
|
||
|
#
|
||
|
duniter.blockchain.movement.includes.comment: ["GCHANGE:*"]
|
||
|
#
|
||
|
# duniter.blockchain.movement.excludes.comment: []
|
||
|
#
|
||
|
# Enabling blockchain peers indexation ? (default: ${duniter.blockchain.enable})
|
||
|
# /!\ WARNING: should always be DISABLE for gchange-pod
|
||
|
#
|
||
|
duniter.blockchain.peer.enable: false
|
||
|
#
|
||
|
# Enabling pending memberships indexation ? (default: ${duniter.blockchain.enable})
|
||
|
# /!\ WARNING: should always be DISABLE for gchange-pod
|
||
|
#
|
||
|
duniter.blockchain.membership.pending.enable: false
|
||
|
#
|
||
|
# Enable user event on blockchain ? (default: true)
|
||
|
# /!\ WARNING: should always be DISABLE for gchange-pod
|
||
|
#
|
||
|
duniter.blockchain.event.user.enable: false
|
||
|
#
|
||
|
# Enable events for the node admin (e.g. node start/stop) (default: true)
|
||
|
#
|
||
|
# duniter.blockchain.event.admin.enable: false
|
||
|
#
|
||
|
# Force blockchain full synchronization - /!\ WARNING: all user events will be reset to 'unread'
|
||
|
#
|
||
|
# duniter.blockchain.reload: true
|
||
|
# duniter.blockchain.reload.from: 18900
|
||
|
# duniter.blockchain.reload.to: 19000
|
||
|
#
|
||
|
# Duniter node address
|
||
|
#
|
||
|
duniter.host: g1.presles.fr
|
||
|
duniter.port: 443
|
||
|
duniter.useSsl: true
|
||
|
#
|
||
|
# Network timeout, in millisecond (default: 20000 = 20s)
|
||
|
#
|
||
|
# duniter.network.timeout: 5000
|
||
|
#
|
||
|
# Compute statistics on indices (each hour) ? (default: true)
|
||
|
#
|
||
|
# duniter.stats.enable: false
|
||
|
#
|
||
|
# Software name (used when calling GET request on /node/summary) (default: 'cesium-plus-pod')
|
||
|
#
|
||
|
duniter.software.name: gchange-pod
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > security module -------------------
|
||
|
#
|
||
|
# Keyring, use to sign emitted documents (user events, subscription, etc.).
|
||
|
# If not set, random keys will be generated.
|
||
|
#
|
||
|
# duniter.keyring.salt:
|
||
|
# duniter.keyring.password:
|
||
|
#
|
||
|
# Enable security - will restrict HTTP access to only known ES indices
|
||
|
# /!\ WARNING: should be enable for production use
|
||
|
#
|
||
|
duniter.security.enable: true
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > P2P module -------------------------
|
||
|
#
|
||
|
# Enable P2P synchronize between ES peers ? (default: true)
|
||
|
#
|
||
|
# duniter.p2p.enable: false
|
||
|
#
|
||
|
# Enable P2P synchronisation using websocket ? (default: true)
|
||
|
#
|
||
|
# duniter.p2p.ws.enable: false
|
||
|
#
|
||
|
# Time delay (in seconds) to request last documents to peer (e.g. if peer's clock is late). (default: 3600s = 1h)
|
||
|
#
|
||
|
# duniter.p2p.peerTimeOffset: 3600
|
||
|
#
|
||
|
# Enable discovery on network peers, to automatically synchronize this peers (default: true)
|
||
|
#
|
||
|
# duniter.p2p.discovery.enable: false
|
||
|
#
|
||
|
# Pass a list of hosts to always synchronize (default: <empty>)
|
||
|
#
|
||
|
duniter.p2p.includes.endpoints: [
|
||
|
"GCHANGE_API data.gchange.fr 443",
|
||
|
"GCHANGE_SUBSCRIPTION_API data.gchange.fr 443"
|
||
|
]
|
||
|
#
|
||
|
# Pass a list of pubkeys to always synchronize (default: <empty>)
|
||
|
#
|
||
|
# duniter.p2p.includes.pubkeys: [""]
|
||
|
#
|
||
|
# Enable a full synchro. This will compare each documents from other peers. (default: false)
|
||
|
#
|
||
|
# duniter.p2p.fullResyncAtStartup: true
|
||
|
#
|
||
|
# Peer API to index (default : ["BASIC_MERKLE_API", "BMAS", "WS2P" ] UNION ${duniter.p2p.peering.targetedApis} UNION ${duniter.p2p.peering.publishedApis})
|
||
|
#
|
||
|
duniter.p2p.peer.indexedApis: [
|
||
|
"GCHANGE_API"
|
||
|
]
|
||
|
#
|
||
|
# Enable publishing of pod endpoints to the network (see the peer document in Duniter protocol). (Default: '${duniter.p2p.enable}')
|
||
|
#
|
||
|
duniter.p2p.peering.enable: true
|
||
|
#
|
||
|
# Define targeted API (for peers selection) where to send the peer document (if peering is enable). (Default: ["BASIC_MERKLED_API", "BMAS"])
|
||
|
# This API should accept a POST request to '/network/peering' (will send a see the Duniter protocol)
|
||
|
#
|
||
|
duniter.p2p.peering.targetedApis: [
|
||
|
"GCHANGE_API"
|
||
|
]
|
||
|
#
|
||
|
# Define cluster API to publish (if peering is enable). By default, all compatible API
|
||
|
#
|
||
|
duniter.p2p.peering.publishedApis: [
|
||
|
"GCHANGE_API", "GCHANGE_SUBSCRIPTION_API"
|
||
|
]
|
||
|
#
|
||
|
# Interval for publishing peer document to the network, in seconds. (Default: 7200 =2h)
|
||
|
#
|
||
|
# duniter.p2p.peering.interval: 7200
|
||
|
#
|
||
|
# Cache time for peers (GET request /network/peers and /network/peering/peers), in seconds. (Default: 600 = 10min)
|
||
|
# Use 0 (zero) to disable the cache
|
||
|
#
|
||
|
# duniter.p2p.peers.cache.timeToLive: 0
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > document moderation ---------------
|
||
|
#
|
||
|
# Filter too old document, if time older that 'maxPastDelta' (in seconds). (default: 7200 =2h)
|
||
|
#
|
||
|
# duniter.document.time.maxPastDelta: 7200
|
||
|
#
|
||
|
# Filter document in the future, if time greater that 'maxFutureDelta' (in seconds). (default: 600 =10min)
|
||
|
#
|
||
|
# duniter.document.time.maxFutureDelta: 600
|
||
|
#
|
||
|
# Allow admin (define in duniter.keyring) to delete documents ? (default: true)
|
||
|
#
|
||
|
# duniter.document.moderators.admin: false
|
||
|
#
|
||
|
# Public keys of moderators. Moderators can delete any user documents (profile, page comment, etc.) (default: <empty>)
|
||
|
#
|
||
|
duniter.document.moderators.pubkeys: [
|
||
|
'HmH5beJqKGMeotcQUrSW7Wo5tKvAksHmfYXfiSQ9EbWz', # Admin of gchange.fr
|
||
|
'8PTThXiUSwwuPoqQWw3tuAn4MpvzQzpKhs6LMuiozS7Z', # B. Lavenier (gchange maintainer)
|
||
|
'47JpfrGkoHJWtumeu7f67fbAxkvaHYVQBNo5GszNs61Z' # B. Presles (gchange developer)
|
||
|
]
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > Mail module -----------------------
|
||
|
#
|
||
|
# Enable mail module ?
|
||
|
#
|
||
|
duniter.mail.enable: false
|
||
|
#
|
||
|
# Mail: SMTP server configuration (host and port)
|
||
|
#
|
||
|
# duniter.mail.smtp.host: localhost
|
||
|
# duniter.mail.smtp.port: 25
|
||
|
#
|
||
|
# Mail: SMTP server SSL security
|
||
|
#
|
||
|
# duniter.mail.smtp.ssl: true
|
||
|
# duniter.mail.smtp.starttls: true
|
||
|
#
|
||
|
# Mail: SMTP server authentication
|
||
|
#
|
||
|
# duniter.mail.smtp.username:
|
||
|
# duniter.mail.smtp.password:
|
||
|
#
|
||
|
# Mail: 'from' address
|
||
|
#
|
||
|
# duniter.mail.from: no-reply@domain.com
|
||
|
#
|
||
|
# Mail: admin address
|
||
|
#
|
||
|
# duniter.mail.admin: user@domain.com
|
||
|
#
|
||
|
# Mail: subject prefix (default: '[Cesium+]')
|
||
|
#
|
||
|
duniter.mail.subject.prefix: '[Ğchange]'
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > User module ---------------------------
|
||
|
#
|
||
|
# Enable user module (Allow to store User profile, private message, page, group...) (default: true)
|
||
|
#
|
||
|
# duniter.user.enable: false
|
||
|
#
|
||
|
# Endpoint API for user data (use by P2P synchronization) (default: 'ES_USER_API')
|
||
|
#
|
||
|
duniter.user.api: 'GCHANGE_API'
|
||
|
#
|
||
|
# Requirements to send abuse report on document (profile, page, etc.) (default: ['member'])
|
||
|
#
|
||
|
duniter.abuse.issuer.requirements: ['profile']
|
||
|
#
|
||
|
# Requirements to send likes on document (profile, page, etc.) (default: empty)
|
||
|
#
|
||
|
duniter.like.issuer.requirements: ['profile']
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > Subscription module -------------------
|
||
|
#
|
||
|
# Enable subscription module (Need to enable mail features) (default: true)
|
||
|
#
|
||
|
# duniter.subscription.enable: false
|
||
|
#
|
||
|
# Endpoint API for subscription data (use by P2P synchronization) (default: ES_SUBSCRIPTION_API)
|
||
|
#
|
||
|
duniter.subscription.api: 'GCHANGE_SUBSCRIPTION_API'
|
||
|
#
|
||
|
# Email subscription: Day of the week to trigger weekly (default: 2 = monday)
|
||
|
#
|
||
|
# duniter.subscription.email.dayOfWeek: 2
|
||
|
#
|
||
|
# Email subscription: Hour in day to trigger daily email subscription (default: 3 AM)
|
||
|
#
|
||
|
# duniter.subscription.email.hourOfDay: 3
|
||
|
#
|
||
|
# Email subscription: URL to a web site, for links in the email content (default: https://g1.duniter.fr)
|
||
|
#
|
||
|
duniter.subscription.email.link.url: 'https://gchange.fr'
|
||
|
#
|
||
|
# Name of the button in the email, to access to notifications (default: 'Cesium')
|
||
|
#
|
||
|
duniter.subscription.email.link.name: 'Ğchange'
|
||
|
#
|
||
|
# ---------------------------------- Cesium+ Pod > Share module -------------------
|
||
|
#
|
||
|
# Share title: `og:site_name` (default: 'Cesium')
|
||
|
#
|
||
|
duniter.share.site.name: 'Ğchange'
|
||
|
#
|
||
|
# URL to a page (default: https://g1.duniter.fr/#/app/page/view/{id}/{title} )
|
||
|
# Note: available variables are {id} and {title}
|
||
|
#
|
||
|
duniter.share.page.link.url: 'https://www.gchange.fr/#/app/page/view/{id}/{title}'
|
||
|
#
|
||
|
# URL to a user profile (default: https://g1.duniter.fr/#/app/wot/{pubkey}/{title} )
|
||
|
# Note: available variables are {pubkey} and {title}
|
||
|
#
|
||
|
duniter.share.user.link.url: 'https://www.gchange.fr/#/app/wot/{pubkey}/{title}'
|
||
|
#
|
||
|
# Default image to share (min size of 200x200px) for `og:image` (default: https://g1.duniter.fr/img/logo_200px.png)
|
||
|
#
|
||
|
duniter.share.image.default.url: 'https://www.gchange.fr/img/logo_200px.png'
|
||
|
#
|
||
|
# Share market link (e.g. Ad): (default: https://gchange.fr/#/app/market/view/{id}/{title} )
|
||
|
# Note: available variables are {id} and {title}
|
||
|
#
|
||
|
duniter.share.market.link.url: 'https://www.gchange.fr/#/app/market/view/{id}/{title}'
|
||
|
#
|