From e244a037d6de8f580255e79e99971546fa0d5675 Mon Sep 17 00:00:00 2001 From: John Cardinal Date: Thu, 25 Nov 2021 19:11:37 +0000 Subject: [PATCH] initial commit of start of installer for windows --- dist/assets/ayanova.ico | Bin 0 -> 90126 bytes .../AyaNova metrics-1525464233568.json | 2959 ----------------- dist/install/windows/ayanovaserver.iss | 53 + 3 files changed, 53 insertions(+), 2959 deletions(-) create mode 100644 dist/assets/ayanova.ico delete mode 100644 dist/assets/grafana/AyaNova metrics-1525464233568.json create mode 100644 dist/install/windows/ayanovaserver.iss diff --git a/dist/assets/ayanova.ico b/dist/assets/ayanova.ico new file mode 100644 index 0000000000000000000000000000000000000000..f61fe4e0ba90e73bcff4a2f105832fddd81cc487 GIT binary patch literal 90126 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 literal 0 HcmV?d00001 diff --git a/dist/assets/grafana/AyaNova metrics-1525464233568.json b/dist/assets/grafana/AyaNova metrics-1525464233568.json deleted file mode 100644 index 7fa41cee..00000000 --- a/dist/assets/grafana/AyaNova metrics-1525464233568.json +++ /dev/null @@ -1,2959 +0,0 @@ -{ - "__inputs": [], - "__requires": [ - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "4.1.1" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "" - }, - { - "type": "panel", - "id": "table", - "name": "Table", - "version": "" - } - ], - "annotations": { - "list": [] - }, - "description": "", - "editable": true, - "gnetId": 2125, - "graphTooltip": 1, - "hideControls": false, - "id": null, - "links": [], - "refresh": "5s", - "rows": [ - { - "collapse": true, - "height": -174, - "panels": [ - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "rpm", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "id": 8, - "interval": "", - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "span": 2, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": true, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "targets": [ - { - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "rate1m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": "", - "title": "Throughput", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "N/A", - "value": "null" - } - ], - "valueName": "current" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorValue": false, - "colors": [ - "rgba(50, 172, 45, 0.97)", - "rgba(237, 129, 40, 0.89)", - "rgba(245, 54, 54, 0.9)" - ], - "datasource": "$datasource", - "decimals": 4, - "editable": true, - "error": false, - "format": "percent", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "id": 6, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "", - "text": "", - "to": "" - } - ], - "span": 2, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": true, - "lineColor": "rgb(31, 120, 193)", - "show": true - }, - "targets": [ - { - "dsType": "influxdb", - "groupBy": [], - "measurement": "application.httprequests__one_minute_error_percentage_rate", - "policy": "default", - "query": "SELECT \"value\" FROM \"application.httprequests__percentage_error_requests\" WHERE $timeFilter", - "rawQuery": false, - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": "", - "title": "Error %", - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "0%", - "value": "null" - } - ], - "valueName": "current" - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 2, - "id": 13, - "interval": "$summarize", - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 4, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__active", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Active Requests", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": { - "application.httprequests__apdex.last": "#6ED0E0" - }, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "", - "id": 7, - "interval": "$summarize", - "legend": { - "avg": false, - "current": false, - "max": false, - "min": false, - "show": false, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 3, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 4, - "stack": false, - "steppedLine": false, - "targets": [ - { - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__apdex", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "score" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [ - { - "colorMode": "critical", - "fill": true, - "line": true, - "op": "lt", - "value": 0.5 - }, - { - "colorMode": "warning", - "fill": true, - "line": true, - "op": "gt", - "value": 0.5 - }, - { - "colorMode": "ok", - "fill": true, - "line": true, - "op": "gt", - "value": 0.75 - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Apdex score", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "short", - "label": "apdex", - "logBase": 1, - "max": "1", - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "350", - "id": 1, - "interval": "$summarize", - "legend": { - "avg": false, - "current": true, - "max": false, - "min": false, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$col", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "rate1m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "1 min rate" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "rate5m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "5 min rate" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "rate15m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "15 min rate" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Throughput", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "rpm", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "350", - "id": 2, - "interval": "$summarize", - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$col", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "p95" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "95th Percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p98" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "98th Percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p99" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "99th Percentile" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Response Time", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "", - "id": 9, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": false, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__one_minute_error_percentage_rate", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Error Rate %", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "percent", - "label": null, - "logBase": 1, - "max": "100", - "min": "0", - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "decimals": 2, - "editable": true, - "error": false, - "fill": 1, - "height": "250px", - "id": 3, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$col", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__error_rate", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "rate1m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "1min rate" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "rate5m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "5min rate" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "rate15m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "15min rate" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Error Rate", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "rpm", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "cacheTimeout": null, - "combine": { - "label": "Others", - "threshold": 0 - }, - "datasource": "$datasource", - "editable": true, - "error": false, - "fontSize": "80%", - "format": "percent", - "height": "250px", - "id": 4, - "interval": "", - "legend": { - "percentage": true, - "show": true, - "sort": null, - "sortDesc": null, - "values": true - }, - "legendType": "Right side", - "links": [], - "maxDataPoints": 3, - "nullPointMode": "connected", - "pieType": "pie", - "span": 1, - "strokeWidth": 1, - "targets": [ - { - "alias": "$tag_http_status_code", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "http_status_code" - ], - "type": "tag" - } - ], - "measurement": "application.httprequests__errors", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "sum" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Errors", - "type": "grafana-piechart-panel", - "valueName": "current" - }, - { - "columns": [ - { - "text": "Total", - "value": "total" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": true, - "fontSize": "100%", - "id": 24, - "interval": "", - "links": [], - "pageSize": 20, - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "span": 3, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 0, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "none" - } - ], - "targets": [ - { - "alias": "$tag_exception", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "exception" - ], - "type": "tag" - } - ], - "measurement": "application.httprequests__exceptions", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Uncaught Exceptions Thrown", - "transform": "timeseries_aggregations", - "type": "table" - } - ], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "Overview", - "titleSize": "h6" - }, - { - "collapse": false, - "height": "300", - "panels": [ - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "350", - "id": 16, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": true, - "steppedLine": false, - "targets": [ - { - "alias": "$tag_route", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions_per_endpoint", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "rate1m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Throughput / Endpoint", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "transparent": false, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "rpm", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "height": "350", - "id": 17, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$tag_route", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions_per_endpoint", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "p95" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "95th Percentile" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Response Time / Endpoint", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "ms", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": false, - "fontSize": "100%", - "id": 10, - "interval": "", - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "span": 6, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "ms" - } - ], - "targets": [ - { - "alias": "$tag_route", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions_per_endpoint", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "p95" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Response Times / Endpoint", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": false, - "fontSize": "100%", - "id": 12, - "interval": "", - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "span": 6, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 2, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "rpm" - } - ], - "targets": [ - { - "alias": "$tag_route", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__transactions_per_endpoint", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "rate1m" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Throughput / Endpoint", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": false, - "fontSize": "100%", - "id": 11, - "interval": "", - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": null, - "desc": false - }, - "span": 6, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 0, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "percent" - } - ], - "targets": [ - { - "alias": "$tag_route", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__one_minute_error_percentage_rate_per_endpoint", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Error Request Percentage / Endpoint", - "transform": "timeseries_aggregations", - "type": "table" - }, - { - "columns": [ - { - "text": "Total", - "value": "total" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": false, - "fontSize": "100%", - "id": 25, - "interval": "", - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 1, - "desc": true - }, - "span": 6, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": null, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 0, - "pattern": "/.*/", - "thresholds": [], - "type": "number", - "unit": "none" - } - ], - "targets": [ - { - "alias": "$tag_route [$tag_exception]", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "route" - ], - "type": "tag" - }, - { - "params": [ - "exception" - ], - "type": "tag" - } - ], - "measurement": "application.httprequests__exceptions", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "title": "Uncaught Exceptions Thrown / Endpoint", - "transform": "timeseries_aggregations", - "type": "table" - } - ], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "Endpoints", - "titleSize": "h6" - }, - { - "collapse": false, - "height": "250", - "panels": [ - { - "columns": [ - { - "text": "Current", - "value": "current" - } - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "filterNull": false, - "fontSize": "100%", - "hideTimeOverride": true, - "id": 22, - "interval": "", - "links": [], - "pageSize": null, - "scroll": true, - "showHeader": true, - "sort": { - "col": 0, - "desc": true - }, - "span": 9, - "styles": [ - { - "dateFormat": "YYYY-MM-DD HH:mm:ss", - "pattern": "Time", - "type": "date" - }, - { - "colorMode": "row", - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "decimals": 1, - "pattern": "/.*/", - "thresholds": [ - "0.5", - "1" - ], - "type": "number", - "unit": "short" - } - ], - "targets": [ - { - "alias": "$tag_health_check_name", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "health_check_name" - ], - "type": "tag" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.health__results", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "timeFrom": null, - "title": "Results", - "transform": "timeseries_aggregations", - "transparent": true, - "type": "table" - }, - { - "cacheTimeout": null, - "colorBackground": true, - "colorValue": false, - "colors": [ - "rgba(245, 54, 54, 0.9)", - "rgba(237, 129, 40, 0.89)", - "rgba(50, 172, 45, 0.97)" - ], - "datasource": "$datasource", - "editable": true, - "error": false, - "format": "none", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "hideTimeOverride": true, - "id": 19, - "interval": null, - "links": [ - { - "type": "dashboard" - } - ], - "mappingType": 2, - "mappingTypes": [ - { - "name": "value to text", - "value": 1 - }, - { - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "postfix": "", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "0", - "text": "Unhealthy", - "to": "0.49" - }, - { - "from": "0.5", - "text": "Degraded", - "to": "0.9" - }, - { - "from": "1.0", - "text": "Healthy", - "to": "2.0" - } - ], - "span": 3, - "sparkline": { - "fillColor": "rgba(31, 118, 189, 0.18)", - "full": false, - "lineColor": "rgb(31, 120, 193)", - "show": false - }, - "targets": [ - { - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.health__score", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "value" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - } - ] - ], - "tags": [ - { - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": "0.5,1", - "timeFrom": null, - "title": "", - "transparent": true, - "type": "singlestat", - "valueFontSize": "80%", - "valueMaps": [ - { - "op": "=", - "text": "Unhealthy", - "value": "0" - }, - { - "op": "=", - "text": "Degraded", - "value": "0.5" - }, - { - "op": "=", - "text": "Healthy", - "value": "1.0" - } - ], - "valueName": "current" - } - ], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "Health", - "titleSize": "h6" - }, - { - "collapse": false, - "height": "300", - "panels": [ - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "id": 14, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": false, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$col", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__post_size", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "p95" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "95th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p98" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "98th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p99" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "99th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "last" - ], - "type": "field" - }, - { - "params": [], - "type": "median" - }, - { - "params": [ - "median" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Post Request Size", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "decbytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - }, - { - "aliasColors": {}, - "bars": false, - "datasource": "$datasource", - "editable": true, - "error": false, - "fill": 1, - "id": 15, - "interval": "$summarize", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "max": false, - "min": false, - "rightSide": true, - "show": true, - "total": false, - "values": true - }, - "lines": true, - "linewidth": 1, - "links": [], - "nullPointMode": "connected", - "percentage": false, - "pointradius": 5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "span": 6, - "stack": false, - "steppedLine": false, - "targets": [ - { - "alias": "$col", - "dsType": "influxdb", - "groupBy": [ - { - "params": [ - "$interval" - ], - "type": "time" - }, - { - "params": [ - "null" - ], - "type": "fill" - } - ], - "measurement": "application.httprequests__put_size", - "policy": "default", - "refId": "A", - "resultFormat": "time_series", - "select": [ - [ - { - "params": [ - "p95" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "95th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p98" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "98th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "p99" - ], - "type": "field" - }, - { - "params": [], - "type": "last" - }, - { - "params": [ - "99th percentile" - ], - "type": "alias" - } - ], - [ - { - "params": [ - "median" - ], - "type": "field" - }, - { - "params": [], - "type": "median" - }, - { - "params": [ - "median" - ], - "type": "alias" - } - ] - ], - "tags": [ - { - "key": "app", - "operator": "=~", - "value": "/^$application$/" - }, - { - "condition": "AND", - "key": "env", - "operator": "=~", - "value": "/^$environment$/" - }, - { - "condition": "AND", - "key": "server", - "operator": "=~", - "value": "/^$server$/" - } - ] - } - ], - "thresholds": [], - "timeFrom": null, - "timeShift": null, - "title": "Put Request Size", - "tooltip": { - "msResolution": false, - "shared": true, - "sort": 0, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "format": "bytes", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ] - } - ], - "repeat": null, - "repeatIteration": null, - "repeatRowId": null, - "showTitle": true, - "title": "PUT & POST Request Size", - "titleSize": "h6" - } - ], - "schemaVersion": 14, - "style": "dark", - "tags": [ - "influxdb" - ], - "templating": { - "list": [ - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "environment", - "options": [], - "query": "SHOW TAG VALUES WITH KEY = \"env\"", - "refresh": 1, - "regex": "", - "sort": 1, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": false, - "label": null, - "multi": false, - "name": "application", - "options": [], - "query": "SHOW TAG VALUES WITH KEY = \"app\"", - "refresh": 1, - "regex": "", - "sort": 1, - "tagValuesQuery": null, - "tags": [], - "tagsQuery": null, - "type": "query", - "useTags": false - }, - { - "current": { - "text": "AyaNovaMetrics", - "value": "AyaNovaMetrics" - }, - "hide": 0, - "label": null, - "name": "datasource", - "options": [], - "query": "influxdb", - "refresh": 1, - "regex": "", - "type": "datasource" - }, - { - "auto": false, - "auto_count": 30, - "auto_min": "10s", - "current": { - "text": "5s", - "value": "5s" - }, - "hide": 0, - "label": null, - "name": "summarize", - "options": [ - { - "selected": true, - "text": "5s", - "value": "5s" - }, - { - "selected": false, - "text": "10s", - "value": "10s" - }, - { - "selected": false, - "text": "30s", - "value": "30s" - }, - { - "selected": false, - "text": "1m", - "value": "1m" - }, - { - "selected": false, - "text": "10m", - "value": "10m" - }, - { - "selected": false, - "text": "30m", - "value": "30m" - }, - { - "selected": false, - "text": "1h", - "value": "1h" - }, - { - "selected": false, - "text": "6h", - "value": "6h" - }, - { - "selected": false, - "text": "12h", - "value": "12h" - }, - { - "selected": false, - "text": "1d", - "value": "1d" - }, - { - "selected": false, - "text": "7d", - "value": "7d" - }, - { - "selected": false, - "text": "14d", - "value": "14d" - }, - { - "selected": false, - "text": "30d", - "value": "30d" - } - ], - "query": "5s,10s,30s,1m,10m,30m,1h,6h,12h,1d,7d,14d,30d", - "refresh": 2, - "type": "interval" - }, - { - "allValue": null, - "current": {}, - "datasource": "$datasource", - "hide": 0, - "includeAll": true, - "label": null, - "multi": true, - "name": "server", - "options": [], - "query": "SHOW TAG VALUES WITH KEY = \"server\"", - "refresh": 1, - "regex": "", - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - } - ] - }, - "time": { - "from": "now-5m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "5s", - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] - }, - "timezone": "browser", - "title": "AyaNova metrics", - "version": 2 -} \ No newline at end of file diff --git a/dist/install/windows/ayanovaserver.iss b/dist/install/windows/ayanovaserver.iss new file mode 100644 index 00000000..96062fbf --- /dev/null +++ b/dist/install/windows/ayanovaserver.iss @@ -0,0 +1,53 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "AyaNova server" +#define MyAppVersion "8.0" +#define MyAppPublisher "Ground Zero Tech-Works, Inc." +#define MyAppURL "https://ayanova.com/" +#define MyAppExeName "AyaNova.exe" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{B2BB79DB-0690-497C-B92B-955F7B468429} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +;AppVerName={#MyAppName} {#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={autopf}\ayanova-server +DisableProgramGroupPage=yes +LicenseFile=C:\data\code\raven\dist\assets\license.rtf +; Uncomment the following line to run in non administrative install mode (install for current user only.) +;PrivilegesRequired=lowest +OutputDir=C:\data\code\raven\dist\install\windows\output +OutputBaseFilename=ayanovasetup +SetupIconFile=C:\data\code\raven\dist\assets\ayanova.ico +Compression=lzma +SolidCompression=yes +WizardStyle=modern + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" +Name: "french"; MessagesFile: "compiler:Languages\French.isl" +Name: "german"; MessagesFile: "compiler:Languages\German.isl" +Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "C:\data\code\raven\dist\win-x64\ayanova\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion +Source: "C:\data\code\raven\dist\win-x64\ayanova\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent +