/
gravitee.yml
655 lines (610 loc) · 27.5 KB
/
gravitee.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
############################################################################################################
################################ Gravitee.IO Management API - Configuration ################################
############################################################################################################
############################################################################################################
# This file is the general configuration of Gravitee.IO Management API:
# - Properties (and respective default values) in comment are provided for information.
# - You can reference other property by using ${property.name} syntax
# - gravitee.home property is automatically set-up by launcher and refers to the installation path. Do not override it !
#
# Please have a look to https://documentation.gravitee.io/ for more options and fine-grained granularity
############################################################################################################
# Console settings
#console:
## Pendo Analysis Tool
# To make our SaaS offering easier to use, we now have the ability to track activity in Pendo. This is disabled by
# default, but if you'd like to help us in this journey, don't hesitate to reach us to get our key ;)
# analytics:
# pendo:
# enabled: false
# apiKey: 'myKey'
## Console dashboards
# dashboards:
# path: ${gravitee.home}/dashboards
# HTTP Server
#jetty:
# IP/hostname to bind to. Default is 0.0.0.0
# host: 0.0.0.0
# port: 8083
# idleTimeout: 30000
# acceptors: -1
# selectors: -1
# pool:
# minThreads: 10
# maxThreads: 200
# idleTimeout: 60000
# queueSize: 6000
# jmx: false
# statistics: false
# accesslog:
# enabled: true
# path: ${gravitee.home}/logs/gravitee_accesslog_yyyy_mm_dd.log
# secured: false
# ssl:
# keystore:
# type: jks # Supports jks, pkcs12
# path: ${gravitee.home}/security/keystore.jks
# password: secret
# truststore:
# type: jks # Supports jks, pkcs12
# path: ${gravitee.home}/security/truststore.jks
# password: secret
http:
api:
# Configure the listening path for the API. Default to /
# entrypoint: /
# Configure Management API and Portal API.
# management:
# enabled: true
# entrypoint: ${http.api.entrypoint}management
# cors:
# Allows to configure the header Access-Control-Allow-Origin (default value: *)
# '*' is a valid value but is considered as a security risk as it will be opened to cross origin requests from anywhere.
# allow-origin: '*'
# Allows to define how long the result of the preflight request should be cached for (default value; 1728000 [20 days])
# max-age: 1728000
# Which methods to allow (default value: OPTIONS, GET, POST, PUT, DELETE)
# allow-methods: 'OPTIONS, GET, POST, PUT, DELETE'
# Which headers to allow (default values: Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With, If-Match, X-Xsrf-Token)
# allow-headers: 'Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With, If-Match, X-Xsrf-Token'
# Allows to configure the header Access-Control-Expose-Headers
# exposed-headers: 'ETag;X-Xsrf-Token'
# portal:
# enabled: true
# entrypoint: ${http.api.entrypoint}portal
# cors:
# Allows to configure the header Access-Control-Allow-Origin (default value: *)
# '*' is a valid value but is considered as a security risk as it will be opened to cross origin requests from anywhere.
# allow-origin: '*'
# Allows to define how long the result of the preflight request should be cached for (default value; 1728000 [20 days])
# max-age: 1728000
# Which methods to allow (default value: OPTIONS, GET, POST, PUT, DELETE)
# allow-methods: 'OPTIONS, GET, POST, PUT, DELETE'
# Which headers to allow (default values: Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With, If-Match, X-Xsrf-Token)
# allow-headers: 'Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With, If-Match, X-Xsrf-Token'
# Allows to configure the header Access-Control-Expose-Headers
# exposed-headers: 'ETag;X-Xsrf-Token'
csrf:
# Allows to enable or disable the CSRF protection. Enabled by default.
enabled: true
hsts:
enabled: true
include-sub-domains: true
max-age: 31536000
# Plugins repository
#plugins:
# path:
# - ${gravitee.home}/plugins
# - ${gravitee.home}/my-custom-plugins
# note that for a given plugin a more recent zip file will take precedence regardless its manifest version
# Management repository is used to store global configuration such as APIs, applications, apikeys, ...
# This is the default configuration using MongoDB (single server)
# For more information about MongoDB configuration, please have a look to:
# - http://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-core/com/mongodb/MongoClientSettings.Builder.html
management:
type: mongodb # repository type
mongodb: # mongodb repository
# prefix: # collections prefix
dbname: ${ds.mongodb.dbname} # mongodb name (default gravitee)
host: ${ds.mongodb.host} # mongodb host (default localhost)
port: ${ds.mongodb.port} # mongodb port (default 27017)
## Client settings
# description: # mongodb description (default gravitee.io)
# username: # mongodb username (default null)
# password: # mongodb password (default null)
# authSource: # mongodb authentication source (when at least a user or a password is defined, default gravitee)
# retryWrites: # mongodb retriable writes (default true)
# readPreference: # possible values are 'nearest', 'primary', 'primaryPreferred', 'secondary', 'secondaryPreferred'
# readPreferenceTags: # list of read preference tags (https://docs.mongodb.com/manual/core/read-preference-tags/#std-label-replica-set-read-preference-tag-sets)
### Write concern
# writeConcern: # possible values are 1,2,3... (the number of node) or 'majority' (default is 1)
# wtimeout: # (default is 0)
# journal: # (default is true)
## Socket settings
# connectTimeout: # mongodb connection timeout (default 1000)
# socketTimeout: # mongodb socket timeout (default 1000)
## Cluster settings
# serverSelectionTimeout: # mongodb server selection timeout (default 1000)
# localThreshold: # mongodb local threshold (default 15)
## Connection pool settings
# maxWaitTime: # mongodb max wait time (default 120000)
# maxConnectionLifeTime: # mongodb max connection life time (default 0)
# maxConnectionIdleTime: # mongodb max connection idle time (default 0)
# connectionsPerHost: # mongodb max connections per host (default 100)
# minConnectionsPerHost: # mongodb min connections per host (default 0)
## Server settings
# heartbeatFrequency: # mongodb heartbeat frequency (default 10000)
# minHeartbeatFrequency: # mongodb min heartbeat frequency (default 500)
## SSL settings
# sslEnabled: # mongodb ssl mode (default false)
# sslInvalidHostNameAllowed: # mongodb ssl allow invalid host name (default false)
# tlsProtocol: # protocol to use when connecting to the mongodb instance (when sslEnabled is true, default TLS)
# keystore:
# path: # Path to the keystore (when sslEnabled is true, default null)
# type: # Type of the keystore, supports jks, pem, pkcs12 (when sslEnabled is true, default null)
# password: # KeyStore password (when sslEnabled is true, default null)
# keyPassword: # Password for recovering keys in the KeyStore (when sslEnabled is true, default null)
# truststore:
# path: # Path to the truststore (when sslEnabled is true, default null)
# type: # Type of the truststore, supports jks, pem, pkcs12 (when sslEnabled is true, default null)
# password: # Truststore password (when sslEnabled is true, default null)
# Management repository: single MongoDB using URI
# For more information about MongoDB configuration using URI, please have a look to:
# - http://mongodb.github.io/mongo-java-driver/4.1/apidocs/mongodb-driver-core/com/mongodb/ConnectionString.html
#management:
# type: mongodb
# mongodb:
# uri: mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
# Management repository: clustered MongoDB
#management:
# type: mongodb
# mongodb:
# servers:
# - host: mongo1
# port: 27017
# - host: mongo2
# port: 27017
# dbname: ${ds.mongodb.dbname}
# connectTimeout: 500
# socketTimeout: 250
services:
core:
http:
enabled: true
port: 18083
host: localhost
authentication:
# authentication type to be used for the core services
# - none : to disable authentication
# - basic : to use basic authentication
# default is "basic"
type: basic
users:
admin: adminadmin
# metrics service
metrics:
enabled: false
prometheus:
enabled: true
# v3 upgrader service. Can be disabled after first launch.
v3-upgrader:
enabled: true
# AutoFetch service. (since 3.2)
# Use to fetch periodically documentation pages.
auto_fetch:
enabled: true
cron: "0 */5 * * * *"
# Subscription service
subscription:
enabled: true
# Pre-expiration notification, number of days before the expiration an email should be send to subscriber and primary owner
pre-expiration-notification-schedule: 90,45,30
# Analytics repository is used to store all reporting, metrics, health-checks stored by gateway instances
# This is the default configuration using Elasticsearch. If you want to disable it completely, you can set
# the type as "none"
analytics:
type: elasticsearch # or none
elasticsearch:
endpoints:
- http://${ds.elastic.host}:${ds.elastic.port}
# index: gravitee
# index_per_type: true
# index_mode: daily # "daily" indexes, suffixed with date. Or "ilm" managed indexes, without date
# cross_cluster:
# mapping:
# tenant_id: cluster_name
# tenant_id: cluster_name
# security:
# username: user
# password: secret
# http:
# timeout: 10000 # in milliseconds
# proxy:
# type: HTTP #HTTP, SOCK4, SOCK5
# http:
# host: localhost
# port: 3128
# username: user
# password: secret
# https:
# host: localhost
# port: 3128
# username: user
# password: secret
## Logging settings
#logging:
# messageSampling:
# probabilistic:
# default: 0.01
# limit: 0.5
# count:
# default: 100
# limit: 10
# temporal:
# default: PT1S
# limit: PT1S
# Authentication and identity sources
# Users can have following roles (authorities):
# USER: Can access portal and be a member of an API
# API_PUBLISHER: Can create and manage APIs
# API_CONSUMER: Can create and manage Applications
# ADMIN: Can manage global system
security:
# When using an authentication providers, use trustAll mode for TLS connections
# trustAll: false
providers: # authentication providers
- type: memory
# allow search results to display the user email. Be careful, It may be contrary to the user privacy.
# allow-email-in-search-results: true
# password encoding/hashing algorithm. One of:
# - bcrypt : passwords are hashed with bcrypt (supports only $2a$ algorithm)
# - none : passwords are not hashed/encrypted
# default value is bcrypt
password-encoding-algo: bcrypt
users:
- user:
username: user
#firstname:
#lastname:
# Passwords are encoded using BCrypt
# Password value: password
password: $2a$10$9kjw/SH9gucCId3Lnt6EmuFreUAcXSZgpvAYuW2ISv7hSOhHRH1AO
roles: ORGANIZATION:USER,ENVIRONMENT:USER
# Useful to receive notifications
#email:
- user:
username: admin
#firstname:
#lastname:
# Password value: admin
password: $2a$10$Ihk05VSds5rUSgMdsMVi9OKMIx2yUvMz7y9VP3rJmQeizZLrhLMyq
roles: ORGANIZATION:ADMIN,ENVIRONMENT:ADMIN
#email:
- user:
username: api1
#firstname:
#lastname:
# Password value: api1
password: $2a$10$iXdXO4wAYdhx2LOwijsp7.PsoAZQ05zEdHxbriIYCbtyo.y32LTji
# You can declare multiple roles using comma separator
roles: ORGANIZATION:USER,ENVIRONMENT:API_PUBLISHER
#email:
- user:
username: application1
#firstname:
#lastname:
# Password value: application1
password: $2a$10$2gtKPYRB9zaVaPcn5RBx/.3T.7SeZoDGs9GKqbo9G64fKyXFR1He.
roles: ORGANIZATION:USER,ENVIRONMENT:USER
#email:
# Enable authentication using internal repository
- type: gravitee
# allow search results to display the user email. Be careful, It may be contrary to the user privacy.
# allow-email-in-search-results: true
# Enable authentication using an LDAP/Active Directory
# - type: ldap
# This is default LDAP configuration for ApacheDS
# context:
# username: "uid=admin,ou=system"
# password: "secret"
# url: "ldap://localhost:10389/c=io,o=gravitee"
# base: "c=io,o=gravitee" # the context source base
# referral: "ignore"
# authentication:
# user:
# Search base for user authentication. Defaults to "". Only used with user filter.
# It should be relative to the Base DN. If the whole DN is o=user accounts,c=io,o=gravitee then the base should be like this:
# base: "o=user accounts"
# The LDAP filter used to search for user during authentication. For example "(uid={0})". The substituted parameter is the user's login name.
# filter: "mail={0}"
# Specifies the attribute name which contains the user photo (URL or binary)
# photo-attribute: "jpegPhoto"
# group:
# Search base for groups searches. Defaults to "". Only used with group filter.
# It should be relative to the Base DN. If the whole DN is o=authorization groups,c=io,o=gravitee then the base should be like this:
# base: "o=authorization groups"
# filter: "member={0}"
# role:
# attribute: "cn"
# mapper: {
# GRAVITEE-CONSUMERS: API_CONSUMER,
# GRAVITEE-PUBLISHERS: API_PUBLISHER,
# GRAVITEE-ADMINS: ADMIN,
# GRAVITEE-USERS: USER
# }
# lookup:
# allow search results to display the user email. Be careful, It may be contrary to the user privacy.
# allow-email-in-search-results: true
# user:
# Search base for user searches. Defaults to "". Only used with user filter.
# It should be relative to the Base DN. If the whole DN is o=user accounts,c=io,o=gravitee then the base should be like this:
# base: "o=user accounts"
# The LDAP filter used to search for user during authentication. For example "(uid={0})". The substituted parameter is the user's login name.
# filter: "(&(objectClass=Person)(|(cn=*{0}*)(uid={0})))"
# Define absolute path for the a default API icon (png format)
# If not define, an API without icon with display a random image
#configuration:
# default-api-icon:
# SMTP configuration used to send mails
email:
enabled: false
host: smtp.my.domain
subject: "[Gravitee.io] %s"
port: 587
from: noreply@my.domain
# username: user@my.domain
# password: password
# properties:
# auth: true
# starttls.enable: true
# ssl.trust: smtp.gmail.com
# Mail templates
#templates:
# path: ${gravitee.home}/templates
#portal:
# themes:
# path: ${gravitee.home}/themes
# Allows domains to be used while generating some emails from the portal. ie. registration, forget password
# Empty whitelist means all urls are allowed.
# whitelist:
# - https://portal.domain.com
# - https://private-portal.domain.com
# Referenced properties
ds:
mongodb:
dbname: gravitee
host: localhost
port: 27017
elastic:
host: localhost
port: 9200
jwt:
secret: myJWT4Gr4v1t33_S3cr3t
# Allows to define the end of validity of the token in seconds (default 604800 = a week)
#expire-after: 604800
# Allows to define the end of validity of the token in seconds for email registration (default 86400 = a day)
#email-registration-expire-after: 86400
# Allows to define issuer (default gravitee-management-auth)
#issuer: gravitee-management-auth
# Allows to define cookie context path (default /)
#cookie-path: /
# Allows to define cookie domain (default "")
#cookie-domain: .gravitee.io
# Allows to define if cookie secure only (default false)
#cookie-secure: true
swagger:
# Default scheme used when creating an API from a Swagger descriptor if there is no scheme specified.
scheme: https
# User management configuration
user:
login:
# Create a default application when user connects to the portal for the very first time (default true)
#defaultApplication: true
# Password complexity validation policy
# Applications should enforce password complexity rules to discourage easy to guess passwords.
# Passwords should require a minimum level of complexity that makes sense for the application and its user population.
password:
policy:
# description field is used to display a message to the user enter a password that does not match the policy. Leave it blank to disable the message.
description: Password must be at least 12 characters long, contain at least one digit, one upper case letter, one lower case letter, one special character, and no more than 2 consecutive equal characters.
pattern: ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!~<>.,;:_=?/*+\-#\"'&§`£€%°()|\[\]$^@])(?!.*(.)\1{2,}).{12,128}$
# Example : ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!~<>.,;:_=?/*+\-#\"'&§`£€%°()|\[\]$^@])(?!.*(.)\1{2,}).{12,128}$
# ^ # start-of-string
#(?=.*[0-9]) # a digit must occur at least once
#(?=.*[A-Z]) # an upper case letter must occur at least once
#(?=.*[a-z]) # a lower case letter must occur at least once
#(?=.*[!~<>.,;:_=?/*+\-#\"'&§`£€%°()|\[\]$^@]) # a special character must occur at least once
#((?!.*(.)\1{2,}) # no more than 2 consecutive equal characters
#.{12,128} # anything, between 12 and 128 characters
#$ # end-of-string
creation:
token:
#expire-after: 86400
reference:
# Secret key used to generate reference of a user which is unique (default: s3cR3t4grAv1t33.1Ous3D4R3f3r3nc3)
# Must contains 32 chars (256 bits)
#secret:
anonymize-on-delete:
#enabled: false
# Enable / disable documentation sanitize. Enabled by default.
documentation:
markdown:
sanitize: true
#imports:
# Enable / disable import from private hosts. Enabled by default. (See https://en.wikipedia.org/wiki/Private_network)
# allow-from-private: true
# Empty whitelist means all urls are allowed. Note: allow-from-private is ignored when whitelist is defined.
# whitelist:
# - https://whitelist.domain1.com
# - https://restricted.domain2.com/whitelisted/path
search:
data: ${gravitee.home}/data
# global configuration of the http client
#httpClient:
# timeout: 10000 # in milliseconds
# proxy:
# exclude-hosts: # list of hosts to exclude from proxy (wildcard hosts are supported)
# - '*.internal.com'
# - internal.mycompany.com
# type: HTTP #HTTP, SOCK4, SOCK5
# http:
# host: localhost
# port: 3128
# username: user
# password: secret
# https:
# host: localhost
# port: 3128
# username: user
# password: secret
notifiers:
email:
enabled: true
host: ${email.host}
subject: ${email.subject}
port: ${email.port}
# username: ${email.username}
# password: ${email.password}
# starttls.enabled: false
## Authentication method restrictions for the notifier
## possible values are: XOAUTH2,NTLM,DIGEST-MD5,CRAM-SHA256,CRAM-SHA1,CRAM-MD5,LOGIN,PLAIN
## when not set, all authMethods are selected
# authMethods: LOGIN,PLAIN
# ssl:
# trustAll: false
# keyStore:
# keyStorePassword:
# webhook:
# enabled: true
# Empty whitelist means all urls are allowed.
# whitelist:
# - https://whitelist.domain1.com
# - https://restricted.domain2.com/whitelisted/path
# Allows to enable or disable recaptcha (see https://developers.google.com/recaptcha/docs/v3). Currently, it only affect the user registration route.
#reCaptcha:
# enabled: false
# siteKey:
# secretKey:
# minScore: 0.5
# serviceUrl: https://www.google.com/recaptcha/api/siteverify
#el:
# Allows to define which methods or classes are accessible to the Expression Language engine (/!\ caution, changing default whitelist may expose you to security issues).
# A complete list of default whitelist methods can be found here (https://raw.githubusercontent.com/gravitee-io/gravitee-expression-language/master/src/main/resources/whitelist).
# whitelist:
# Allows to define if the specified list of method or classes should be append to the default one or should replace it.
# We recommend you to always choose 'append' unless you absolutely kwnow what you are doing.
# mode: append
# Define the list of classes or methods to append (or set) to made accessible to the Expression Language.
# start with 'method' to allow a specific method (complete signature).
# start with 'class' to allow a complete class. All methods of the class will then be accessible.
# list:
# Ex: allow access to DateTimeFormatter.ofLocalizedDate(FormatStyle) method
# - method java.time.format.DateTimeFormatter ofLocalizedDate java.time.format.FormatStyle
# Ex: allow access to all methods of DateTimeFormatter class
# - class java.time.format.DateTimeFormatter
#groovy:
# Allows to define which methods, fields, constructors, annotations or classes are accessible to the Groovy Script (/!\ caution, changing default whitelist may expose you to security issues).
# A complete list of default whitelist methods can be found here (https://raw.githubusercontent.com/gravitee-io/gravitee-policy-groovy/master/src/main/resources/groovy-whitelist).
# whitelist:
# Allows to define if the specified list of methods, fields, constructors or classes should be append to the default one or should replace it.
# We recommend you to always choose 'append' unless you absolutely know what you are doing.
# mode: append
# Define the list of classes, methods, constructors, fields or annotations to append (or set) to made accessible to the Groovy Script.
# start with 'method' to allow a specific method (complete signature).
# start with 'class' to allow a complete class. All methods, constructors and fields of the class will then be accessible.
# start with 'new' to allow a specific constructor (complete signature).
# start with 'field' to allow access to a specific field of a class.
# start with 'annotation' to allow use of a specific annotation.
# list:
# Ex: allow access to DateTimeFormatter.ofLocalizedDate(FormatStyle) method
# - method java.time.format.DateTimeFormatter ofLocalizedDate java.time.format.FormatStyle
# Ex: allow access to all methods, constructors and fields of DateTimeFormatter class
# - class java.time.format.DateTimeFormatter
# Ex: allow usage of field Integer.MAX_VALUE
# - field java.lang.Integer MAX_VALUE
# Ex: allow usage of @Override annotation
# - annotation java.lang.Override
# Allows to enable or disable the 'Subscribe to newsletter' feature when user completes his profile on first log in. Default is enabled.
#newsletter:
# enabled: true
# Specify the visibility duration of a gateway in Unknown State (in seconds)
# Default : 604800 seconds (7 days)
#gateway:
# unknown-expire-after: 604800
# Cockpit
#cockpit:
# enabled: false
# connector:
# ws:
# endpoints:
# ## Specify the URL to cockpit instance. Default is the Gravitee SAAS instance
# - https://cockpit.gravitee.io
## Specify the auth path used to authenticate from cockpit. {token} placeholder can be used and will be replaced by cockpit token.
# auth:
# path: /auth/cockpit?token={token}
#installation:
# type: standalone # Could be either standalone, multi-tenant; Default is standalone.
# # Specify the URL of Management API of this instance, mandatory if you want to connect it to Cockpit
# api:
# # Specify the URLs of Management API, mandatory if you want to connect it to Cockpit with a standalone installation
# url: http://localhost:8083
# proxyPath:
# management: ${http.api.management.entrypoint}
# portal: ${http.api.portal.entrypoint}
# standalone:
# console:
# url: http://localhost:3000
# # If you have multi console instances targeting different organizations, you can configure the section as bellow instead:
# urls:
# - orgId: DEFAULT
# url: http://localhost:3000
# - orgId: example
# url: http:/localhost:3001
# # Specify the URL of Portal UI of this instance
# portal:
# url: http://localhost:4100
# # If you have multi portal instances targeting different environments, you can configure the section as bellow instead:
# urls:
# - envId: DEFAULT
# url: http://localhost:4100
# - envId: example
# url: http:/localhost:4101
# multi-tenant:
# # Specify the access points of your installation, mandatory if you want to connect it to Cockpit with a multi-tenant installation
# # You can use template variable such as {account}, {organization} or {environment}
# accessPoints:
# organization:
# console:
# host: '{organization}.{account}.example.com'
# secured: true
# console-api:
# host: '{organization}.{account}.example.com'
# secured: true
# environment:
# portal:
# host: '{environment}.{organization}.{account}.example.com'
# secured: true
# portal-api:
# host: '{environment}.{organization}.{account}.example.com'
# secured: true
# gateway:
# host: '{environment}.{organization}.{account}.example.com'
# secured: true
# External Authentication
#auth:
# external:
# enabled: true
# algorithm: HS256
# verificationKey: ozhbx5HJCS41NzKrBSQ0vZU1WOmG0Uhm
# issuer: my-issuer
api:
v2:
# V4 Emulation engine allows strict respect of the policy execution order, as it defines it the policy studio whereas, in "v3" mode, execution order may differ depending on policy REQUEST_CONTENT or RESPONSE_CONTENT scope.
emulateV4Engine:
# Allow to emulate v4 engine by default when no execution mode is specified on an api
# Possible values: yes | creation_only | no; Default: yes
default: yes
# Encrypt API properties using this secret
properties:
encryption:
secret: vvLJ4Q8Khvv9tm2tIPdkGEdmgKUruAL6