Commit aac4ef8b authored by prakash.raguri's avatar prakash.raguri

fix-26-06-2023

parent ccd1cd04
#DB_URI=sqlite:///./ilens_versions.db #DB_URI=sqlite:///./ilens_versions.db
DB_URI=mysql+pymysql://root:DevOps852@192.168.0.221:3307/devops_version_db #DB_URI=mysql+pymysql://dir:DevOps852@192.168.0.221:3307/devops_version_db
CONFIG_MAP_VARIABLES=MONGO_URI #CONFIG_MAP_VARIABLES=MONGO_URI
HELM_REPO = https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/helm-charts.git #HELM_REPO = https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/helm-charts.git
#HELM_REPO = https://gitlab-pm.knowledgelens.com/gurusrinadh.dasari/helm-charts.git #HELM_REPO = https://gitlab-pm.knowledgelens.com/gurusrinadh.dasari/helm-charts.git
GIT_USERNAME = harshavardhan.c #GIT_USERNAME = harshavardhan.c
GIT_TOKEN = FEMA6PnP63fJCs6DrtZJ #GIT_TOKEN = FEMA6PnP63fJCs6DrtZJ
GLOBAL_VARIABLES_FILE=ilens-env-spec-variables.yml #GLOBAL_VARIABLES_FILE=ilens-env-spec-variables.yml
#DB_URI=sqlite:///./ilens_versions.db
DB_URI=mysql+pymysql://root:DevOps852@192.168.0.221:3307/devops_version_db
CONFIG_MAP_VARIABLES=MONGO_URI
HELM_REPO = https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/helm-charts.git
#HELM_REPO = https://gitlab-pm.knowledgelens.com/gurusrinadh.dasari/helm-charts.git
GIT_USERNAME = harshavardhan.c
GIT_TOKEN = FEMA6PnP63fJCs6DrtZJ
GLOBAL_VARIABLES_FILE=data.yml
__pycache__ __pycache__
.idea .idea
.vscode .vscode
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_NAME
value: "audit-management"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: KAFKA_URI
value: "{{ KAFKA_URI }}"
- name: KAFKA_TOPIC
value: "audit_logs"
- name: BATCH_SIZE
value: "10"
- name: REFRESH_TIME
value: "60"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/audit-management"
- name: HIERARCHY_SERVICES
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: KAFKA_GROUP
value: "my-group"
- name: GOTENBERG_PROXY
value: "{{ GOTENBERG_URL }}"
- name: MQTT_URL
value: "{{ MQTT_SERVICE_URI }}"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: "data"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: REDIS_USER_ROLE_DB
value: "21"
- name: REDIS_LOGIN_DB
value: "9"
- name: REDIS_PROJECT_DB
value: "18"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: LOG_LEVEL
value: "DEBUG"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.unifytwin.com"
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "8000"
- name: SECURE_COOKIE
value: "False"
- name: OEE_SERVICES_PROXY
value: "{{ OEE_SERVICES_URL }}"
- name: WORKFLOW_MANAGEMENT_URL
value: "{{ WORKFLOW_MANAGEMENT_URL }}"
- name: PRODUCT_MT
value: "{{ PRODUCTMANAGEMENT_URL }}"
- name: BATCH_DB
value: batch_details
- name: METADATA_SERVICES_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: HIERARCHY_SERVICES_URL
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: VIS_URL
value: "{{ VISUALIZATION40_URL }}"
- name: PG_POOL_SIZE
value: "20"
- name: PG_MAX_OVERFLOW
value: "10"
- name: SPC_CHART_MARK_LINE
value: "FALSE"
- name: KAIROS_AGG_UNIT
value: "minutes"
- name: KAIROS_AGG_value
value: "15"
deployment:
environmentVar:
- name: APP_NAME
value: "custom-form-services"
- name: MODULE_NAME
value: "main"
- name: PORT
value: "2729"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SECURITY_IP_CHECK
value: "false"
- name: SECURITY_USER_CHECK
value: "true"
- name: SECURITY_AGENT_CHECK
value: "true"
- name: LOG_LEVEL
value: "INFO"
- name: LOG_TRACEBACK
value: "false"
- name: BASE_DIRECTORY
value: "/code/data"
- name: WORKFLOW_MGMT_PROXY
value: "{{ WORKFLOW_MANAGEMENT_URL }}"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/custom-form-services"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: ILENS_ASSISTANT_DB
value: "ilens_assistant"
- name: PUBLIC_URL
value: "https://qa.unifytwin.com/custom_material"
- name: INPUT_MONTHS
value: "4"
- name: EMAIL_SERVICE_PROXY
value: "{{ EMAIL_SERVICE_URL }}"
- name: METADATA_PROXY
value: "{{ METADATA_SERVICES_URL }}"
- name: SCHEDULER_PROXY
value: "{{ ILENS_SCHEDULER_URL }}"
- name: USER_NAME
value: "AllGoodNamesRGone"
- name: PASSWORD
value: "comBRANSeANtamasEbICaPeC"
- name: EBPR_REPORT_ENGINE_PROXY
value: "{{ EBPR_REPORT_ENGINE_URL }}"
- name: "UT_TENANT_ID"
value: "{{ UT_TENANT_ID }}"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: MQTT_HOST
value: "{{ MQTT_HOST }}"
- name: MQTT_PORT
value: "{{ MQTT_PORT }}"
- name: MQTT_TOPIC
value: "ilens/notifications"
- name: MQTT_AUTH
value: ""
- name: MQTT_USERNAME
value: ""
- name: MQTT_PASSWORD
value: ""
- name: KAFKA_HOST
value: "kafka.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_TOPIC
value: "ilens_dev"
- name: KAFKA_AUDIT_TOPIC
value: "audit_logs"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: ENABLE_SITES_PARTITION
value: "True"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: SPLIT_KEY
value: "site_id"
- name: ROUND_ROBIN_ENABLE
value: "True"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: REDIS_PARTITION_DB
value: "13"
- name: BASE_MOUNT
value: "/code/data"
- name: BASE_PROXY
value: "https://qa.unifytwin.com"
- name: APP_NAME
value: "data-import"
- name: MODULE_PROXY
value: "/ext_data_mt"
- name: PORT
value: "8191"
- name: VALIDATE_LICENSE_URL
value: "http://ilens-license-validator.ilens-core:8559/"
- name: VALIDATE_LICENSE
value: "False"
- name: VALIDATE_LICENSE_ON_REQUESTS
value: "False"
- name: SECURE_ACCESS
value: "true"
- name: TEMP_FILE_PATH
value: ".temp"
- name: CSV_FILE_PATH
value: "csv"
- name: REDIS_BROKER_URI_CELERY
value: "redis://redis-db-service.ilens-infra:6379/10"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.ilens.io"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: NESHAP_PROXY
value: "/neshap"
- name: SHEET_VALUES_TO_REMOVE
value: "-,/"
- name: N_ROWS
value: "5"
- name: BATCH_LIMIT
value: "3000"
- name: HIERARCHY_PROXY
value: "/hry"
- name: EXTERNAL_API_TIMEOUT
value: "30"
- name: BUFFER_TIME
value: "10"
- name: META_SERVICE_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: HRY_SERVICE_URL
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: DCP_URL
value: "{{ DEVICE_CONTROL_PLANE_URL }}"
- name: NESHAP_URL
value: "{{ PIPELINE_NESHAP_URL }}"
- name: LOGIN_USERNAME
value: "ilens_ut"
- name: LOGIN_PASSWORD
value: "ilens_ut@123"
- name: TOKEN_EXPIRE_TIME
value: "30"
- name: TIME_ZONE
value: "Asia/Kolkata"
- name: LOG_TRACEBACK
value: "true"
- name: TAGS_TO_FETCH_PER_QUERY
value: "10"
- name: DATE_TO_FETCH_FROM
value: "20-02-2023"
- name: OUTPUT_MAPPING_FILE_PATH
value: "Mapping_files/"
- name: OUTPUT_MAPPING_FILE_NAME
value: "Tag_details"
- name: OUTPUT_FILE_PATH
value: "Tagvalues_files/"
- name: OUTPUT_FILE_NAME
value: "Tag_values"
- name: OUTPUT_FILE_SIZE
value: "86400"
- name: MAPPING_FILE_PATH
value: "Mapping/"
- name: MODULE_NAME
value: "data_import"
- name: LOG_LEVEL
value: "DEBUG"
- name: QUALITY_CHECK
value: "80"
- name: ENABLE_METRICS
value: "True"
deployment:
environmentVar:
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: MQTT_CONSUMER_USERNAME
value: ""
- name: MQTT_CONSUMER_PASSWORD
value: ""
- name: KAFKA_HOST
value: "kafka.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: STREAMING_URI
value: "kafka://kafka.ilens-infra.svc.cluster.local:9092"
- name: KAFKA_OUTPUT_TOPIC
value: "ilens_dev"
- name: RAW_DATA_TOPIC
value: "ilens/monitor/live/#"
- name: KAIROS_URI
value: "http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80"
- name: SUBSCRIBER_DOMAINS
value: "mqtt-service.ilens-infra.svc.cluster.local:1883"
- name: SKIP_TAG_AVAILABILITY
value: "[]"
- name: RESTRICT_NA_VALUE_PUSH
value: "FALSE"
- name: EMPTY_TAG_KAIROS_VALUE
value: ""
- name: TIME_ZONE_PYTZ
value: "Asia/Calcutta"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "data-processor"
- name: SKIP_TAG_ID_LIST
value: ""
- name: ASSET_API_URL
value: "http://metadata-service.ilens-core.svc.cluster.local:8989/ilens_config/design_tag_data_rule"
- name: NOTIFICATION_ENGINE_INTERFACE
value: "KAFKA"
- name: INDEP_RULE_TOPIC
value: "ilens_indep_rule"
- name: DEP_RULE_TOPIC
value: "ilens_dep_rule"
- name: AGGREGATION_TOPIC
value: "ilens_aggregate"
- name: KAFKA_ALARM_TOPIC
value: "trigger_alarm_qa"
- name: DEFAULT_PROJECT_ID
value: ""
- name: LICENSE_CHECK_ENABLE
value: "True"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra.svc.cluster.local:6379"
- name: ASSET_STATUS_URL
value: "http://metadata-service.ilens-core.svc.cluster.local:8989/ilens_config/asset_status_rule"
- name: KAFKA_BACKUP_TOPIC
value: "ilens_prod_backup"
- name: MQTT_RETAIN_FLAG
value: "False"
- name: TAG_META_API_URL
value: "http://metadata-service.ilens-core.svc.cluster.local:8989/tags_v2/tag_meta_update"
- name: DOWN_TIME_END
value: "http://downtime-oee.ilens-core.svc.cluster.local:1998/downtime_log/rule/update"
- name: DOWN_TIME_START
value: "http://downtime-oee.ilens-core.svc.cluster.local:1998/downtime_log/save"
- name: PAST_DATA_BUF_HRS
value: "6"
- name: FUTURE_DATA_BUF_HRS
value: "24"
- name: ALARM_DATA_BUF_HRS
value: "1"
- name: DB_SPLIT_DELIMITER
value: "__"
- name: KAIROS_DEFAULT_METRIC
value: "ilens.live_data.raw"
- name: EXCEEDANCE_METRIC
value: "ilens.live_data.exceedance"
- name: KAIROS_ERROR_METRIC
value: "ilens.live_data.error"
- name: ERROR_DATA_QUALITY_CODE
value: "2"
- name: BACKUP_TAG_PUSH
value: "false"
- name: LOG_LEVEL
value: "DEBUG"
- name: TIME_VALIDATION_ENABLE
value: "true"
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: "ilens_expire"
- name: KAIROS_CACHE_TIME
value: "1"
- name: KAIROS_QUERY_AGG_START_BUFFER
value: "10"
- name: EVENT_URL
value: "http://events-processor-services.ilens-core.svc.cluster.local:8122/api/event/create"
- name: LOG_PATH
value: "logs/"
- name: PARTITION_DB
value: "13"
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: "ilens_dev_raw"
- name: KAIROS_BATCH_WRITE_ENABLE
value: "True"
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
\ No newline at end of file
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: MQTT_HOST
value: "{{ MQTT_HOST }}"
- name: MQTT_PORT
value: "{{ MQTT_PORT }}"
- name: CONTAINER_URL
value: "{{ FLOW_PARSER_PIPELINE_BUILDER_URL }}"
- name: MANAGER_URL
value: "{{ DEVICE_CONTROL_PLANE_URL }}"
- name: GIT_PYTHON_REFRESH
value: "quiet"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SCHEDULER_URL
value: "https://qa.unifytwin.com"
- name: BASE_PROXY
value: "https://qa.unifytwin.com"
- name: SECURITY_IP_CHECK
value: "False"
- name: SECURITY_USER_CHECK
value: "True"
- name: SECURITY_AGENT_CHECK
value: "True"
- name: VISUAL_PROXY
value: "http://visualization-engine-service.ilens-core.svc.cluster.local:5999/"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: POSTGRES_DB
value: ilens-qa
- name: CODE_BASE_PATH
value: "/code/data/pipelines/builds/path/ilens"
- name: MODULE_PROXY
value: "/dcp_api"
- name: LICENSE_SERVER
value: "license-generator-validator.ilens-core.svc.cluster.local"
- name: LICENSE_PORT
value: "9816"
- name: VALIDATE_LICENSE_ON_REQUESTS
value: "False"
- name: PIPELINE_INTERNAL_MQTT_HOST
value: "staging.ilens.io"
- name: PIPELINE_INTERNAL_MQTT_PORT
value: "80"
- name: NODE_INTERMEDIATE_TYPE
value: "kafka"
- name: PIPELINE_INTERNAL_KAFKA_HOST
value: "kafka-0.kafka-headless.ilens-infra.svc.cluster.local"
- name: PIPELINE_INTERNAL_KAFKA_PORT
value: "9092"
#- name: MONITOR_DEVICES
# value: "True"
- name: DEVICE_MONITOR_RUN_INTERVAL
value: "10"
- name: HEARTBEAT_INTERVAL
value: "10"
- name: VALIDATE_LICENSE_URL
value: "http://ilens-license-validator.ilens-core:8559/"
- name: JOB_LIST_PAGE_LIMIT
value: "500"
- name: BASE_PATH
value: "/code/data/"
- name: MOUNT_DIR
value: "device-control-plane"
- name: SECURE_ACCESS
value: "True"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: SERVER_LOG_BASE_PATH
value: "/code/data/server-pipeline-logs"
- name: SECRET_MANAGER_URL
value: "{{ SECRET_MANAGER_URL }}"
- name: LOGGING_TYPE
value: "ut.stream"
- name: KAFKA_BROKERS
value: "kafka-0.kafka-headless.ilens-infra.svc.cluster.local:9092"
- name: KAFKA_STREAM_TOPIC
value: "ut-log-stream"
- name: META_DATA_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: VERIFY_SIGNATURE
value: "False"
- name: PROTECTED_HOSTS
value: "{{ PROTECTED_HOSTS }}"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: "data"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: REDIS_USER_ROLE_DB
value: "21"
- name: REDIS_LOGIN_DB
value: "9"
- name: REDIS_PROJECT_DB
value: "18"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "8671"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: SECURITY_IP_CHECK
value: "False"
- name: SECURITY_USER_CHECK
value: "True"
- name: SECURITY_AGENT_CHECK
value: "True"
- name: BASE_MOUNT
value: "/code/data"
- name: MODULE_NAME
value: "digital_twin_services"
- name: MODULE_PROXY
value: "/scada_dt"
- name: ASSET_MODEL_VERSION
value: "1.0"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/digital-twin"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.ilens.io"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: BASE_PROXY
value: "https://qa.unifytwin.com"
- name: EXTERNAL_API_TIMEOUT
value: "30"
- name: META_SERVICE_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: HRY_SERVICE_URL
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: RULES_ALERT_URL
value: "{{ RULES_ALERTS_SERVICES_URL }}"
- name: DOWNTIME_OEE_URL
value: "{{ DOWNTIME_OEE_URL }}"
- name: LOG_LEVEL
value: "DEBUG"
deployment:
environmentVar:
- name: MODULE_NAME
value: "downtime-oee"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: "http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: SCHEDULER_PROXY
value: "http://ilens-scheduler-service.ilens-core:28595/"
- name: BASE_PATH
value: "/code/data"
- name: APP_NAME
value: "downtime-oee"
- name: MOUNT_DIR
value: "downtime-oee"
- name: ILENS_ASSISTANT_DB
value: "ilens_assistant"
- name: SELF_PROXY
value: ""
- name: MQTT_URL
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: EMAIL_SERVICE_PROXY
value: "https://cloud.ilens.io/sms-util"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "qa.ilens.io,https://staging.ilens.io"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: EVENT_EXPLORER
value: "http://events-processor-services.ilens-core.svc.cluster.local:8122"
- name: METADATA_PROXY
value: "http://metadata-service.ilens-core.svc.cluster.local:8989"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: DOWNTIME_DB
value: "downtime_db"
- name: OEE_PROXY
value: "{{ OEE_SERVICES_URI }}"
deployment:
environmentVar:
- name: MODULE_NAME
value: "main"
- name: APP_NAME
value: "ebpr_data_engine"
- name: PORT
value: "2699"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: "mqtt-service.ilens-infra"
- name: KAIROS_URI
value: "http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80"
- name: MQTT_URI
value: "mqtt://mqtt-service.ilens-infra:1883"
- name: MQTT_PORT
value: "1883"
- name: ILENS_META_SERVICE_URL
value: "http://metadata-service.ilens-core.svc.cluster.local:8989"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: SCHEDULER_PROXY
value: "http://ilens-scheduler-service.ilens-core:28595"
- name: EBPR_DATA_ENGINE_PROXY
value: "http://ebpr-periodic-data-engine.ilens-core:2699"
- name: EBPR_PROXY
value: "http://ebpr-engine.ilens-core:6968"
- name: FORM_MT
value: "http://form-management.ilens-core.svc.cluster.local:5121"
- name: SECURITY_IP_CHECK
value: "false"
- name: SECURITY_USER_CHECK
value: "true"
- name: SECURITY_AGENT_CHECK
value: "true"
- name: LOG_LEVEL
value: "DEBUG"
- name: LOG_TRACEBACK
value: "true"
- name: BUFFER_WINDOW
value: "2"
- name: E_LOGBOOK_PROXY
value: "http://electronic-logbook-core.ilens-core:28788"
- name: MES_PROXY
value: "http://mes-module.ilens-core:14563"
- name: EMAIL_SERVICE_PROXY
value: "http://email-engine-service.ilens-core:5998"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/ebpr_data_engine"
- name: CORS_URLS
value: "qa.ilens.io,https://staging.ilens.io"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: REDIS_LOGIN_DB
value: "9"
- name: REDIS_LIVE_DB
value: "12"
- name: REDIS_PROJECT_DB
value: "18"
- name: REDIS_BROKER_URI_CELERY
value: "redis://redis-db-service.ilens-infra:6379/35"
- name: LEEWAY_TIME
value: "60"
- name: SECURE_COOKIE
value: "True"
deployment:
environmentVar:
- name: APP_NAME
value: "ebpr-report-engine"
- name: MODULE_NAME
value: "main"
- name: PORT
value: "45678"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: KAIROS_URI
value: "http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80"
- name: MQTT_URL
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: ILENS_META_SERVICE_URL
value: "http://metadata-service.ilens-core:8989"
- name: EBPR_DATA_ENGINE_PROXY
value: "http://ebpr-periodic-data-engine.ilens-core:2699"
- name: EBPR_PROXY
value: "http://ebpr-engine.ilens-core:6968"
- name: EBPR_REPORT_PROXY
value: "http://ebpr-report-engine.ilens-core:45678"
- name: SECURITY_IP_CHECK
value: "false"
- name: SECURITY_USER_CHECK
value: "true"
- name: SECURITY_AGENT_CHECK
value: "true"
- name: LOG_LEVEL
value: "INFO"
- name: LOG_TRACEBACK
value: "false"
- name: SCHEDULER_PROXY
value: "http://ilens-scheduler-service.ilens-core.svc.cluster.local:28595"
- name: REPORT_DIRECTORY
value: "reports"
- name: BASE_DIRECTORY
value: "/code/data"
- name: ENABLE_CELERY_WORKER
value: "true"
- name: REDIS_BROKER_URI_CELERY
value: "redis://redis-db-service.ilens-infra:6379/10"
- name: WORKFLOW_MGMT_PROXY
value: "http://workflow-management.ilens-core:7120"
- name: MOBILE_PUSH_NOTIFICATION
value: "false"
- name: HUB_NAME
value: ""
- name: CONNECTION_STRING
value: ""
- name: API_VERSION
value: ""
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: ASSISTANT_DB
value: "ilens_assistant"
- name: POSTGRES_DB
value: "ilens_jubilant"
- name: REPORT_PUBLIC_URL
value: "https://qa.unifytwin.com/ebpr_reports"
- name: EMAIL_SERVICE_PROXY
value: "https://cloud.ilens.io/sms-util"
- name: CUSTOMER_EMAIL_TEMPLATE
value: "link_email"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/ebpr-report-engine"
- name: ASSISTANT_URI
value: "postgresql://ilens:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/ilens_assistant"
- name: GOTENBERG_SERVER
value: "http://gotenberg.ilens-core.svc.cluster.local:3000"
- name: BACKFILL_URI
value: "http://ebpr-periodic-data-engine.ilens-core:2699/utils/periodic_data/auto/insert"
- name: BACKFILL_ENABLED
value: "false"
- name: BACKFILL_WAIT_TIME
value: "3"
- name: BACKFILL_INTERVAL_MIN
value: "60"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "qa.unifytwin.com,https://staging.unifytwin.com"
- name: ENABLE_METRICS
value: "True"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: VISUALIZATION
value: "http://visualization-4.ilens-core:1112"
- name: USER_NAME
value: "AllGoodNamesRGone"
- name: PASSWORD
value: "comBRANSeANtamasEbICaPeC"
- name: EMAIL_GATEWAY
value: "default"
- name: FERNET_KEY
value: "VE68aW4wNAkpz37bJtEA6P4gXKixpIF_FckqTmwrEUU="
- name: SECRET_KEY
value: "gAAAAABhxEqUbE5SkJEfFCC6VtV4BQhIdHcUs6Y0dhFCTOCxZtz7rDwBeapR-Q3ecZIhkwq7sgAfxzq0mEY50WnjEjE9g3Tc8OHkhq3hj2j_1EGcosDfM2Y="
- name: VERIFY_SIGNATURE
value: "False"
- name: PROTECTED_HOSTS
value: "*.unifytwin.com"
- name: GOTENBERG_TIMEOUT
value: "300"
- name: "UT_TENANT_ID"
value: "{{ UT_TENANT_ID }}"
- name: BK_FILL_BUFFER
value: "1"
deployment:
environmentVar:
- name: SERVICE_PORT
value: "9897"
- name: WORKERS
value: "1"
- name: THREADS
value: "3"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-creds
key: MONGO_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: BASE_MOUNT
value: "/code/data"
- name: META_DATA_URL
value: "http://metadata-service.ilens-core.svc.cluster.local:8989"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: CORS_URLS
value: "https://qa.ilens.io,https://staging.ilens.io"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: VERIFY_SIGNATURE
value: "False"
- name: PROTECTED_HOSTS
value: "*.unifytwin.com, *.ilens.io"
- name: LOG_PATH
value: "/code/data/event-explorer-logs/"
- name: ENABLE_FILE_LOG
value: False
- name: ENABLE_CONSOLE_LOG
value: True
- name: LOG_FILE_NAME
value: "event-explorer"
deployment:
environmentVar:
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "28589"
- name: LOG_LEVEL
value: "DEBUG"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: DOCKER_HOST
value: "tcp://localhost:2375"
- name: CODE_BASE_PATH
value: "/code/data/pipelines/builds/path"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/flow-parser"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
deployment:
environmentVar:
- name: MODULE_NAME
value: "form-management"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: FORM_DE
value: "{{ EBPR_PERIODIC_DATA_ENGINE_URL }}"
- name: METADATA_DB
value: "ilens_configuration"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "form-management"
- name: ILENS_ASSISTANT
value: "ilens_assistant"
- name: KAFKA_URI
value: "{{ KAFKA_URI }}"
- name: KAFKA_TOPIC
value: "ilens_dev"
- name: KAFKA_AUDIT_TOPIC
value: "audit_logs"
- name: FORM_MT
value: "{{ FORM_MANAGEMENT_URL }}"
- name: PERIODIC_ENTRY_AUDITING
value: "true"
- name: FORM_NON_PERIODIC_AUDITING
value: "true"
- name: FORM_PERIODIC_AUDITING
value: "true"
- name: ENABLE_KAFKA_PARTITION
value: "true"
- name: ROUND_ROBIN_PARTITION
value: "true"
- name: INTERVAL
value: "60"
- name: MQTT_URL
value: "{{ MQTT_SERVICE_URI }}"
- name: EMAIL_SERVICE_PROXY
value: "{{ EMAIL_SERVICE_URL }}"
- name: SECURE_ACCESS
value: "true"
- name: METADATA_SERVICES
value: "{{ METADATA_SERVICES_URL }}"
- name: AUDIT_PROXY
value: "{{ ILENS_AUDIT_TRACKER_URL }}"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: "ilens_prod_backup"
- name: TRIGGER_BANDWIDTH
value: "300"
- name: LOG_LEVEL
value: "INFO"
- name: ENABLE_EVENTS
value: "False"
- name: ILENS_EVENTS
value: "{{ EVENTS_PROCESSOR_SERVICES_URL }}"
- name: DEFAULT_EVENT_CODE
value: "user_triggered_logbook_events"
- name: OEE_SERVICES
value: "{{ OEE_SERVICES_URL }}"
- name: SCHEDULER_PROXY
value: "{{ ILENS_SCHEDULER_URL }}"
- name: POSTGRES_BG_PROCESS
value: "False"
- name: DIGEST_USER
value: "AllGoodNamesRGone"
- name: DIGEST_PW
value: "comBRANSeANtamasEbICaPeC"
- name: DIGITAL_SIGNATURE
value: "{{ DIGITAL_SIGNATURE_URL }}"
- name: POSTGRES_SUPPORT
value: "True"
- name: BATCH_MANAGEMENT_PROXY
value: "{{ BATCH_MANAGEMENT_URL }}"
- name: PG_POOL_SIZE
value: "20"
- name: PG_MAX_OVERFLOW
value: "10"
- name: "UT_TENANT_ID"
value: "{{ UT_TENANT_ID }}"
- name: SELF_PROXY
value: "{{ PUBLIC_URL }}"
- name: PG_SCHEMA
value: "public"
- name: PG_REMOVE_PREFIX
value: "false"
- name: HIERARCHY_SERVICES
value: "{{ HIERARCHY_SERVICES_URL }}"
deployment:
environmentVar:
- name: APP_NAME
value: "global-catalogue"
- name: MODULE_NAME
value: "main"
- name: PORT
value: "5001"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: SECURITY_IP_CHECK
value: "false"
- name: SECURITY_USER_CHECK
value: "true"
- name: SECURITY_AGENT_CHECK
value: "true"
- name: LOG_LEVEL
value: "INFO"
- name: LOG_TRACEBACK
value: "false"
- name: BASE_DIRECTORY
value: "/code/data"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/global-catalog"
- name: SECURE_ACCESS
value: "true"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: GLOBAL_CATALOG_SERVICES
value: "https://qa.unifytwin.com"
- name: SELF_PROXY
value: "{{ PUBLIC_URL }}"
- name: GLOBAL_CATALOG_PROJECT_ID
value: "{{ GLOBAL_CATALOG_PROJECT_ID }}"
- name: GLOBAL_CATALOG_USER
value: "{{ GLOBAL_CATALOG_USER }}"
- name: INTERNAL_GLOBAL_CATALOG_URL
value: "{{ GLOBAL_CATALOG_URL }}"
- name: INTERNAL_DCP_URL
value: "{{ DEVICE_CONTROL_PLANE_URL }}"
- name: DIGITAL_TWIN_IMAGES_PATH
value: "/code/data/digital_twin_services/images/asset_model"
- name: INTERNAL_DIGITAL_TWIN_URL
value: "{{ DIGITAL_TWIN_SERVICE_URL }}"
- name: INTERNAL_META_SERVICES_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: MQTT_HOST
value: "{{ MQTT_HOST }}"
- name: MQTT_PORT
value: "{{ MQTT_PORT }}"
- name: MQTT_TOPIC
value: "ilens/notifications"
- name: MQTT_AUTH
value: ""
- name: MQTT_USERNAME
value: ""
- name: MQTT_PASSWORD
value: ""
- name: INTERNAL_HIERARCHY_SERVICES_URL
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: REQUEST_TIMEOUT
value: "30"
- name: INTERNAL_VISUALIZATION_SERVICES_URL
value: "{{ VISUALIZATION4.0_URL }}"
- name: GLOBAL_CATALOG_PROXY_GC
value: "/global_catalog_gc"
- name: VISUAL_PROXY_GC
value: "/visual4.0_gc"
- name: HIERARCHY_SERVICES_PROXY_GC
value: "/hry_gc"
- name: META_PROXY_GC
value: "/ilens_api_gc"
- name: DIGITAL_TWIN_PROXY_GC
value: "/scada_dt_gc"
- name: GC_BEARER_TOKEN
value: "Z2xvYmFsLWNhdGFsb2ctbG9naW4tdG9rZW4="
- name: PROTECTED_HOSTS
value: "{{ PROTECTED_HOSTS }}"
- name: DIGEST_USER
value: "AllGoodNamesRGone"
- name: DIGEST_PW
value: "comBRANSeANtamasEbICaPeC"
- name: EMAIL_SERVICE_PROXY
value: "{{ EMAIL_SERVICE_URL }}"
- name: "UT_TENANT_ID"
value: "{{ UT_TENANT_ID }}"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: MQTT_HOST
value: "{{ MQTT_HOST }}"
- name: MQTT_PORT
value: "{{ MQTT_PORT }}"
- name: MQTT_TOPIC
value: "ilens/notifications"
- name: MQTT_AUTH
value: ""
- name: MQTT_USERNAME
value: ""
- name: MQTT_PASSWORD
value: ""
- name: KAFKA_HOST
value: "{{ KAFKA_HOST }}"
- name: KAFKA_PORT
value: "{{ KAFKA_PORT }}"
- name: KAFKA_TOPIC
value: "ilens_dev"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: ENABLE_SITES_PARTITION
value: "True"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: SPLIT_KEY
value: "site_id"
- name: ROUND_ROBIN_ENABLE
value: "True"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: REDIS_PARTITION_DB
value: "13"
- name: BASE_PROXY
value: "https://qa.unifytwin.com"
- name: BASE_MOUNT
value: "/code/data"
- name: APP_NAME
value: "hierarchy"
- name: MODULE_PROXY
value: "/hry"
- name: MODULE_NAME
value: "hierarchy_services"
- name: PORT
value: "7008"
- name: SECURE_ACCESS
value: "true"
- name: TEMP_FILE_PATH
value: "/temp"
- name: SECURE_COOKIE
value: "True"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.ilens.io"
- name: ENABLE_CORS
value: "True"
- name: ASSET_MAINTENANCE_DB
value: "17"
- name: CSV_FILE_PATH
value: "csv"
- name: META_SERVICE_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: DCP_URL
value: "{{ DEVICE_CONTROL_PLANE_URL }}"
- name: DIGITAL_TWIN_URL
value: "{{ DIGITAL_TWIN_SERVICE_URL }}"
- name: AWB_URL
value: "{{ RULES_ALERTS_SERVICES_URL }}"
- name: META_DATA_PATH
value: "metadata"
- name: MODULE_NAME
value: "hierarchy_services"
- name: LOG_LEVEL
value: "DEBUG"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-creds
key: MONGO_URI
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: ILENS_CLIENTS_DB
value: "ilens_clients"
- name: ILENS_CLIENTS_COLLECTION
value: "ilens_clients"
- name: ILENS_CONFIGURATION
value: "ilens_configuration"
- name: ILENS_COLLECTION
value: "constants"
\ No newline at end of file
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "9866"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: KAFKA_HOST
value: "kafka.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: DATABASE_NAME
value: "ilens_assistant"
- name: KEYS_PATH
value: "assets/keys"
- name: SECURE_ACCESS
value: "true"
- name: SW_DOCS_URL
value: '/docs'
- name: CORS_URLS
value: "qa.unifytwin.com,staging.ilens.io"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra.svc.cluster.local:6379"
- name: DESC_REQUIRED
value: "False"
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: MQTT_TOPIC
value: "ilens/notifications"
- name: GOTENBERG_PROXY
value: "{{ GOTENBERG_URL }}"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: MQTT_CONSUMER_USERNAME
value: ""
- name: MQTT_CONSUMER_PASSWORD
value: ""
- name: JSON_PATH
value: "static_data/json"
- name: BASE_PATH
value: "/code/data"
- name: LOG_PATH
value: "logs/"
- name: MOUNT_DIR
value: "notification-engine"
- name: HUB_NAME
value: "azr-nh-ilens-mobileapp-002"
- name: CONNECTION_STRING
value: "Endpoint=sb://hns-ilensmobile.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=r5WizBdqjd/t35JvPJwXLL45nzpf1WxQOXfmqv58SAk="
- name: API_VERSION
value: "?api-version=2015-01"
- name: MOBILE_PUSH_NOTIFICATION
value: "True"
- name: BATCH_EMAIL_ALERTS_ENABLE
value: "True"
- name: LOW_PRIORITY_CONFIGURATION
value: "30"
- name: MODERATE_PRIORITY_CONFIGURATION
value: "20"
- name: MAINTENANCE_SAVE_URL
value: "http://192.168.0.220:9355/maintenance_logbook/support_ticket/save"
- name: NOTIFICATION_INTERFACE
value: "KAFKA"
- name: KAFKA_HOST
value: "kafka-0.kafka-headless.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: TENANT
value: "qa"
- name: MOBILE_ALERT_TITLE
value: 'QA-alert'
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra.svc.cluster.local:6379"
- name: LOGIN_DB
value: "9"
- name: ALARM_STATUS_DB
value: "17"
- name: TIMEZONE
value: "Asia/Kolkata"
- name: ALARM_TOPIC
value: "trigger/alarm"
- name: KAFKA_ALARM_TOPIC
value: "trigger_alarm_qa"
- name: USER_GROUP_ALERT_ENABLE
value: "False"
- name: SKIP_MAIL_LIST
value: "charankumar@knowledgelens.com"
- name: SKIP_SMS_NUM_STR
value: "9866799773"
- name: TELEGRAM_TOKEN
value: 'bot5614205349:AAG1DHWOrDBHJJhvKSSSHQW0hPDU0M8JnmU'
- name: EMAIL_GATEWAY_ID
value: 'default'
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: MODULE_NAME
value: "notification-engine"
- name: SMS_GATEWAY_ID
value: 'sms_gateway_098'
- name: EMAIL_GATEWAY_ID
value: 'default'
- name: EMAIL_SERVICE_PROXY
value: 'https://cloud.ilens.io/sms-util/'
deployment:
environmentVar:
- name: MODULE_NAME
value: "main"
- name: PORT
value: "28595"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_ENV
value: prod
- name: APP_NAME
value: "ilens_scheduler"
- name: SCHEDULER_THREAD
value: "120"
- name: SCHEDULER_PROCESS
value: "20"
- name: MAX_INSTANCE
value: "200"
- name: MISFIRE_SEC
value: "180"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/ilens_scheduler"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SECURE_ACCESS
value: "True"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: VERIFY_SIGNATURE
value: "True"
- name: PROTECTED_HOSTS
value: "{{ PROTECTED_HOSTS }}"
- name: LOG_LEVEL
value: "INFO"
deployment:
environmentVar:
- name: PORT
value: "8880"
- name: LOG_LEVEL
value: "TRACE"
- name: ENV
value: "qa"
- name: PROXY
value: ""
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: CONNECTION_TYPE
value: "websockets"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-creds
key: MONGO_URI
- name: MONGO_DATABASE
value: "ilens_vision_apps"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: DATASET_BASE_PATH
value: "/app/assets/datasets"
- name: PREPROCESS
value: "true"
\ No newline at end of file
deployment:
environmentVar:
- name: KAFKA_HOST
value: "kafka.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_OUTPUT_TOPIC
value: "ilens_dev"
- name: KAFKA_BACKUP_TOPIC
value: "ilens_prod_backup"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: KAFKA_PARTITION_KEY
value: "site_id"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: RAW_DATA_TOPIC
value: "ilens/monitor/live/#"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SUBSCRIBER_DOMAINS
value: "mqtt-service.ilens-infra.svc.cluster.local:1883"
- name: CONNECTION_STRING
value: "NONE"
- name: IOTHUB_CONSUMER_GRP
value: "$default"
- name: HTTP_HOST
value: "0.0.0.0"
- name: HTTP_PORT
value: "28588"
- name: HTTP_ENDPOINT
value: "/ilens/dev"
- name: AWSIOT_HOST
value: "a2ed2s71dgulvg-ats.iot.ap-south-1.amazonaws.com"
- name: AWSIOT_CLIENT_ID
value: "clientSubscribe"
- name: AWSIOT_PORT
value: "443"
- name: AWSIOT_CERT_FILE_PATH
value: "keys/AWSIOT/aws_thing_ut_test_01.cert.pem"
- name: AWSIOT_PVT_KEY_FILE_PATH
value: "keys/AWSIOT/aws_thing_ut_test_01.private.key"
- name: AWSIOT_CA_FILE_PATH
value: "keys/AWSIOT/root-CA.crt"
- name: AWSIOT_KEEP_ALIVE_TIMEOUT
value: "600"
- name: BACKUP_PATH
value: "/code/data/kafka-backup"
- name: TIMEZONE
value: "Asia/Calcutta"
- name: DATA_COMPRESSION
value: "False"
- name: LOG_PATH
value: "/code/data/data-processor-worker-logs/"
- name: ENABLE_FILE_LOG
value: False
- name: ENABLE_CONSOLE_LOG
value: True
- name: LOG_FILE_NAME
value: "data-processor-worker"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_NAME
value: "maintenance-dashboard-services"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: BASE_MOUNT
value: "/code/data"
- name: BASE_PATH
value: "/code/data"
- name: LOG_LEVEL
value: "DEBUG"
- name: LOG_TRACEBACK
value: "DEBUG"
- name: SELF_PROXY
value: "http://maintenance-dashboard-services:8099/"
- name: EMAIL_SERVICE_PROXY
value: "http://google.com/sms-util"
- name: POSTGRES_SUPPORT
value: "true"
- name: MODULE_NAME
value: "maintenance"
- name: MOUNT_DIR
value: "/maintenance_dashboard"
- name: CORS_URLS
value: "https://qa.ilens.io,https://staging.ilens.io"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: POSTGRES_URI
value: "postgresql://ilens:iLens#4321@postgres-db-service.ilens-infra:5432/"
- name: DB_NAME
value: "ilens_assistant"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: MQTT_HOST
value: "{{ MQTT_HOST }}"
- name: MQTT_PORT
value: "{{ MQTT_PORT }}"
- name: MQTT_TOPIC
value: "ilens/notifications"
- name: MQTT_AUTH
value: ""
- name: KAFKA_HOST
value: "{{ KAFKA_HOST }}"
- name: KAFKA_PORT
value: "{{ KAFKA_PORT }}"
- name: KAFKA_TOPIC
value: "ilens_dev"
- name: KAFKA_AUDIT_TOPIC
value: "audit_logs"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: ENABLE_SITES_PARTITION
value: "True"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: SPLIT_KEY
value: "site_id"
- name: ROUND_ROBIN_ENABLE
value: "True"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: REDIS_PARTITION_DB
value: "13"
- name: BASE_PROXY
value: "https://qa.unifytwin.com"
- name: VISUAL_PROXY
value: "{{ VISUALIZATION4.0_URL }}"
- name: MAINT_LOGBOOK_PROXY
value: "{{ MAINTENANCE_DASHBOARD_SERVICES_URL }}"
- name: DCP_PROXY
value: "{{ DEVICE_CONTROL_PLANE_URL }}"
- name: AWB_PROXY
value: "{{ RULES_ALERTS_SERVICES_URL }}"
- name: BASE_MOUNT
value: "/code/data"
- name: APP_NAME
value: "metadata"
- name: MODULE_PROXY
value: "/ilens_api"
- name: AAD_CLIENT_ID
value: "1e48cf91-0b8f-488a-bfd3-701bdd14e134"
- name: AAD_TENANT_ID
value: "a428ebb6-c1f0-4765-9745-a68831815462"
- name: API_SCOPE
value: "openid profile email api://1e48cf91-0b8f-488a-bfd3-701bdd14e134/iLensAADSignIn"
- name: ISSUER_AUTHORITY
value: "https://login.microsoftonline.com/a428ebb6-c1f0-4765-9745-a68831815462/v2.0"
- name: AAD_ADD_NEW_USERS
value: "True"
- name: AAD_USER_DEFAULT_PROJECT_ID
value: "project_099"
- name: AAD_USER_DEFAULT_ACCESS_GROUP_ID
value: "access_group_099"
- name: AAD_USER_DEFAULT_ROLE_ID
value: "user_role_099"
- name: AS_REDIRECT_URL
value: "https://qa.unifytwin.com/#/p/login?isLoginWithSaml=true&session_key="
- name: AAD_REDIRECT_DOMAIN
value: "https://qa.unifytwin.com"
- name: SAML_NAME_ATTRIBUTE_VALUE
value: "name"
- name: SAML_EMAIL_ATTRIBUTE_VALUE
value: "email"
# - name: MODULE_NAME
# value: "main"
- name: PORT
value: "8989"
- name: POSTGRES_HOST
value: "postgres-db-service.ilens-infra.svc.cluster.local"
- name: POSTGRES_PORT
value: "5432"
- name: POSTGRES_USER_NAME
value: "ilens"
- name: POSTGRES_PASSWORD
value: "iLens#4321"
- name: POSTGRES_DB_NAME
value: "ilens_jubilant"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: VALIDATE_LICENSE_URL
value: "http://ilens-license-validator.ilens-core:8559/"
- name: VALIDATE_LICENSE
value: "False"
- name: VALIDATE_LICENSE_ON_REQUESTS
value: "False"
- name: PRODUCT_MASTER_PARAMETERS
value: "[product_tag, hmi_tag]"
- name: ASSET_MAINTAINENCE_DB
value: "5"
- name: DIGITAL_TWIN_PROXY
value: "{{ DIGITAL_TWIN_SERVICE_URL }}"
- name: WORKFLOW_PROXY
value: "{{ WORKFLOW_MANAGEMENT_URL }}"
- name: DATA_IMPORT_PROXY
value: "{{ DATA_IMPORT_URL }}"
- name: SCENARIO_MAX_LIMIT
value: "20"
- name: SECURE_ACCESS
value: "true"
- name: POSTGRES_ILENS_ASSISTANT
value: "ilens_assistant"
- name: PARAMETER_LABEL_SEARCH
value: "False"
- name: LOCK_OUT_TIME_MINS
value: "2880"
- name: LOOKUPS
value: "[loss_reasons,Rule_lookup_test]"
- name: EMAIL_SERVICE_URL
value: "{{ EMAIL_SERVICE_URL }}"
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: SECURE_COOKIE
value: "True"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.ilens.io"
- name: ENABLE_CORS
value: "True"
- name: MAX_LOGIN_ATTEMPTS
value: "10"
- name: NESHAP_PROXY
value: "{{ PIPELINE_NESHAP_URL }}"
- name: SUPPORT_LENS_USE_USER_EMAIL
value: "False"
- name: STRING_VALIDATION_LIST1
value: "=,<,+,!,@"
- name: STRING_VALIDATION_LIST2
value: "<"
- name: UI_BUILD_ID
value: "adjkak8923749"
- name: CUSTOM_FORM_SERVICES
value: "{{ CUSTOM_FORM_SERVICES_URL }}"
- name: RFID_REGISTRATION
value: "{{ RFID_REGISTRATION }}"
- name: DEVICE_LOOKUP
value: "rfid_registration,device_registration"
- name: HIERARCHY
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: COOKIE_TIMEOUT
value: "2880"
- name: PASSWORD_HISTORY_VALIDATION
value: "False"
- name: PASSWORD_EXPIRY_DURATION
value: "180"
- name: MQTT_USER_NAME
value: "biswajit"
- name: MQTT_PASSWORD
value: "admin"
- name: POSTGRES_DB
value: "ilens_assistant"
- name: GC_BEARER_TOKEN
value: "Z2xvYmFsLWNhdGFsb2ctbG9naW4tdG9rZW4="
- name: MODULE_NAME
value: "metadata"
- name: LOG_LEVEL
value: "DEBUG"
deployment:
environmentVar:
- name: KAFKA_HOST
value: "kafka.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_OUTPUT_TOPIC
value: "ilens_dev"
- name: KAFKA_BACKUP_TOPIC
value: "ilens_prod_backup"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: KAFKA_PARTITION_KEY
value: "site_id"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: RAW_DATA_TOPIC
value: "ilens/monitor/live/#"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: SUBSCRIBER_DOMAINS
value: "mqtt-service.ilens-infra.svc.cluster.local:1883"
- name: CONNECTION_STRING
value: "NONE"
- name: IOTHUB_CONSUMER_GRP
value: "$default"
- name: HTTP_HOST
value: "0.0.0.0"
- name: HTTP_PORT
value: "28588"
- name: HTTP_ENDPOINT
value: "/ilens/dev"
- name: AWSIOT_HOST
value: "a2ed2s71dgulvg-ats.iot.ap-south-1.amazonaws.com"
- name: AWSIOT_CLIENT_ID
value: "clientSubscribe"
- name: AWSIOT_PORT
value: "443"
- name: AWSIOT_CERT_FILE_PATH
value: "keys/AWSIOT/aws_thing_ut_test_01.cert.pem"
- name: AWSIOT_PVT_KEY_FILE_PATH
value: "keys/AWSIOT/aws_thing_ut_test_01.private.key"
- name: AWSIOT_CA_FILE_PATH
value: "keys/AWSIOT/root-CA.crt"
- name: AWSIOT_KEEP_ALIVE_TIMEOUT
value: "600"
- name: BACKUP_PATH
value: "/code/data/kafka-backup"
- name: TIMEZONE
value: "Asia/Calcutta"
- name: DATA_COMPRESSION
value: "False"
- name: LOG_PATH
value: "/code/data/data-processor-worker-logs/"
- name: ENABLE_FILE_LOG
value: False
- name: ENABLE_CONSOLE_LOG
value: True
- name: LOG_FILE_NAME
value: "data-processor-worker"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: MQTT_CONSUMER_USERNAME
value: ""
- name: MQTT_CONSUMER_PASSWORD
value: ""
- name: JSON_PATH
value: "static_data/json"
- name: BASE_PATH
value: "/code/data"
- name: LOG_PATH
value: "logs/"
- name: MOUNT_DIR
value: "notification-engine"
- name: HUB_NAME
value: "azr-nh-ilens-mobileapp-002"
- name: CONNECTION_STRING
value: "Endpoint=sb://hns-ilensmobile.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=r5WizBdqjd/t35JvPJwXLL45nzpf1WxQOXfmqv58SAk="
- name: API_VERSION
value: "?api-version=2015-01"
- name: MOBILE_PUSH_NOTIFICATION
value: "True"
- name: BATCH_EMAIL_ALERTS_ENABLE
value: "True"
- name: LOW_PRIORITY_CONFIGURATION
value: "30"
- name: MODERATE_PRIORITY_CONFIGURATION
value: "20"
- name: MAINTENANCE_SAVE_URL
value: "http://192.168.0.220:9355/maintenance_logbook/support_ticket/save"
- name: NOTIFICATION_INTERFACE
value: "KAFKA"
- name: KAFKA_HOST
value: "kafka-0.kafka-headless.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: TENANT
value: "qa"
- name: MOBILE_ALERT_TITLE
value: 'QA-alert'
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra.svc.cluster.local:6379"
- name: LOGIN_DB
value: "9"
- name: ALARM_STATUS_DB
value: "17"
- name: TIMEZONE
value: "Asia/Kolkata"
- name: ALARM_TOPIC
value: "trigger/alarm"
- name: KAFKA_ALARM_TOPIC
value: "trigger_alarm_qa"
- name: USER_GROUP_ALERT_ENABLE
value: "False"
- name: SKIP_MAIL_LIST
value: "charankumar@knowledgelens.com"
- name: SKIP_SMS_NUM_STR
value: "9866799773"
- name: TELEGRAM_TOKEN
value: 'bot5614205349:AAG1DHWOrDBHJJhvKSSSHQW0hPDU0M8JnmU'
- name: EMAIL_GATEWAY_ID
value: 'default'
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: MODULE_NAME
value: "notification-engine"
- name: SMS_GATEWAY_ID
value: 'sms_gateway_098'
- name: EMAIL_GATEWAY_ID
value: 'default'
- name: EMAIL_SERVICE_PROXY
value: 'https://cloud.ilens.io/sms-util/'
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: METADATA_PROXY
value: "http://metadata-service.ilens-core:8989"
- name: SECURE_ACCESS
value: "true"
- name: AUDIT_PROXY
value: "http://ilens-audit-tracker.ilens-core.svc.cluster.local:1223"
- name: CORS_URLS
value: "qa.ilens.io,https://staging.ilens.io"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/oee-services"
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra:6379"
- name: KAIROS_URI
value: "http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80"
- name: APP_NAME
value: oee-services
- name: KAFKA_HOST
value: "kafka-0.kafka-headless.ilens-infra.svc.cluster.local"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_TOPIC
value: "ilens_dev"
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: "ilens_dev_backup"
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: "ilens_expire"
- name: KAIROS_CACHE_TIME
value: "60"
- name: MQTT_URL
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: LOG_LEVEL
value: "DEBUG"
- name: OEE_DB
value: "ilens_oee"
- name: JSBL_PROJECT_ID
value: "project_109"
- name: EXCLUDE_DOWNTIME
value: '["planned"]'
- name: DOWNTIME_PROXY
value: "{{ DOWNTIME_OEE_URL }}"
- name: OEE_TRENDS_TARGET_VALUE
value: "90"
deployment:
environmentVar:
- name: PORT
value: "3200"
- name: LOG_LEVEL
value: "DEBUG"
- name: ENV
value: "dev"
- name: PROXY
value: "/vision"
- name: INTERNAL_TOKEN
value: "SampleToken"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-creds
key: MONGO_URI
- name: MONGO_DATABASE
value: "ilens_vision_apps"
- name: REDIS_HOST
value: "redis-db-service.ilens-infra"
- name: REDIS_PORT
value: "6379"
- name: JANUS_BASE_URL
value: "http://192.168.3.220:8088"
- name: JANUS_SSL_VERIFY
value: ""
- name: JANUS_CERTS
value: ""
# - name: DOCKER_SOCK_PATH
# value: "unix:/var/run/docker.sock"
- name: DOCKER_SOCK_PATH
value: "http://localhost:2375"
- name: DOCKER_REGISTRY_URL
value: "azracrilensai.azurecr.io"
- name: DOCKER_REGISTRY_USERNAME
value: "azracrilensai"
- name: DOCKER_REGISTRY_PASSWORD
value: "JI/x90kvS1NqD2aNMuficRiygu7mf9pS"
- name: DOCKER_STREAMING_IMAGE
value: "azracrilensai.azurecr.io/repository/ilens-ai/steamer_code/edge_processor:v4"
- name: DOCKER_MOUNT_VOL
value: "/app/assets/datasets"
- name: DOCKER_BASE_MOUNT_VOL
value: "/app/assets/datasets"
- name: DOCKER_HOST
value: "tcp://localhost:2375"
- name: OUTPUT_MODEL_DIRECTORY
value: ""
- name: EXTERNAL_VAR
value: "{}"
- name: MLFLOW_TRACKING_USERNAME
value: "iLens"
- name: MLFLOW_TRACKING_PASSWORD
value: "iLensMLFLow$12#"
- name: AZURE_STORAGE_CONNECTION_STRING
value: "DefaultEndpointsProtocol=https;AccountName=azrmlilensqa006382180551;AccountKey=tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg==;EndpointSuffix=core.windows.net"
- name: AZURE_STORAGE_ACCESS_KEY
value: "tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg=="
- name: ML_TRACKING_URI
value: "http://104.208.73.213/mlflow-v2/"
- name: AZURE_ACCOUNT_NAME
value: "azrmlilensqa006382180551"
- name: AZURE_ACCOUNT_KEY
value: "tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg=="
- name: AZURE_CONTAINER_NAME
value: "azureml"
- name: AZURE_BLOB_PATH
value: "/dataset_repositoty"
- name: CLIENT_NAME
value: "cement-bag-count"
- name: MANAGER_BASE_URL
value: "http://20.231.95.116:8890/train"
- name: SERVICE_URL
value: "https://qa.ilens.io/vision/api/v1"
- name: SERVICE_ENDPOINT
value: "/model_mngt/job/status"
- name: MQTT_HOST
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: SSL
value: "false"
- name: CONNECTION_TYPE
value: "tcp"
- name: INFERENCE_URL
value: "http://inference-model.ilens-core.svc.cluster.local:8880"
- name: CVAT_URL
value: https://cvat-qa.ilens.io
- name: CVAT_USERNAME
value: admin
- name: CVAT_PASSWORD
value: cvat@123
- name: CORS_URLS
value: "https://qa.ilens.io"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: VERIFY_SIGNATURE
value: "False"
- name: PROTECTED_HOSTS
value: "*.unifytwin.com, *.ilens.io"
- name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
value: "python"
- name: SIGNATURE_KEY
value: "kliLensKLiLensKL"
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MODULE_PROXY
value: "/awb"
- name: TIMEZONE
value: "UTC"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "data-processor"
- name: CORS_URLS
value: "qa.unifytwin.com"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_ACCESS
value: 'True'
- name: SW_DOCS_URL
value: '/docs'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: "redis://redis-db-service.ilens-infra.svc.cluster.local:6379"
- name: ALARM_REPORT
value: "alarm_reports"
- name: MQTT_URL
value: "mqtt-service.ilens-infra.svc.cluster.local"
- name: MQTT_PORT
value: "1883"
- name: HIERARCHY_SERVICE_PROXY
value: "http://hierarchy-services.ilens-core.svc.cluster.local:7008"
- name: META_GET_HIERARCHY_MAPPING
value: "http://metadata-service.ilens-core.svc.cluster.local:8989/ilens_config/get_site_level_hierarchy"
- name: META_SERVICES_PROXY
value: "http://metadata-service.ilens-core.svc.cluster.local:8989"
- name: KAFKA_AGGREGATE_TOPIC
value: "ilens_aggregate" # as per data processor aggregate_topic # as per data processor streaming_uri
- name: SEND_SCHEDULE_EVENTS_IN_SEC
value: "2"
- name: DATAPROCESSOR_TIMEZONE # as per data processor TIME_ZONE_PYTZ
value: "Asia/Calcutta"
- name: SCHEDULED_RULE_EXPIRY_DAYS
value: "5"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: DATABASE_NAME
value: "ilens_assistant"
- name: ENABLE_CONSOLE_LOG
value: "True"
- name: ILENS_EVENTS_PROXY
value: "{{ EVENTS_PROCESSOR_SERVICES_URL }}"
- name: ENABLE_STARTUP_SCRIPTS
value: "True"
name: audit-management-worker
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:audit-management-v7.4.0.2
command:
- python
- audit_entry.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_NAME
value: audit-management-worker
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: POSTGRES_DB
value: ilens_assistant
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: audit_logs
- name: BATCH_SIZE
value: '10'
- name: REFRESH_TIME
value: '60'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /audit-management
- name: SECURE_ACCESS
value: 'true'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: HIERARCHY_SERVICES
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: KAFKA_URI
value: http://kafka.ilens-infra.svc.cluster.local:9092
- name: MQTT_URL
value: '{{ MQTT_SERVICE_URI }}'
- name: KAFKA_GROUP
value: my-group
- name: GOTENBERG_PROXY
value: '{{ GOTENBERG_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: audit-management
codeType: backend
type: core
ports:
name: port5111
port: 5111
targetPort: 5111
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:audit-management-v7.4.0.2
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/audit_management/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_NAME
value: audit-management
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: POSTGRES_DB
value: ilens_assistant
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: audit_logs
- name: BATCH_SIZE
value: '10'
- name: REFRESH_TIME
value: '60'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /audit-management
- name: SECURE_ACCESS
value: 'true'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: HIERARCHY_SERVICES
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: KAFKA_URI
value: http://kafka.ilens-infra.svc.cluster.local:9092
- name: MQTT_URL
value: '{{ MQTT_SERVICE_URI }}'
- name: KAFKA_GROUP
value: my-group
- name: GOTENBERG_PROXY
value: '{{ GOTENBERG_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: audit-management
type: NodePort
name: batch-management
codeType: backend
type: core
ports:
name: port8000
port: 8000
targetPort: 8000
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
command:
- python
- app.py
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:batch-management-v7.4.0.3
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 1000Mi
cpu: 750m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: data
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: REDIS_USER_ROLE_DB
value: '21'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_PROJECT_DB
value: '18'
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: LOG_LEVEL
value: DEBUG
- name: CORS_URLS
value: '["*.ilens.io","kl.ilens.io"]'
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '8000'
- name: SECURE_COOKIE
value: 'False'
- name: OEE_SERVICES_PROXY
value: http://oee-services.ilens-core:6869
- name: BATCH_DB
value: batch_details
- name: METADATA_SERVICES_URL
value: '{{ METADATA_SERVICES_URL }}'
- name: PRODUCT_MT
value: '{{ PRODUCTMANAGEMENT_URL }}'
- name: KAIROS_URI
value: '{{ KAIROS_URI }}'
- name: VIS_URL
value: '{{ VISUALIZATION40_URL }}'
- name: PG_POOL_SIZE
value: '20'
- name: HIERARCHY_SERVICES_URL
value: '{{ HIERARCHY_SERVICES_URL }}'
- name: PG_MAX_OVERFLOW
value: '10'
- name: KAIROS_AGG_UNIT
value: minutes
- name: KAIROS_AGG_value
value: '15'
- name: WORKFLOW_MANAGEMENT_URL
value: '{{ WORKFLOW_MANAGEMENT_URL }}'
- name: SPC_CHART_MARK_LINE
value: 'FALSE'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: batch-management
type: NodePort
name: custom-form-services
codeType: backend
type: core
replicas: 1
ports:
name: port2729
port: 2729
targetPort: 2729
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 2
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:custom-form-services-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 350Mi
cpu: 350m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: custom-form-services
- name: LOG_LEVEL
value: DEBUG
- name: APP_PROXY
value: /custom_material/
- name: MODULE_NAME
value: CustomFormServices
- name: SECURE_COOKIE
value: 'FALSE'
- name: METADATA_DB
value: ilens_configuration
- name: ILENS_ASSISTANT
value: ilens_assistant
- name: ILENS_ASSISTANT_DB
value: ilens_assistant
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: WORKFLOW_PROXY
value: http://workflow-management.ilens-core:7120
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: METADATA_PROXY
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: INPUT_MONTHS
value: '4'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: PUBLIC_URL
value: http://custom-form-services.ilens-core.svc.cluster.local:2729
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: LOG_TRACEBACK
value: 'false'
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURE_ACCESS
value: 'true'
- name: SECURITY_USER_CHECK
value: 'true'
- name: APP_NAME
value: custom-form-services
- name: BASE_DIRECTORY
value: /code/data
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: WORKFLOW_MGMT_PROXY
value: http://workflow-management.ilens-core:7120
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: USER_NAME
value: AllGoodNamesRGone
- name: PASSWORD
value: comBRANSeANtamasEbICaPeC
- name: EBPR_REPORT_ENGINE_PROXY
value: http://ebpr-report-engine.ilens-core:45678
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: custom-form-services
type: NodePort
name: data-import
codeType: backend
type: core
ports:
name: port8191
port: 8191
targetPort: 8191
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-import-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 350Mi
cpu: 350m
livenessProbe:
enabled: true
path: /api/data_import/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 20
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MQTT_AUTH
value: ''
- name: MQTT_USERNAME
value: ''
- name: MQTT_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: ilens_prod
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: ENABLE_SITES_PARTITION
value: 'True'
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: SPLIT_KEY
value: site_id
- name: ROUND_ROBIN_ENABLE
value: 'True'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: REDIS_PARTITION_DB
value: '13'
- name: SCHEDULER_URL
value: http://ilens-scheduler-service.ilens-core.svc.cluster.local:28595
- name: BASE_MOUNT
value: /code/data
- name: BASE_PROXY
value: http://ilens-ui-service.ilens-core.svc.cluster.local:80
- name: APP_NAME
value: data-import
- name: MODULE_PROXY
value: /data_import
- name: MODULE_NAME
value: main
- name: PORT
value: '8191'
- name: VALIDATE_LICENSE_URL
value: ''
- name: VALIDATE_LICENSE
value: 'False'
- name: VALIDATE_LICENSE_ON_REQUESTS
value: 'False'
- name: SECURE_ACCESS
value: 'true'
- name: TEMP_FILE_PATH
value: temp
- name: CSV_FILE_PATH
value: csv
- name: DCP_PROXY
value: /dcp_api
- name: META_PROXY
value: /ilens_api/
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: NESHAP_PROXY
value: /neshap
- name: SHEET_VALUES_TO_REMOVE
value: -,/
- name: N_ROWS
value: '5'
- name: BATCH_LIMIT
value: '3000'
- name: HIERARCHY_PROXY
value: /hry
- name: EXTERNAL_API_TIMEOUT
value: '30'
- name: BUFFER_TIME
value: '10'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: HIERARCHY_PROXY
value: /hry
- name: EXTERNAL_API_TIMEOUT
value: '30'
- name: BUFFER_TIME
value: '10'
- name: META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: HRY_SERVICE_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: DCP_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: NESHAP_URL
value: http://pipeline-neshap.ilens-core.svc.cluster.local:8192
- name: OUTPUT_FILE_SIZE
value: '86400'
- name: OUTPUT_FILE_NAME
value: Tag_values
- name: TIME_ZONE
value: Asia/Kolkata
- name: MAPPING_FILE_PATH
value: Mapping/
- name: OUTPUT_FILE_PATH
value: Tagvalues_files/
- name: LOGIN_USERNAME
value: ilens_ut
- name: OUTPUT_MAPPING_FILE_NAME
value: Tag_details
- name: LOG_TRACEBACK
value: 'true'
- name: TAGS_TO_FETCH_PER_QUERY
value: '10'
- name: LOGIN_PASSWORD
value: ilens_ut@123
- name: QUALITY_CHECK
value: '80'
- name: TOKEN_EXPIRE_TIME
value: '30'
- name: OUTPUT_MAPPING_FILE_PATH
value: Mapping_files/
- name: ENABLE_METRICS
value: 'True'
- name: DATE_TO_FETCH_FROM
value: 20-02-2023
- name: LOG_LEVEL
value: DEBUG
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: data-import
type: NodePort
name: data-processor-aggregate-execute-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6070
- aggregate_execute_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-dep-rule-execute-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6067
- dep_rule_execute_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-event-trigger
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- rule_event_trigger.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 400Mi
cpu: 400m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-history-data-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=1244
- history_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-kairos-batchwriting-agent
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6071
- kairos_batchwriting_agent
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 400Mi
cpu: 300m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-live-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6066
- live_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 150Mi
cpu: 100m
limits:
memory: 750Mi
cpu: 1000m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-rule-alarm-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6067
- rule_alarm_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 750Mi
cpu: 1000m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-rule-execute-agent
codeType: backend
type: core
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-v7.4.0
command:
- python
- app.py
- -l
- info
- worker
- --web-port=6067
- rule_execute_agent
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 750Mi
cpu: 1000m
environmentVar:
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: ENABLE_DEP_RULE_EXECUTION
value: 'True'
- name: SKIP_TAG_AVAILABILITY
value: '["rule_engine_100","rule_engine_106","rule_engine_128","rule_engine_122","rule_engine_121","rule_engine_120","rule_engine_119"]'
- name: LEVEL_TAG_KAIROS_UPDATE
value: 'True'
- name: RESTRICT_NA_VALUE_PUSH
value: 'False'
- name: EMPTY_TAG_KAIROS_VALUE
value:
- name: TIME_ZONE_PYTZ
value: Asia/Calcutta
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: SKIP_TAG_ID_LIST
value: ''
- name: ASSET_API_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/design_tag_data_rule
- name: NOTIFICATION_ENGINE_INTERFACE
value: KAFKA
- name: INDEP_RULE_TOPIC
value: ilens_indep_rule
- name: DEP_RULE_TOPIC
value: ilens_dep_rule
- name: AGGREGATION_TOPIC
value: ilens_aggregate
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: DEFAULT_PROJECT_ID
value: ''
- name: SECURE_ACCESS
value: 'true'
- name: ASSET_STATUS_URL
value: https://azcloud.ilens.io/ilens_api/ilens_config/asset_status_rule
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LICENSE_CHECK_ENABLE
value: 'True'
- name: MQTT_RETAIN_FLAG
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TAG_META_API_URL
value: https://azcloud.ilens.io/ilens_api/tags_v2/tag_meta_update
- name: DOWN_TIME_END
value: https://azcloud.ilens.io/d_oee/downtime_log/rule/update
- name: DOWN_TIME_START
value: https://azcloud.ilens.io/d_oee/downtime_log/save
- name: PAST_DATA_BUF_HRS
value: '6'
- name: FUTURE_DATA_BUF_HRS
value: '24'
- name: ALARM_DATA_BUF_HRS
value: '1'
- name: ERROR_METRIC_PUSH
value: 'True'
- name: TIME_VALIDATION_ENABLE
value: 'true'
- name: DB_SPLIT_DELIMITER
value: __
- name: KAIROS_DEFAULT_METRIC
value: ilens.live_data.raw
- name: KAIROS_ERROR_METRIC
value: ilens.live_data.error
- name: ERROR_DATA_QUALITY_CODE
value: '2'
- name: BACKUP_TAG_PUSH
value: 'false'
- name: LOG_LEVEL
value: DEBUG
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: ALARM_REPORT
value: /alarm_reports
- name: KAIROS_CACHE_TIME
value: '1'
- name: KAIROS_QUERY_AGG_START_BUFFER
value: '10'
- name: EVENT_URL
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOGIN_TOKEN
value: ''
- name: LOG_PATH
value: logs/data-processor/
- name: PARTITION_DB
value: '13'
- name: KAFKA_RULE_BATCH_WRITE_TOPIC
value: ilens_batch_write
- name: BATCH_WRITING_CONS_GROUP
value: kairos_batch_writing
- name: KAIROS_BATCH_WRITE_ENABLE
value: 'True'
- name: KAIROS_BATCH_MAX_COUNT
value: '10'
- name: KAIROS_BATCH_MAX_WAIT
value: '10'
- name: KAFKA_GLENS_OUTPUT_TOPIC
value: ilens_prod_raw
- name: GLENS_LIVE_DATA_METRIC
value: glens.live_data.raw
- name: STREAMING_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: EXCEEDANCE_METRIC
value: ilens.live_data.exceedance
- name: ENABLE_TYPECASTING
value: 'True'
- name: PARAMETER_META_INFO_DB
value: '45'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: device-control-plane-web
codeType: backend
type: core
ports:
name: port8558
port: 8558
targetPort: 8558
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:device-control-plane-v7.4.0.1
command:
- uvicorn
- main:app
- --host
- 0.0.0.0
- --port
- '8558'
- --workers
- '7'
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 2Gi
cpu: 1000m
livenessProbe:
enabled: true
path: /api/device_control_plane/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: CONTAINER_URL
value: http://flow-parser-service.ilens-core.svc.cluster.local:28589
- name: MANAGER_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: BASE_PROXY
value: ilens-ui-service.ilens-core.svc.cluster.local:80
- name: VISUAL_PROXY
value: http://visualization-4.ilens-core.svc.cluster.local:1112
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/ilens-hfae
- name: CODE_BASE_PATH
value: /code/data/pipelines/builds/path/ilens
- name: MODULE_PROXY
value: /dcp_api
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: PIPELINE_INTERNAL_MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: PIPELINE_INTERNAL_MQTT_PORT
value: '8083'
- name: LICENSE_SERVER
value: ''
- name: LICENSE_PORT
value: ''
- name: MONITOR_DEVICES
value: 'True'
- name: DEVICE_MONITOR_RUN_INTERVAL
value: '15'
- name: JOB_LIST_PAGE_LIMIT
value: '500'
- name: VALIDATE_LICENSE_URL
value: ''
- name: VALIDATE_LICENSE_ON_REQUESTS
value: 'False'
- name: BASE_PATH
value: /code/logs
- name: MOUNT_DIR
value: /device-control-plane
- name: NODE_INTERMEDIATE_TYPE
value: kafka
- name: PIPELINE_INTERNAL_KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: PIPELINE_INTERNAL_KAFKA_PORT
value: '9092'
- name: SECURE_ACCESS
value: 'False'
- name: SCHEDULER_URL
value: https://azcloud.ilens.io
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: HEARTBEAT_INTERVAL
value: '10'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: SERVER_LOG_BASE_PATH
value: /code/data/server-pipeline-logs
- name: LOGGING_TYPE
value: ut.stream
- name: KAFKA_BROKERS
value: kafka-0.ilens-infra.svc.cluster.local:9092
- name: KAFKA_STREAM_TOPIC
value: ut-log-stream
- name: META_DATA_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: SECRET_MANAGER_URL
value: http://secret-manager.ilens-core.svc.cluster.local:4557/get_secrets
- name: GIT_PYTHON_REFRESH
value: quiet
- name: POSTGRES_DB
value: postgres
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: device-control-plane-web-service
type: NodePort
name: device-control-plane
codeType: backend
type: core
ports:
name: port8558
port: 8558
targetPort: 8558
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:device-control-plane-v7.4.0.1
command:
- uvicorn
- main:app
- --host
- 0.0.0.0
- --port
- '8558'
- --workers
- '7'
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 2Gi
cpu: 1000m
livenessProbe:
enabled: true
path: /api/device_control_plane/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: CONTAINER_URL
value: http://flow-parser-service.ilens-core.svc.cluster.local:28589
- name: MANAGER_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: BASE_PROXY
value: ilens-ui-service.ilens-core.svc.cluster.local:80
- name: VISUAL_PROXY
value: http://visualization-4.ilens-core.svc.cluster.local:1112
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: CODE_BASE_PATH
value: /code/data/pipelines/builds/path/ilens
- name: MODULE_PROXY
value: /dcp_api
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: PIPELINE_INTERNAL_MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: PIPELINE_INTERNAL_MQTT_PORT
value: '8083'
- name: LICENSE_SERVER
value: ''
- name: LICENSE_PORT
value: ''
- name: MONITOR_DEVICES
value: 'True'
- name: DEVICE_MONITOR_RUN_INTERVAL
value: '15'
- name: JOB_LIST_PAGE_LIMIT
value: '500'
- name: VALIDATE_LICENSE_URL
value: ''
- name: VALIDATE_LICENSE_ON_REQUESTS
value: 'False'
- name: BASE_PATH
value: /code/logs
- name: MOUNT_DIR
value: /device-control-plane
- name: NODE_INTERMEDIATE_TYPE
value: kafka
- name: PIPELINE_INTERNAL_KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: PIPELINE_INTERNAL_KAFKA_PORT
value: '9092'
- name: SECURE_ACCESS
value: 'False'
- name: SCHEDULER_URL
value: https://azcloud.ilens.io
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: HEARTBEAT_INTERVAL
value: '10'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: SERVER_LOG_BASE_PATH
value: /code/data/server-pipeline-logs
- name: LOGGING_TYPE
value: ut.stream
- name: KAFKA_BROKERS
value: kafka-0.ilens-infra.svc.cluster.local:9092
- name: KAFKA_STREAM_TOPIC
value: ut-log-stream
- name: META_DATA_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: SECRET_MANAGER_URL
value: http://secret-manager.ilens-core.svc.cluster.local:4557/get_secrets
- name: GIT_PYTHON_REFRESH
value: quiet
- name: POSTGRES_DB
value: ilens-hfae
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: device-control-plane-service
type: NodePort
name: digital-signature
codeType: backend
type: core
ports:
name: port8671
port: 8671
targetPort: 8671
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:digital-signature-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: /code/data
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: REDIS_USER_ROLE_DB
value: '21'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_PROJECT_DB
value: '18'
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '8671'
- name: CORS_URLS
value: '["https://azcloud.ilens.io"]'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: digital-signature
type: NodePort
name: digital-twin
codeType: backend
type: core
ports:
name: port5555
port: 5555
targetPort: 5555
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:digital-twin-service-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 1Gi
cpu: 500m
livenessProbe:
enabled: true
path: /api/digital_twin_services/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MODULE_NAME
value: digital_twin_services
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: BASE_MOUNT
value: /code/data
- name: MODULE_PROXY
value: /scada_dt
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: ASSET_MODEL_VERSION
value: '1.0'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /digital-twin
- name: SECURE_ACCESS
value: 'true'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: BASE_PROXY
value: http://ilens-ui-service.ilens-core.svc.cluster.local:80
- name: DOWNTIME_OEE_POXY
value: /d_oee
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: HIERARCHY_SERVICE
value: /hry
- name: EXTERNAL_API_TIMEOUT
value: '30'
- name: META_PROXY
value: /ilens_api
- name: RULES_ALERT_SERVICES
value: /awb
- name: DOWNTIME_OEE_URL
value: http://downtime-oee.ilens-core.svc.cluster.local:1998
- name: META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: RULES_ALERT_URL
value: http://rules-alert-services.ilens-core.svc.cluster.local:8586
- name: HRY_SERVICE_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: LOG_LEVEL
value: DEBUG
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: digital-twin-service
type: NodePort
name: downtime-oee
codeType: backend
type: core
replicas: 1
ports:
name: port1998
port: 1998
targetPort: 1998
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 2
minReplicaCount: 1
scalePercentage: 85
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:downtime-oee-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 150Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 750m
environmentVar:
- name: MODULE_NAME
value: downtime-oee
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: DOWNTIME_DB_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/downtime_db
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595/
- name: BASE_PATH
value: /code/data
- name: APP_NAME
value: downtime-oee
- name: MOUNT_DIR
value: downtime-oee
- name: ILENS_ASSISTANT_DB
value: ilens_assistant
- name: SELF_PROXY
value: ''
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SECURE_ACCESS
value: 'true'
- name: CORS_URLS
value: azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: EVENT_EXPLORER
value: https://azcloud.ilens.io/csv_reader
- name: METADATA_PROXY
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/
- name: DOWNTIME_DB
value: downtime_db
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: OEE_PROXY
value: '{{ OEE_SERVICES_URI }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: downtime-oee
type: NodePort
name: ebpr-periodic-data-engine-celery
codeType: backend
type: core
ports:
name: port2699
port: 2699
targetPort: 2699
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:ebpr-periodic-data-engine-v7.4.0.1
command:
- celery
- -A
- worker
- worker
- -Q
- logbook_backfill,logbook_backfill_bulk,logbook_backfill_time_bound
- -P
- solo
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 750m
environmentVar:
- name: MODULE_NAME
value: main
- name: APP_NAME
value: ebpr_data_engine
- name: PORT
value: '2699'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: mqtt-service.ilens-infra
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URI
value: mqtt://mqtt-service.ilens-infra:1883
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: EBPR_DATA_ENGINE_PROXY
value: http://ebpr-periodic-data-engine.ilens-core:2699
- name: EBPR_PROXY
value: http://ebpr-engine.ilens-core:6968
- name: FORM_MT
value: http://form-management.ilens-core:5121
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: DEBUG
- name: LOG_TRACEBACK
value: 'true'
- name: BUFFER_WINDOW
value: '10'
- name: E_LOGBOOK_PROXY
value: http://electronic-logbook-core.ilens-core:28788
- name: MES_PROXY
value: http://mes-module.ilens-core:14563
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /ebpr_data_engine
- name: SECURE_ACCESS
value: 'true'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_LIVE_DB
value: '12'
- name: REDIS_PROJECT_DB
value: '18'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/35
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LEEWAY_TIME
value: '60'
- name: ENABLE_CORS
value: 'True'
- name: CORS_URLS
value: azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: SECURE_COOKIE
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ebpr-periodic-data-engine
codeType: backend
type: core
ports:
name: port2699
port: 2699
targetPort: 2699
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:ebpr-periodic-data-engine-v7.4.0.1
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 750m
livenessProbe:
enabled: true
path: /api/ebpr_periodic_data_engine/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MODULE_NAME
value: main
- name: APP_NAME
value: ebpr_data_engine
- name: PORT
value: '2699'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: mqtt-service.ilens-infra
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URI
value: mqtt://mqtt-service.ilens-infra:1883
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: EBPR_DATA_ENGINE_PROXY
value: http://ebpr-periodic-data-engine.ilens-core:2699
- name: EBPR_PROXY
value: http://ebpr-engine.ilens-core:6968
- name: FORM_MT
value: http://form-management.ilens-core:5121
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: DEBUG
- name: LOG_TRACEBACK
value: 'true'
- name: BUFFER_WINDOW
value: '10'
- name: E_LOGBOOK_PROXY
value: http://electronic-logbook-core.ilens-core:28788
- name: MES_PROXY
value: http://mes-module.ilens-core:14563
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /ebpr_data_engine
- name: SECURE_ACCESS
value: 'true'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_LIVE_DB
value: '12'
- name: REDIS_PROJECT_DB
value: '18'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/35
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LEEWAY_TIME
value: '60'
- name: ENABLE_CORS
value: 'True'
- name: CORS_URLS
value: azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: SECURE_COOKIE
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ebpr-periodic-data-engine
type: NodePort
name: ebpr-report-engine-celery
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ebpr-report-engine-v7.4.0.3
command:
- celery
- -A
- worker
- worker
- --loglevel=DEBUG
- -Q
- ebpr_reports
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 500m
environmentVar:
- name: APP_NAME
value: ebpr-report-engine
- name: MODULE_NAME
value: main
- name: PORT
value: '45678'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core:8989
- name: EBPR_DATA_ENGINE_PROXY
value: http://ebpr-periodic-data-engine.ilens-core:2699
- name: EBPR_PROXY
value: http://ebpr-engine.ilens-core:6968
- name: EBPR_REPORT_PROXY
value: http://ebpr-report-engine.ilens-core:45678
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: DEBUG
- name: LOG_TRACEBACK
value: 'false'
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core.svc.cluster.local:28595
- name: REPORT_DIRECTORY
value: reports
- name: BASE_DIRECTORY
value: /code/data
- name: ENABLE_CELERY_WORKER
value: 'true'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: WORKFLOW_MGMT_PROXY
value: http://workflow-management.ilens-core:7120
- name: MOBILE_PUSH_NOTIFICATION
value: 'false'
- name: HUB_NAME
value: ''
- name: CONNECTION_STRING
value: ''
- name: API_VERSION
value: ''
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USER
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DATABASE
value: ilens-hfae
- name: REPORT_PUBLIC_URL
value: https://azcloud.ilens.io/ebpr_reports
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: CUSTOMER_EMAIL_TEMPLATE
value: link_email
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /ebpr-report-engine
- name: ASSISTANT_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/ilens_assistant
- name: GOTENBERG_SERVER
value: http://gotenberg.ilens-core.svc.cluster.local:3000
- name: BACKFILL_URI
value: http://ebpr-periodic-data-engine.ilens-core:2699/utils/periodic_data/auto/insert
- name: BACKFILL_ENABLED
value: 'false'
- name: BACKFILL_WAIT_TIME
value: '3'
- name: BACKFILL_INTERVAL_MIN
value: '60'
- name: SECURE_ACCESS
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: VISUALIZATION
value: http://visualization-4.ilens-core:1112
- name: WORD_RENDER_API
value: ''
- name: USER_NAME
value: AllGoodNamesRGone
- name: PASSWORD
value: comBRANSeANtamasEbICaPeC
- name: POSTGRES_DB
value: ilens-hfae
- name: SECRET_KEY
value:
gAAAAABhxEqUbE5SkJEfFCC6VtV4BQhIdHcUs6Y0dhFCTOCxZtz7rDwBeapR-Q3ecZIhkwq7sgAfxzq0mEY50WnjEjE9g3Tc8OHkhq3hj2j_1EGcosDfM2Y=
- name: EMAIL_GATEWAY
value: default
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: FERNET_KEY
value: VE68aW4wNAkpz37bJtEA6P4gXKixpIF_FckqTmwrEUU=
- name: ASSISTANT_DB
value: ilens_assistant
- name: DELAY_REPORT
value: '30'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: ENABLE_METRICS
value: 'True'
- name: BK_FILL_BUFFER
value: '1'
- name: GOTENBERG_TIMEOUT
value: '300'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ebpr-report-engine
codeType: backend
type: core
ports:
name: port45678
port: 45678
targetPort: 45678
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ebpr-report-engine-v7.4.0.3
command:
- uvicorn
- main:app
- --host
- 0.0.0.0
- --port
- '45678'
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/ebpr_report_engine/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: APP_NAME
value: ebpr-report-engine
- name: MODULE_NAME
value: main
- name: PORT
value: '45678'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core:8989
- name: EBPR_DATA_ENGINE_PROXY
value: http://ebpr-periodic-data-engine.ilens-core:2699
- name: EBPR_PROXY
value: http://ebpr-engine.ilens-core:6968
- name: EBPR_REPORT_PROXY
value: http://ebpr-report-engine.ilens-core:45678
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: DEBUG
- name: LOG_TRACEBACK
value: 'false'
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core.svc.cluster.local:28595
- name: REPORT_DIRECTORY
value: reports
- name: BASE_DIRECTORY
value: /code/data
- name: ENABLE_CELERY_WORKER
value: 'true'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: WORKFLOW_MGMT_PROXY
value: http://workflow-management.ilens-core:7120
- name: MOBILE_PUSH_NOTIFICATION
value: 'false'
- name: HUB_NAME
value: ''
- name: CONNECTION_STRING
value: ''
- name: API_VERSION
value: ''
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USER
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DATABASE
value: ilens-hfae
- name: REPORT_PUBLIC_URL
value: https://azcloud.ilens.io/ebpr_reports
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: CUSTOMER_EMAIL_TEMPLATE
value: link_email
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /ebpr-report-engine
- name: ASSISTANT_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/ilens_assistant
- name: GOTENBERG_SERVER
value: http://gotenberg.ilens-core.svc.cluster.local:3000
- name: BACKFILL_URI
value: http://ebpr-periodic-data-engine.ilens-core:2699/utils/periodic_data/auto/insert
- name: BACKFILL_ENABLED
value: 'false'
- name: BACKFILL_WAIT_TIME
value: '3'
- name: BACKFILL_INTERVAL_MIN
value: '60'
- name: SECURE_ACCESS
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: VISUALIZATION
value: http://visualization-4.ilens-core:1112
- name: WORD_RENDER_API
value: ''
- name: USER_NAME
value: AllGoodNamesRGone
- name: PASSWORD
value: comBRANSeANtamasEbICaPeC
- name: POSTGRES_DB
value: ilens-hfae
- name: SECRET_KEY
value:
gAAAAABhxEqUbE5SkJEfFCC6VtV4BQhIdHcUs6Y0dhFCTOCxZtz7rDwBeapR-Q3ecZIhkwq7sgAfxzq0mEY50WnjEjE9g3Tc8OHkhq3hj2j_1EGcosDfM2Y=
- name: EMAIL_GATEWAY
value: default
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: FERNET_KEY
value: VE68aW4wNAkpz37bJtEA6P4gXKixpIF_FckqTmwrEUU=
- name: ASSISTANT_DB
value: ilens_assistant
- name: DELAY_REPORT
value: '30'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: ENABLE_METRICS
value: 'True'
- name: BK_FILL_BUFFER
value: '1'
- name: GOTENBERG_TIMEOUT
value: '300'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ebpr-report-engine
type: NodePort
name: event-explorer-web
codeType: backend
type: core
ports:
name: port9897
port: 9897
targetPort: 9897
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:event-explorer-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 150Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 350m
environmentVar:
- name: SERVICE_PORT
value: '9897'
- name: WORKERS
value: '1'
- name: THREADS
value: '3'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: BASE_MOUNT
value: /code/data
- name: META_DATA_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: SECURE_ACCESS
value: 'true'
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOG_PATH
value: /code/data/event-explorer-logs/
- name: ENABLE_CONSOLE_LOG
value: true
- name: ENABLE_FILE_LOG
value: false
- name: LOG_FILE_NAME
value: event-explorer
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: event-explorer-web
type: NodePort
name: event-explorer
codeType: backend
type: core
ports:
name: port9897
port: 9897
targetPort: 9897
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:event-explorer-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 150Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 350m
livenessProbe:
enabled: true
path: /api/event_explorer/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: SERVICE_PORT
value: '9897'
- name: WORKERS
value: '1'
- name: THREADS
value: '3'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: BASE_MOUNT
value: /code/data
- name: META_DATA_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: SECURE_ACCESS
value: 'true'
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOG_PATH
value: /code/data/event-explorer-logs/
- name: ENABLE_CONSOLE_LOG
value: true
- name: ENABLE_FILE_LOG
value: false
- name: LOG_FILE_NAME
value: event-explorer
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: event-explorer
type: NodePort
name: flow-parser
codeType: backend
type: core
ports:
name: port28589
port: 28589
targetPort: 28589
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:flow-parser-pipeline-builder-v7.4.0
PullSecrets: ilens-azregistry
command:
- python
- app.py
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/flow_parser_builder/healthcheck
initialDelaySeconds: 200
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '28589'
- name: LOG_LEVEL
value: DEBUG
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: DOCKER_HOST
value: tcp://localhost:2375
- name: CODE_BASE_PATH
value: /code/data/pipelines/builds/path
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /flow-parser
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SECURE_ACCESS
value: 'true'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
dockerBind:
enabled: true
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: flow-parser-service
type: NodePort
name: form-management
codeType: backend
type: core
replicas: 1
ports:
name: port5121
port: 5121
targetPort: 5121
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:form-management-v7.4.0.4
command:
- uvicorn
- main:app
- --host
- 0.0.0.0
- --port
- '5121'
- --workers
- '1'
- --proxy-headers
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/form-mt/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MODULE_NAME
value: form-management
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: FORM_DE
value: http://ebpr-periodic-data-engine.ilens-core:2699
- name: METADATA_DB
value: ilens_configuration
- name: MAX_WORKERS
value: '1'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /form-management
- name: ILENS_ASSISTANT
value: ilens_assistant
- name: KAFKA_URI
value: kafka://kafka.ilens-infra.svc.cluster.local:9092
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: KAFKA_TOPIC
value: ilens_prod
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: MAINTENANCE_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/maintenance_logbook
- name: ASSISTANT_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/ilens_assistant
- name: FORM_MT
value: http://form-management.ilens-core.svc.cluster.local:5121
- name: PERIODIC_ENTRY_AUDITING
value: 'false'
- name: FORM_NON_PERIODIC_AUDITING
value: 'true'
- name: FORM_PERIODIC_AUDITING
value: 'true'
- name: ENABLE_KAFKA_PARTITION
value: 'true'
- name: ROUND_ROBIN_PARTITION
value: 'true'
- name: INTERVAL
value: '15'
- name: MQTT_URL
value: mqtt://mqtt-service.ilens-infra:1883
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SECURE_ACCESS
value: 'true'
- name: METADATA_SERVICES
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: AUDIT_PROXY
value: http://ilens-audit-tracker.ilens-core.svc.cluster.local:1223
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: TRIGGER_BANDWIDTH
value: '300'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOG_LEVEL
value: INFO
- name: ENABLE_EVENTS
value: 'False'
- name: ILENS_EVENTS
value: http://events-processor-services.ilens-core.svc.cluster.local:8122
- name: DEFAULT_EVENT_CODE
value: user_triggered_logbook_events
- name: OEE_SERVICES
value: http://oee-services.ilens-core:6869
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: POSTGRES_BG_PROCESS
value: 'False'
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: DIGITAL_SIGNATURE
value: http://digital-signature.ilens-core:8671
- name: POSTGRES_SUPPORT
value: 'True'
- name: SELF_PROXY
value: '{{ PUBLIC_URL }}'
- name: PG_SCHEMA
value: public
- name: BATCH_MANAGEMENT_PROXY
value: '{{ BATCH_MANAGEMENT_URL }}'
- name: PG_POOL_SIZE
value: '20'
- name: PG_REMOVE_PREFIX
value: 'false'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: HIERARCHY_SERVICES
value: '{{ HIERARCHY_SERVICES_URL }}'
- name: PG_MAX_OVERFLOW
value: '10'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: form-management
type: NodePort
name: global-catalog-gc
codeType: backend
type: core
ports:
name: port5001
port: 5001
targetPort: 5001
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:global-catalog-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 300m
environmentVar:
- name: APP_NAME
value: global-catalogue
- name: MODULE_NAME
value: main
- name: PORT
value: '5001'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: INFO
- name: LOG_TRACEBACK
value: 'false'
- name: BASE_DIRECTORY
value: /code/data
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /global-catalog
- name: SECURE_ACCESS
value: 'false'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: GLOBAL_CATALOG_SERVICES
value: https://azcloud.ilens.io
- name: SELF_PROXY
value: https://azcloud.ilens.io
- name: GLOBAL_CATALOG_PROJECT_ID
value: project_106
- name: GLOBAL_CATALOG_USER
value: user_097
- name: GLOBAL_CATALOG_PROXY
value: /global_catalog
- name: DCP_PROXY
value: /dcp_api
- name: DIGITAL_TWIN_IMAGES_PATH
value: /code/data/digital_twin_services/images/asset_model
- name: DIGITAL_TWIN_PROXY
value: /scada_dt
- name: META_PROXY
value: /ilens_api
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MQTT_AUTH
value: ''
- name: MQTT_USERNAME
value: ''
- name: MQTT_PASSWORD
value: ''
- name: HIERARCHY_SERVICES_PROXY
value: /hry
- name: GLOBAL_CATALOG_TOKEN
value: 76fae7b0874d4c3b85858f41f1f10c79
- name: REQUEST_TIMEOUT
value: '30'
- name: VISUAL_PROXY
value: /visual4.0
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: VISUAL_PROXY
value: /visual4.0
- name: GLOBAL_CATALOG_PROXY_GC
value: /global_catalog_gc
- name: VISUAL_PROXY_GC
value: /visual4.0_gc
- name: HIERARCHY_SERVICES_PROXY_GC
value: /hry_gc
- name: META_PROXY_GC
value: /ilens_api_gc
- name: DIGITAL_TWIN_PROXY_GC
value: /scada_dt_gc
- name: INTERNAL_VISUALIZATION_SERVICES_URL
value: http://visualization-4.ilens-core.svc.cluster.local:1112
- name: INTERNAL_GLOBAL_CATALOG_URL
value: http://global-catalog.ilens-core.svc.cluster.local:5001
- name: INTERNAL_HIERARCHY_SERVICES_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: INTERNAL_DIGITAL_TWIN_URL
value: http://digital-twin-service.ilens-core.svc.cluster.local:5555
- name: INTERNAL_DCP_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: INTERNAL_META_SERVICES_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: GC_BEARER_TOKEN
value: Z2xvYmFsLWNhdGFsb2ctbG9naW4tdG9rZW4=
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: EMAIL_SERVICE_PROXY
value: '{{ EMAIL_SERVICE_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: global-catalog-gc
type: NodePort
name: global-catalog
codeType: backend
type: core
ports:
name: port5001
port: 5001
targetPort: 5001
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:global-catalog-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 300m
livenessProbe:
enabled: true
path: /api/global-catalog/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: APP_NAME
value: global-catalogue
- name: MODULE_NAME
value: main
- name: PORT
value: '5001'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: SECURITY_IP_CHECK
value: 'false'
- name: SECURITY_USER_CHECK
value: 'true'
- name: SECURITY_AGENT_CHECK
value: 'true'
- name: LOG_LEVEL
value: INFO
- name: LOG_TRACEBACK
value: 'false'
- name: BASE_DIRECTORY
value: /code/data
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /global-catalog
- name: SECURE_ACCESS
value: 'false'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: GLOBAL_CATALOG_SERVICES
value: https://azcloud.ilens.io
- name: SELF_PROXY
value: https://azcloud.ilens.io
- name: GLOBAL_CATALOG_PROJECT_ID
value: project_106
- name: GLOBAL_CATALOG_USER
value: user_097
- name: GLOBAL_CATALOG_PROXY
value: /global_catalog
- name: DCP_PROXY
value: /dcp_api
- name: DIGITAL_TWIN_IMAGES_PATH
value: /code/data/digital_twin_services/images/asset_model
- name: DIGITAL_TWIN_PROXY
value: /scada_dt
- name: META_PROXY
value: /ilens_api
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MQTT_AUTH
value: ''
- name: MQTT_USERNAME
value: ''
- name: MQTT_PASSWORD
value: ''
- name: HIERARCHY_SERVICES_PROXY
value: /hry
- name: GLOBAL_CATALOG_TOKEN
value: 76fae7b0874d4c3b85858f41f1f10c79
- name: REQUEST_TIMEOUT
value: '30'
- name: VISUAL_PROXY
value: /visual4.0
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: VISUAL_PROXY
value: /visual4.0
- name: GLOBAL_CATALOG_PROXY_GC
value: /global_catalog_gc
- name: VISUAL_PROXY_GC
value: /visual4.0_gc
- name: HIERARCHY_SERVICES_PROXY_GC
value: /hry_gc
- name: META_PROXY_GC
value: /ilens_api_gc
- name: DIGITAL_TWIN_PROXY_GC
value: /scada_dt_gc
- name: INTERNAL_VISUALIZATION_SERVICES_URL
value: http://visualization-4.ilens-core.svc.cluster.local:1112
- name: INTERNAL_GLOBAL_CATALOG_URL
value: http://global-catalog.ilens-core.svc.cluster.local:5001
- name: INTERNAL_HIERARCHY_SERVICES_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: INTERNAL_DIGITAL_TWIN_URL
value: http://digital-twin-service.ilens-core.svc.cluster.local:5555
- name: INTERNAL_DCP_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: INTERNAL_META_SERVICES_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: GC_BEARER_TOKEN
value: Z2xvYmFsLWNhdGFsb2ctbG9naW4tdG9rZW4=
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: EMAIL_SERVICE_PROXY
value: '{{ EMAIL_SERVICE_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: global-catalog
type: NodePort
name: hierarchy-services
codeType: backend
type: core
ports:
name: port7008
port: 7008
targetPort: 7008
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:hierarchy-services-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 300m
livenessProbe:
enabled: true
path: /api/hierarchy/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MQTT_AUTH
value: ''
- name: MQTT_USERNAME
value: ''
- name: MQTT_PASSWORD
value: ''
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: ENABLE_SITES_PARTITION
value: 'True'
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: SPLIT_KEY
value: site_id
- name: ROUND_ROBIN_ENABLE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: REDIS_PARTITION_DB
value: '13'
- name: BASE_PROXY
value: http://ilens-ui-service.ilens-core.svc.cluster.local:80
- name: BASE_MOUNT
value: /code/data
- name: APP_NAME
value: hierarchy
- name: MODULE_PROXY
value: /hry
- name: MODULE_NAME
value: hierarchy_services
- name: PORT
value: '7008'
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USER_NAME
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DB_NAME
value: ilens-hfae
- name: SECURE_ACCESS
value: 'true'
- name: TEMP_FILE_PATH
value: /temp
- name: POSTGRES_ILENS_ASSISTANT
value: ilens_assistant
- name: GLOBAL_CATALOG_SERVICES
value: https://azcloud.ilens.io
- name: GLOBAL_CATALOG_PROJECT_ID
value: project_297
- name: GLOBAL_CATALOG_PROXY
value: /global_catalog
- name: GLOBAL_CATALOG_TOKEN
value: 0c7ac1cca962496ebe9de53b865d6884
- name: SECURE_COOKIE
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: DIGITAL_TWIN_PROXY
value: /scada_dt
- name: AWB_PROXY
value: /awb
- name: META_PROXY
value: /ilens_api
- name: DCP_PROXY
value: /dcp_api
- name: NESHAP_PROXY
value: /neshap
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: ASSET_MAINTENANCE_DB
value: '17'
- name: CSV_FILE_PATH
value: csv
- name: META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: AWB_URL
value: http://rules-alert-services.ilens-core.svc.cluster.local:8586
- name: DCP_URL
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: DIGITAL_TWIN_URL
value: http://digital-twin-service.ilens-core.svc.cluster.local:5555
- name: META_DATA_PATH
value: metadata
- name: LOG_LEVEL
value: DEBUG
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: hierarchy-services
type: NodePort
name: ilens-assistant-mobile-tenant
codeType: backend
type: core
ports:
name: port6999
port: 6999
targetPort: 6999
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:ilens-assistant-mobile-tenant-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MODULE_NAME
value: main
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: ILENS_CLIENTS_DB
value: ilens_clients
- name: ILENS_CLIENTS_COLLECTION
value: ilens_clients
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: ILENS_COLLECTION
value: constants
- name: ILENS_CONFIGURATION
value: ilens_configuration
mountVolume:
enabled: false
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ilens-assistant-mobile-tenant
type: NodePort
name: ilens-audit-tracker-task
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ilens-audit-tracker-v7.4.0
command:
- python
- task_entry.py
- -l
- info
- worker
- --web-port=9876
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '1223'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: DATABASE_NAME
value: ilens_assistant
- name: KEYS_PATH
value: assets/keys
- name: SECURE_ACCESS
value: 'true'
- name: SW_DOCS_URL
value: /docs
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DESC_REQUIRED
value: 'False'
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: GOTENBERG_PROXY
value: '{{ GOTENBERG_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ilens-audit-tracker-worker
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ilens-audit-tracker-v7.4.0
command:
- python
- audit_entry.py
- -l
- info
- worker
- --web-port=9876
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '1223'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: DATABASE_NAME
value: ilens_assistant
- name: KEYS_PATH
value: assets/keys
- name: SECURE_ACCESS
value: 'true'
- name: SW_DOCS_URL
value: /docs
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DESC_REQUIRED
value: 'False'
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: GOTENBERG_PROXY
value: '{{ GOTENBERG_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ilens-audit-tracker
codeType: backend
type: core
ports:
name: port1223
port: 1223
targetPort: 1223
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ilens-audit-tracker-v7.4.0
command:
- python
- app.py
- -p
- '1223'
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/ilens_audit_tracker/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: SERVICE_HOST
value: 0.0.0.0
- name: SERVICE_PORT
value: '1223'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: DATABASE_NAME
value: ilens_assistant
- name: KEYS_PATH
value: assets/keys
- name: SECURE_ACCESS
value: 'true'
- name: SW_DOCS_URL
value: /docs
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DESC_REQUIRED
value: 'False'
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_TOPIC
value: ilens/notifications
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: GOTENBERG_PROXY
value: '{{ GOTENBERG_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ilens-audit-tracker
type: NodePort
name: ilens-notifications-batch-email-trigger
codeType: backend
type: core
ports:
name: port8081
port: 8081
targetPort: 8081
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:notification-engine-v7.4.0.2
command:
- python
- email_group_alerts.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: JSON_PATH
value: static_data/json
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: notification-engine
- name: NOTIFICATION_INTERFACE
value: KAFKA
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: HUB_NAME
value: ''
- name: CONNECTION_STRING
value: ''
- name: API_VERSION
value: ''
- name: MOBILE_PUSH_NOTIFICATION
value: 'false'
- name: MAINTENANCE_SAVE_URL
value: ''
- name: MOBILE_ALERT_TITLE
value: Jubilant-alert
- name: TENANT
value: jubilant
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LOGIN_DB
value: '9'
- name: ALARM_STATUS_DB
value: '17'
- name: SECURE_ACCESS
value: 'true'
- name: TIMEZONE
value: Asia/Kolkata
- name: ALARM_TOPIC
value: trigger/alarm
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm_jub
- name: USER_GROUP_ALERT_ENABLE
value: 'True'
- name: KAFKA_ALARM_GROUP
value: alarm_info
- name: SKIP_MAIL_LIST
value: ''
- name: SKIP_SMS_NUM_STR
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: TELEGRAM_TOKEN
value: bot5614205349:AAG1DHWOrDBHJJhvKSSSHQW0hPDU0M8JnmU
- name: BATCH_EMAIL_ALERTS_ENABLE
value: 'True'
- name: LOW_PRIORITY_CONFIGURATION
value: '30'
- name: LOG_PATH
value: logs/
- name: MODERATE_PRIORITY_CONFIGURATION
value: '20'
- name: EMAIL_GATEWAY_ID
value: default
- name: MODULE_NAME
value: notification-engine
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util/
- name: SMS_GATEWAY_ID
value: sms_gateway_098
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ilens-scheduler
codeType: backend
type: core
ports:
name: port28595
port: 28595
targetPort: 28595
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss00000c
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:ilens-scheduler-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/iLens-schedular/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: SERVICE_HOST
value: 0.0.0.0
- name: PORT
value: '28595'
- name: MAX_WORKERS
value: '1'
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: SCHEDULER_THREAD
value: '120'
- name: SCHEDULER_PROCESS
value: '20'
- name: MAX_INSTANCE
value: '200'
- name: MISFIRE_SEC
value: '180'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /ilens_scheduler
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: SECURE_ACCESS
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: APP_ENV
value: prod
- name: MODULE_NAME
value: main
- name: APP_NAME
value: ilens_scheduler
- name: LOG_LEVEL
value: INFO
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ilens-scheduler-service
type: NodePort
name: inference-model
type: core
ports:
name: port8880
port: 8880
targetPort: 8880
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: true
values:
- aks-agentpool-38836174-vmss000004
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v6.5:inference-model-v6.5.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 300m
environmentVar:
- name: PORT
value: '8880'
- name: LOG_LEVEL
value: TRACE
- name: ENV
value: prod
- name: PROXY
value: ''
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: CONNECTION_TYPE
value: websockets
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MONGO_DATABASE
value: ilens_vision_apps
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: DATASET_BASE_PATH
value: /app/assets/datasets
- name: PREPROCESS
value: 'true'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /app/assets/datasets
subPath: platform-metaservice
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: inference-model
type: NodePort
name: data-processor-worker-iot-jspl
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss00000c
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-worker-v7.4.0
command:
- python
- main.py
- -c
- IOTHUB
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: CONNECTION_STRING
value:
Endpoint=sb://iothub-ns-azr-iothub-24718468-042ccc037c.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=czShiNR1axw4gPasfj+PONOvSwVxxeWZiEv2dZcRJ50=;EntityPath=azr-iothub-jspl-raipur-po
- name: IOTHUB_CONSUMER_GRP
value: $default
- name: BASE_PATH
value: /code/data/kafka-backup
- name: SECURE_ACCESS
value: 'true'
- name: TIMEZONE
value: Asia/Calcutta
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: jsplr.unifytwin.com
- name: DATA_COMPRESSION
value: 'False'
- name: AWSIOT_CA_FILE_PATH
value: keys/AWSIOT/root-CA.crt
- name: AWSIOT_HOST
value: a2ed2s71dgulvg-ats.iot.ap-south-1.amazonaws.com
- name: AWSIOT_PORT
value: '443'
- name: HTTP_HOST
value: 0.0.0.0
- name: AWSIOT_KEEP_ALIVE_TIMEOUT
value: '600'
- name: LOG_PATH
value: /code/data/data-processor-worker-logs/
- name: ENABLE_CONSOLE_LOG
value: true
- name: HTTP_ENDPOINT
value: /ilens/dev
- name: BACKUP_PATH
value: /code/data/kafka-backup
- name: ENABLE_FILE_LOG
value: false
- name: LOG_FILE_NAME
value: data-processor-worker
- name: HTTP_PORT
value: '28588'
- name: AWSIOT_CLIENT_ID
value: clientSubscribe
- name: AWSIOT_PVT_KEY_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.private.key
- name: AWSIOT_CERT_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.cert.pem
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: data-processor-worker-iot
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss00000c
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-worker-v7.4.0
command:
- python
- main.py
- -c
- IOTHUB
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: CONNECTION_STRING
value:
Endpoint=sb://iothub-ns-azr-iothub-22143681-056ecaa1b3.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=W98YR9DmAvFng0J5szjo3YzrXyDuMDKtMJY0DbxUsvo=;EntityPath=azr-iothub-azcloud-01
- name: IOTHUB_CONSUMER_GRP
value: $default
- name: BASE_PATH
value: /code/data/kafka-backup
- name: SECURE_ACCESS
value: 'true'
- name: TIMEZONE
value: Asia/Calcutta
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DATA_COMPRESSION
value: 'False'
- name: AWSIOT_CA_FILE_PATH
value: keys/AWSIOT/root-CA.crt
- name: AWSIOT_HOST
value: a2ed2s71dgulvg-ats.iot.ap-south-1.amazonaws.com
- name: AWSIOT_PORT
value: '443'
- name: HTTP_HOST
value: 0.0.0.0
- name: AWSIOT_KEEP_ALIVE_TIMEOUT
value: '600'
- name: LOG_PATH
value: /code/data/data-processor-worker-logs/
- name: ENABLE_CONSOLE_LOG
value: true
- name: HTTP_ENDPOINT
value: /ilens/dev
- name: BACKUP_PATH
value: /code/data/kafka-backup
- name: ENABLE_FILE_LOG
value: false
- name: LOG_FILE_NAME
value: data-processor-worker
- name: HTTP_PORT
value: '28588'
- name: AWSIOT_CLIENT_ID
value: clientSubscribe
- name: AWSIOT_PVT_KEY_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.private.key
- name: AWSIOT_CERT_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.cert.pem
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: maintenance-dashboard-services
codeType: backend
type: core
ports:
name: port8099
port: 8099
targetPort: 8099
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:maintenance-dashboard-services-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/maintenance/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: APP_NAME
value: maintenance-dashboard-services
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: BASE_MOUNT
value: /code/data
- name: SELF_PROXY
value: http://maintenance-dashboard-services:8099
- name: EMAIL_SERVICE_PROXY
value: http://cloud.ilens.io/sms-util
- name: POSTGRES_SUPPORT
value: 'true'
- name: MODULE_NAME
value: maintenance
- name: MOUNT_DIR
value: /maintenance_dashboard
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: BASE_PATH
value: /code/data
- name: LOG_TRACEBACK
value: DEBUG
- name: LOG_LEVEL
value: DEBUG
- name: DB_NAME
value: ilens_assistant
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: maintenance-dashboard-services
type: NodePort
name: metadata-service
codeType: backend
type: core
ports:
name: port8989
port: 8989
targetPort: 8989
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:metadata-services-v7.4.1
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 1Gi
cpu: 500m
livenessProbe:
enabled: true
path: /api/metadata/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: APP_ENV
value: PROD
- name: BASE_MOUNT
value: /code/data
- name: APP_NAME
value: metadata
- name: MODULE_NAME
value: main
- name: PORT
value: '8989'
- name: MODULE_PROXY
value: /ilens_api
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: AUTHORIZATION
value: 'False'
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_AUTH
value: ''
- name: MQTT_TOPIC
value: ilens/notifications
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: ilens_prod
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: ENABLE_SITES_PARTITION
value: 'True'
- name: SPLIT_KEY
value: site_id
- name: ROUND_ROBIN_ENABLE
value: 'True'
- name: PRODUCT_MASTER_PARAMETERS
value: '[product_tag, hmi_tag]'
- name: REDIS_PARTITION_DB
value: '13'
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: BASE_PROXY
value: http://ilens-ui-service.ilens-core.svc.cluster.local:80
- name: VISUAL_PROXY
value: http://visualization-4.ilens-core.svc.cluster.local:1112
- name: MAINT_LOGBOOK_PROXY
value: http://maintenance-logbook.ilens-core.svc.cluster.local:9355
- name: AWB_PROXY
value: http://rules-alert-services.ilens-core.svc.cluster.local:8586
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: SCHEDULER_BASE_URL
value: ''
- name: SCHEDULER_URL
value: http://ilens-scheduler-service.ilens-core.svc.cluster.local:28595
- name: AS_REDIRECT_URL
value: https://hccb.unifytwin.com/#/p/login?isLoginWithSaml=true&session_key=
- name: AAD_ADD_NEW_USERS
value: 'True'
- name: AAD_USER_DEFAULT_PROJECT_ID
value: project_102
- name: AAD_USER_DEFAULT_ACCESS_GROUP_ID
value: VuEChf7sSWWycAx9TfTD5H
- name: AAD_USER_DEFAULT_ROLE_ID
value: iNfR6nXaRP7xrXTkoSev3w
- name: SAML_NAME_ATTRIBUTE_VALUE
value: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
- name: SAML_EMAIL_ATTRIBUTE_VALUE
value: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USER_NAME
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DB_NAME
value: ilens-hfae
- name: LICENSE_SERVER
value: ''
- name: LICENSE_PORT
value: ''
- name: VALIDATE_LICENSE_URL
value: ''
- name: VALIDATE_LICENSE
value: 'False'
- name: VALIDATE_LICENSE_ON_REQUESTS
value: 'False'
- name: ASSET_MAINTAINENCE_DB
value: '5'
- name: DCP_PROXY
value: http://device-control-plane-service.ilens-core.svc.cluster.local:8558
- name: POSTGRES_ILENS_ASSISTANT
value: ilens_assistant
- name: DIGITAL_TWIN_PROXY
value: http://digital-twin-service.ilens-core.svc.cluster.local:5555
- name: WORKFLOW_PROXY
value: http://workflow-management.ilens-core.svc.cluster.local:7120
- name: SECURE_ACCESS
value: 'true'
- name: PARAMETER_LABEL_SEARCH
value: 'False'
- name: GLOBAL_CATALOG_SERVICES
value: https://staging.ilens.io
- name: GLOBAL_CATALOG_PROJECT_ID
value: project_308
- name: GLOBAL_CATALOG_PROXY
value: /global_catalog
- name: LOCK_OUT_TIME_MINS
value: '30'
- name: GLOBAL_CATALOG_TOKEN
value: a9db48985c6e403ebcbcbf4379207e96
- name: DIGITAL_TWIN_IMAGES_PATH
value: /code/data/digital_twin_services/images/asset_model
- name: LOOKUPS
value: '[loss_reasons,Rule_lookup_test]'
- name: EMAIL_SERVICE_URL
value: https://cloud.ilens.io/sms-util/api/v1/eim/email/send
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: SECURE_COOKIE
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: ENABLE_CORS
value: 'True'
- name: DATA_IMPORT_PROXY
value: http://data-import.ilens-core.svc.cluster.local:8191
- name: SCENARIO_MAX_LIMIT
value: '20'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: MAX_LOGIN_ATTEMPTS
value: '10'
- name: NESHAP_PROXY
value: http://pipeline-neshap.ilens-core.svc.cluster.local:8192
- name: SUPPORT_LENS_USE_USER_EMAIL
value: 'True'
- name: STRING_VALIDATION_LIST1
value: =,<,+,!,@
- name: STRING_VALIDATION_LIST2
value: <
- name: UI_BUILD_ID
value: adjkak8923749
- name: CUSTOM_FORM_SERVICES
value: http://custom_form_services.ilens-core.svc.cluster.local:2729
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: RFID_REGISTRATION
value: http://event-engine-api.ilens-core.svc.cluster.local:8121
- name: DEVICE_LOOKUP
value: rfid_registration,device_registration
- name: API_SCOPE
value: openid profile email api://1e48cf91-0b8f-488a-bfd3-701bdd14e134/iLensAADSignIn
- name: PASSWORD_HISTORY_VALIDATION
value: 'False'
- name: ISSUER_AUTHORITY
value: https://login.microsoftonline.com/a428ebb6-c1f0-4765-9745-a68831815462/v2.0
- name: HIERARCHY
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: COOKIE_TIMEOUT
value: '1440'
- name: AAD_TENANT_ID
value: a428ebb6-c1f0-4765-9745-a68831815462
- name: PASSWORD_EXPIRY_DURATION
value: '180'
- name: AAD_REDIRECT_DOMAIN
value: https://hccb.unifytwin.com
- name: AAD_CLIENT_ID
value: 1e48cf91-0b8f-488a-bfd3-701bdd14e134
- name: POSTGRES_DB
value: ilens_assistant
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: MQTT_USER_NAME
value: biswajit
- name: MQTT_PASSWORD
value: admin
- name: GC_BEARER_TOKEN
value: Z2xvYmFsLWNhdGFsb2ctbG9naW4tdG9rZW4=
- name: LOG_LEVEL
value: DEBUG
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: metadata-service
type: NodePort
name: data-processor-worker-mqtt
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: true
values:
- aks-agentpool-38836174-vmss00000c
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:data-processor-worker-v7.4.0
command:
- python
- main.py
- -c
- MQTT
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 250Mi
cpu: 400m
limits:
memory: 750Mi
cpu: 700m
environmentVar:
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: RAW_DATA_TOPIC
value: ilens/monitor/live/#
- name: REDIS_HOST
value: redis-db-service.ilens-infra.svc.cluster.local
- name: REDIS_PORT
value: '6379'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: SUBSCRIBER_DOMAINS
value: mqtt-service.ilens-infra.svc.cluster.local:1883
- name: HTTP_ENDPOINT
value: /ilens/prod
- name: BASE_PATH
value: /code/data/kafka-backup
- name: SECURE_ACCESS
value: 'true'
- name: TIMEZONE
value: Asia/Calcutta
- name: KAFKA_BACKUP_TOPIC
value: ilens_prod_backup
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DATA_COMPRESSION
value: 'False'
- name: AWSIOT_CA_FILE_PATH
value: keys/AWSIOT/root-CA.crt
- name: AWSIOT_HOST
value: a2ed2s71dgulvg-ats.iot.ap-south-1.amazonaws.com
- name: AWSIOT_PORT
value: '443'
- name: HTTP_HOST
value: 0.0.0.0
- name: AWSIOT_KEEP_ALIVE_TIMEOUT
value: '600'
- name: LOG_PATH
value: /code/data/data-processor-worker-logs/
- name: ENABLE_CONSOLE_LOG
value: true
- name: BACKUP_PATH
value: /code/data/kafka-backup
- name: ENABLE_FILE_LOG
value: false
- name: IOTHUB_CONSUMER_GRP
value: $default
- name: CONNECTION_STRING
value: NONE
- name: LOG_FILE_NAME
value: data-processor-worker
- name: HTTP_PORT
value: '28588'
- name: AWSIOT_CLIENT_ID
value: clientSubscribe
- name: AWSIOT_PVT_KEY_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.private.key
- name: AWSIOT_CERT_FILE_PATH
value: keys/AWSIOT/aws_thing_ut_test_01.cert.pem
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: ilens-notifications
codeType: backend
type: core
ports:
name: port8081
port: 8081
targetPort: 8081
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:notification-engine-v7.4.0.2
command:
- python
- kafka_app.py
- -l
- info
- worker
- --web-port=8081
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 50m
limits:
memory: 500Mi
cpu: 500m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: MQTT_CONSUMER_USERNAME
value: ''
- name: MQTT_CONSUMER_PASSWORD
value: ''
- name: JSON_PATH
value: static_data/json
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: notification-engine
- name: NOTIFICATION_INTERFACE
value: KAFKA
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: HUB_NAME
value: ''
- name: CONNECTION_STRING
value: ''
- name: API_VERSION
value: ''
- name: MOBILE_PUSH_NOTIFICATION
value: 'false'
- name: MAINTENANCE_SAVE_URL
value: ''
- name: MOBILE_ALERT_TITLE
value: HFE-alert
- name: TENANT
value: hfe
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: LOGIN_DB
value: '9'
- name: ALARM_STATUS_DB
value: '17'
- name: SECURE_ACCESS
value: 'true'
- name: TIMEZONE
value: Asia/Kolkata
- name: ALARM_TOPIC
value: trigger/alarm
- name: KAFKA_ALARM_TOPIC
value: trigger_alarm
- name: USER_GROUP_ALERT_ENABLE
value: 'True'
- name: SKIP_MAIL_LIST
value: ''
- name: SKIP_SMS_NUM_STR
value: ''
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: LOG_PATH
value: logs/
- name: LOW_PRIORITY_CONFIGURATION
value: '30'
- name: TELEGRAM_TOKEN
value: bot5614205349:AAG1DHWOrDBHJJhvKSSSHQW0hPDU0M8JnmU
- name: BATCH_EMAIL_ALERTS_ENABLE
value: 'True'
- name: MODERATE_PRIORITY_CONFIGURATION
value: '20'
- name: EMAIL_GATEWAY_ID
value: default
- name: MODULE_NAME
value: notification-engine
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util/
- name: SMS_GATEWAY_ID
value: sms_gateway_098
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: ilens-notifications-service
type: NodePort
name: oee-services
codeType: backend
type: core
ports:
name: port6869
port: 6869
targetPort: 6869
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:oee-services-v7.4.0
command:
- python
- app.py
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 500Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/oee_services/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: OEE_POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/ilens_oee_db
- name: METADATA_PROXY
value: http://metadata-service.ilens-core:8989
- name: SECURE_ACCESS
value: 'true'
- name: AUDIT_PROXY
value: http://ilens-audit-tracker.ilens-core.svc.cluster.local:1223
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: DOWNTIME_PROXY
value: http://downtime-oee.ilens-core:1998
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /oee-services
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: APP_NAME
value: oee-services
- name: DOWNTIME_DB_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432/downtime_db
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_TOPIC
value: ilens_prod
- name: KAFKA_HISTORY_OUTPUT_TOPIC
value: ilens_prod_backup
- name: KAFKA_LICENSE_EXPIRY_TOPIC
value: ilens_expire
- name: KAIROS_CACHE_TIME
value: '60'
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: LOG_LEVEL
value: DEBUG
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: POSTGRES_URI
value: postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra:5432
- name: OEE_DB
value: ilens_oee
- name: DATA_SOURCE
value: psql
- name: JSBL_PROJECT_ID
value: project_109
- name: EXCLUDE_DOWNTIME
value: '["planned"]'
- name: OEE_TRENDS_TARGET_VALUE
value: '90'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: oee-services
type: NodePort
name: platform-metaservice
codeType: backend
type: core
ports:
name: port3200
port: 3200
targetPort: 3200
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: true
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v6.11:platform-metaservices-v6.11.0
command:
- uvicorn
- app:application
- --host
- 0.0.0.0
- --port
- '3200'
- --root-path
- /vision
- --reload
- --workers
- '5'
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 1200Mi
cpu: 1200m
limits:
memory: 2Gi
cpu: 3000m
environmentVar:
- name: PORT
value: '3200'
- name: LOG_LEVEL
value: DEBUG
- name: ENV
value: prod
- name: PROXY
value: /vision
- name: INTERNAL_TOKEN
value: SampleToken
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MONGO_DATABASE
value: ilens_vision_apps
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: JANUS_BASE_URL
value: ''
- name: JANUS_SSL_VERIFY
value: ''
- name: JANUS_CERTS
value: ''
- name: DOCKER_SOCK_PATH
value: http://localhost:2375
- name: DOCKER_REGISTRY_URL
value: azracrilensai.azurecr.io
- name: DOCKER_REGISTRY_USERNAME
value: azracrilensai
- name: DOCKER_REGISTRY_PASSWORD
value: JI/x90kvS1NqD2aNMuficRiygu7mf9pS
- name: DOCKER_STREAMING_IMAGE
value: azracrilensai.azurecr.io/repository/ilens-ai/steamer_code/edge_processor:v4
- name: DOCKER_MOUNT_VOL
value: /app/assets/datasets
- name: DOCKER_BASE_MOUNT_VOL
value: /app/assets/datasets
- name: DOCKER_HOST
value: tcp://localhost:2375
- name: OUTPUT_MODEL_DIRECTORY
value: ''
- name: EXTERNAL_VAR
value: '{}'
- name: MLFLOW_TRACKING_USERNAME
value: iLens
- name: MLFLOW_TRACKING_PASSWORD
value: iLensMLFLow$12#
- name: AZURE_STORAGE_CONNECTION_STRING
value:
DefaultEndpointsProtocol=https;AccountName=azrmlilensqa006382180551;AccountKey=tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg==;EndpointSuffix=core.windows.net
- name: AZURE_STORAGE_ACCESS_KEY
value:
tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg==
- name: ML_TRACKING_URI
value: http://104.208.73.213/mlflow-v2/
- name: AZURE_ACCOUNT_NAME
value: azrmlilensqa006382180551
- name: AZURE_ACCOUNT_KEY
value:
tDGOKfiZ2svfoMvVmS0Fbpf0FTHfTq4wKYuDX7cAxlhve/3991QuzdvJHm9vWc+lo6mtC+x9yPSghWNR4+gacg==
- name: AZURE_CONTAINER_NAME
value: azureml
- name: AZURE_BLOB_PATH
value: /dataset_repositoty
- name: CLIENT_NAME
value: HFE
- name: MANAGER_BASE_URL
value: http://20.204.103.121:8890/train
- name: SERVICE_URL
value: https://azcloud.ilens.io/vision/api/v1
- name: SERVICE_ENDPOINT
value: /model_mngt/job/status
- name: MQTT_HOST
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: SSL
value: 'false'
- name: CONNECTION_TYPE
value: tcp
- name: INFERENCE_URL
value: http://inference-model.ilens-core.svc.cluster.local:8880
- name: CVAT_URL
value: azcloud-cvat.unifytwin.com
- name: CVAT_USERNAME
value: admin
- name: CVAT_PASSWORD
value: CVATAdmin@123
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: SIGNATURE_KEY
value: kliLensKLiLensKL
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION
value: python
- name: SW_OPENAPI_URL
value: /openapi.json
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /app/assets/datasets
subPath: platform-metaservice
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: platform-metaservice
type: NodePort
name: rules-alerts-services
codeType: backend
type: core
ports:
name: port8586
port: 8586
targetPort: 8586
podAutoScaler:
enabled: true
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:rules-alerts-services-v7.4.0.1
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 700Mi
cpu: 700m
livenessProbe:
enabled: true
path: /api/rule_alerts/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: MODULE_PROXY
value: /awb
- name: TIMEZONE
value: UTC
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: data-processor
- name: MAX_WORKERS
value: '1'
- name: SECURE_ACCESS
value: 'true'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SW_DOCS_URL
value: /docs
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra.svc.cluster.local:6379
- name: ALARM_REPORT
value: /alarm_reports
- name: MQTT_URL
value: mqtt-service.ilens-infra.svc.cluster.local
- name: MQTT_PORT
value: '1883'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: BASE_PROXY
value: http://ilens-ui-service.ilens-core.svc.cluster.local:80
- name: HIERARCHY_SERVICE_PROXY
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: META_GET_HIERARCHY_MAPPING
value:
http://metadata-service.ilens-core.svc.cluster.local:8989/ilens_config/get_site_level_hierarchy
- name: DATAPROCESSOR_TIMEZONE
value: Asia/Calcutta
- name: KAFKA_AGGREGATE_TOPIC
value: ilens_aggregate
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: META_SERVICES_PROXY
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: KAFKA_PORT
value: '9092'
- name: SEND_SCHEDULE_EVENTS_IN_SEC
value: '2'
- name: SCHEDULED_RULE_EXPIRY_DAYS
value: '5'
- name: ILENS_EVENTS_PROXY
value: '{{ EVENTS_PROCESSOR_SERVICES_URL }}'
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: DATABASE_NAME
value: ilens_assistant
- name: ENABLE_CONSOLE_LOG
value: 'True'
- name: ENABLE_STARTUP_SCRIPTS
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: rules-alerts-services
type: NodePort
name: unifytwin-knowledgebase
codeType: backend
type: core
ports:
name: port8852
port: 8852
targetPort: 8852
replicas: 1
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000005
- aks-agentpool-38836174-vmss000007
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v6.11:unifytwin-knowledgebase-v6.11.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 2000Mi
cpu: 10m
limits:
memory: 2.5Gi
cpu: 800m
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /kbase
- name: LOG_LEVEL
value: debug
- name: KNOWLEDGEBASE_PROXY
value: /kbase_ut
- name: MODULE_NAME
value: UnifyTwinKnowledgeBase
- name: REDIS_HOST
value: redis-db-service.ilens-infra
- name: REDIS_PORT
value: '6379'
- name: ES_HOST
value: elasticsearch.ilens-infra.svc.cluster.local
- name: ES_PORT
value: '9200'
- name: ES_UNAME
value: elastic
- name: ES_PSWD
valueFrom:
secretKeyRef:
name: es-creds
key: ES_CREDS
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: KNOWLEDGEBASEBASE_PROXY
value: /kbase_ut
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: unifytwin-knowledgebase
type: NodePort
name: user-access-role-management
codeType: backend
type: core
ports:
name: port5122
port: 5122
targetPort: 5122
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:user-access-role-management-v7.4.0
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 100Mi
cpu: 20m
limits:
memory: 350Mi
cpu: 200m
livenessProbe:
enabled: true
path: /api/user_access_role_management/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MODULE_NAME
value: user-management
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: METADATA_DB
value: ilens_configuration
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: /user-management
- name: ILENS_ASSISTANT
value: ilens_assistant
- name: ORGANISATION_DB
value: staff_management
- name: SECURE_ACCESS
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: user-access-role-management
type: NodePort
name: visualization-4-celery-spc
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:visualization4.0-v7.4.0.4
command:
- celery
- -A
- worker
- worker
- -Q
- spc_reports,spc_report_generation
- -P
- solo
- --loglevel=DEBUG
- --logfile=/code/data/logs/visualization/logs_celery_spc.log
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 200Mi
cpu: 20m
limits:
memory: 4Gi
cpu: 500m
environmentVar:
- name: MODULE_NAME
value: visualization
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: mqtt-service.ilens-infra
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URI
value: mqtt://mqtt-service.ilens-infra:1883
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: E_LOGBOOK_PROXY
value: electronic-logbook-core.ilens-core.svc.cluster.local:28788
- name: MES_PROXY
value: mes-module.ilens-core.svc.cluster.local:14563
- name: VISUALIZATION_PROXY
value: http://visualization-4.ilens-core:1112
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: visualization
- name: LOG_LEVEL
value: INFO
- name: K_PARALLEL_QUERY
value: 'False'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: SECURE_ACCESS
value: 'True'
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USERNAME
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DB
value: ilens-hfae
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: MODULE_PUBLIC_URL
value: https://azcloud.ilens.io/visual4.0
- name: GOTENBERG_SERVER
value: http://gotenberg.ilens-core.svc.cluster.local:3000
- name: CACHE_AGE
value: '600'
- name: ENABLE_CACHE
value: 'True'
- name: MAX_CON_WORKER
value: '10'
- name: KAIROS_CACHE_TIME
value: '60'
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: ALLOW_SAMPLING
value: 'True'
- name: THRESHOLD
value: '2500'
- name: SAMPLE_SET
value: '500'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_LIVE_DB
value: '12'
- name: REDIS_PROJECT_DB
value: '18'
- name: REDIS_GEN_REP_DB
value: '15'
- name: REDIS_HIERARCHY_DB
value: '7'
- name: REDIS_VIZ_CACHE
value: '22'
- name: ILENS_HRY_SERVICE_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: DIGITAL_TWIN_URL
value: https://azcloud.ilens.io/scada_dt
- name: HOME_LINK
value: https://azcloud.ilens.io
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DAHS_SERVICE_PROXY
value: http://dahs-api-sevices.ilens-core.svc.cluster.local:8801
- name: WORKFLOW_MT_URL
value: http://workflow-management.ilens-core.svc.cluster.local:7120
- name: MAINTENANCE_DASHBOARD_URL
value: http://maintenance-dashboard-services.ilens-core:8099
- name: REDIS_USER_ROLE_DB
value: '21'
- name: LIMIT_TAGS_DB
value: '26'
- name: LAST_UPDATED_TIME_KEY
value: raw_data_last_updated
- name: PDF_TIMEOUT
value: '300'
- name: STATUS_TAGS_DB
value: '72'
- name: K_USER_LEVEL_ACCESS
value: 'False'
- name: REDIS_LAST_UPDATED_TIME
value: '41'
- name: SYNGENE_DB
value: syngene
- name: KAIROS_CONN_TIMEOUT
value: '30'
- name: RULE_ALERTS
value: '{{ RULES_ALERTS_SERVICES_URL }}'
- name: BATCH_TABLE
value: batch_details
- name: BATCH_DB
value: batch_details
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: KAIROS_READ_TIMEOUT
value: '120'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: ENABLE_METRICS
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: visualization-4-celery
codeType: backend
type: core
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:visualization4.0-v7.4.0.4
command:
- celery
- -A
- worker
- worker
- -Q
- visualization_reports,bulk_dashboards_generator,custom_report,dashboard_report
- -P
- solo
- --loglevel=DEBUG
- --logfile=/code/data/logs/visualization/logs_celery.log
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 500Mi
cpu: 20m
limits:
memory: 4Gi
cpu: 500m
environmentVar:
- name: MODULE_NAME
value: visualization
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: mqtt-service.ilens-infra
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URI
value: mqtt://mqtt-service.ilens-infra:1883
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: E_LOGBOOK_PROXY
value: electronic-logbook-core.ilens-core.svc.cluster.local:28788
- name: MES_PROXY
value: mes-module.ilens-core.svc.cluster.local:14563
- name: VISUALIZATION_PROXY
value: http://visualization-4.ilens-core:1112
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: visualization
- name: LOG_LEVEL
value: INFO
- name: K_PARALLEL_QUERY
value: 'False'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: SECURE_ACCESS
value: 'True'
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USERNAME
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DB
value: ilens-hfae
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: MODULE_PUBLIC_URL
value: https://azcloud.ilens.io/visual4.0
- name: GOTENBERG_SERVER
value: http://gotenberg.ilens-core.svc.cluster.local:3000
- name: CACHE_AGE
value: '600'
- name: ENABLE_CACHE
value: 'True'
- name: MAX_CON_WORKER
value: '10'
- name: KAIROS_CACHE_TIME
value: '60'
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: ALLOW_SAMPLING
value: 'True'
- name: THRESHOLD
value: '2500'
- name: SAMPLE_SET
value: '500'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_LIVE_DB
value: '12'
- name: REDIS_PROJECT_DB
value: '18'
- name: REDIS_GEN_REP_DB
value: '15'
- name: REDIS_HIERARCHY_DB
value: '7'
- name: REDIS_VIZ_CACHE
value: '22'
- name: ILENS_HRY_SERVICE_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: DIGITAL_TWIN_URL
value: https://azcloud.ilens.io/scada_dt
- name: HOME_LINK
value: https://azcloud.ilens.io
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DAHS_SERVICE_PROXY
value: http://dahs-api-sevices.ilens-core.svc.cluster.local:8801
- name: MAINTENANCE_DASHBOARD_URL
value: http://maintenance-dashboard-services.ilens-core:8099
- name: WORKFLOW_MT_URL
value: http://workflow-management.ilens-core.svc.cluster.local:7120
- name: REDIS_USER_ROLE_DB
value: '21'
- name: LIMIT_TAGS_DB
value: '26'
- name: LAST_UPDATED_TIME_KEY
value: raw_data_last_updated
- name: PDF_TIMEOUT
value: '300'
- name: STATUS_TAGS_DB
value: '72'
- name: K_USER_LEVEL_ACCESS
value: 'False'
- name: REDIS_LAST_UPDATED_TIME
value: '41'
- name: SYNGENE_DB
value: syngene
- name: KAIROS_CONN_TIMEOUT
value: '30'
- name: RULE_ALERTS
value: '{{ RULES_ALERTS_SERVICES_URL }}'
- name: BATCH_TABLE
value: batch_details
- name: BATCH_DB
value: batch_details
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: KAIROS_READ_TIMEOUT
value: '120'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: ENABLE_METRICS
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
name: visualization-4
codeType: backend
type: core
replicas: 1
ports:
name: port1112
port: 1112
targetPort: 1112
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: false
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName: azrilensprod.azurecr.io/ilens/release/versions/v7.4:visualization4.0-v7.4.0.4
command:
- uvicorn
- main:app
- --host
- 0.0.0.0
- --port
- '1112'
- --workers
- '5'
- --proxy-headers
PullSecrets: ilens-azregistry
PullPolicy: Always
resources:
requests:
memory: 500Mi
cpu: 20m
limits:
memory: 3Gi
cpu: 2000m
livenessProbe:
path: /api/visualization/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 20
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MODULE_NAME
value: visualization
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: mqtt-service.ilens-infra
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: MQTT_URI
value: mqtt://mqtt-service.ilens-infra:1883
- name: MQTT_PORT
value: '1883'
- name: ILENS_META_SERVICE_URL
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: E_LOGBOOK_PROXY
value: electronic-logbook-core.ilens-core.svc.cluster.local:28788
- name: MES_PROXY
value: mes-module.ilens-core.svc.cluster.local:14563
- name: VISUALIZATION_PROXY
value: http://visualization-4.ilens-core:1112
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: SECURITY_IP_CHECK
value: 'False'
- name: SECURITY_USER_CHECK
value: 'True'
- name: SECURITY_AGENT_CHECK
value: 'True'
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: visualization
- name: LOG_LEVEL
value: INFO
- name: K_PARALLEL_QUERY
value: 'False'
- name: REDIS_BROKER_URI_CELERY
value: redis://redis-db-service.ilens-infra:6379/10
- name: SECURE_ACCESS
value: 'True'
- name: POSTGRES_HOST
value: postgres-db-service.ilens-infra.svc.cluster.local
- name: POSTGRES_PORT
value: '5432'
- name: POSTGRES_USERNAME
value: hfae
- name: POSTGRES_PASSWORD
value: iLens#4321
- name: POSTGRES_DB
value: ilens-hfae
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432
- name: MODULE_PUBLIC_URL
value: https://azcloud.ilens.io/visual4.0
- name: GOTENBERG_SERVER
value: http://gotenberg.ilens-core.svc.cluster.local:3000
- name: CACHE_AGE
value: '600'
- name: ENABLE_CACHE
value: 'True'
- name: MAX_CON_WORKER
value: '10'
- name: KAIROS_CACHE_TIME
value: '60'
- name: DIGEST_USER
value: AllGoodNamesRGone
- name: DIGEST_PW
value: comBRANSeANtamasEbICaPeC
- name: KAFKA_HOST
value: kafka.ilens-infra.svc.cluster.local
- name: KAFKA_PORT
value: '9092'
- name: KAFKA_OUTPUT_TOPIC
value: ilens_prod
- name: ENABLE_KAFKA_PARTITION
value: 'True'
- name: KAFKA_PARTITION_KEY
value: site_id
- name: ROUND_ROBIN_PARTITION
value: 'True'
- name: ALLOW_SAMPLING
value: 'True'
- name: THRESHOLD
value: '2500'
- name: SAMPLE_SET
value: '500'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: REDIS_LOGIN_DB
value: '9'
- name: REDIS_LIVE_DB
value: '12'
- name: REDIS_PROJECT_DB
value: '18'
- name: REDIS_GEN_REP_DB
value: '15'
- name: REDIS_HIERARCHY_DB
value: '7'
- name: REDIS_VIZ_CACHE
value: '22'
- name: ILENS_HRY_SERVICE_URL
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: DIGITAL_TWIN_URL
value: https://azcloud.ilens.io/scada_dt
- name: HOME_LINK
value: https://azcloud.ilens.io
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: DAHS_SERVICE_PROXY
value: http://dahs-api-sevices.ilens-core.svc.cluster.local:8801
- name: MAINTENANCE_DASHBOARD_URL
value: http://maintenance-dashboard-services.ilens-core:8099
- name: WORKFLOW_MT_URL
value: http://workflow-management.ilens-core.svc.cluster.local:7120
- name: REDIS_USER_ROLE_DB
value: '21'
- name: LIMIT_TAGS_DB
value: '26'
- name: LAST_UPDATED_TIME_KEY
value: raw_data_last_updated
- name: PDF_TIMEOUT
value: '300'
- name: STATUS_TAGS_DB
value: '72'
- name: K_USER_LEVEL_ACCESS
value: 'False'
- name: REDIS_LAST_UPDATED_TIME
value: '41'
- name: SYNGENE_DB
value: syngene
- name: KAIROS_CONN_TIMEOUT
value: '30'
- name: RULE_ALERTS
value: '{{ RULES_ALERTS_SERVICES_URL }}'
- name: BATCH_TABLE
value: batch_details
- name: BATCH_DB
value: batch_details
- name: KAFKA_AUDIT_TOPIC
value: audit_logs
- name: KAIROS_READ_TIMEOUT
value: '120'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: ENABLE_METRICS
value: 'True'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: visualization-4
type: NodePort
name: workflow-management
codeType: backend
type: core
ports:
name: port7120
port: 7120
targetPort: 7120
podAutoScaler:
enabled: false
type: hpa
maxReplicaCount: 3
minReplicaCount: 1
scalePercentage: 85
affinity:
enabled: true
values:
- aks-agentpool-38836174-vmss000006
- aks-agentpool-38836174-vmss000008
- aks-agentpool-38836174-vmss000009
- aks-agentpool-38836174-vmss00000a
- aks-agentpool-38836174-vmss00000b
- aks-agentpool-38836174-vmss00000c
deployment:
imageName:
azrilensprod.azurecr.io/ilens/release/versions/v7.4:workflow-management-v2-v7.4.0.4
PullSecrets: ilens-azregistry
PullPolicy: IfNotPresent
resources:
requests:
memory: 250Mi
cpu: 20m
limits:
memory: 750Mi
cpu: 500m
livenessProbe:
enabled: true
path: /api/workflow-mt/healthcheck
initialDelaySeconds: 20
timeoutSeconds: 5
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
environmentVar:
- name: MODULE_NAME
value: workflow-management
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: KAIROS_URI
value: http://ilens-timeseries1-kairosdb.ilens-infra.svc.cluster.local:80
- name: REDIS_URI
value: redis://redis-db-service.ilens-infra:6379
- name: FORM_DE
value: http://ebpr-periodic-data-engine.ilens-core.svc.cluster.local:2699
- name: SCHEDULER_PROXY
value: http://ilens-scheduler-service.ilens-core:28595
- name: METADATA_DB
value: ilens_configuration
- name: BASE_PATH
value: /code/data
- name: MOUNT_DIR
value: workflow-management
- name: ILENS_ASSISTANT_DB
value: ilens_assistant
- name: SELF_PROXY
value: http://workflow-management.ilens-core.svc.cluster.local:7120
- name: FORM_MT
value: http://form-management.ilens-core:5121
- name: METADATA_SERVICES
value: http://metadata-service.ilens-core.svc.cluster.local:8989
- name: ENABLE_CELERY_WORKER
value: 'true'
- name: HUB_NAME
value: ''
- name: CONNECTION_STRING
value: ''
- name: API_VERSION
value: ''
- name: REDIS_BROKER_URI_CELERY
value: redis-db-service.ilens-infra.svc.cluster.local:6379/10
- name: MOBILE_PUSH_NOTIFICATION
value: 'false'
- name: MQTT_URL
value: mqtt://mqtt-service.ilens-infra:1883
- name: POSTGRES_SUPPORT
value: 'true'
- name: EMAIL_SERVICE_PROXY
value: https://cloud.ilens.io/sms-util
- name: SECURE_ACCESS
value: 'true'
- name: AUDIT_PROXY
value: http://ilens-audit-tracker.ilens-core.svc.cluster.local:1223
- name: SW_DOCS_URL
value: /docs
- name: SW_OPENAPI_URL
value: /openapi.json
- name: ENABLE_CORS
value: 'True'
- name: SECURE_COOKIE
value: 'True'
- name: CORS_URLS
value: https://azcloud.ilens.io
- name: HOME_LINK
value: https://azcloud.ilens.io
- name: VERIFY_SIGNATURE
value: 'False'
- name: PROTECTED_HOSTS
value: azcloud.ilens.io
- name: POSTGRES_URI
value:
postgresql://hfae:iLens#4321@postgres-db-service.ilens-infra.svc.cluster.local:5432/maintenance_logbook
- name: USER_NAME
value: AllGoodNamesRGone
- name: PASSWORD
value: comBRANSeANtamasEbICaPeC
- name: EBPR_REPORT_ENGINE_PROXY
value: http://ebpr-report-engine.ilens-core:45678
- name: HIERARCHY_SERVICES
value: http://hierarchy-services.ilens-core.svc.cluster.local:7008
- name: PG_SCHEMA
value: public
- name: PG_ASSISTANT_DB
value: ilens_assistant
- name: BATCH_MANAGEMENT_PROXY
value: '{{ BATCH_MANAGEMENT_URL }}'
- name: PG_POOL_SIZE
value: '20'
- name: PG_REMOVE_PREFIX
value: 'false'
- name: UT_TENANT_ID
value: '{{ UT_TENANT_ID }}'
- name: SERVICE_HOST
value: 0.0.0.0
- name: PG_MAX_OVERFLOW
value: '10'
- name: LOG_LEVEL
value: DEBUG
- name: USE_POSTGRES
value: 'true'
- name: DATA_ENGINE
value: '{{ EBPR_PERIODIC_DATA_ENGINE_URL }}'
mountVolume:
enabled: true
volumeMounts:
- name: core-volumes
mountPath: /code/data
subPath: core-volumes
volumes:
- name: core-volumes
persistentVolumeClaim:
claimName: core-volumes-pvc
service:
name: workflow-management
type: NodePort
deployment:
environmentVar:
- name: MODULE_NAME
value: "UnifyTwinKnowledgeBase"
- name: BASE_PATH
value: "./data"
- name: MOUNT_DIR
value: "kbase"
- name: LOG_LEVEL
value: "debug"
- name: KNOWLEDGEBASEBASE_PROXY
value: "/kbase_ut"
- name: ES_HOST
value: "elasticsearch.ilens-infra.svc.cluster.local"
- name: ES_PORT
value: "9200"
- name: ES_UNAME
value: "elastic"
- name: ES_PSWD
valueFrom:
secretKeyRef:
name: es-creds
key: ES_CREDS
- name: REDIS_URI
value: "redis-db-service.ilens-infra.svc.cluster.local"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-creds
key: MONGO_URI
deployment:
environmentVar:
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MODULE_NAME
value: "user-management"
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: METADATA_DB
value: "ilens_configuration"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "/user-management"
- name: ILENS_ASSISTANT
value: "ilens_assistant"
- name: ORGANISATION_DB
value: "staff_management"
- name: SECURE_ACCESS
value: "true"
- name: CORS_URLS
value: "{{ CORS_URLS }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
deployment:
environmentVar:
- name: MODULE_NAME
value: "visualization"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: MQTT_URL
value: "mqtt-service.ilens-infra"
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: MQTT_URI
value: "{{ MQTT_SERVICE_URI }}"
- name: MQTT_PORT
value: "1883"
- name: ILENS_META_SERVICE_URL
value: "{{ METADATA_SERVICES_URL }}"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: MES_PROXY
value: "mes-module.ilens-core.svc.cluster.local:14563"
- name: VISUALIZATION_PROXY
value: "{{ VISUALIZATION4.0_URL }}"
- name: EMAIL_SERVICE_PROXY
value: "{{ EMAIL_SERVICE_URL }}"
- name: SCHEDULER_PROXY
value: "{{ ILENS_SCHEDULER_URL }}"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "visualization"
- name: LOG_LEVEL
value: "INFO"
- name: K_PARALLEL_QUERY
value: "False"
- name: REDIS_BROKER_URI_CELERY
value: "{{ REDIS_BROKER_URI }}"
- name: SECURE_ACCESS
value: "True"
- name: POSTGRES_DB
value: "ilens_visualization"
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: MODULE_PUBLIC_URL
value: "https://qa.unifytwin.com/visual4.0"
- name: GOTENBERG_SERVER
value: "http://gotenberg.ilens-core.svc.cluster.local:3000"
- name: CACHE_AGE
value: "60"
- name: ENABLE_CACHE
value: "True"
- name: MAX_CON_WORKER
value: "10"
- name: KAIROS_CACHE_TIME
value: "60"
- name: DIGEST_USER
value: "AllGoodNamesRGone"
- name: DIGEST_PW
value: "comBRANSeANtamasEbICaPeC"
- name: KAFKA_HOST
value: "{{ KAFKA_HOST }}"
- name: KAFKA_PORT
value: "9092"
- name: KAFKA_OUTPUT_TOPIC
value: "ilens_dev"
- name: ENABLE_KAFKA_PARTITION
value: "True"
- name: KAFKA_PARTITION_KEY
value: "site_id"
- name: ROUND_ROBIN_PARTITION
value: "True"
- name: ALLOW_SAMPLING
value: "True"
- name: THRESHOLD
value: "2500"
- name: SAMPLE_SET
value: "500"
- name: CORS_URLS
value: "https://qa.unifytwin.com,https://staging.unifytwin.com"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: REDIS_LOGIN_DB
value: "9"
- name: REDIS_LIVE_DB
value: "12"
- name: REDIS_PROJECT_DB
value: "18"
- name: REDIS_GEN_REP_DB
value: "15"
- name: REDIS_HIERARCHY_DB
value: "7"
- name: REDIS_VIZ_CACHE
value: "22"
- name: ILENS_HRY_SERVICE_URL
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: DIGITAL_TWIN_URL
value: "{{ DIGITAL_TWIN_SERVICE_URL }}"
- name: KAIROS_CONN_TIMEOUT
value: "30"
- name: KAIROS_READ_TIMEOUT
value: "120"
- name: HOME_LINK
value: "https://qa.unifytwin.com"
- name: DAHS_SERVICE_PROXY
value: "{{ DAHS_API_SERVICES_URL }}"
- name: ENABLE_METRICS
value: "True"
- name: MAINTENANCE_DASHBOARD_URL
value: "{{ MAINTENANCE_DASHBOARD_SERVICES_URL }}"
- name: WORKFLOW_MT_URL
value: "{{ WORKFLOW_MANAGEMENT_URL }}"
- name: REDIS_USER_ROLE_DB
value: "21"
- name: LIMIT_TAGS_DB
value: "26"
- name: STATUS_TAGS_DB
value: "72"
- name: K_USER_LEVEL_ACCESS
value: "False"
- name: REDIS_LAST_UPDATED_TIME
value: "41"
- name: LAST_UPDATED_TIME_KEY
value: "raw_data_last_updated"
- name: PDF_TIMEOUT
value: "300"
- name: BATCH_DB
value: "batch_details"
- name: BATCH_TABLE
value: "batch_details"
- name: KAFKA_AUDIT_TOPIC
value: "audit_logs"
- name: UT_TENANT_ID
value: "{{ UT_TENANT_ID }}"
- name: RULE_ALERTS
value: "{{ RULES_ALERTS_SERVICES_URL }}"
- name: SYNGENE_DB
value: "syngene"
deployment:
environmentVar:
- name: MODULE_NAME
value: "workflow-management-v2"
- name: MONGO_URI
valueFrom:
secretKeyRef:
name: mongo-uri
key: MONGO_URI
- name: POSTGRES_URI
valueFrom:
secretKeyRef:
name: postgres-uri
key: POSTGRES_URI
- name: KAIROS_URI
value: "{{ KAIROS_URI }}"
- name: REDIS_URI
value: "{{ REDIS_URI }}"
- name: DATA_ENGINE
value: "{{ EBPR_PERIODIC_DATA_ENGINE_URL }}"
- name: SCHEDULER_PROXY
value: "{{ ILENS_SCHEDULER_URL }}"
- name: METADATA_DB
value: "ilens_configuration"
- name: BASE_PATH
value: "/code/data"
- name: MOUNT_DIR
value: "workflow-management-v2"
- name: ILENS_ASSISTANT_DB
value: "ilens_assistant"
- name: SELF_PROXY
value: "{{ WORKFLOW_MANAGEMENT_URL }}"
- name: FORM_MT
value: "{{ FORM_MANAGEMENT_URL }}"
- name: HUB_NAME
value: "azr-nh-ilens-assistant-001"
- name: CONNECTION_STRING
value: "Endpoint=sb://azr-hns-ilens-assistant-001.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=D37ZpWWYMVRoAbiyx4pG4+wvoOZ/GNusWNn3ruQ4Cxw="
- name: API_VERSION
value: "?api-version=2015-01"
- name: MOBILE_PUSH_NOTIFICATION
value: "true"
- name: MQTT_URL
value: "{{ MQTT_SERVICE_URI }}"
- name: USE_POSTGRES
value: 'true'
- name: EMAIL_SERVICE_PROXY
value: "{{ EMAIL_SERVICE_URL }}"
- name: SECURE_ACCESS
value: "true"
- name: AUDIT_PROXY
value: "{{ ILENS_AUDIT_TRACKER_URL }}"
- name: SW_DOCS_URL
value: "/docs"
- name: SW_OPENAPI_URL
value: "/openapi.json"
- name: CORS_URLS
value: '["{{ CORS_URLS }}"]'
- name: PROTECTED_HOSTS
value: '["{{ PROTECTED_HOSTS }}"]'
- name: ENABLE_CORS
value: "True"
- name: SECURE_COOKIE
value: "True"
- name: USER_NAME
value: "AllGoodNamesRGone"
- name: PASSWORD
value: "comBRANSeANtamasEbICaPeC"
- name: EBPR_REPORT_ENGINE_PROXY
value: "{{ EBPR_REPORT_ENGINE_URL }}"
- name: HIERARCHY_SERVICES
value: "{{ HIERARCHY_SERVICES_URL }}"
- name: BATCH_MANAGEMENT_PROXY
value: "{{ BATCH_MANAGEMENT_URL }}"
- name: METADATA_SERVICES
value: "{{ METADATA_SERVICES_URL }}"
- name: LOG_LEVEL
value: "DEBUG"
- name: SERVICE_HOST
value: "0.0.0.0"
- name: SERVICE_PORT
value: "7120"
- name: UT_TENANT_ID
value: "{{ UT_TENANT_ID }}"
- name: PG_POOL_SIZE
value: "20"
- name: PG_MAX_OVERFLOW
value: "10"
- name: PG_ASSISTANT_DB
value: "ilens_assistant"
- name: PG_SCHEMA
value: "public"
- name: PG_REMOVE_PREFIX
value: "false"
version = "V6.6" version = "V6.6"
if __name__ == '__main__': if __name__ == '__main__':
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
from main import app from main import app
app.root_path = None app.root_path = None
import argparse import argparse
import logging import logging
import uvicorn import uvicorn
from scripts.config import Service from scripts.config import Service
ap = argparse.ArgumentParser() ap = argparse.ArgumentParser()
if __name__ == "__main__": if __name__ == "__main__":
ap.add_argument( ap.add_argument(
"--port", "--port",
"-p", "-p",
required=False, required=False,
default=Service.port, default=Service.port,
help="Port to start the application.", help="Port to start the application.",
) )
ap.add_argument( ap.add_argument(
"--bind", "--bind",
"-b", "-b",
required=False, required=False,
default=Service.host, default=Service.host,
help="IF to start the application.", help="IF to start the application.",
) )
arguments = vars(ap.parse_args()) arguments = vars(ap.parse_args())
logging.info(f"App Starting at {arguments['bind']}:{arguments['port']}") logging.info(f"App Starting at {arguments['bind']}:{arguments['port']}")
uvicorn.run("main:app", host=arguments["bind"], port=int(arguments["port"])) uvicorn.run("main:app", host=arguments["bind"], port=int(arguments["port"]))
import argparse import argparse
import json import json
import sys import sys
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
from helm_automation.helm_register import HelmRegistration from helm_automation.helm_register import HelmRegistration
from docker_automation.docker_automate_script import DockerVersionUpgrade from docker_automation.docker_automate_script import DockerVersionUpgrade
from helm_automation.helm_automate_script import HelmVersionUpgrade from helm_automation.helm_automate_script import HelmVersionUpgrade
from docker_automation.docker_register import DockerRegistration from docker_automation.docker_register import DockerRegistration
from scripts.config import EnvironmentVariables from scripts.config import EnvironmentVariables
from scripts.logging import logger from scripts.logging import logger
default_link = EnvironmentVariables.default_link default_link = EnvironmentVariables.default_link
git_user_name = EnvironmentVariables.git_user_name git_user_name = EnvironmentVariables.git_user_name
git_access_token = EnvironmentVariables.git_access_token git_access_token = EnvironmentVariables.git_access_token
config_variables = EnvironmentVariables.config_variables config_variables = EnvironmentVariables.config_variables
helm_repo = EnvironmentVariables.helm_repo helm_repo = EnvironmentVariables.helm_repo
global_configmap = EnvironmentVariables.global_configmap global_configmap = EnvironmentVariables.global_configmap
ap = argparse.ArgumentParser() ap = argparse.ArgumentParser()
def func_mapper(operation_type, parameters): def func_mapper(operation_type, parameters):
func_mapper_dict = { func_mapper_dict = {
"docker_registration": DockerRegistration(arguments=parameters, git_user_name=git_user_name, "docker_registration": DockerRegistration(arguments=parameters, git_user_name=git_user_name,
git_access_token=git_access_token).module_registration, git_access_token=git_access_token).module_registration,
"docker_version_upgrade": DockerVersionUpgrade(arguments=parameters, git_user_name=git_user_name, "docker_version_upgrade": DockerVersionUpgrade(arguments=parameters, git_user_name=git_user_name,
git_access_token=git_access_token).module_registration, git_access_token=git_access_token).module_registration,
"helm_version_upgrade": HelmVersionUpgrade(arguments=parameters, git_user_name=git_user_name, "helm_version_upgrade": HelmVersionUpgrade(arguments=parameters, git_user_name=git_user_name,
git_access_token=git_access_token).module_registration, git_access_token=git_access_token).module_registration,
"helm_registration": HelmRegistration(arguments=parameters, git_user_name=git_user_name, "helm_registration": HelmRegistration(arguments=parameters, git_user_name=git_user_name,
git_access_token=git_access_token).module_registration git_access_token=git_access_token).module_registration
} }
return func_mapper_dict.get(operation_type) return func_mapper_dict.get(operation_type)
if __name__ == '__main__': if __name__ == '__main__':
ap.add_argument( ap.add_argument(
"--ilens_version", "--ilens_version",
"-iv", "-iv",
required=False, required=False,
default=None, default=None,
help="ILens Version Tag", help="ILens Version Tag",
) )
ap.add_argument( ap.add_argument(
"--release_version", "--release_version",
"-rv", "-rv",
required=False, required=False,
default=None, default=None,
help="ILens Release Tag", help="ILens Release Tag",
) )
ap.add_argument( ap.add_argument(
"--reference_client_name", "--reference_client_name",
"-rcn", "-rcn",
required=False, required=False,
default=None, default=None,
help="Client Name Tag" help="Client Name Tag"
) )
ap.add_argument( ap.add_argument(
"--client_name", "--client_name",
"-cn", "-cn",
required=False, required=False,
default=None, default=None,
help="Client Name Tag" help="Client Name Tag"
) )
ap.add_argument( ap.add_argument(
"--branch_name", "--branch_name",
"-b", "-b",
required=False, required=False,
default=None, default=None,
help="Branch Name" help="Branch Name"
) )
ap.add_argument( ap.add_argument(
"--git_repos", "--git_repos",
"-gr", "-gr",
required=False, required=False,
default='', default='',
help="Git repos to be added in docker compose", help="Git repos to be added in docker compose",
) )
ap.add_argument( ap.add_argument(
"--module_names", "--module_names",
"-mn", "-mn",
required=False, required=False,
default='', default='',
help="Module names to be added in docker compose", help="Module names to be added in docker compose",
) )
ap.add_argument( ap.add_argument(
"--repo_info", "--repo_info",
"-ri", "-ri",
required=False, required=False,
default='', default='',
help="Module names to be added in docker compose", help="Module names to be added in docker compose",
) )
ap.add_argument( ap.add_argument(
"--execution_type", "--execution_type",
"-et", "-et",
required=False, required=False,
default=None, default=None,
help="Type of Execution will be selected.." help="Type of Execution will be selected.."
) )
ap.add_argument( ap.add_argument(
"--extra_modules", "--extra_modules",
"-em", "-em",
required=False, required=False,
default='data-processor', default='data-processor',
help="Extra Modules to be included in script", help="Extra Modules to be included in script",
) )
try: try:
arguments = vars(ap.parse_args()) arguments = vars(ap.parse_args())
_ilens_version = arguments["ilens_version"] _ilens_version = arguments["ilens_version"]
_release_version = arguments["release_version"] _release_version = arguments["release_version"]
_client_name = arguments['client_name'] _client_name = arguments['client_name']
_reference_branch = arguments['reference_client_name'] _reference_branch = arguments['reference_client_name']
_git_repos = arguments["git_repos"] _git_repos = arguments["git_repos"]
_module_names = arguments["module_names"] _module_names = arguments["module_names"]
extra_modules = arguments["extra_modules"] extra_modules = arguments["extra_modules"]
_branch_name = arguments['branch_name'] or "master" _branch_name = arguments['branch_name'] or "master"
if repo_info := arguments["repo_info"]: if repo_info := arguments["repo_info"]:
repo_info = json.loads(repo_info) repo_info = json.loads(repo_info)
func_type = arguments['execution_type'] func_type = arguments['execution_type']
temp_func = func_mapper(operation_type=func_type, parameters=arguments) temp_func = func_mapper(operation_type=func_type, parameters=arguments)
if not temp_func: if not temp_func:
logger.exception('Execution Type is not Found') logger.exception('Execution Type is not Found')
sys.exit() sys.exit()
res = temp_func() res = temp_func()
except Exception as e: except Exception as e:
logger.exception(f'Exception Occurred while performing automation script preparation {e.args}') logger.exception(f'Exception Occurred while performing automation script preparation {e.args}')
[SERVICE] [SERVICE]
port = 3973 port = 3973
host = 0.0.0.0 host = 0.0.0.0
[SQL_DB] [SQL_DB]
uri = $DB_URI uri = $DB_URI
[LOGGING] [LOGGING]
level=$LOG_LEVEL level=$LOG_LEVEL
traceback=true traceback=true
\ No newline at end of file
{ {
"git_modules": [ "git_modules": [
{ {
"git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ilens-assistant/workflow-management.git", "git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ilens-assistant/workflow-management.git",
"branch": "master", "branch": "master",
"command": [], "command": [],
"enableMountVolume": true, "enableMountVolume": true,
"module_port": 45678, "module_port": 45678,
"node_port": 98765, "node_port": 98765,
"module_name": "workflow-management" "module_name": "workflow-management"
}, },
{ {
"git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ilens-assistant/form-management.git", "git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ilens-assistant/form-management.git",
"branch": "master", "branch": "master",
"command": [], "command": [],
"enableMountVolume": true, "enableMountVolume": true,
"module_port": 45678, "module_port": 45678,
"node_port": 98765, "node_port": 98765,
"module_name": "form-management" "module_name": "form-management"
}, },
{ {
"git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ebpr-report-engine.git", "git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ebpr-report-engine.git",
"branch": "master", "branch": "master",
"command": [], "command": [],
"enableMountVolume": true, "enableMountVolume": true,
"module_port": 45678, "module_port": 45678,
"node_port": 98765, "node_port": 98765,
"module_name":"ebpr-report-engine" "module_name":"ebpr-report-engine"
}, },
{ {
"git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ebpr-report-engine.git", "git_link": "https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/server/ebpr-report-engine.git",
"branch": "master", "branch": "master",
"command": [ "command": [
"celery", "celery",
"-A", "-A",
"worker", "worker",
"worker", "worker",
"--loglevel=INFO", "--loglevel=INFO",
"-Q", "-Q",
"ebpr_reports", "ebpr_reports",
"-c", "-c",
"2" "2"
], ],
"enableMountVolume": true, "enableMountVolume": true,
"module_name": "ebpr-report-engine-celery" "module_name": "ebpr-report-engine-celery"
} }
] ]
} }
\ No newline at end of file
name: <{ module_name }> name: <{ module_name }>
codeType: backend codeType: backend
type: core type: core
affinity: affinity:
enabled: True enabled: True
values: [ "klblrserv24","klblrserv23" ] values: [ "klblrserv24","klblrserv23" ]
podAutoScaler: podAutoScaler:
enabled: False enabled: False
type: "hpa" type: "hpa"
maxReplicaCount: 3 maxReplicaCount: 3
minReplicaCount: 1 minReplicaCount: 1
scalePercentage: 85 scalePercentage: 85
deployment: deployment:
imageName: <{ image_tag }> imageName: <{ image_tag }>
command: <{ command }> command: <{ command }>
PullSecrets: <{ PullSecrets | default("ilens-azregistry") }> PullSecrets: <{ PullSecrets | default("ilens-azregistry") }>
PullPolicy: IfNotPresent <{ branch }> PullPolicy: IfNotPresent <{ branch }>
resources: resources:
requests: requests:
memory: <{ request_memory | default("250Mi") }> memory: <{ request_memory | default("250Mi") }>
cpu: <{ request_cpu | default("250Mi") }> cpu: <{ request_cpu | default("250Mi") }>
limits: limits:
memory: <{ limit_memory | default("750Mi") }> memory: <{ limit_memory | default("750Mi") }>
cpu: <{ limit_cpu | default("500Mi") }> cpu: <{ limit_cpu | default("500Mi") }>
environmentConfig: environmentConfig:
envFrom: envFrom:
- configMapRef: - configMapRef:
name: ilens-global-variables name: ilens-global-variables
environmentVar: environmentVar:
- name: MONGO_URI - name: MONGO_URI
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: mongo-uri name: mongo-uri
key: MONGO_URI key: MONGO_URI
{% for i in variables %} {% for i in variables %}
{% if 'name' in i and 'value' in i %} {% if 'name' in i and 'value' in i %}
- name:'<{ i.name }>', - name:'<{ i.name }>',
'value':'<{ i.value }>' 'value':'<{ i.value }>'
{% endif %} {% endif %}
{% endfor %} {% endfor %}
mountVolume: mountVolume:
enabled: <{ enableMountVolume }> enabled: <{ enableMountVolume }>
volumeMounts: volumeMounts:
- name: <{ mount_name | default("core-volumes") }> - name: <{ mount_name | default("core-volumes") }>
mountPath: "/code/data" mountPath: "/code/data"
volumes: volumes:
- name: <{ mount_name | default("core-volumes") }> - name: <{ mount_name | default("core-volumes") }>
persistentVolumeClaim: persistentVolumeClaim:
claimName: <{ claim_name | default("core-volumes") }> claimName: <{ claim_name | default("core-volumes") }>
\ No newline at end of file
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
if __name__ == "__main__": if __name__ == "__main__":
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
import os import os
import sys import sys
import time import time
from scripts.config import EnvironmentVariables from scripts.config import EnvironmentVariables
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.core.docker_handler import DockerHandler from scripts.core.docker_handler import DockerHandler
from scripts.core.git_handler import GitHandler from scripts.core.git_handler import GitHandler
from scripts.logging import logging from scripts.logging import logging
docker_repo = EnvironmentVariables.docker_repo docker_repo = EnvironmentVariables.docker_repo
global_configmap = EnvironmentVariables.global_configmap global_configmap = EnvironmentVariables.global_configmap
class DockerVersionUpgrade: class DockerVersionUpgrade:
def __init__(self, arguments: dict, git_user_name: str, git_access_token: str): def __init__(self, arguments: dict, git_user_name: str, git_access_token: str):
self.arguments = arguments self.arguments = arguments
self.db_handler = ILensVersionHandler() self.db_handler = ILensVersionHandler()
self.docker_handler = DockerHandler(git_user_name=git_user_name, git_access_token=git_access_token) self.docker_handler = DockerHandler(git_user_name=git_user_name, git_access_token=git_access_token)
self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token) self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token)
self.common_util = CommonUtils() self.common_util = CommonUtils()
def module_registration(self): def module_registration(self):
docker_temp_path = f"{int(time.time())}_docker_tmp_path" docker_temp_path = f"{int(time.time())}_docker_tmp_path"
general_temp_path = f"{int(time.time())}_tmp" general_temp_path = f"{int(time.time())}_tmp"
output_path = f"{int(time.time())}_docker-compose" output_path = f"{int(time.time())}_docker-compose"
try: try:
self.process_docker_automation(docker_temp_path, output_path, general_temp_path) self.process_docker_automation(docker_temp_path, output_path, general_temp_path)
except Exception as e: except Exception as e:
logging.error(f'Exception occurred while preparing the docker compose {e.args}') logging.error(f'Exception occurred while preparing the docker compose {e.args}')
def process_docker_automation(self, docker_temp_path, output_path, general_temp_path): def process_docker_automation(self, docker_temp_path, output_path, general_temp_path):
_ilens_version = self.arguments["ilens_version"] _ilens_version = self.arguments["ilens_version"]
_release_version = self.arguments["release_version"] _release_version = self.arguments["release_version"]
_client_name = self.arguments['client_name'] _client_name = self.arguments['client_name']
_git_repos = self.arguments["git_repos"].split(',') _git_repos = self.arguments["git_repos"].split(',')
_module_names = self.arguments["module_names"].split(',') _module_names = self.arguments["module_names"].split(',')
extra_modules = self.arguments["extra_modules"].split(',') extra_modules = self.arguments["extra_modules"].split(',')
_branch_name = self.arguments['branch_name'] or "master" _branch_name = self.arguments['branch_name'] or "master"
_reference_branch = self.arguments['reference_client_name'] _reference_branch = self.arguments['reference_client_name']
if not _ilens_version or not _release_version or not _client_name or not global_configmap: if not _ilens_version or not _release_version or not _client_name or not global_configmap:
print( print(
"global_configmap, client_name, ilens_version and release_version details " "global_configmap, client_name, ilens_version and release_version details "
"not found!!!!!") "not found!!!!!")
sys.exit() sys.exit()
variables_file = "variables.yml" variables_file = "variables.yml"
if not os.path.exists(docker_temp_path): if not os.path.exists(docker_temp_path):
os.makedirs(docker_temp_path) os.makedirs(docker_temp_path)
if not os.path.exists(output_path): if not os.path.exists(output_path):
os.makedirs(output_path) os.makedirs(output_path)
docker_compose_path = os.path.join(docker_temp_path, "docker-compose") docker_compose_path = os.path.join(docker_temp_path, "docker-compose")
_branch = f"{_client_name}_{_ilens_version}.{_release_version}" _branch = f"{_client_name}_{_ilens_version}.{_release_version}"
if not self.git_handler_obj.clone_repository(repo_link=docker_repo, module_output_path=docker_compose_path, if not self.git_handler_obj.clone_repository(repo_link=docker_repo, module_output_path=docker_compose_path,
clone_branch=_client_name): clone_branch=_client_name):
logging.error(f"Cannot clone docker repo with branch: {_client_name}") logging.error(f"Cannot clone docker repo with branch: {_client_name}")
sys.exit() sys.exit()
self.docker_handler.process_compose_data_for_existing_files(destination_branch=_client_name, self.docker_handler.process_compose_data_for_existing_files(destination_branch=_client_name,
source_branch=_branch, source_branch=_branch,
variables_file=variables_file, variables_file=variables_file,
arguments=self.arguments, arguments=self.arguments,
tmp_path=general_temp_path, tmp_path=general_temp_path,
output_path=output_path, output_path=output_path,
docker_compose_path=docker_compose_path) docker_compose_path=docker_compose_path)
self.git_handler_obj.push_deployments_to_git(repo_link=docker_repo, self.git_handler_obj.push_deployments_to_git(repo_link=docker_repo,
private_token=EnvironmentVariables.git_access_token, private_token=EnvironmentVariables.git_access_token,
branch=_branch, branch=_branch,
folder_path=output_path, helm_deployment=False, folder_path=output_path, helm_deployment=False,
base_path=docker_compose_path) base_path=docker_compose_path)
self.git_handler_obj.create_merge_request(repo_link=docker_repo, source_branch=_branch, self.git_handler_obj.create_merge_request(repo_link=docker_repo, source_branch=_branch,
destination_branch=_client_name) destination_branch=_client_name)
import json import json
from scripts.config import EnvironmentVariables from scripts.config import EnvironmentVariables
if __name__ == "__main__": if __name__ == "__main__":
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
import os import os
import sys import sys
import time import time
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.core.docker_handler import DockerHandler from scripts.core.docker_handler import DockerHandler
from scripts.core.git_handler import GitHandler from scripts.core.git_handler import GitHandler
from scripts.logging import logging from scripts.logging import logging
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
docker_repo = os.environ.get("DOCKER_REPO", docker_repo = os.environ.get("DOCKER_REPO",
default="https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/docker-compose.git") default="https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/docker-compose.git")
global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="ilens-env-spec-variables.yml") global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="ilens-env-spec-variables.yml")
class DockerRegistration: class DockerRegistration:
def __init__(self, arguments: dict, git_user_name: str, git_access_token: str): def __init__(self, arguments: dict, git_user_name: str, git_access_token: str):
self.arguments = arguments self.arguments = arguments
self.db_handler = ILensVersionHandler() self.db_handler = ILensVersionHandler()
self.docker_handler = DockerHandler(git_user_name=git_user_name, git_access_token=git_access_token) self.docker_handler = DockerHandler(git_user_name=git_user_name, git_access_token=git_access_token)
self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token) self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token)
self.common_util = CommonUtils() self.common_util = CommonUtils()
def module_registration(self): def module_registration(self):
docker_temp_path = f"{int(time.time())}_docker_tmp_path" docker_temp_path = f"{int(time.time())}_docker_tmp_path"
general_temp_path = f"{int(time.time())}_tmp" general_temp_path = f"{int(time.time())}_tmp"
output_path = f"{int(time.time())}_docker-compose" output_path = f"{int(time.time())}_docker-compose"
_ilens_version = self.arguments["ilens_version"] _ilens_version = self.arguments["ilens_version"]
_release_version = self.arguments["release_version"] _release_version = self.arguments["release_version"]
_client_name = self.arguments['client_name'] _client_name = self.arguments['client_name']
_git_repos = self.arguments["git_repos"].split(',') _git_repos = self.arguments["git_repos"].split(',')
_module_names = self.arguments["module_names"].split(',') _module_names = self.arguments["module_names"].split(',')
extra_modules = self.arguments["extra_modules"].split(',') extra_modules = self.arguments["extra_modules"].split(',')
_branch_name = self.arguments['branch_name'] or "master" _branch_name = self.arguments['branch_name'] or "master"
_reference_branch = self.arguments['reference_client_name'] _reference_branch = self.arguments['reference_client_name']
try: try:
if repo_info := self.arguments["repo_info"]: if repo_info := self.arguments["repo_info"]:
repo_info = json.loads(repo_info) repo_info = json.loads(repo_info)
if not _ilens_version or not _release_version or not _client_name or not _git_repos and not _module_names or not global_configmap: if not _ilens_version or not _release_version or not _client_name or not _git_repos and not _module_names or not global_configmap:
print( print(
"global_configmap, git_repos, module_names, client_name, ilens_version and release_version details not found!!!!!") "global_configmap, git_repos, module_names, client_name, ilens_version and release_version details not found!!!!!")
sys.exit() sys.exit()
_branch = f"{_client_name}_{_ilens_version}.{_release_version}" _branch = f"{_client_name}_{_ilens_version}.{_release_version}"
if not os.path.exists(docker_temp_path): if not os.path.exists(docker_temp_path):
os.makedirs(docker_temp_path) os.makedirs(docker_temp_path)
if not os.path.exists(output_path): if not os.path.exists(output_path):
os.makedirs(output_path) os.makedirs(output_path)
docker_compose_path = os.path.join(docker_temp_path, "docker-compose") docker_compose_path = os.path.join(docker_temp_path, "docker-compose")
if not self.git_handler_obj.clone_repository(repo_link=docker_repo, module_output_path=docker_compose_path, if not self.git_handler_obj.clone_repository(repo_link=docker_repo, module_output_path=docker_compose_path,
clone_branch=_reference_branch or _client_name): clone_branch=_reference_branch or _client_name):
logging.error(f"Cannot clone docker repo with branch: {_reference_branch or _client_name}") logging.error(f"Cannot clone docker repo with branch: {_reference_branch or _client_name}")
docker_compose_path = os.path.join(docker_temp_path, "docker-compose") docker_compose_path = os.path.join(docker_temp_path, "docker-compose")
variables_file = "variables.yml" variables_file = "variables.yml"
if os.path.exists(docker_compose_path): if os.path.exists(docker_compose_path):
self.docker_handler.process_compose_data_for_existing_files(destination_branch=_client_name, self.docker_handler.process_compose_data_for_existing_files(destination_branch=_client_name,
source_branch=_branch, source_branch=_branch,
variables_file=variables_file, variables_file=variables_file,
arguments=self.arguments, arguments=self.arguments,
tmp_path=general_temp_path, tmp_path=general_temp_path,
output_path=output_path, output_path=output_path,
docker_compose_path=docker_compose_path) docker_compose_path=docker_compose_path)
else: else:
self.docker_handler.process_compose_data_by_template(variables_file=variables_file, self.docker_handler.process_compose_data_by_template(variables_file=variables_file,
arguments=self.arguments, compose_info=repo_info, arguments=self.arguments, compose_info=repo_info,
tmp_path=general_temp_path, tmp_path=general_temp_path,
output_path=output_path, modules=_module_names) output_path=output_path, modules=_module_names)
self.git_handler_obj.push_deployments_to_git(repo_link=docker_repo, self.git_handler_obj.push_deployments_to_git(repo_link=docker_repo,
private_token=EnvironmentVariables.git_access_token, private_token=EnvironmentVariables.git_access_token,
branch=_branch, branch=_branch,
folder_path=output_path, helm_deployment=False, folder_path=output_path, helm_deployment=False,
base_path=docker_compose_path) base_path=docker_compose_path)
except Exception as e: except Exception as e:
logging.exception(f"Exception Occurred while generating the docker compose file {e.args}") logging.exception(f"Exception Occurred while generating the docker compose file {e.args}")
from scripts.config import EnvironmentVariables, ModuleConstants from scripts.config import EnvironmentVariables, ModuleConstants
from scripts.core.helm_handler import HelmHandler from scripts.core.helm_handler import HelmHandler
if __name__ == "__main__": if __name__ == "__main__":
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
import logging import logging
import os import os
import sys import sys
import time import time
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.core.git_handler import GitHandler from scripts.core.git_handler import GitHandler
from scripts.db.psql.databases import get_db_for_func from scripts.db.psql.databases import get_db_for_func
from scripts.schemas import GetRequest from scripts.schemas import GetRequest
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
HELM_PATH = "/ilens-core/ilens-modules" HELM_PATH = "/ilens-core/ilens-modules"
HELM_STORE_PATH = "./helm-charts" HELM_STORE_PATH = "./helm-charts"
global_configmap = EnvironmentVariables.global_configmap global_configmap = EnvironmentVariables.global_configmap
helm_repo = EnvironmentVariables.helm_repo helm_repo = EnvironmentVariables.helm_repo
mapping_json = { mapping_json = {
"visualization-4": "visualization4.0", "visualization-4": "visualization4.0",
"metadata-service": "metadata-services", "metadata-service": "metadata-services",
"workflow-management": "workflow-management-v2", "workflow-management": "workflow-management-v2",
"flow-parser": "flow-parser-pipeline-builder", "flow-parser": "flow-parser-pipeline-builder",
"iot-data-processor-worker-solar": "data-processor-worker", "iot-data-processor-worker-solar": "data-processor-worker",
"iot-data-processor-worker": "data-processor-worker", "iot-data-processor-worker": "data-processor-worker",
"mqtt-data-processor-worker": "data-processor-worker", "mqtt-data-processor-worker": "data-processor-worker",
"http-data-processor-worker": "data-processor-worker", "http-data-processor-worker": "data-processor-worker",
"data-processor-worker-iot-apollo": "data-processor-worker", "data-processor-worker-iot-apollo": "data-processor-worker",
"data-processor-worker-iot-goodyear": "data-processor-worker", "data-processor-worker-iot-goodyear": "data-processor-worker",
"data-processor-worker-mqtt-app": "data-processor-worker", "data-processor-worker-mqtt-app": "data-processor-worker",
"data-processor-worker-mqtt-demo": "data-processor-worker", "data-processor-worker-mqtt-demo": "data-processor-worker",
"ilens-notifications": "notification-engine", "ilens-notifications": "notification-engine",
"ilens_scheduler": "ilens-scheduler", "ilens_scheduler": "ilens-scheduler",
"data-export-celery": "data-import", "data-export-celery": "data-import",
"data-management-celery": "data-import", "data-management-celery": "data-import",
"ilens-notifications-batch-email-trigger": "notification-engine", "ilens-notifications-batch-email-trigger": "notification-engine",
"simulation-services": "simulation-services", "simulation-services": "simulation-services",
"chiller-efficiency-calculation": "chiller-efficiency-calculation", "chiller-efficiency-calculation": "chiller-efficiency-calculation",
"chiller-vibration-anomaly": "chiller-vibration-anomaly", "chiller-vibration-anomaly": "chiller-vibration-anomaly",
"audit-management-worker": "audit-management" "audit-management-worker": "audit-management"
} }
class HelmVersionUpgrade: class HelmVersionUpgrade:
def __init__(self, arguments: dict, git_user_name: str, git_access_token: str): def __init__(self, arguments: dict, git_user_name: str, git_access_token: str):
self.arguments = arguments self.arguments = arguments
self.db_handler = ILensVersionHandler() self.db_handler = ILensVersionHandler()
self.helm_handler = HelmHandler() self.helm_handler = HelmHandler()
self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token) self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token)
self.common_util = CommonUtils() self.common_util = CommonUtils()
def module_registration(self): def module_registration(self):
helm_temp_path = f"{int(time.time())}_helm_tmp_path" helm_temp_path = f"{int(time.time())}_helm_tmp_path"
general_temp_path = f"{int(time.time())}_tmp" general_temp_path = f"{int(time.time())}_tmp"
output_path = f"{int(time.time())}_helm-charts" output_path = f"{int(time.time())}_helm-charts"
_ilens_version = self.arguments["ilens_version"] _ilens_version = self.arguments["ilens_version"]
_release_version = self.arguments["release_version"] _release_version = self.arguments["release_version"]
_client_name = self.arguments['client_name'] _client_name = self.arguments['client_name']
_git_repos = self.arguments["git_repos"].split(',') _git_repos = self.arguments["git_repos"].split(',')
_module_names = self.arguments["module_names"].split(',') _module_names = self.arguments["module_names"].split(',')
extra_modules = self.arguments["extra_modules"].split(',') extra_modules = self.arguments["extra_modules"].split(',')
_branch_name = self.arguments['branch_name'] or "master" _branch_name = self.arguments['branch_name'] or "master"
try: try:
if not _ilens_version or not _release_version or not _client_name or not ( if not _ilens_version or not _release_version or not _client_name or not (
_git_repos or _module_names) or not global_configmap: _git_repos or _module_names) or not global_configmap:
print( print(
"global_configmap, git_repos, client_name, ilens_version and release_version details not found!!!!!") "global_configmap, git_repos, client_name, ilens_version and release_version details not found!!!!!")
sys.exit() sys.exit()
_branch = f"{_client_name}_{_ilens_version}.{_release_version}" _branch = f"{_client_name}_{_ilens_version}.{_release_version}"
_backup_branch = f"v{_ilens_version}.{(int(_release_version) - 1)}-{_client_name}" _backup_branch = f"v{_ilens_version}.{(int(_release_version) - 1)}-{_client_name}"
if not os.path.exists(helm_temp_path): if not os.path.exists(helm_temp_path):
os.makedirs(helm_temp_path) os.makedirs(helm_temp_path)
if not os.path.exists(output_path): if not os.path.exists(output_path):
os.makedirs(output_path) os.makedirs(output_path)
helm_path = os.path.join(helm_temp_path, "helm-charts") helm_path = os.path.join(helm_temp_path, "helm-charts")
self.git_handler_obj.create_backup_branch(repo_link=helm_repo, current_branch=_client_name, target_branch=_backup_branch) self.git_handler_obj.create_backup_branch(repo_link=helm_repo, current_branch=_client_name, target_branch=_backup_branch)
if not self.git_handler_obj.clone_repository(repo_link=helm_repo, module_output_path=helm_path, if not self.git_handler_obj.clone_repository(repo_link=helm_repo, module_output_path=helm_path,
clone_branch=_client_name): clone_branch=_client_name):
logging.error(f"Cannot clone helm repo with branch: {_client_name}") logging.error(f"Cannot clone helm repo with branch: {_client_name}")
sys.exit() sys.exit()
base_helm_directory_path = os.path.join(helm_temp_path, "helm-charts", "ilens-core", "ilens-modules") base_helm_directory_path = os.path.join(helm_temp_path, "helm-charts", "ilens-core", "ilens-modules")
if len(_module_names) == 1 and _module_names[0].lower() == "all": if len(_module_names) == 1 and _module_names[0].lower() == "all":
updated_list = [] updated_list = []
files_info = os.listdir(base_helm_directory_path) files_info = os.listdir(base_helm_directory_path)
sorted_files = list(filter(lambda f: f.endswith(".yml"), files_info)) sorted_files = list(filter(lambda f: f.endswith(".yml"), files_info))
_module_names = [_each.replace(".yml", "") for _each in sorted_files] _module_names = [_each.replace(".yml", "") for _each in sorted_files]
_module_names.extend(extra_modules) _module_names.extend(extra_modules)
_module_names = sorted(_module_names) _module_names = sorted(_module_names)
global_config_data = self.common_util.convert_yaml_to_define_obj( global_config_data = self.common_util.convert_yaml_to_define_obj(
os.path.join(base_helm_directory_path, global_configmap)) os.path.join(base_helm_directory_path, global_configmap))
# global_config_data = common_util.convert_yaml_to_json("ilens-global-configmap.yml") # global_config_data = common_util.convert_yaml_to_json("ilens-global-configmap.yml")
variables_file = "variables.yml" variables_file = "variables.yml"
template_path = os.path.join(general_temp_path, "templates") template_path = os.path.join(general_temp_path, "templates")
if not os.path.exists(template_path): if not os.path.exists(template_path):
os.makedirs(template_path) os.makedirs(template_path)
for _module in _module_names: for _module in _module_names:
updated_module_name = mapping_json.get(_module, _module) updated_module_name = mapping_json.get(_module, _module)
if _module == "data": if _module == "data":
continue continue
helm_out_file_path = os.path.join(output_path, f'{_module}.yml') helm_out_file_path = os.path.join(output_path, f'{_module}.yml')
_original_module = "" _original_module = ""
# if _module in ModuleConstants.IOT_DATA_PROCESSOR: # if _module in ModuleConstants.IOT_DATA_PROCESSOR:
# _original_module = _module # _original_module = _module
# _module = ModuleConstants.IOT_DATA_PROCESSOR_MODULE # _module = ModuleConstants.IOT_DATA_PROCESSOR_MODULE
_original_module = _module _original_module = _module
module_path = os.path.join(general_temp_path) module_path = os.path.join(general_temp_path)
module_path = os.path.join(module_path, _module) module_path = os.path.join(module_path, _module)
if not os.path.exists(module_path): if not os.path.exists(module_path):
os.makedirs(module_path) os.makedirs(module_path)
if os.path.exists(helm_out_file_path): if os.path.exists(helm_out_file_path):
logging.debug(f"Helm Deployment File found for selected the module {_module}") logging.debug(f"Helm Deployment File found for selected the module {_module}")
continue continue
variables_file_path = os.path.join(module_path, variables_file) variables_file_path = os.path.join(module_path, variables_file)
git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=updated_module_name) #or _original_module) git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=updated_module_name) #or _original_module)
if not git_info: if not git_info:
logging.debug("Failed to fetch module info!! Skipping Helm File Preparation") logging.debug("Failed to fetch module info!! Skipping Helm File Preparation")
continue continue
if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info, if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info,
clone_branch=_branch_name, clone_branch=_branch_name,
file_output_path=variables_file_path, file_output_path=variables_file_path,
clone_file_path=variables_file): clone_file_path=variables_file):
logging.debug("Failed to clone module!! Skipping Helm File Preparation") logging.debug("Failed to clone module!! Skipping Helm File Preparation")
continue continue
self.common_util.add_quotes(variables_file_path) self.common_util.add_quotes(variables_file_path)
_module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path) _module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path)
if not _module_data: if not _module_data:
continue continue
module_env_variables = _module_data.get('deployment', {}).get('environmentVar', []) module_env_variables = _module_data.get('deployment', {}).get('environmentVar', [])
module_env_variables = {_v['name']: _v for _v in module_env_variables} module_env_variables = {_v['name']: _v for _v in module_env_variables}
template_file = os.path.join(template_path, f'{_module}.yml') template_file = os.path.join(template_path, f'{_module}.yml')
session_obj = get_db_for_func() session_obj = get_db_for_func()
module_info = self.db_handler.get_module_versions( module_info = self.db_handler.get_module_versions(
input_data=GetRequest(module_name=updated_module_name, client='iLens', ilens_version=_ilens_version, input_data=GetRequest(module_name=updated_module_name, client='iLens', ilens_version=_ilens_version,
release_version=_release_version), db=session_obj) release_version=_release_version), db=session_obj)
session_obj.close() session_obj.close()
image_url = module_info.get("image_url", '') if module_info else '' image_url = module_info.get("image_url", '') if module_info else ''
existing_yml_path = os.path.join(base_helm_directory_path, f'{_module}.yml') existing_yml_path = os.path.join(base_helm_directory_path, f'{_module}.yml')
self.helm_handler.create_existing_helm_deployment_file(template_yml_path=existing_yml_path, self.helm_handler.create_existing_helm_deployment_file(template_yml_path=existing_yml_path,
image_tag=image_url, image_tag=image_url,
module_env_variables=module_env_variables, module_env_variables=module_env_variables,
template_file=template_file, template_file=template_file,
template_path=template_path, template_path=template_path,
helm_out_file_path=helm_out_file_path, helm_out_file_path=helm_out_file_path,
global_config_data=global_config_data, global_config_data=global_config_data,
module_name=_original_module or _module) module_name=_original_module or _module)
files_info = os.listdir(base_helm_directory_path) files_info = os.listdir(base_helm_directory_path)
# sorted_files = list(filter(lambda f: f.startswith((_original_module or _module)), files_info)) # sorted_files = list(filter(lambda f: f.startswith((_original_module or _module)), files_info))
sorted_files = list(filter(lambda f: f.startswith((_original_module or _module)), files_info)) sorted_files = list(filter(lambda f: f.startswith((_original_module or _module)), files_info))
updated_files_info = [x for x in sorted_files if f'{_original_module or _module}.yml' != x] updated_files_info = [x for x in sorted_files if f'{_original_module or _module}.yml' != x]
# print("updated_files_info",updated_files_info) # print("updated_files_info",updated_files_info)
for _file in updated_files_info: for _file in updated_files_info:
sub_file_path = os.path.join(base_helm_directory_path, _file) sub_file_path = os.path.join(base_helm_directory_path, _file)
helm_out_file_path = os.path.join(output_path, _file) helm_out_file_path = os.path.join(output_path, _file)
template_file = os.path.join(template_path, _file) template_file = os.path.join(template_path, _file)
self.helm_handler.create_existing_helm_deployment_file(template_yml_path=sub_file_path, self.helm_handler.create_existing_helm_deployment_file(template_yml_path=sub_file_path,
image_tag=image_url, image_tag=image_url,
module_env_variables=module_env_variables, module_env_variables=module_env_variables,
template_file=template_file, template_file=template_file,
template_path=template_path, template_path=template_path,
helm_out_file_path=helm_out_file_path, helm_out_file_path=helm_out_file_path,
global_config_data=global_config_data, global_config_data=global_config_data,
module_name=_file.split(".yml")[0]) module_name=_file.split(".yml")[0])
self.git_handler_obj.push_deployments_to_git(repo_link=helm_repo, branch=_branch, folder_path=output_path, self.git_handler_obj.push_deployments_to_git(repo_link=helm_repo, branch=_branch, folder_path=output_path,
base_path=helm_path, base_path=helm_path,
private_token=EnvironmentVariables.git_access_token) private_token=EnvironmentVariables.git_access_token)
self.git_handler_obj.create_merge_request(repo_link=helm_repo, source_branch=_branch, self.git_handler_obj.create_merge_request(repo_link=helm_repo, source_branch=_branch,
destination_branch=_client_name) destination_branch=_client_name)
except Exception as e: except Exception as e:
logging.exception(f"Exception Occurred while processing the Helm-Script Preparation {e.args}") logging.exception(f"Exception Occurred while processing the Helm-Script Preparation {e.args}")
finally: finally:
# shutil.rmtree(HELM_STORE_PATH) # shutil.rmtree(HELM_STORE_PATH)
# shutil.rmtree(helm_temp_path) # shutil.rmtree(helm_temp_path)
# shutil.rmtree(general_temp_path) # shutil.rmtree(general_temp_path)
# shutil.rmtree(output_path) # shutil.rmtree(output_path)
... ...
import json import json
from copy import deepcopy from copy import deepcopy
from scripts.config import EnvironmentVariables from scripts.config import EnvironmentVariables
if __name__ == "__main__": if __name__ == "__main__":
from dotenv import load_dotenv from dotenv import load_dotenv
load_dotenv() load_dotenv()
from scripts.db.psql.databases import get_db_for_func from scripts.db.psql.databases import get_db_for_func
from scripts.schemas import GetRequest from scripts.schemas import GetRequest
import logging import logging
import os import os
import sys import sys
import time import time
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.core.git_handler import GitHandler from scripts.core.git_handler import GitHandler
from scripts.core.helm_handler import HelmHandler from scripts.core.helm_handler import HelmHandler
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
default_link = EnvironmentVariables.default_link default_link = EnvironmentVariables.default_link
helm_repo = EnvironmentVariables.helm_repo helm_repo = EnvironmentVariables.helm_repo
global_configmap = EnvironmentVariables.global_configmap global_configmap = EnvironmentVariables.global_configmap
HELM_PATH = "/ilens-core/ilens-modules" HELM_PATH = "/ilens-core/ilens-modules"
HELM_STORE_PATH = "./helm-charts" HELM_STORE_PATH = "./helm-charts"
class HelmRegistration: class HelmRegistration:
def __init__(self, arguments: dict, git_user_name: str, git_access_token: str): def __init__(self, arguments: dict, git_user_name: str, git_access_token: str):
self.arguments = arguments self.arguments = arguments
self.db_handler = ILensVersionHandler() self.db_handler = ILensVersionHandler()
self.helm_handler = HelmHandler() self.helm_handler = HelmHandler()
self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token) self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token)
self.common_util = CommonUtils() self.common_util = CommonUtils()
def module_registration(self): def module_registration(self):
helm_temp_path = f"{int(time.time())}_helm_tmp_path" helm_temp_path = f"{int(time.time())}_helm_tmp_path"
general_temp_path = f"{int(time.time())}_tmp" general_temp_path = f"{int(time.time())}_tmp"
output_path = f"{int(time.time())}_helm-charts" output_path = f"{int(time.time())}_helm-charts"
_ilens_version = self.arguments["ilens_version"] _ilens_version = self.arguments["ilens_version"]
_release_version = self.arguments["release_version"] _release_version = self.arguments["release_version"]
_client_name = self.arguments['client_name'] _client_name = self.arguments['client_name']
_git_repos = self.arguments["git_repos"].split(',') _git_repos = self.arguments["git_repos"].split(',')
_module_names = self.arguments["module_names"].split(',') _module_names = self.arguments["module_names"].split(',')
extra_modules = self.arguments["extra_modules"].split(',') extra_modules = self.arguments["extra_modules"].split(',')
_branch_name = self.arguments['branch_name'] or "master" _branch_name = self.arguments['branch_name'] or "master"
_reference_branch = self.arguments['reference_client_name'] _reference_branch = self.arguments['reference_client_name']
try: try:
repo_info = self.arguments["repo_info"] repo_info = self.arguments["repo_info"]
if repo_info: if repo_info:
repo_info = json.loads(repo_info) repo_info = json.loads(repo_info)
if not _ilens_version or not _release_version or not _client_name or not _git_repos and not _module_names or not global_configmap: if not _ilens_version or not _release_version or not _client_name or not _git_repos and not _module_names or not global_configmap:
print( print(
"global_configmap, git_repos, module_names, client_name, ilens_version and release_version details not found!!!!!") "global_configmap, git_repos, module_names, client_name, ilens_version and release_version details not found!!!!!")
sys.exit() sys.exit()
_branch = f"{_client_name}_{_ilens_version}.{_release_version}" _branch = f"{_client_name}_{_ilens_version}.{_release_version}"
if not os.path.exists(helm_temp_path): if not os.path.exists(helm_temp_path):
os.makedirs(helm_temp_path) os.makedirs(helm_temp_path)
if not os.path.exists(output_path): if not os.path.exists(output_path):
os.makedirs(output_path) os.makedirs(output_path)
helm_path = os.path.join(helm_temp_path, "helm-charts") helm_path = os.path.join(helm_temp_path, "helm-charts")
if not self.git_handler_obj.clone_repository(repo_link=helm_repo, module_output_path=helm_path, if not self.git_handler_obj.clone_repository(repo_link=helm_repo, module_output_path=helm_path,
clone_branch=_reference_branch or _client_name): clone_branch=_reference_branch or _client_name):
logging.error(f"Cannot clone helm repo with branch: {_reference_branch or _client_name}") logging.error(f"Cannot clone helm repo with branch: {_reference_branch or _client_name}")
base_helm_directory_path = os.path.join(helm_temp_path, "helm-charts", "ilens-core", "ilens-modules") base_helm_directory_path = os.path.join(helm_temp_path, "helm-charts", "ilens-core", "ilens-modules")
if os.path.exists(base_helm_directory_path) and len(_module_names) == 1 and _module_names[ if os.path.exists(base_helm_directory_path) and len(_module_names) == 1 and _module_names[
0].lower() == "all": 0].lower() == "all":
updated_list = [] updated_list = []
files_info = os.listdir(base_helm_directory_path) files_info = os.listdir(base_helm_directory_path)
sorted_files = list(filter(lambda f: f.endswith(".yml"), files_info)) sorted_files = list(filter(lambda f: f.endswith(".yml"), files_info))
_module_names = [_each.replace(".yml", "") for _each in sorted_files] _module_names = [_each.replace(".yml", "") for _each in sorted_files]
global_config_data = self.common_util.convert_yaml_to_define_obj( global_config_data = self.common_util.convert_yaml_to_define_obj(
os.path.join(base_helm_directory_path, global_configmap)) os.path.join(base_helm_directory_path, global_configmap))
# global_config_data = common_util.convert_yaml_to_json("ilens-global-configmap.yml") # global_config_data = common_util.convert_yaml_to_json("ilens-global-configmap.yml")
if repo_info: if repo_info:
global_config_data.update(repo_info) global_config_data.update(repo_info)
variables_file = "variables.yml" variables_file = "variables.yml"
template_path = os.path.join(general_temp_path, "templates") template_path = os.path.join(general_temp_path, "templates")
if not os.path.exists(template_path): if not os.path.exists(template_path):
os.makedirs(template_path) os.makedirs(template_path)
for _module in _module_names: for _module in _module_names:
module_path = os.path.join(general_temp_path) module_path = os.path.join(general_temp_path)
module_path = os.path.join(module_path, _module) module_path = os.path.join(module_path, _module)
if not os.path.exists(module_path): if not os.path.exists(module_path):
os.makedirs(module_path) os.makedirs(module_path)
helm_out_file_path = os.path.join(output_path, f'{_module}.yml') helm_out_file_path = os.path.join(output_path, f'{_module}.yml')
if os.path.exists(helm_out_file_path): if os.path.exists(helm_out_file_path):
logging.debug(f"Helm Deployment File found for selected the module {_module}") logging.debug(f"Helm Deployment File found for selected the module {_module}")
continue continue
variables_file_path = os.path.join(module_path, variables_file) variables_file_path = os.path.join(module_path, variables_file)
git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=_module) git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=_module)
if not git_info: if not git_info:
logging.debug("Failed to fetch module info!! Skipping Helm File Preparation") logging.debug("Failed to fetch module info!! Skipping Helm File Preparation")
continue continue
if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info, if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info,
clone_branch=_branch_name, clone_branch=_branch_name,
file_output_path=variables_file_path, file_output_path=variables_file_path,
clone_file_path=variables_file): clone_file_path=variables_file):
logging.debug("Failed to clone module!! Skipping Helm File Preparation") logging.debug("Failed to clone module!! Skipping Helm File Preparation")
continue continue
_module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path) _module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path)
module_env_variables = _module_data.get('deployment', {}).get('environmentVar', []) module_env_variables = _module_data.get('deployment', {}).get('environmentVar', [])
module_env_variables = {_v['name']: _v['value'] for _v in module_env_variables if module_env_variables = {_v['name']: _v['value'] for _v in module_env_variables if
{'name', 'value'}.issubset(set(list(_v.keys())))} {'name', 'value'}.issubset(set(list(_v.keys())))}
template_file = os.path.join(template_path, f'{_module}.yml') template_file = os.path.join(template_path, f'{_module}.yml')
session_obj = get_db_for_func() session_obj = get_db_for_func()
module_info = self.db_handler.get_module_versions( module_info = self.db_handler.get_module_versions(
input_data=GetRequest(module_name=_module, client='iLens', ilens_version=_ilens_version, input_data=GetRequest(module_name=_module, client='iLens', ilens_version=_ilens_version,
release_version=_release_version), db=session_obj) release_version=_release_version), db=session_obj)
session_obj.close() session_obj.close()
image_url = module_info.get("image_url", '') if module_info else '' image_url = module_info.get("image_url", '') if module_info else ''
existing_yml_path = os.path.join(base_helm_directory_path, f'{_module}.yml') existing_yml_path = os.path.join(base_helm_directory_path, f'{_module}.yml')
new_module = deepcopy(_module) new_module = deepcopy(_module)
worker_type = "worker" in _module or "celery" in _module worker_type = "worker" in _module or "celery" in _module
if not os.path.exists(existing_yml_path): if not os.path.exists(existing_yml_path):
existing_yml_path = os.path.join("templates", "helm_deployment.yml") existing_yml_path = os.path.join("templates", "helm_deployment.yml")
new_module = "helm_deployment" new_module = "helm_deployment"
self.helm_handler.create_helm_deployment_file(template_yml_path=existing_yml_path, self.helm_handler.create_helm_deployment_file(template_yml_path=existing_yml_path,
image_tag=image_url, image_tag=image_url,
module_env_variables=module_env_variables, module_env_variables=module_env_variables,
helm_out_file_path=helm_out_file_path, helm_out_file_path=helm_out_file_path,
global_config_data=global_config_data, global_config_data=global_config_data,
module_name=new_module) module_name=new_module)
else: else:
self.helm_handler.create_existing_helm_deployment_file(template_yml_path=existing_yml_path, self.helm_handler.create_existing_helm_deployment_file(template_yml_path=existing_yml_path,
image_tag=image_url, image_tag=image_url,
module_env_variables=module_env_variables, module_env_variables=module_env_variables,
helm_out_file_path=helm_out_file_path, helm_out_file_path=helm_out_file_path,
global_config_data=global_config_data, global_config_data=global_config_data,
module_name=new_module, module_name=new_module,
template_file=template_file, template_file=template_file,
template_path=template_path) template_path=template_path)
if os.path.exists(base_helm_directory_path): if os.path.exists(base_helm_directory_path):
files_info = os.listdir(base_helm_directory_path) files_info = os.listdir(base_helm_directory_path)
sorted_files = list(filter(lambda f: f.startswith(_module), files_info)) sorted_files = list(filter(lambda f: f.startswith(_module), files_info))
updated_files_info = [x for x in sorted_files if f'{_module}.yml' != x] updated_files_info = [x for x in sorted_files if f'{_module}.yml' != x]
for _file in updated_files_info: for _file in updated_files_info:
sub_file_path = os.path.join(base_helm_directory_path, _file) sub_file_path = os.path.join(base_helm_directory_path, _file)
helm_out_file_path = os.path.join(output_path, _file) helm_out_file_path = os.path.join(output_path, _file)
template_file = os.path.join(template_path, _file) template_file = os.path.join(template_path, _file)
worker_type = "worker" in _module or "celery" in _module worker_type = "worker" in _module or "celery" in _module
self.helm_handler.create_existing_helm_deployment_file(template_yml_path=sub_file_path, self.helm_handler.create_existing_helm_deployment_file(template_yml_path=sub_file_path,
image_tag=image_url, image_tag=image_url,
module_env_variables=module_env_variables, module_env_variables=module_env_variables,
template_file=template_file, template_file=template_file,
template_path=template_path, template_path=template_path,
helm_out_file_path=helm_out_file_path, helm_out_file_path=helm_out_file_path,
global_config_data=global_config_data, global_config_data=global_config_data,
service_type=False, service_type=False,
module_name=_file.split(".yml")[0]) module_name=_file.split(".yml")[0])
# self.git_handler_obj.push_deployments_to_git(repo_link=helm_repo, # self.git_handler_obj.push_deployments_to_git(repo_link=helm_repo,
# private_token=git_access_token, # private_token=git_access_token,
# branch=_client_name, # branch=_client_name,
# folder_path=output_path, base_path=helm_path) # folder_path=output_path, base_path=helm_path)
except Exception as e: except Exception as e:
logging.exception(f"Exception Occurred while processing the Helm-Script Preparation {e.args}") logging.exception(f"Exception Occurred while processing the Helm-Script Preparation {e.args}")
finally: finally:
# shutil.rmtree(HELM_STORE_PATH) # shutil.rmtree(HELM_STORE_PATH)
# shutil.rmtree(HELM_TEMP_PATH) # shutil.rmtree(HELM_TEMP_PATH)
# shutil.rmtree(GENERAL_TEMP_PATH) # shutil.rmtree(GENERAL_TEMP_PATH)
# shutil.rmtree(OUTPUT_PATH) # shutil.rmtree(OUTPUT_PATH)
... ...
This source diff could not be displayed because it is too large. You can view the blob instead.
from dataclasses import dataclass, field from dataclasses import dataclass, field
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.cors import CORSMiddleware
import __version__ import __version__
from scripts.db.psql.create_default_tables import create_default_psql_dependencies from scripts.db.psql.create_default_tables import create_default_psql_dependencies
from scripts.services import router from scripts.services import router
@dataclass @dataclass
class FastAPIConfig: class FastAPIConfig:
title: str = "ILens Version Management" title: str = "ILens Version Management"
description: str = "iLens Module Management and version Upgrades" description: str = "iLens Module Management and version Upgrades"
version: str = __version__.version version: str = __version__.version
redoc_url: str = field(default=None) redoc_url: str = field(default=None)
app = FastAPI(**FastAPIConfig().__dict__) app = FastAPI(**FastAPIConfig().__dict__)
app.include_router(router) app.include_router(router)
app.add_middleware( app.add_middleware(
CORSMiddleware, CORSMiddleware,
allow_origins=["*"], allow_origins=["*"],
allow_credentials=True, allow_credentials=True,
allow_methods=["GET", "POST", "DELETE", "PUT"], allow_methods=["GET", "POST", "DELETE", "PUT"],
allow_headers=["*"], allow_headers=["*"],
) )
# @app.on_event("startup") # @app.on_event("startup")
# async def startup_event(): # async def startup_event():
# """ # """
# This function is to create default database and tables, # This function is to create default database and tables,
# """ # """
# create_default_psql_dependencies() # create_default_psql_dependencies()
GitPython==3.1.27 GitPython==3.1.27
gitdb==4.0.9 gitdb==4.0.9
python-dotenv~=0.21.0 python-dotenv~=0.21.0
jinja2~=3.1.2 jinja2~=3.1.2
fastapi~=0.73.0 fastapi~=0.73.0
sqlalchemy~=1.3.24 sqlalchemy~=1.3.24
python-gitlab~=3.9.0 python-gitlab~=3.9.0
ruamel.yaml ruamel.yaml
PyMySQL==1.0.2 PyMySQL==1.0.2
mysqlclient==2.1.1 mysqlclient==2.1.1
pendulum==2.1.2 pendulum==2.1.2
pyyaml pyyaml
\ No newline at end of file
import os import os
import sys import sys
from configparser import BasicInterpolation, ConfigParser from configparser import BasicInterpolation, ConfigParser
from typing import Optional from typing import Optional
from pydantic import BaseSettings from pydantic import BaseSettings
class EnvInterpolation(BasicInterpolation): class EnvInterpolation(BasicInterpolation):
""" """
Interpolation which expands environment variables in values. Interpolation which expands environment variables in values.
""" """
def before_get(self, parser, section, option, value, defaults): def before_get(self, parser, section, option, value, defaults):
value = super().before_get(parser, section, option, value, defaults) value = super().before_get(parser, section, option, value, defaults)
if not os.path.expandvars(value).startswith('$'): if not os.path.expandvars(value).startswith('$'):
return os.path.expandvars(value) return os.path.expandvars(value)
else: else:
return return
try: try:
config = ConfigParser(interpolation=EnvInterpolation()) config = ConfigParser(interpolation=EnvInterpolation())
config.read(f"conf/application.conf") config.read(f"conf/application.conf")
except Exception as e: except Exception as e:
print(f"Error while loading the config: {e}") print(f"Error while loading the config: {e}")
print("Failed to Load Configuration. Exiting!!!") print("Failed to Load Configuration. Exiting!!!")
sys.stdout.flush() sys.stdout.flush()
sys.exit() sys.exit()
class Service: class Service:
port = config["SERVICE"]["port"] port = config["SERVICE"]["port"]
host = config["SERVICE"]["host"] host = config["SERVICE"]["host"]
class DBConf: class DBConf:
DB_URI = config.get('SQL_DB', 'uri') DB_URI = config.get('SQL_DB', 'uri')
if not DB_URI: if not DB_URI:
print("Error, environment variable DB_URI not set") print("Error, environment variable DB_URI not set")
sys.exit(1) sys.exit(1)
class Logging: class Logging:
level = config.get("LOGGING", "level", fallback="DEBUG") level = config.get("LOGGING", "level", fallback="DEBUG")
level = level or "INFO" level = level or "INFO"
tb_flag = config.getboolean("LOGGING", "traceback", fallback=True) tb_flag = config.getboolean("LOGGING", "traceback", fallback=True)
tb_flag = tb_flag if tb_flag is not None else True tb_flag = tb_flag if tb_flag is not None else True
class EnvironmentVariables: class EnvironmentVariables:
default_link = os.environ.get("DEFAULT_GIT_LINK", default="https://gitlab-pm.knowledgelens.com/") default_link = os.environ.get("DEFAULT_GIT_LINK", default="https://gitlab-pm.knowledgelens.com/")
git_user_name = os.environ.get("GIT_USERNAME", default="harshavardhan.c") git_user_name = os.environ.get("GIT_USERNAME", default="harshavardhan.c")
git_access_token = os.environ.get("GIT_TOKEN", default="FEMA6PnP63fJCs6DrtZJ") git_access_token = os.environ.get("GIT_TOKEN", default="FEMA6PnP63fJCs6DrtZJ")
config_variables = os.environ.get("CONFIG_MAP_VARIABLES", default="").split(",") config_variables = os.environ.get("CONFIG_MAP_VARIABLES", default="").split(",")
docker_repo = os.environ.get("DOCKER_REPO", docker_repo = os.environ.get("DOCKER_REPO",
default="https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/docker-compose.git") default="https://gitlab-pm.knowledgelens.com/KnowledgeLens/Products/iLens-2.0/core/devops/docker-compose.git")
global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="ilens-env-spec-variables.yml") global_configmap = os.environ.get("GLOBAL_VARIABLES_FILE", default="ilens-env-spec-variables.yml")
helm_repo = os.environ.get("HELM_REPO", default="") helm_repo = os.environ.get("HELM_REPO", default="")
class _ModuleConstants(BaseSettings): class _ModuleConstants(BaseSettings):
IOT_DATA_PROCESSOR: Optional[list] = ["mqtt-data-processor-worker", "iot-data-processor-worker", "data-processor-worker-iot-apollo", "data-processor-worker-iot-goodyear", "data-processor-worker-mqtt"] IOT_DATA_PROCESSOR: Optional[list] = ["mqtt-data-processor-worker", "iot-data-processor-worker", "data-processor-worker-iot-apollo", "data-processor-worker-iot-goodyear", "data-processor-worker-mqtt"]
IOT_DATA_PROCESSOR_MODULE: Optional[str] = "data-processor-worker" IOT_DATA_PROCESSOR_MODULE: Optional[str] = "data-processor-worker"
# CORE_DATA_PROCESSOR: Optional[list] = ["", ""] # CORE_DATA_PROCESSOR: Optional[list] = ["", ""]
# CORE_DATA_PROCESSOR_MODULE: Optional[str] = "data-processor" # CORE_DATA_PROCESSOR_MODULE: Optional[str] = "data-processor"
ModuleConstants = _ModuleConstants(_env_file=".env", _env_file_encoding="utf-8") ModuleConstants = _ModuleConstants(_env_file=".env", _env_file_encoding="utf-8")
\ No newline at end of file
from copy import deepcopy from copy import deepcopy
import pendulum import pendulum
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from scripts.db.psql.ilens_version_table import ILensVersionMaster from scripts.db.psql.ilens_version_table import ILensVersionMaster
from scripts.logging import logger from scripts.logging import logger
from scripts.schemas import InsertRequest, GetRequest, TableInsertSchema from scripts.schemas import InsertRequest, GetRequest, TableInsertSchema
class ILensVersionHandler: class ILensVersionHandler:
def __init__(self): def __init__(self):
... ...
@staticmethod @staticmethod
def update_module_versions(input_data: InsertRequest, db: Session): def update_module_versions(input_data: InsertRequest, db: Session):
ilens_version_db = ILensVersionMaster(db=db) ilens_version_db = ILensVersionMaster(db=db)
try: try:
curr_time = pendulum.now() curr_time = pendulum.now()
if input_data.prefix_image.endswith("/"): if input_data.prefix_image.endswith("/"):
input_data.prefix_image = input_data.prefix_image[:-1] input_data.prefix_image = input_data.prefix_image[:-1]
db_json = dict(module_name=input_data.module_name, client=input_data.client, db_json = dict(module_name=input_data.module_name, client=input_data.client,
ilens_version=input_data.ilens_version, ilens_version=input_data.ilens_version,
release_version=input_data.release_version, release_version=input_data.release_version,
feature_version=0, patch_version=0) feature_version=0, patch_version=0)
if (existing_data := ilens_version_db.read_data_from_db(input_data=GetRequest(**input_data.dict()), if (existing_data := ilens_version_db.read_data_from_db(input_data=GetRequest(**input_data.dict()),
db=db)): db=db)):
if input_data.insert_type == "ilens_version": if input_data.insert_type == "ilens_version":
existing_data["ilens_version"] += 1 existing_data["ilens_version"] += 1
existing_data.update(feature_version=0, patch_version=0) existing_data.update(feature_version=0, patch_version=0)
elif input_data.insert_type == "release": elif input_data.insert_type == "release":
existing_data["release_version"] += 1 existing_data["release_version"] += 1
existing_data.update(feature_version=0, patch_version=0) existing_data.update(feature_version=0, patch_version=0)
elif input_data.insert_type == "feature": elif input_data.insert_type == "feature":
existing_data["feature_version"] += 1 existing_data["feature_version"] += 1
else: else:
existing_data["patch_version"] += 1 existing_data["patch_version"] += 1
if not existing_data: if not existing_data:
existing_data = deepcopy(db_json) existing_data = deepcopy(db_json)
concat_string = f'v{existing_data["ilens_version"]}.{existing_data["release_version"]}' concat_string = f'v{existing_data["ilens_version"]}.{existing_data["release_version"]}'
existing_data["image_tag"] = f'{input_data.prefix_image}/' \ existing_data["image_tag"] = f'{input_data.prefix_image}/' \
f'{concat_string}:{existing_data["module_name"]}-{concat_string}.{existing_data["feature_version"]}.{existing_data["patch_version"]}' f'{concat_string}:{existing_data["module_name"]}-{concat_string}.{existing_data["feature_version"]}.{existing_data["patch_version"]}'
existing_data.pop("last_updated_at", None) existing_data.pop("last_updated_at", None)
return ilens_version_db.add_module_version_record( return ilens_version_db.add_module_version_record(
insert_record=TableInsertSchema(**existing_data, last_updated_at=curr_time)) insert_record=TableInsertSchema(**existing_data, last_updated_at=curr_time))
except Exception as e: except Exception as e:
logger.exception(f'Exception Occurred while updating the record in db {e.args}') logger.exception(f'Exception Occurred while updating the record in db {e.args}')
raise raise
@staticmethod @staticmethod
def get_module_versions(input_data: GetRequest, db: Session): def get_module_versions(input_data: GetRequest, db: Session):
ilens_version_db = ILensVersionMaster(db=db) ilens_version_db = ILensVersionMaster(db=db)
try: try:
if existing_data := ilens_version_db.read_data_from_db(input_data=GetRequest(**input_data.dict()), if existing_data := ilens_version_db.read_data_from_db(input_data=GetRequest(**input_data.dict()),
db=db): db=db):
return existing_data return existing_data
except Exception as e: except Exception as e:
logger.exception(f'Exception Occurred while getting the record in db {e.args}') logger.exception(f'Exception Occurred while getting the record in db {e.args}')
raise raise
return {} return {}
import os import os
from scripts.config import EnvironmentVariables from scripts.config import EnvironmentVariables
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.core.git_handler import GitHandler from scripts.core.git_handler import GitHandler
from scripts.db.psql.databases import get_db_for_func from scripts.db.psql.databases import get_db_for_func
from scripts.logging import logging from scripts.logging import logging
from scripts.schemas import DockerComposeSchema, GetRequest from scripts.schemas import DockerComposeSchema, GetRequest
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
class DockerHandler: class DockerHandler:
def __init__(self, git_user_name, git_access_token): def __init__(self, git_user_name, git_access_token):
self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token) self.git_handler_obj = GitHandler(user_name=git_user_name, access_token=git_access_token)
self.common_util = CommonUtils() self.common_util = CommonUtils()
self.db_handler = ILensVersionHandler() self.db_handler = ILensVersionHandler()
def process_module_request(self, compose_data: dict, variables_file, general_path, image_mapping_dict: dict, def process_module_request(self, compose_data: dict, variables_file, general_path, image_mapping_dict: dict,
**kwargs): **kwargs):
try: try:
ilens_version = kwargs.get("ilens_version") ilens_version = kwargs.get("ilens_version")
client_version = kwargs.get("client", "iLens") client_version = kwargs.get("client", "iLens")
branch_name = kwargs.get("branch_name") branch_name = kwargs.get("branch_name")
release_version = kwargs.get("release_version") release_version = kwargs.get("release_version")
for _module, module_dict in compose_data['services'].items(): for _module, module_dict in compose_data['services'].items():
updated_module_name = self.get_defined_module_name(module_name=_module, updated_module_name = self.get_defined_module_name(module_name=_module,
module_mapping_dict=image_mapping_dict) module_mapping_dict=image_mapping_dict)
module_path = os.path.join(general_path) module_path = os.path.join(general_path)
module_path = os.path.join(module_path, _module) module_path = os.path.join(module_path, _module)
if not os.path.exists(module_path): if not os.path.exists(module_path):
os.makedirs(module_path) os.makedirs(module_path)
variables_file_path = os.path.join(module_path, variables_file) variables_file_path = os.path.join(module_path, variables_file)
git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=updated_module_name) git_info = self.git_handler_obj.get_git_url_by_module_name(module_name=updated_module_name)
if not git_info: if not git_info:
logging.debug("Failed to fetch module info!! Skipping Helm File Preparation") logging.debug("Failed to fetch module info!! Skipping Helm File Preparation")
continue continue
if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info, if not self.git_handler_obj.clone_repository_with_defined_file(repo_link=git_info,
clone_branch=branch_name, clone_branch=branch_name,
file_output_path=variables_file_path, file_output_path=variables_file_path,
clone_file_path=variables_file): clone_file_path=variables_file):
logging.debug("Failed to clone module!! Skipping Docker File Preparation") logging.debug("Failed to clone module!! Skipping Docker File Preparation")
continue continue
_module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path) _module_data = self.common_util.convert_yaml_to_define_obj(variables_file_path)
if updated_module_name in image_mapping_dict: if updated_module_name in image_mapping_dict:
image_url = image_mapping_dict.get(updated_module_name, '') image_url = image_mapping_dict.get(updated_module_name, '')
else: else:
image_url = self.get_image_tag_from_db(module=_module, ilens_version=ilens_version, image_url = self.get_image_tag_from_db(module=_module, ilens_version=ilens_version,
release_version=release_version, client=client_version) release_version=release_version, client=client_version)
module_env_variables = _module_data.get('deployment', {}).get('environmentVar', []) module_env_variables = _module_data.get('deployment', {}).get('environmentVar', [])
module_env_variables = {_v['name']: _v.get('value') for _v in module_env_variables} module_env_variables = {_v['name']: _v.get('value') for _v in module_env_variables}
image_mapping_dict[_module] = image_url image_mapping_dict[_module] = image_url
existing_env_variables = module_dict.get('environment', {}) existing_env_variables = module_dict.get('environment', {})
diff_keys = list( diff_keys = list(
set(existing_env_variables.keys()).symmetric_difference(set(module_env_variables.keys()))) set(existing_env_variables.keys()).symmetric_difference(set(module_env_variables.keys())))
for _each in diff_keys: for _each in diff_keys:
value = module_env_variables.get(_each) value = module_env_variables.get(_each)
if _each.lower() in {'port', 'service_port', 'module_port'} or not value: if _each.lower() in {'port', 'service_port', 'module_port'} or not value:
continue continue
if value.startswith('{{') and value.endswith('}}'): if value.startswith('{{') and value.endswith('}}'):
value = f"${{{value.lstrip('{{').rstrip('}}').rstrip(' ').lstrip(' ')}}}" value = f"${{{value.lstrip('{{').rstrip('}}').rstrip(' ').lstrip(' ')}}}"
module_dict['environment'].update({_each: value}) module_dict['environment'].update({_each: value})
return compose_data return compose_data
except Exception as e: except Exception as e:
logging.exception(f'Exception occurred while process each module {e.args}') logging.exception(f'Exception occurred while process each module {e.args}')
return False return False
def process_compose_data_for_existing_files(self, docker_compose_path, variables_file, arguments, def process_compose_data_for_existing_files(self, docker_compose_path, variables_file, arguments,
tmp_path, output_path, source_branch, destination_branch): tmp_path, output_path, source_branch, destination_branch):
docker_repo = EnvironmentVariables.docker_repo docker_repo = EnvironmentVariables.docker_repo
global_configmap = EnvironmentVariables.global_configmap global_configmap = EnvironmentVariables.global_configmap
jinja_template_file = 'docker_deployment.yml' jinja_template_file = 'docker_deployment.yml'
template_path = "./templates" template_path = "./templates"
try: try:
files_info = os.listdir(docker_compose_path) files_info = os.listdir(docker_compose_path)
sorted_files = list(filter(lambda f: f.endswith(".yml") and "docker" in f, files_info)) sorted_files = list(filter(lambda f: f.endswith(".yml") and "docker" in f, files_info))
global_config_data = self.common_util.convert_yaml_to_define_obj( global_config_data = self.common_util.convert_yaml_to_define_obj(
os.path.join(docker_compose_path, global_configmap)) os.path.join(docker_compose_path, global_configmap))
image_mapping_dict = {} image_mapping_dict = {}
for index, _file in enumerate(sorted_files): for index, _file in enumerate(sorted_files):
docker_compose_data = self.common_util.convert_yaml_to_define_obj( docker_compose_data = self.common_util.convert_yaml_to_define_obj(
os.path.join(docker_compose_path, _file)) os.path.join(docker_compose_path, _file))
service_dict = docker_compose_data.get("services") service_dict = docker_compose_data.get("services")
if not service_dict: if not service_dict:
logging.debug(f'Services not found for current docker compose file - {_file}') logging.debug(f'Services not found for current docker compose file - {_file}')
if index + 1 == len(sorted_files): if index + 1 == len(sorted_files):
modules = self.get_modules_dict_for_registration(modules=arguments.get('module_names', []), modules = self.get_modules_dict_for_registration(modules=arguments.get('module_names', []),
existing_modules=list( existing_modules=list(
docker_compose_data['services'].keys())) docker_compose_data['services'].keys()))
docker_compose_data['services'].update(modules) docker_compose_data['services'].update(modules)
if response_data := self.process_module_request(compose_data=docker_compose_data, if response_data := self.process_module_request(compose_data=docker_compose_data,
variables_file=variables_file, variables_file=variables_file,
image_mapping_dict=image_mapping_dict, image_mapping_dict=image_mapping_dict,
general_path=tmp_path, **arguments): general_path=tmp_path, **arguments):
compose_out_file_path = os.path.join(output_path, _file) compose_out_file_path = os.path.join(output_path, _file)
# self.common_util.convert_json_to_yaml(json_data=response_data, # self.common_util.convert_json_to_yaml(json_data=response_data,
# output_file_path=compose_out_file_path) # output_file_path=compose_out_file_path)
self.common_util.render_deployment_chart(data_dict={"modules": response_data.get('services', {})}, self.common_util.render_deployment_chart(data_dict={"modules": response_data.get('services', {})},
jinja_template_file=jinja_template_file, jinja_template_file=jinja_template_file,
template_path=template_path, template_path=template_path,
outfile_path=compose_out_file_path) outfile_path=compose_out_file_path)
except Exception as e: except Exception as e:
logging.exception(f'Exception Occurred while processing the compose data info {e.args}') logging.exception(f'Exception Occurred while processing the compose data info {e.args}')
def process_compose_data_by_template(self, modules, compose_info: dict, variables_file, arguments, def process_compose_data_by_template(self, modules, compose_info: dict, variables_file, arguments,
tmp_path, output_path): tmp_path, output_path):
compose_dict = {"services": self.get_modules_dict_for_registration(modules=modules)} compose_dict = {"services": self.get_modules_dict_for_registration(modules=modules)}
try: try:
compose_out_file_path = os.path.join(output_path, "docker-compose.yml") compose_out_file_path = os.path.join(output_path, "docker-compose.yml")
jinja_template_file = 'docker_deployment.yml' jinja_template_file = 'docker_deployment.yml'
template_path = "./templates" template_path = "./templates"
image_mapping_dict = {} image_mapping_dict = {}
compose_data = self.process_module_request(compose_data=compose_dict, image_mapping_dict=image_mapping_dict, compose_data = self.process_module_request(compose_data=compose_dict, image_mapping_dict=image_mapping_dict,
variables_file=variables_file, variables_file=variables_file,
general_path=tmp_path, **arguments) general_path=tmp_path, **arguments)
self.common_util.render_deployment_chart(data_dict={"modules": compose_data.get('services', {})}, self.common_util.render_deployment_chart(data_dict={"modules": compose_data.get('services', {})},
jinja_template_file=jinja_template_file, jinja_template_file=jinja_template_file,
template_path=template_path, template_path=template_path,
outfile_path=compose_out_file_path) outfile_path=compose_out_file_path)
except Exception as e: except Exception as e:
logging.exception(f'Exception Occurred while processing the compose data by template {e.args}') logging.exception(f'Exception Occurred while processing the compose data by template {e.args}')
@staticmethod @staticmethod
def get_modules_dict_for_registration(modules, existing_modules=None): def get_modules_dict_for_registration(modules, existing_modules=None):
if existing_modules is None: if existing_modules is None:
existing_modules = [] existing_modules = []
return_dict = {} return_dict = {}
for module in modules: for module in modules:
if module not in existing_modules: if module not in existing_modules:
volumes_list = [f'/data/mnt/container/logs/{module}:/code/logs', volumes_list = [f'/data/mnt/container/logs/{module}:/code/logs',
'/data/mnt/container/core-volumes:/code/data'] '/data/mnt/container/core-volumes:/code/data']
return_dict[module] = DockerComposeSchema(volumes=volumes_list).dict() return_dict[module] = DockerComposeSchema(volumes=volumes_list).dict()
return return_dict return return_dict
@staticmethod @staticmethod
def get_defined_module_name(module_name, module_mapping_dict): def get_defined_module_name(module_name, module_mapping_dict):
for key in module_mapping_dict: for key in module_mapping_dict:
if key.startswith(module_name): if key.startswith(module_name):
module_name = key module_name = key
break break
return module_name return module_name
def get_image_tag_from_db(self, module, ilens_version, client, release_version): def get_image_tag_from_db(self, module, ilens_version, client, release_version):
image_url = '' image_url = ''
try: try:
session_obj = get_db_for_func() session_obj = get_db_for_func()
module_info = self.db_handler.get_module_versions( module_info = self.db_handler.get_module_versions(
input_data=GetRequest(module_name=module, client=client, ilens_version=ilens_version, input_data=GetRequest(module_name=module, client=client, ilens_version=ilens_version,
release_version=release_version), db=session_obj) release_version=release_version), db=session_obj)
session_obj.close() session_obj.close()
image_url = module_info.get("image_url", '') if module_info else '' image_url = module_info.get("image_url", '') if module_info else ''
except Exception as e: except Exception as e:
logging.exception(f'Exception occurred while fetching the image details {e.args}') logging.exception(f'Exception occurred while fetching the image details {e.args}')
return image_url return image_url
import os import os
import git import git
import gitlab import gitlab
from scripts.logging import logging from scripts.logging import logging
default_link = "https://gitlab-pm.knowledgelens.com/" default_link = "https://gitlab-pm.knowledgelens.com/"
HELM_PATH = "/ilens-core/ilens-modules" HELM_PATH = "/ilens-core/ilens-modules"
HELM_STORE_PATH = "./helm-charts" HELM_STORE_PATH = "./helm-charts"
class GitHandler: class GitHandler:
def __init__(self, access_token, user_name): def __init__(self, access_token, user_name):
self.access_token = access_token self.access_token = access_token
self.user_name = user_name self.user_name = user_name
def clone_repository(self, repo_link, module_output_path, clone_branch): def clone_repository(self, repo_link, module_output_path, clone_branch):
try: try:
if repo_link.split("https://")[-1].startswith("gitlab-pm"): if repo_link.split("https://")[-1].startswith("gitlab-pm"):
repo_link = repo_link.replace("https://", f"https://{self.user_name}:{self.access_token}@") repo_link = repo_link.replace("https://", f"https://{self.user_name}:{self.access_token}@")
# print ("repo_link", repo_link) # print ("repo_link", repo_link)
repo = git.Repo.clone_from(repo_link, module_output_path, repo = git.Repo.clone_from(repo_link, module_output_path,
branch=clone_branch) branch=clone_branch)
return True return True
except Exception as e: except Exception as e:
logging.exception(f"Exception occurred while cloning the git repo - {repo_link} - {e.args}") logging.exception(f"Exception occurred while cloning the git repo - {repo_link} - {e.args}")
return False return False
def clone_repository_with_defined_file(self, repo_link: str, file_output_path, clone_branch, clone_file_path): def clone_repository_with_defined_file(self, repo_link: str, file_output_path, clone_branch, clone_file_path):
try: try:
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
pl = gl.projects.list(search=search_str) pl = gl.projects.list(search=search_str)
if not pl: if not pl:
return False return False
pl = pl[-1] pl = pl[-1]
with open(file_output_path, 'wb') as f: with open(file_output_path, 'wb') as f:
pl.files.raw(file_path=clone_file_path, ref=clone_branch, streamed=True, action=f.write) pl.files.raw(file_path=clone_file_path, ref=clone_branch, streamed=True, action=f.write)
return True return True
except gitlab.exceptions.GitlabGetError as e: except gitlab.exceptions.GitlabGetError as e:
logging.debug(f"Variables.yml not found for selected the module {repo_link}") logging.debug(f"Variables.yml not found for selected the module {repo_link}")
return False return False
except Exception as e: except Exception as e:
logging.exception(f"Exception occurred while cloning the git repo - {repo_link} - {e.args}") logging.exception(f"Exception occurred while cloning the git repo - {repo_link} - {e.args}")
return False return False
def get_git_url_by_module_name(self, module_name): def get_git_url_by_module_name(self, module_name):
try: try:
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
pl = gl.groups.list(search="iLens-2.0", get_all=True)[0].projects.list(search=module_name, pl = gl.groups.list(search="iLens-2.0", get_all=True)[0].projects.list(search=module_name,
include_subgroups=True, get_all=True) include_subgroups=True, get_all=True)
return pl[-1].web_url if pl else '' return pl[-1].web_url if pl else ''
except Exception as e: except Exception as e:
logging.exception(f"Exception occurred while fetching repo details - {e.args}") logging.exception(f"Exception occurred while fetching repo details - {e.args}")
return False return False
def pull_global_config(self, repo_link: str, branch: str, file_name: str): def pull_global_config(self, repo_link: str, branch: str, file_name: str):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
if pl := gl.projects.list(search=search_str): if pl := gl.projects.list(search=search_str):
pl = pl[0] pl = pl[0]
else: else:
return False return False
with open(file_name, 'wb') as f: with open(file_name, 'wb') as f:
pl.files.raw(file_path=f'{HELM_PATH[1:]}/{file_name}', ref=branch, streamed=True, action=f.write) pl.files.raw(file_path=f'{HELM_PATH[1:]}/{file_name}', ref=branch, streamed=True, action=f.write)
return True return True
def remove_all_files_from_repo(self, repo_link: str, branch: str, exclude_file: list): def remove_all_files_from_repo(self, repo_link: str, branch: str, exclude_file: list):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
if pl := gl.projects.list(search=search_str): if pl := gl.projects.list(search=search_str):
pl = pl[0] pl = pl[0]
else: else:
return False return False
items = pl.repository_tree(path=HELM_PATH, ref=branch) items = pl.repository_tree(path=HELM_PATH, ref=branch)
print(items) print(items)
def create_merge_request(self, repo_link: str, source_branch: str, destination_branch: str): def create_merge_request(self, repo_link: str, source_branch: str, destination_branch: str):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
if pl := gl.projects.list(search=search_str): if pl := gl.projects.list(search=search_str):
pl = pl[0] pl = pl[0]
else: else:
return False return False
pl.mergerequests.create({ pl.mergerequests.create({
'source_branch': source_branch, 'source_branch': source_branch,
'target_branch': destination_branch, 'target_branch': destination_branch,
'title': f'{source_branch} merge' 'title': f'{source_branch} merge'
}) })
def create_backup_branch(self, repo_link: str, current_branch: str, target_branch: str): def create_backup_branch(self, repo_link: str, current_branch: str, target_branch: str):
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=self.access_token) gl = gitlab.Gitlab(url=base_url, private_token=self.access_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
if pl := gl.projects.list(search=search_str): if pl := gl.projects.list(search=search_str):
pl = pl[0] pl = pl[0]
else: else:
return False return False
current_branches = pl.tags.list(get_all=False) current_branches = pl.tags.list(get_all=False)
if target_branch in [tag.name for tag in current_branches]: if target_branch in [tag.name for tag in current_branches]:
#print("Tag already exists:", target_branch) #print("Tag already exists:", target_branch)
logging.error(f"Tag already exists: {target_branch}") logging.error(f"Tag already exists: {target_branch}")
return False return False
pl.tags.create({'tag_name': target_branch, 'ref': current_branch}) pl.tags.create({'tag_name': target_branch, 'ref': current_branch})
@staticmethod @staticmethod
def push_deployments_to_git(repo_link: str, private_token: str, branch: str, folder_path, base_path: str, def push_deployments_to_git(repo_link: str, private_token: str, branch: str, folder_path, base_path: str,
helm_deployment=True): helm_deployment=True):
try: try:
base_url = os.environ.get("GIT_BASE_URL", default=default_link) base_url = os.environ.get("GIT_BASE_URL", default=default_link)
repo_link_split = repo_link.split(base_url) repo_link_split = repo_link.split(base_url)
if not repo_link_split: if not repo_link_split:
return False return False
gl = gitlab.Gitlab(url=base_url, private_token=private_token) gl = gitlab.Gitlab(url=base_url, private_token=private_token)
search_str = repo_link_split[-1].replace(".git", "") search_str = repo_link_split[-1].replace(".git", "")
pl = gl.projects.list(search=search_str) pl = gl.projects.list(search=search_str)
if not pl: if not pl:
return False return False
pl = pl[0] pl = pl[0]
commit_actions = [] commit_actions = []
files_list = os.listdir(folder_path) files_list = os.listdir(folder_path)
branches = pl.branches.list(get_all=True) branches = pl.branches.list(get_all=True)
branches_names = [x.name for x in branches] branches_names = [x.name for x in branches]
if branch not in branches_names: if branch not in branches_names:
pl.branches.create({'branch': branch, pl.branches.create({'branch': branch,
'ref': 'master' if branch.split("_")[0] not in branches_names else 'ref': 'master' if branch.split("_")[0] not in branches_names else
branch.split("_")[ branch.split("_")[
0]}) 0]})
if not files_list: if not files_list:
logging.debug('Files not found for pushing to git.') logging.debug('Files not found for pushing to git.')
for file in files_list: for file in files_list:
print() print()
file_path = f'{file}' file_path = f'{file}'
if helm_deployment: if helm_deployment:
file_path = f"{HELM_PATH}/{file}" file_path = f"{HELM_PATH}/{file}"
_action = { _action = {
'action': 'update', 'action': 'update',
'file_path': file_path, 'file_path': file_path,
'content': open(f'{folder_path}/{file}').read() 'content': open(f'{folder_path}/{file}').read()
} }
commit_actions.append(_action) commit_actions.append(_action)
commit_data = {'branch': branch, 'commit_message': f"{branch} helm creation"} | {'actions': commit_actions} commit_data = {'branch': branch, 'commit_message': f"{branch} helm creation"} | {'actions': commit_actions}
pl.commits.create(commit_data) pl.commits.create(commit_data)
except Exception as e: except Exception as e:
logging.exception(f'Exception while pushing deployments to git: {e.args}') logging.exception(f'Exception while pushing deployments to git: {e.args}')
import os import os
from scripts.logging import logging from scripts.logging import logging
from scripts.utils.common_utils import CommonUtils from scripts.utils.common_utils import CommonUtils
class HelmHandler: class HelmHandler:
def __init__(self): def __init__(self):
self.common_utils = CommonUtils() self.common_utils = CommonUtils()
... ...
def create_existing_helm_deployment_file(self, template_yml_path, module_env_variables: dict, def create_existing_helm_deployment_file(self, template_yml_path, module_env_variables: dict,
global_config_data: dict, global_config_data: dict,
image_tag: str, module_name: str, template_file: str, image_tag: str, module_name: str, template_file: str,
helm_out_file_path: str, helm_out_file_path: str,
template_path: str, service_type=True): template_path: str, service_type=True):
try: try:
if not os.path.exists(template_yml_path): if not os.path.exists(template_yml_path):
logging.debug(f"{template_yml_path} not found!! Skipping Helm File Preparation") logging.debug(f"{template_yml_path} not found!! Skipping Helm File Preparation")
return False return False
existing_data = self.common_utils.convert_yaml_to_define_obj(template_yml_path) existing_data = self.common_utils.convert_yaml_to_define_obj(template_yml_path)
global_config_vars = global_config_data.get('data', {}) global_config_vars = global_config_data.get('data', {})
existing_env_variables = {_v['name']: _v for _v in existing_env_variables = {_v['name']: _v for _v in
existing_data.get('deployment', {}).get('environmentVar', [])} existing_data.get('deployment', {}).get('environmentVar', [])}
diff_keys = list(set(existing_env_variables.keys()).symmetric_difference(set(module_env_variables.keys()))) diff_keys = list(set(existing_env_variables.keys()).symmetric_difference(set(module_env_variables.keys())))
for _each in diff_keys: for _each in diff_keys:
if _each.lower() in {'port', 'service_port', 'module_port'} and module_env_variables.get(_each) and \ if _each.lower() in {'port', 'service_port', 'module_port'} and module_env_variables.get(_each) and \
module_env_variables[_each].get("value"): module_env_variables[_each].get("value"):
global_config_vars["SERVICE_PORT"] = module_env_variables[_each]["value"] global_config_vars["SERVICE_PORT"] = module_env_variables[_each]["value"]
continue continue
if module_env_variables.get(_each): if module_env_variables.get(_each):
existing_data['deployment']['environmentVar'].append(module_env_variables[_each]) existing_data['deployment']['environmentVar'].append(module_env_variables[_each])
existing_data['deployment']['imageName'] = image_tag or existing_data['deployment']['imageName'] existing_data['deployment']['imageName'] = image_tag or existing_data['deployment']['imageName']
self.common_utils.convert_json_to_yaml(json_data=existing_data, output_file_path=template_file) self.common_utils.convert_json_to_yaml(json_data=existing_data, output_file_path=template_file)
self.common_utils.render_deployment_chart(data_dict=global_config_vars, jinja_template_file=f'{module_name}.yml', self.common_utils.render_deployment_chart(data_dict=global_config_vars, jinja_template_file=f'{module_name}.yml',
outfile_path=helm_out_file_path, template_path=template_path, outfile_path=helm_out_file_path, template_path=template_path,
service_type=service_type) service_type=service_type)
return True return True
except Exception as e: except Exception as e:
logging.exception(f'Exception occurred while preparing the helm deployment file {e.args}') logging.exception(f'Exception occurred while preparing the helm deployment file {e.args}')
return False return False
def create_helm_deployment_file(self, template_yml_path, module_env_variables: dict, global_config_data: dict, def create_helm_deployment_file(self, template_yml_path, module_env_variables: dict, global_config_data: dict,
image_tag: str, module_name: str, helm_out_file_path: str, service_type=True): image_tag: str, module_name: str, helm_out_file_path: str, service_type=True):
try: try:
if not os.path.exists(template_yml_path): if not os.path.exists(template_yml_path):
logging.debug(f"{template_yml_path} not found!! Skipping Helm File Preparation") logging.debug(f"{template_yml_path} not found!! Skipping Helm File Preparation")
return False return False
global_config_vars = global_config_data.get('data', {}) global_config_vars = global_config_data.get('data', {})
module_port = node_port = '' module_port = node_port = ''
for k, v in module_env_variables.items(): for k, v in module_env_variables.items():
if k.lower() in {'port', 'service_port', 'module_port'} and v: if k.lower() in {'port', 'service_port', 'module_port'} and v:
if 'module_port' not in global_config_vars: if 'module_port' not in global_config_vars:
module_port = v module_port = v
if 'node_port' not in global_config_vars: if 'node_port' not in global_config_vars:
node_port = v node_port = v
continue continue
if global_config_vars.get(k): if global_config_vars.get(k):
continue continue
value_key = v.strip("{{ }}") value_key = v.strip("{{ }}")
global_config_vars.update({k: global_config_vars.get(value_key, v)}) global_config_vars.update({k: global_config_vars.get(value_key, v)})
self.common_utils.render_deployment_chart(data_dict={}, jinja_template_file=f'{module_name}.yml', self.common_utils.render_deployment_chart(data_dict={}, jinja_template_file=f'{module_name}.yml',
outfile_path=helm_out_file_path, template_path="templates", outfile_path=helm_out_file_path, template_path="templates",
service_type=service_type, image_url=image_tag, service_type=service_type, image_url=image_tag,
variables=global_config_vars, variables=global_config_vars,
module_port=module_port, node_port=node_port) module_port=module_port, node_port=node_port)
return True return True
except Exception as e: except Exception as e:
logging.exception(f'Exception occurred while preparing the helm deployment file {e.args}') logging.exception(f'Exception occurred while preparing the helm deployment file {e.args}')
return False return False
import sys import sys
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy_utils import database_exists, create_database from sqlalchemy_utils import database_exists, create_database
from scripts.config import DBConf from scripts.config import DBConf
from scripts.db.psql.models import ILensVersionTable from scripts.db.psql.models import ILensVersionTable
from scripts.logging import logger from scripts.logging import logger
engine = create_engine(DBConf.DB_URI) engine = create_engine(DBConf.DB_URI)
def create_default_psql_dependencies(): def create_default_psql_dependencies():
try: try:
if not database_exists(engine.url): if not database_exists(engine.url):
create_database(engine.url) create_database(engine.url)
ILensVersionTable.__table__.create(bind=engine, checkfirst=True) ILensVersionTable.__table__.create(bind=engine, checkfirst=True)
except Exception as e: except Exception as e:
logger.error(f"Error occurred while creating: {e}", exc_info=True) logger.error(f"Error occurred while creating: {e}", exc_info=True)
sys.exit() sys.exit()
from sqlalchemy import create_engine from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker from sqlalchemy.orm import sessionmaker
# from scripts.constants.app_constants import TableNames # from scripts.constants.app_constants import TableNames
from scripts.config import DBConf from scripts.config import DBConf
# table_name = "UserDataEntryTable" # table_name = "UserDataEntryTable"
engine = create_engine(DBConf.DB_URI) engine = create_engine(DBConf.DB_URI)
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
Base = declarative_base() Base = declarative_base()
# Dependency # Dependency
def get_db(): def get_db():
db = SessionLocal() db = SessionLocal()
try: try:
yield db yield db
finally: finally:
db.close() db.close()
def get_db_for_func(): def get_db_for_func():
return SessionLocal() return SessionLocal()
from fastapi.encoders import jsonable_encoder from fastapi.encoders import jsonable_encoder
from sqlalchemy import select, func, desc from sqlalchemy import select, func, desc
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from scripts.db.psql.models import ILensVersionTable from scripts.db.psql.models import ILensVersionTable
from scripts.logging import logger from scripts.logging import logger
from scripts.schemas import TableInsertSchema, GetRequest from scripts.schemas import TableInsertSchema, GetRequest
from scripts.utils.postgres_util import SQLDBUtils from scripts.utils.postgres_util import SQLDBUtils
class ILensVersionMaster(SQLDBUtils): class ILensVersionMaster(SQLDBUtils):
def __init__(self, db: Session): def __init__(self, db: Session):
super().__init__(db) super().__init__(db)
self.table = ILensVersionTable self.table = ILensVersionTable
def add_module_version_record(self, insert_record: TableInsertSchema): def add_module_version_record(self, insert_record: TableInsertSchema):
try: try:
version_db = self.table(**insert_record.dict()) version_db = self.table(**insert_record.dict())
self.session.add(version_db) self.session.add(version_db)
self.session.commit() self.session.commit()
self.session.refresh(version_db) self.session.refresh(version_db)
return version_db return version_db
except Exception as e: except Exception as e:
logger.error(f"Could not insert a new record: {e}") logger.error(f"Could not insert a new record: {e}")
raise raise
def read_data_from_db(self, input_data: GetRequest, db: Session): def read_data_from_db(self, input_data: GetRequest, db: Session):
try: try:
if data := (db.query(self.table).order_by(desc(self.table.ilens_version), desc(self.table.release_version), if data := (db.query(self.table).order_by(desc(self.table.ilens_version), desc(self.table.release_version),
desc(self.table.feature_version), desc(self.table.feature_version),
desc(self.table.patch_version), desc(self.table.patch_version),
desc(self.table.updated_at)).filter( desc(self.table.updated_at)).filter(
self.table.module_name == input_data.module_name, self.table.client == input_data.client)): self.table.module_name == input_data.module_name, self.table.client == input_data.client)):
if input_data.ilens_version: if input_data.ilens_version:
data = data.filter(self.table.ilens_version == input_data.ilens_version) data = data.filter(self.table.ilens_version == input_data.ilens_version)
if input_data.release_version: if input_data.release_version:
data = data.filter(self.table.release_version == input_data.release_version) data = data.filter(self.table.release_version == input_data.release_version)
data = data.first() data = data.first()
return jsonable_encoder(data) return jsonable_encoder(data)
else: else:
return None return None
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
raise raise
def update_data_in_db(self, input_data: GetRequest, db: Session): def update_data_in_db(self, input_data: GetRequest, db: Session):
try: try:
if data := (db.query(self.table).filter(self.table.module_name == input_data.module_name, if data := (db.query(self.table).filter(self.table.module_name == input_data.module_name,
self.table.client == input_data.client).first()): self.table.client == input_data.client).first()):
return jsonable_encoder(data) return jsonable_encoder(data)
else: else:
return None return None
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
raise raise
def get_data_by_module_name_query(self, input_data: GetRequest, db: Session, limit_value: int = 1): def get_data_by_module_name_query(self, input_data: GetRequest, db: Session, limit_value: int = 1):
try: try:
return select(*self.table.__table__.columns, return select(*self.table.__table__.columns,
func.concat(self.table.ilens_version, ".", self.table.release_version, ".", func.concat(self.table.ilens_version, ".", self.table.release_version, ".",
self.table.feature_version, ".", self.table.patch_version).label( self.table.feature_version, ".", self.table.patch_version).label(
"module_tag")).order_by(self.table.last_updated_at).filter( "module_tag")).order_by(self.table.last_updated_at).filter(
self.table.module_name == input_data.module_name, self.table.client == input_data.client).limit( self.table.module_name == input_data.module_name, self.table.client == input_data.client).limit(
limit_value) limit_value)
except Exception as e: except Exception as e:
logger.exception(e) logger.exception(e)
raise raise
from sqlalchemy import Column, Integer, String, Index, TIMESTAMP from sqlalchemy import Column, Integer, String, Index, TIMESTAMP
from scripts.db.psql.databases import Base from scripts.db.psql.databases import Base
class ILensVersionTable(Base): class ILensVersionTable(Base):
__tablename__ = "ilens_version_release" __tablename__ = "ilens_version_release"
id = Column(Integer, autoincrement=True, primary_key=True) id = Column(Integer, autoincrement=True, primary_key=True)
module_name = Column(String, index=True, nullable=False) module_name = Column(String, index=True, nullable=False)
client = Column(String, index=True, nullable=False) client = Column(String, index=True, nullable=False)
ilens_version = Column(Integer, nullable=False) ilens_version = Column(Integer, nullable=False)
release_version = Column(Integer, nullable=False) release_version = Column(Integer, nullable=False)
feature_version = Column(Integer, nullable=False) feature_version = Column(Integer, nullable=False)
patch_version = Column(Integer, nullable=False) patch_version = Column(Integer, nullable=False)
image_url = Column(String, nullable=False) image_url = Column(String, nullable=False)
updated_at = Column(TIMESTAMP(timezone=True), nullable=False, index=True) updated_at = Column(TIMESTAMP(timezone=True), nullable=False, index=True)
__table_args__ = (Index('version_index', "module_name", "client"),) __table_args__ = (Index('version_index', "module_name", "client"),)
import logging import logging
import os import os
from logging import StreamHandler from logging import StreamHandler
from logging.handlers import RotatingFileHandler, SocketHandler from logging.handlers import RotatingFileHandler, SocketHandler
import yaml import yaml
from scripts.config import Logging from scripts.config import Logging
# this method is to read the configuration from backup.conf # this method is to read the configuration from backup.conf
def read_configuration(file_name): def read_configuration(file_name):
""" """
:param file_name: :param file_name:
:return: all the configuration constants :return: all the configuration constants
""" """
with open(file_name, 'r') as stream: with open(file_name, 'r') as stream:
try: try:
return yaml.safe_load(stream) return yaml.safe_load(stream)
except Exception as e: except Exception as e:
print(f"Failed to load Configuration. Error: {e}") print(f"Failed to load Configuration. Error: {e}")
config = read_configuration("scripts/logging/logger_conf.yml") config = read_configuration("scripts/logging/logger_conf.yml")
logging_config = config["logger"] logging_config = config["logger"]
logging_config["level"] = Logging.level logging_config["level"] = Logging.level
enable_traceback: bool = Logging.tb_flag enable_traceback: bool = Logging.tb_flag
def get_logger(): def get_logger():
""" """
Creates a rotating log Creates a rotating log
""" """
__logger__ = logging.getLogger('') __logger__ = logging.getLogger('')
__logger__.setLevel(logging_config["level"].upper()) __logger__.setLevel(logging_config["level"].upper())
log_formatter = '%(asctime)s - %(levelname)-6s - [%(threadName)5s:%(funcName)5s():''' \ log_formatter = '%(asctime)s - %(levelname)-6s - [%(threadName)5s:%(funcName)5s():''' \
'%(lineno)s] - %(message)s' '%(lineno)s] - %(message)s'
time_format = "%Y-%m-%d %H:%M:%S" time_format = "%Y-%m-%d %H:%M:%S"
formatter = logging.Formatter(log_formatter, time_format) formatter = logging.Formatter(log_formatter, time_format)
for each_handler in logging_config["handlers"]: for each_handler in logging_config["handlers"]:
if each_handler["type"] in ["RotatingFileHandler"]: if each_handler["type"] in ["RotatingFileHandler"]:
if not os.path.exists("logs"): if not os.path.exists("logs"):
os.makedirs("logs") os.makedirs("logs")
log_file = os.path.join("logs", f"{logging_config['name']}.log") log_file = os.path.join("logs", f"{logging_config['name']}.log")
temp_handler = RotatingFileHandler(log_file, temp_handler = RotatingFileHandler(log_file,
maxBytes=each_handler["max_bytes"], maxBytes=each_handler["max_bytes"],
backupCount=each_handler["back_up_count"]) backupCount=each_handler["back_up_count"])
temp_handler.setFormatter(formatter) temp_handler.setFormatter(formatter)
elif each_handler["type"] in ["SocketHandler"]: elif each_handler["type"] in ["SocketHandler"]:
temp_handler = SocketHandler(each_handler["host"], each_handler["port"]) temp_handler = SocketHandler(each_handler["host"], each_handler["port"])
elif each_handler["type"] in ["StreamHandler"]: elif each_handler["type"] in ["StreamHandler"]:
temp_handler = StreamHandler() temp_handler = StreamHandler()
temp_handler.setFormatter(formatter) temp_handler.setFormatter(formatter)
else: else:
temp_handler = None temp_handler = None
__logger__.addHandler(temp_handler) __logger__.addHandler(temp_handler)
return __logger__ return __logger__
logger = get_logger() logger = get_logger()
logger: logger:
name: helm_automation-script name: helm_automation-script
level: DEBUG level: DEBUG
handlers: handlers:
- type: RotatingFileHandler - type: RotatingFileHandler
file_path: logs/ file_path: logs/
max_bytes: 100000000 max_bytes: 100000000
back_up_count: 5 back_up_count: 5
- type: StreamHandler - type: StreamHandler
name: helm_automation-script name: helm_automation-script
import logging import logging
import os import os
from logging import StreamHandler from logging import StreamHandler
from logging.handlers import RotatingFileHandler, SocketHandler from logging.handlers import RotatingFileHandler, SocketHandler
import yaml import yaml
from scripts.config import Logging from scripts.config import Logging
# this method is to read the configuration from backup.conf # this method is to read the configuration from backup.conf
def read_configuration(file_name): def read_configuration(file_name):
""" """
:param file_name: :param file_name:
:return: all the configuration constants :return: all the configuration constants
""" """
with open(file_name, "r") as stream: with open(file_name, "r") as stream:
try: try:
return yaml.safe_load(stream) return yaml.safe_load(stream)
except Exception as e: except Exception as e:
print(f"Failed to load Configuration. Error: {e}") print(f"Failed to load Configuration. Error: {e}")
config = read_configuration("scripts/logging/logger_conf.yml") config = read_configuration("scripts/logging/logger_conf.yml")
logging_config = config["logger"] logging_config = config["logger"]
logging_config["level"] = Logging.level logging_config["level"] = Logging.level
enable_traceback: bool = Logging.tb_flag enable_traceback: bool = Logging.tb_flag
def get_logger(): def get_logger():
""" """
Creates a rotating log Creates a rotating log
""" """
__logger__ = logging.getLogger("") __logger__ = logging.getLogger("")
__logger__.setLevel(logging_config["level"].upper()) __logger__.setLevel(logging_config["level"].upper())
log_formatter = ( log_formatter = (
"%(asctime)s - %(levelname)-6s - [%(threadName)5s:%(funcName)5s():" "%(asctime)s - %(levelname)-6s - [%(threadName)5s:%(funcName)5s():"
"" ""
"%(lineno)s] - %(message)s" "%(lineno)s] - %(message)s"
) )
time_format = "%Y-%m-%d %H:%M:%S" time_format = "%Y-%m-%d %H:%M:%S"
formatter = logging.Formatter(log_formatter, time_format) formatter = logging.Formatter(log_formatter, time_format)
for each_handler in logging_config["handlers"]: for each_handler in logging_config["handlers"]:
if each_handler["type"] in ["RotatingFileHandler"]: if each_handler["type"] in ["RotatingFileHandler"]:
log_file = os.path.join( log_file = os.path.join(
each_handler["file_path"] + logging_config["name"] + ".log" each_handler["file_path"] + logging_config["name"] + ".log"
) )
if not os.path.exists(each_handler["file_path"]): if not os.path.exists(each_handler["file_path"]):
os.makedirs(each_handler["file_path"]) os.makedirs(each_handler["file_path"])
temp_handler = RotatingFileHandler( temp_handler = RotatingFileHandler(
log_file, log_file,
maxBytes=each_handler["max_bytes"], maxBytes=each_handler["max_bytes"],
backupCount=each_handler["back_up_count"], backupCount=each_handler["back_up_count"],
) )
temp_handler.setFormatter(formatter) temp_handler.setFormatter(formatter)
elif each_handler["type"] in ["SocketHandler"]: elif each_handler["type"] in ["SocketHandler"]:
temp_handler = SocketHandler(each_handler["host"], each_handler["port"]) temp_handler = SocketHandler(each_handler["host"], each_handler["port"])
elif each_handler["type"] in ["StreamHandler"]: elif each_handler["type"] in ["StreamHandler"]:
temp_handler = StreamHandler() temp_handler = StreamHandler()
temp_handler.setFormatter(formatter) temp_handler.setFormatter(formatter)
else: else:
temp_handler = None temp_handler = None
__logger__.addHandler(temp_handler) __logger__.addHandler(temp_handler)
return __logger__ return __logger__
logger = get_logger() logger = get_logger()
from datetime import datetime from datetime import datetime
from typing import Optional, Dict, List from typing import Optional, Dict, List
from pydantic import BaseModel from pydantic import BaseModel
class TableInsertSchema(BaseModel): class TableInsertSchema(BaseModel):
module_name: str module_name: str
client: str client: str
ilens_version: int ilens_version: int
release_version: int release_version: int
feature_version: int feature_version: int
patch_version: int patch_version: int
image_tag: str image_tag: str
last_updated_at: datetime last_updated_at: datetime
class Config: class Config:
orm_mode = True orm_mode = True
class InsertRequest(BaseModel): class InsertRequest(BaseModel):
module_name: str module_name: str
client: Optional[str] = 'iLens' client: Optional[str] = 'iLens'
insert_type: Optional[str] = "release" insert_type: Optional[str] = "release"
ilens_version: Optional[int] = 6 ilens_version: Optional[int] = 6
release_version: Optional[int] = 0 release_version: Optional[int] = 0
prefix_image: Optional[str] = "azrilensprod.azurecr.io/ilens/release/versions/" prefix_image: Optional[str] = "azrilensprod.azurecr.io/ilens/release/versions/"
class GetRequest(BaseModel): class GetRequest(BaseModel):
module_name: str module_name: str
client: Optional[str] = 'iLens' client: Optional[str] = 'iLens'
ilens_version: Optional[int] ilens_version: Optional[int]
release_version: Optional[int] release_version: Optional[int]
class DockerComposeSchema(BaseModel): class DockerComposeSchema(BaseModel):
image: Optional[str] = '' image: Optional[str] = ''
container_name: Optional[str] = '' container_name: Optional[str] = ''
environment: Optional[Dict] = {} environment: Optional[Dict] = {}
volumes: Optional[List] = [] volumes: Optional[List] = []
env_file: Optional[List] = ['variables.env'] env_file: Optional[List] = ['variables.env']
ports: Optional[List] = [] ports: Optional[List] = []
command: Optional[List] = [] command: Optional[List] = []
from fastapi import Depends, APIRouter from fastapi import Depends, APIRouter
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from scripts.core import ILensVersionHandler from scripts.core import ILensVersionHandler
from scripts.db.psql.databases import get_db from scripts.db.psql.databases import get_db
from scripts.logging import logger from scripts.logging import logger
from scripts.schemas import InsertRequest, GetRequest from scripts.schemas import InsertRequest, GetRequest
router = APIRouter() router = APIRouter()
@router.post("/module/increment_version") @router.post("/module/increment_version")
def increment_version_release(input_data: InsertRequest, db: Session = Depends(get_db)): def increment_version_release(input_data: InsertRequest, db: Session = Depends(get_db)):
try: try:
db_handler = ILensVersionHandler() db_handler = ILensVersionHandler()
return db_handler.update_module_versions(input_data, db) return db_handler.update_module_versions(input_data, db)
except Exception as e: except Exception as e:
logger.exception(f"Exception occurred while updating the tag version {e.args}") logger.exception(f"Exception occurred while updating the tag version {e.args}")
return {} return {}
@router.get("/module/increment_version") @router.get("/module/increment_version")
def get_increment_version_release(input_data: GetRequest = Depends(), db: Session = Depends(get_db)): def get_increment_version_release(input_data: GetRequest = Depends(), db: Session = Depends(get_db)):
try: try:
db_handler = ILensVersionHandler() db_handler = ILensVersionHandler()
return db_handler.get_module_versions(input_data, db) return db_handler.get_module_versions(input_data, db)
except Exception as e: except Exception as e:
logger.exception(f"Exception occurred while updating the tag version {e.args}") logger.exception(f"Exception occurred while updating the tag version {e.args}")
return {} return {}
import os import os
import jinja2 import jinja2
import ruamel.yaml import ruamel.yaml
from scripts.logging import logging from scripts.logging import logging
class CommonUtils: class CommonUtils:
@staticmethod @staticmethod
def add_quotes(file_path): def add_quotes(file_path):
my_data = "" my_data = ""
with open(file_path, "r+") as f: with open(file_path, "r+") as f:
data = f.read() data = f.read()
data = data.replace("{{", '\"{{') data = data.replace("{{", '\"{{')
data = data.replace("}}", '}}\"') data = data.replace("}}", '}}\"')
my_data = data my_data = data
f.write(data) f.write(data)
with open(file_path, "w+") as f: with open(file_path, "w+") as f:
f.write(my_data) f.write(my_data)
@staticmethod @staticmethod
def convert_yaml_to_define_obj(yaml_file_path, load_type='safe'): def convert_yaml_to_define_obj(yaml_file_path, load_type='safe'):
try: try:
if not os.path.exists(yaml_file_path): if not os.path.exists(yaml_file_path):
return {} return {}
_yaml = ruamel.yaml.YAML(typ=load_type) _yaml = ruamel.yaml.YAML(typ=load_type)
_yaml.preserve_quotes = True _yaml.preserve_quotes = True
_yaml.allow_duplicate_keys = True _yaml.allow_duplicate_keys = True
with open(yaml_file_path) as fpi: with open(yaml_file_path) as fpi:
yaml_dict = _yaml.load(fpi) yaml_dict = _yaml.load(fpi)
return yaml_dict return yaml_dict
except Exception as e: except Exception as e:
logging.exception(f"Exception Occurred while reading the yaml file {e.args}") logging.exception(f"Exception Occurred while reading the yaml file {e.args}")
return {} return {}
@staticmethod @staticmethod
def convert_json_to_yaml(json_data: dict, output_file_path): def convert_json_to_yaml(json_data: dict, output_file_path):
try: try:
yaml = ruamel.yaml.YAML() yaml = ruamel.yaml.YAML()
yaml.preserve_quotes = True yaml.preserve_quotes = True
with open(output_file_path, 'w') as yaml_file: with open(output_file_path, 'w') as yaml_file:
yaml.dump(json_data, yaml_file) yaml.dump(json_data, yaml_file)
except Exception as e: except Exception as e:
logging.exception(f"Exception Occurred while reading the yaml file {e.args}") logging.exception(f"Exception Occurred while reading the yaml file {e.args}")
return False return False
@staticmethod @staticmethod
def render_deployment_chart(data_dict, jinja_template_file, template_path, outfile_path, **kwargs): def render_deployment_chart(data_dict, jinja_template_file, template_path, outfile_path, **kwargs):
try: try:
environment = jinja2.Environment( environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(searchpath=template_path), loader=jinja2.FileSystemLoader(searchpath=template_path),
trim_blocks=True, autoescape=True) trim_blocks=True, autoescape=True)
_render = environment.get_template(jinja_template_file).render(**kwargs, **data_dict) _render = environment.get_template(jinja_template_file).render(**kwargs, **data_dict)
with open(outfile_path, "w") as fp: with open(outfile_path, "w") as fp:
fp.write(_render) fp.write(_render)
except Exception as e: except Exception as e:
logging.exception(f"Exception occurred while rendering the helm file - {e.args}") logging.exception(f"Exception occurred while rendering the helm file - {e.args}")
import importlib import importlib
import logging import logging
from fastapi.encoders import jsonable_encoder from fastapi.encoders import jsonable_encoder
from sqlalchemy import Text, create_engine from sqlalchemy import Text, create_engine
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
from scripts.config import DBConf from scripts.config import DBConf
class SQLDBUtils: class SQLDBUtils:
def __init__(self, db: Session): def __init__(self, db: Session):
self.session: Session = db self.session: Session = db
def close(self): def close(self):
logging.debug("SQL Session closed") logging.debug("SQL Session closed")
self.session.close() self.session.close()
@property @property
def key_filter_expression(self): def key_filter_expression(self):
return "expression" return "expression"
@property @property
def key_filter_column(self): def key_filter_column(self):
return "column" return "column"
@property @property
def key_filter_value(self): def key_filter_value(self):
return "value" return "value"
def add_data(self, table): def add_data(self, table):
self.session.add(table) self.session.add(table)
self.session.commit() self.session.commit()
self.session.refresh(table) self.session.refresh(table)
return True return True
def bulk_insert(self, object_models): def bulk_insert(self, object_models):
self.session.bulk_save_objects(object_models) self.session.bulk_save_objects(object_models)
self.session.commit() self.session.commit()
return True return True
def filter_expression(self): def filter_expression(self):
filter_expression = self.filter.get(self.key_filter_expression, "eq") filter_expression = self.filter.get(self.key_filter_expression, "eq")
logging.debug(f"Filter expression: {filter_expression}") logging.debug(f"Filter expression: {filter_expression}")
return filter_expression return filter_expression
def filter_column(self): def filter_column(self):
column = self.filter.get(self.key_filter_column, None) column = self.filter.get(self.key_filter_column, None)
logging.debug(f"Filter column: {column}") logging.debug(f"Filter column: {column}")
return column return column
def filter_value(self): def filter_value(self):
filter_value = self.filter.get(self.key_filter_value, None) filter_value = self.filter.get(self.key_filter_value, None)
logging.debug(f"Filter value: {filter_value}") logging.debug(f"Filter value: {filter_value}")
return filter_value return filter_value
def _filter(self, session_query, filters=None): def _filter(self, session_query, filters=None):
if filters is not None: if filters is not None:
for _filter in filters: for _filter in filters:
self.filter = _filter self.filter = _filter
if self.filter_column() is None: if self.filter_column() is None:
continue continue
session_query = self.get_session_query(session_query=session_query) session_query = self.get_session_query(session_query=session_query)
return session_query return session_query
def get_session_query(self, session_query): def get_session_query(self, session_query):
try: try:
if self.filter_expression() == "eq": if self.filter_expression() == "eq":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() == self.filter_value() self.filter_column() == self.filter_value()
) )
if self.filter_expression() == "le": if self.filter_expression() == "le":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() < self.filter_value() self.filter_column() < self.filter_value()
) )
if self.filter_expression() == "ge": if self.filter_expression() == "ge":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() > self.filter_value() self.filter_column() > self.filter_value()
) )
if self.filter_expression() == "lte": if self.filter_expression() == "lte":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() <= self.filter_value() self.filter_column() <= self.filter_value()
) )
if self.filter_expression() == "gte": if self.filter_expression() == "gte":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() >= self.filter_value() self.filter_column() >= self.filter_value()
) )
if self.filter_expression() == "neq": if self.filter_expression() == "neq":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column() != self.filter_value() self.filter_column() != self.filter_value()
) )
if self.filter_expression() == "none": if self.filter_expression() == "none":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column().is_(None) self.filter_column().is_(None)
) )
if self.filter_expression() == "is_none": if self.filter_expression() == "is_none":
session_query = session_query.filter( session_query = session_query.filter(
self.filter_column().is_not(None) self.filter_column().is_not(None)
) )
except Exception as e: except Exception as e:
logging.error(f"Error occurred while filtering the session query {e}") logging.error(f"Error occurred while filtering the session query {e}")
return session_query return session_query
def insert_one(self, table, insert_json): def insert_one(self, table, insert_json):
try: try:
row = table() row = table()
for k in insert_json: for k in insert_json:
setattr(row, k, insert_json[k]) setattr(row, k, insert_json[k])
self.session.merge(row) self.session.merge(row)
self.session.commit() self.session.commit()
return True return True
except Exception as e: except Exception as e:
logging.error(f"Error while inserting the record {e}") logging.error(f"Error while inserting the record {e}")
raise raise
def update(self, table, update_json, filters=None, insert=False, insert_id=None, update_one=False): def update(self, table, update_json, filters=None, insert=False, insert_id=None, update_one=False):
try: try:
logging.debug(filters) logging.debug(filters)
row = self.session.query(table) row = self.session.query(table)
filtered_row = self._filter(session_query=row, filters=filters) filtered_row = self._filter(session_query=row, filters=filters)
if update_one: if update_one:
filtered_row = filtered_row.first() filtered_row = filtered_row.first()
if filtered_row is None: if filtered_row is None:
logging.debug("There are no rows meeting the given update criteria.") logging.debug("There are no rows meeting the given update criteria.")
if insert: if insert:
logging.debug("Trying to insert a new record") logging.debug("Trying to insert a new record")
if insert_id is None: if insert_id is None:
logging.warning( logging.warning(
"ID not provided to insert record. Skipping insert." "ID not provided to insert record. Skipping insert."
) )
return False return False
else: else:
update_json.update(insert_id) update_json.update(insert_id)
if self.insert_one(table=table, insert_json=update_json): if self.insert_one(table=table, insert_json=update_json):
return True return True
else: else:
return False return False
else: else:
return False return False
else: else:
logging.debug("Record available to update") logging.debug("Record available to update")
for k in update_json: for k in update_json:
if not update_json[k]: if not update_json[k]:
continue continue
setattr(filtered_row, k, update_json[k]) setattr(filtered_row, k, update_json[k])
if not update_one: if not update_one:
filtered_row.update(values=update_json) filtered_row.update(values=update_json)
self.session.commit() self.session.commit()
except Exception as e: except Exception as e:
logging.error(f"Error while updating the record {e}") logging.error(f"Error while updating the record {e}")
raise raise
def delete(self, table, filters=None): def delete(self, table, filters=None):
try: try:
# logging.trace(filters) # logging.trace(filters)
row = self.session.query(table) row = self.session.query(table)
filtered_row = self._filter(session_query=row, filters=filters) filtered_row = self._filter(session_query=row, filters=filters)
if filtered_row is None: if filtered_row is None:
logging.debug("There were no records to be deleted") logging.debug("There were no records to be deleted")
else: else:
filtered_row.delete() filtered_row.delete()
self.session.commit() self.session.commit()
return True return True
except Exception as e: except Exception as e:
logging.error(f"Failed to delete a record {e}") logging.error(f"Failed to delete a record {e}")
raise raise
def distinct_values_by_column(self, table, column, filters=None): def distinct_values_by_column(self, table, column, filters=None):
query = self.session.query(getattr(table, column).distinct().label(column)) query = self.session.query(getattr(table, column).distinct().label(column))
query = self._filter(session_query=query, filters=filters) query = self._filter(session_query=query, filters=filters)
distinct_values = [getattr(row, column) for row in query.all()] distinct_values = [getattr(row, column) for row in query.all()]
return distinct_values return distinct_values
def select_from_table(self, table=None, query=None, find_one=False): def select_from_table(self, table=None, query=None, find_one=False):
if query is None: if query is None:
query = f"select * from {table}" query = f"select * from {table}"
result = self.session.execute(query) result = self.session.execute(query)
for i in result: for i in result:
print(i) print(i)
response = [dict(zip(row.keys(), row.values())) for row in result] response = [dict(zip(row.keys(), row.values())) for row in result]
if find_one and response: if find_one and response:
return response[0] return response[0]
return response return response
def fetch_from_table(self, table, filter_text, limit_value, skip_value): def fetch_from_table(self, table, filter_text, limit_value, skip_value):
logging.debug(filter_text) logging.debug(filter_text)
row = ( row = (
self.session.query(table) self.session.query(table)
.filter(Text(filter_text)) .filter(Text(filter_text))
.limit(limit_value) .limit(limit_value)
.offset(skip_value) .offset(skip_value)
) )
result = self.session.execute(row) result = self.session.execute(row)
return [dict(zip(row.keys(), row.values())) for row in result] return [dict(zip(row.keys(), row.values())) for row in result]
def execute_query(self, session, table=None, query=None): def execute_query(self, session, table=None, query=None):
try: try:
if query is None: if query is None:
query = f"select * from {table}" query = f"select * from {table}"
result = self.session.execute(query) result = self.session.execute(query)
# output = [dict(zip(row.keys(), row.values())) for row in result] # output = [dict(zip(row.keys(), row.values())) for row in result]
output = [x for x in result] output = [x for x in result]
self.session.close() self.session.close()
return output return output
except Exception as e: except Exception as e:
logging.error(f"Error occurred during execute_query: {e}") logging.error(f"Error occurred during execute_query: {e}")
def fetch_query(self, query): def fetch_query(self, query):
try: try:
result = self.session.execute(query) result = self.session.execute(query)
output = [jsonable_encoder(x) for x in result] output = [jsonable_encoder(x) for x in result]
self.session.close() self.session.close()
return output[0] if len(output) == 1 else output return output[0] if len(output) == 1 else output
except Exception as e: except Exception as e:
logging.error(f"Error occurred during execute_query: {e}") logging.error(f"Error occurred during execute_query: {e}")
def create_table(table_name): def create_table(table_name):
try: try:
engine = create_engine(DBConf.DB_URI, echo=True) engine = create_engine(DBConf.DB_URI, echo=True)
if not engine.dialect.has_table(engine, table_name): if not engine.dialect.has_table(engine, table_name):
table_models = importlib.import_module('scripts.db.db_models') table_models = importlib.import_module('scripts.db.db_models')
ORMTable = getattr(table_models, table_name) ORMTable = getattr(table_models, table_name)
ORMTable.__table__.create(bind=engine, checkfirst=True) ORMTable.__table__.create(bind=engine, checkfirst=True)
except Exception as e: except Exception as e:
logging.error(f"Error occurred during start-up: {e}", exc_info=True) logging.error(f"Error occurred during start-up: {e}", exc_info=True)
return True return True
{% for k,v in modules.items() %} {% for k,v in modules.items() %}
x-{{ k }}-image: &{{k}}-image {{v['image']}} x-{{ k }}-image: &{{k}}-image {{v['image']}}
{% endfor %} {% endfor %}
services: services:
{% for k,v in modules.items() %} {% for k,v in modules.items() %}
{{k}}: {{k}}:
image: *{{k}}-image image: *{{k}}-image
ports: ports:
- {{v['ports']}} - {{v['ports']}}
environment: environment:
{% for env_key,env_value in v['environment'].items() %} {% for env_key,env_value in v['environment'].items() %}
{{env_key}}: {{env_value}} {{env_key}}: {{env_value}}
{% endfor %} {% endfor %}
env_file: env_file:
- {{ env_file | default("variables.yml") }} - {{ env_file | default("variables.yml") }}
volumes: volumes:
{% for volume in v['volumes'] %} {% for volume in v['volumes'] %}
- {{volume}} - {{volume}}
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
networks: networks:
default: default:
external: external:
name: "ilens" name: "ilens"
\ No newline at end of file
name: {{ module_name }} name: {{ module_name }}
codeType: backend codeType: backend
type: core type: core
{% if service_type %} {% if service_type %}
ports: ports:
name: port{{ module_port }} name: port{{ module_port }}
port: {{ module_port }} port: {{ module_port }}
targetPort: {{ module_port }} targetPort: {{ module_port }}
nodePort: {{ node_port }} nodePort: {{ node_port }}
{% endif %} {% endif %}
affinity: affinity:
enabled: true enabled: true
key: kubernetes.io/hostname key: kubernetes.io/hostname
value: [staging-master-node] value: [staging-master-node]
podAutoScaler: podAutoScaler:
enabled: False enabled: False
type: "hpa" type: "hpa"
maxReplicaCount: 3 maxReplicaCount: 3
minReplicaCount: 1 minReplicaCount: 1
scalePercentage: 85 scalePercentage: 85
deployment: deployment:
imageName: {{ image_url }} imageName: {{ image_url }}
command: {{ command }} command: {{ command }}
PullSecrets: {{ PullSecrets | default("ilens-azregistry") }} PullSecrets: {{ PullSecrets | default("ilens-azregistry") }}
PullPolicy: IfNotPresent {{ branch }} PullPolicy: IfNotPresent {{ branch }}
resources: resources:
requests: requests:
memory: {{ request_memory | default("250Mi") }} memory: {{ request_memory | default("250Mi") }}
cpu: {{ request_cpu | default("250m") }} cpu: {{ request_cpu | default("250m") }}
limits: limits:
memory: {{ limit_memory | default("500Mi") }} memory: {{ limit_memory | default("500Mi") }}
cpu: {{ limit_cpu | default("500m") }} cpu: {{ limit_cpu | default("500m") }}
livenessProbe: livenessProbe:
enabled: {{ enable_liveness | default(False) }} enabled: {{ enable_liveness | default(False) }}
path: {{ liveness_api }} path: {{ liveness_api }}
initialDelaySeconds: {{ liveness_delay_seconds | default(20) }} initialDelaySeconds: {{ liveness_delay_seconds | default(20) }}
timeoutSeconds: {{ liveness_timeout_seconds | default(5) }} timeoutSeconds: {{ liveness_timeout_seconds | default(5) }}
periodSeconds: {{ liveness_period_seconds | default(20) }} periodSeconds: {{ liveness_period_seconds | default(20) }}
failureThreshold: {{ liveness_failure_threshold | default(3) }} failureThreshold: {{ liveness_failure_threshold | default(3) }}
successThreshold: {{ liveness_success_threshold | default(1) }} successThreshold: {{ liveness_success_threshold | default(1) }}
environmentVar: environmentVar:
- name: MONGO_URI - name: MONGO_URI
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: mongo-uri name: mongo-uri
key: MONGO_URI key: MONGO_URI
{% for k, v in variables.items() %} {% for k, v in variables.items() %}
{% if k and v %} {% if k and v %}
- name: '{{ k }}' - name: '{{ k }}'
value: '{{ v }}' value: '{{ v }}'
{% endif %} {% endif %}
{% endfor %} {% endfor %}
mountVolume: mountVolume:
enabled: {{ enableMountVolume | default(True) }} enabled: {{ enableMountVolume | default(True) }}
volumeMounts: volumeMounts:
- name: {{ mount_name | default("core-volumes") }} - name: {{ mount_name | default("core-volumes") }}
mountPath: "/code/data" mountPath: "/code/data"
volumes: volumes:
- name: {{ mount_name | default("core-volumes") }} - name: {{ mount_name | default("core-volumes") }}
persistentVolumeClaim: persistentVolumeClaim:
claimName: {{ claim_name | default("core-volumes") }} claimName: {{ claim_name | default("core-volumes") }}
{% if condition %} {% if condition %}
service: service:
name: {{ module_name }} name: {{ module_name }}
type: NodePort type: NodePort
{% endif %} {% endif %}
\ No newline at end of file
import jinja2 import jinja2
in_file = 'data.yaml' in_file = 'data.yaml'
out_file = 'output.yaml' out_file = 'output.yaml'
environment = jinja2.Environment( environment = jinja2.Environment(
loader=jinja2.FileSystemLoader(searchpath='.'), loader=jinja2.FileSystemLoader(searchpath='.'),
trim_blocks=True, variable_start_string='<{', variable_end_string='}>' trim_blocks=True, variable_start_string='<{', variable_end_string='}>'
) )
_render = environment.get_template(in_file).render(variables=[{ _render = environment.get_template(in_file).render(variables=[{
"name": "harsha", "name": "harsha",
"value": "hi" "value": "hi"
}, { }, {
"name": "vardhan", "name": "vardhan",
"value": "hello" "value": "hello"
}]) }])
print(_render) print(_render)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment