-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvars.yaml
416 lines (375 loc) · 16.2 KB
/
vars.yaml
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
#############
# Site vars #
#############
# The name of this application.
SITE_NAME: coralberryfairy
# The site namespace in OpenShift.
SITE_NAMESPACE: "coralberryfairy"
# The source code directory for the project.
SITE_SRC: "{{ lookup('env', 'HOME') }}/.local/src/{{ SITE_NAME }}"
# The vars.yaml filename to load when running in development.
VARS_FILENAME: vars.yaml
# The vars.yaml path to load when running in development.
VARS_PATH: "{{ SITE_SRC }}/{{ VARS_FILENAME }}"
# A shorter name for the application used for database names, collections, and artifact IDs.
SITE_SHORT_NAME: "{{ SITE_NAME | replace('-', '') | replace('_', '') | lower }}"
# A pretty version of the site name.
SITE_DISPLAY_NAME: Coralberry Fairy
# A short description of the site.
SITE_DESCRIPTION: "Handmade, handsewn dolls made with love"
# The main locale of this application.
SITE_LOCALE: en-US
# A computate specific identifier for the locale and language of the code.
SITE_LANG: "{{ SITE_LOCALE | replace('-', '') }}"
# The timezone of the site.
SITE_ZONE: "America/Denver"
# The domain name of the site.
DOMAIN_NAME: coralberryfairy.com
# The GitHub organization for this project.
GITHUB_ORG: computate-org
# The main git repository for the project.
SITE_REPO: "[email protected]:{{ GITHUB_ORG }}/{{ SITE_NAME }}.git"
# The main git repository for the project via ssh.
SITE_REPO_HTTPS: "{{ SITE_REPO | replace('[email protected]:', 'https://github.com/') }}"
# The port of the site.
SITE_PORT: 32768
# The host name of the site.
SITE_HOST_NAME: "localhost"
# The base URL of the site.
SITE_BASE_URL: "http://{{ SITE_HOST_NAME }}:{{ SITE_PORT }}"
# The public facing URL for the site.
SITE_PUBLIC_URL: "https://www.{{ DOMAIN_NAME }}"
# The port of the Zookeeper cluster manager.
CLUSTER_PORT: "{{ (SITE_PORT | int) + 1 }}"
# Verify SSL connections.
SSL_VERIFY: false
#########################
# Mailing list defaults #
#########################
# The URL to sign up for the mailing list.
MAILING_LIST_URL: https://computate.topicbox.com/groups/computate
# The email address of the mailing list.
MAILING_LIST_EMAIL: [email protected]
# The API version of this site.
API_VERSION: 1.0.0
# The Site OpenAPI title.
API_TITLE: "{{ SITE_DISPLAY_NAME }}"
# The API contact email.
API_CONTACT_EMAIL: "{{ MAILING_LIST_EMAIL }}"
#################
# Java defaults #
#################
# The Maven group ID of the project.
SITE_POM_GROUP_ID: "{{ DOMAIN_NAME | split('.') | reverse | join('.') }}"
# The Maven artifact ID of the project.
SITE_POM_ARTIFACT_ID: "site"
# The current Maven version of the project.
SITE_POM_VERSION: "{{ API_VERSION }}"
# The base Java Package for the project based on Maven group ID and artifact ID.
SITE_JAVA_PACKAGE: "{{ SITE_POM_GROUP_ID }}.{{ SITE_POM_ARTIFACT_ID }}"
# The Java Package containing the project main verticle class.
SITE_MAIN_VERTICLE_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.verticle"
# The Java Package containing the project configuration keys class.
SITE_CONFIG_KEYS_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.config"
# The Java Package containing the project site request class.
SITE_REQUEST_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.request"
# The Java Package containing the project base model class.
SITE_BASE_MODEL_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.model"
# The Java Package containing the project base result class.
SITE_BASE_RESULT_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.result"
# The Java Package containing the project page layout class.
SITE_PAGE_LAYOUT_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.page"
# The Java Package containing the project site page reader class.
SITE_PAGE_READER_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.page.reader"
# The Java Package containing the project site user class.
SITE_USER_PACKAGE: "{{ SITE_JAVA_PACKAGE }}.user"
# The /src/main/java folder for the main Java source code.
SUFFIX_SRC_MAIN_JAVA: /src/main/java
# The /src/gen/java folder for the generated Java source code.
SUFFIX_SRC_GEN_JAVA: /src/gen/java
# The relative paths in the project to watch for changes.
RELATIVE_PATHS_TO_WATCH: "src/main/java/{{ SITE_JAVA_PACKAGE | replace('.', '/') }}"
# The default source code directory for the computate application which helps generate and translate most the code.
COMPUTATE_SRC: "{{ (SITE_SRC + '/../computate') | realpath }}"
# The default source code directory for the computate-base application.
COMPUTATE_BASE_SRC: "{{ (SITE_SRC + '/../computate-base') | realpath }}"
# The default source code directory for the computate-search application.
COMPUTATE_SEARCH_SRC: "{{ (SITE_SRC + '/../computate-search') | realpath }}"
# The default source code directory for the computate-vertx application.
COMPUTATE_VERTX_SRC: "{{ (SITE_SRC + '/../computate-vertx') | realpath }}"
# The paths to the internationalization for this project.
I18N_PATHS: ["{{ SITE_PREFIX }}/computate/src/main/resources/org/computate/i18n/i18n_enUS.yaml"]
# The Java main class of the site.
JAVA_MAIN_CLASS: "{{ SITE_MAIN_VERTICLE_PACKAGE }}.AppVertx"
# Enables Vert.x reactive APIs.
ENABLE_VERTX: true
# Enables a Quarkus application to also be created in addition to the Vert.x main verticle.
ENABLE_QUARKUS: false
###################
# Vert.x defaults #
###################
# The number of Vert.x instances to run per pod.
SITE_INSTANCES: 2
# The number of Vert.x worker instances to run per pod.
WORKER_POOL_SIZE: 2
# The max event loop execute time in seconds.
VERTX_MAX_EVENT_LOOP_EXECUTE_TIME: 30
# The max worker execute time in seconds.
VERTX_MAX_WORKER_EXECUTE_TIME: 6000
# The time before showing a warning of blocking threads in seconds.
VERTX_WARNING_EXCEPTION_SECONDS: 60
# The number of background worker executors that may run.
NUMBER_EXECUTORS: 2
####################
# License defaults #
####################
# The name of the open source license for the software.
SITE_LICENSE_NAME: GNU GENERAL PUBLIC LICENSE, Version 3
# The URL of the open source license for the software.
SITE_LICENSE_URL: https://www.gnu.org/licenses/gpl-3.0.en.html
######################
# OpenShift defaults #
######################
# The wildcard domain suffix where OpenShift Routes are available by default.
OPENSHIFT_APPS_DOMAIN: "apps-crc.testing"
######################
# Container defaults #
######################
# The organization within quay.io where the container will be pushed.
CONTAINER_ORG: computateorg
###########################
# Static content defaults #
###########################
# The name of the repository containing the web static content.
SITE_STATIC_NAME: "{{ SITE_NAME }}-static"
# The static files git repository for the project.
SITE_STATIC_REPO: "[email protected]:{{ GITHUB_ORG }}/{{ SITE_STATIC_NAME }}.git"
# The base URL to the static files.
STATIC_BASE_URL: "{{ SITE_BASE_URL }}/static"
# Site default theme, light or dark.
SITE_THEME: light
# The path to the static files.
STATIC_PATH: "{{ (SITE_SRC + '/../' + SITE_STATIC_NAME) | realpath }}"
# The site logo relative URI
SITE_LOGO_URI: "/logo/coralberry-fairy-{{ SITE_THEME }}-v1.svg"
# The path to the template files.
TEMPLATE_PATH: "{{ SITE_SRC }}/src/main/resources/templates"
# An optional FontAwesome Pro Kit for additional FontAwesome icons.
FONTAWESOME_KIT: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name='font-awesome', namespace=SITE_NAMESPACE)[0].data['FONTAWESOME_KIT'] | b64decode }}"
# An optional link element to either a Shoelace web components stylesheet or a Web Awesome Backer web components stylesheet.
WEB_COMPONENTS_CSS: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name='font-awesome', namespace=SITE_NAMESPACE)[0].data['WEB_COMPONENTS_CSS'] | b64decode }}"
# An optional link element to either a Shoelace web components JavaScript or a Web Awesome Backer web components JavaScript.
WEB_COMPONENTS_JS: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name='font-awesome', namespace=SITE_NAMESPACE)[0].data['WEB_COMPONENTS_JS'] | b64decode }}"
######################
# Developer defaults #
######################
# The software developer name.
DEVELOPER_NAME:
# The software organization name.
DEVELOPER_ORG_NAME:
# The software organization URL.
DEVELOPER_ORG_URL:
####################
# Service defaults #
####################
# The systemd service name for project that generates and translates most of the code.
SITE_SERVICE: "watch-{{ SITE_NAME }}"
# The systemd service file for project that generates and translates most of the code.
SITE_SYSTEMD: "{{ '/usr/lib/systemd/system' if ansible_distribution_file_variety == 'RedHat' and (ansible_distribution_major_version | int) <= 7 else (lookup('env', 'HOME') + '/.config/systemd/user') }}/{{ SITE_SERVICE }}.service"
#######################
# Powered by defaults #
#######################
# The name of the cloud provider where the public site is deployed.
SITE_POWERED_BY_NAME: Google Kubernetes Engine
# The URL of the cloud provider where the public site is deployed.
SITE_POWERED_BY_URL: https://cloud.google.com/kubernetes-engine
# The static path to the logo of the cloud provider where the public site is deployed.
SITE_POWERED_BY_IMAGE_URI: /logo/google-gke.svg
######################
# Zookeeper defaults #
######################
# The namespace in OpenShift where Zookeeper will run.
ZOOKEEPER_NAMESPACE: zookeeper
# The default hostname for the Zookeeper cluster manager.
ZOOKEEPER_HOST_NAME: "zookeeper.{{ OPENSHIFT_APPS_DOMAIN }}"
# The default port that Zookeeper runs to manage the cluster.
ZOOKEEPER_PORT: 30081
#################
# Solr defaults #
#################
# Name of the solr deployment in OpenShift.
SOLR_NAME: solr
# Whether to use SSL when connecting to Solr.
SOLR_SSL: true
# The host name to connect to Solr in OpenShift.
SOLR_HOST_NAME: "solr.{{ OPENSHIFT_APPS_DOMAIN }}"
# The default port that Solr runs.
SOLR_PORT: 443
# The solr pod name to connect and create Solr configsets and collections.
SOLR_POD_NAME: "solr-0"
# The solr collection to use for the site.
SOLR_COLLECTION: "{{ SITE_SHORT_NAME }}"
# The solr configset to use for the site.
SOLR_CONFIGSET: "computate"
# The Solr admin username
SOLR_USERNAME: admin
# The Solr admin password
SOLR_PASSWORD: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name='solr', namespace='solr')[0].data['solr-password'] | b64decode }}"
# The URL to the Solr collection.
SOLR_URL: "https://{{ SOLR_HOST_NAME }}:{{ SOLR_PORT }}/solr/{{ SOLR_COLLECTION }}"
# Whether to use SSL when connecting to Solr.
SOLR_SSL_COMPUTATE: true
# The host name to connect to Solr in OpenShift.
SOLR_HOST_NAME_COMPUTATE: "solr.{{ OPENSHIFT_APPS_DOMAIN }}"
# The default port that Solr runs.
SOLR_PORT_COMPUTATE: 443
# The solr collection to use for the site.
SOLR_COLLECTION_COMPUTATE: computate
# The URL to the Solr collection for the watched Java code API.
SOLR_URL_COMPUTATE: "https://{{ SOLR_HOST_NAME }}:{{ SOLR_PORT }}/solr/{{ SOLR_COLLECTION_COMPUTATE }}"
# The namespace in OpenShift where Solr will run.
SOLR_NAMESPACE: solr
#####################
# Database defaults #
#####################
# Enable the connections to the database.
DATABASE_ENABLED: true
# The namespace of the database in OpenShift.
DATABASE_NAMESPACE: postgres
# The database secret containing the user password to connect to the database.
DATABASE_SECRET: postgres-pguser-smartvillage
# The PostgreSQL database host name.
DATABASE_HOST: "postgres.{{ OPENSHIFT_APPS_DOMAIN }}"
# The PostgreSQL database port.
DATABASE_PORT: 30432
# The PostgreSQL database user name of the site.
DATABASE_USERNAME: "{{ SITE_SHORT_NAME }}"
# The PostgreSQL database password of the site.
# oc get -n smartvillage secret/postgres-pguser-smartvillage -o 'jsonpath={.data.password}' | base64 -d && echo
DATABASE_PASSWORD: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name=('postgres-pguser-' + DATABASE_USERNAME), namespace=SITE_NAMESPACE)[0].data.password | b64decode }}"
# The PostgreSQL database name of the site.
DATABASE_DATABASE: "{{ SITE_SHORT_NAME }}"
#####################################
# Authentication/authorization vars #
#####################################
# The Auth host name.
AUTH_HOST_NAME: "keycloak.{{ OPENSHIFT_APPS_DOMAIN }}"
# The Auth port.
AUTH_PORT: 443
# Whether the Auth server uses SSL.
AUTH_SSL: true
# Whether the Auth server requires SSL.
AUTH_SSL_REQUIRED: all
# The Auth realm.
AUTH_REALM: "{{ DOMAIN_NAME | upper }}"
# The Auth client.
AUTH_CLIENT: "{{ SITE_SHORT_NAME }}"
# The Auth secret.
AUTH_SECRET:
# The Auth admin username.
AUTH_ADMIN_USERNAME: admin
# The Auth admin password.
AUTH_ADMIN_PASSWORD: "{{ query('kubernetes.core.k8s', kind='Secret', resource_name='keycloak-initial-admin', namespace='keycloak')[0].data['admin-password'] | b64decode }}"
# The Auth URL.
AUTH_URL: "https://{{ AUTH_HOST_NAME }}"
# The Auth URL to retrieve tokens.
AUTH_TOKEN_URI: "/auth/realms/{{ AUTH_REALM }}/protocol/openid-connect/token"
# The OpenAPI ID for the openId spec.
AUTH_OPEN_API_ID: openIdConnect
# The auth callback URI.
AUTH_CALLBACK_URI: /callback
# The auth logout URI.
AUTH_LOGOUT_URI: /logout
# The Auth scope required to be an admin in the site.
AUTH_SCOPE_ADMIN: Admin
# The Auth scope required to be a super-admin in the site.
AUTH_SCOPE_SUPER_ADMIN: SuperAdmin
# Enables authorization fine-grained resource permissions.
AUTH_FINE_GRAINED_POLICY_PERMISSIONS: true
#################
# Operator vars #
#################
# The name of the operator used to deploy data as YAML.
OPERATOR_NAME: "{{ SITE_NAME }}-operator"
# The name of the operator used to deploy data as YAML.
OPERATOR_SRC: "{{ (SITE_SRC + '/../' + OPERATOR_NAME) | realpath }}"
OPERATOR_DOMAIN_NAME: "{{ DOMAIN_NAME }}"
OPERATOR_REPO: "[email protected]:{{ GITHUB_ORG }}/{{ OPERATOR_NAME }}.git"
OPERATOR_PYTHON_DEPENDENCY_LIST:
- openshift
- jmespath
- jinja2
- configparser
OPERATOR_REDHAT_DEPENDENCY_LIST:
- git
- tcl
- tk
OPERATOR_SYSTEM_DEPENDENCY_LIST: "{{ OPERATOR_REDHAT_DEPENDENCY_LIST if ansible_distribution_file_variety == 'RedHat' else OPERATOR_REDHAT_DEPENDENCY_LIST }}"
###############
# FIWARE vars #
###############
# Enable FIWARE Smart Data Model integrations.
ENABLE_FIWARE: false
# FIWARE Smart Data Model source code directory.
SMART_DATA_MODELS_SRC: "{{ (SITE_SRC + '/../smart-data-models') | realpath }}"
# Map default latitude,longitude.
DEFAULT_MAP_LOCATION: "55.63379,13.49261"
# Map default zoom level.
DEFAULT_MAP_ZOOM: "17"
##############
# Kafka vars #
##############
# Enable Kafka message integration.
ENABLE_KAFKA: false
# The namespace in OpenShift where Kafka will run.
KAFKA_NAMESPACE: kafka
# The Kafka SSL KeyStore secret name.
KAFKA_SSL_KEYSTORE_SECRET: "{{ SITE_SHORT_NAME }}-kafka"
# The Kafka SSL TrustStore secret name.
KAFKA_SSL_TRUSTSTORE_SECRET: default-cluster-ca-cert
# The Kafka port.
KAFKA_PORT: 9093
################################
# OpenShift Deployment Details #
################################
# The amount of memory requested when the pod is first created in OpenShift.
SITE_REQUESTS_MEMORY: "1500Mi"
# The amount of total memory that can be used by the pod in OpenShift.
SITE_LIMITS_MEMORY: "1500Mi"
# The amount of cpus requested when the pod is first created in OpenShift.
SITE_REQUESTS_CPU: "700m"
# The amount of total cpus that can be used by the pod in OpenShift.
SITE_LIMITS_CPU: "1"
# The number of pod replicas to run the site in OpenShift.
SITE_REPLICAS: 1
########################
# Enabled feature vars #
########################
# Enable data import in the site.
ENABLE_IMPORT_DATA: true
# Enable the Zookeeper cluster manager.
ENABLE_ZOOKEEPER_CLUSTER: false
# Enable support for Open Telemetry in the application.
ENABLE_OPEN_TELEMETRY: false
# Enable a login link and Keycloak integration in the application.
ENABLE_LOGIN: true
# Enable the code generation service for the project
ENABLE_CODE_GENERATION_SERVICE: true
# Set the userKey of the user creating an object in the database.
ENABLE_USER_KEY: true
# Set the sessionId of the user session creating an object in the database.
ENABLE_SESSION_ID: true
# Enable an object in the database to be deleted.
ENABLE_DELETED: true
# Enable an object in the database to be archived.
ENABLE_ARCHIVED: true
# Enable an admin role.
ENABLE_ROLE_ADMIN: true
# Enable a super admin role.
ENABLE_ROLE_SUPER_ADMIN: true
# Enable an OpenID Connect Authentication.
ENABLE_OPENID_CONNECT: true
# Write API code into the project.
WRITE_API: true
# Write code comments into generated code.
WRITE_COMMENTS: true