Compare commits
16 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 281b56d287 | |||
| cbd23e334b | |||
| 7a0b9c9e0d | |||
| 44b3d982dd | |||
| 892e9685f3 | |||
| 7ba7b6efda | |||
| 453069deec | |||
| de5f2c3324 | |||
| d486f14433 | |||
| cb47dd7185 | |||
| 6ae4d233cd | |||
| f8bb185854 | |||
| 1da07caaa6 | |||
| fe96c27732 | |||
| 7287775cca | |||
| 28ac3ac7ec |
@@ -37,4 +37,6 @@ ghcr.io/analogj/scrutiny:master-omnibus
|
|||||||
docker exec scrutiny scrutiny-collector-metrics run
|
docker exec scrutiny scrutiny-collector-metrics run
|
||||||
```
|
```
|
||||||
|
|
||||||
The log files will be available on your host in the `config` directory. Please attach them to this issue.
|
The log files will be available on your host in the `config` directory. Please attach them to this issue.
|
||||||
|
|
||||||
|
Please also provide the output of `docker info`
|
||||||
@@ -83,8 +83,7 @@ jobs:
|
|||||||
options: -v ${{ github.workspace }}:/work
|
options: -v ${{ github.workspace }}:/work
|
||||||
run: |
|
run: |
|
||||||
cd /work
|
cd /work
|
||||||
make frontend
|
make frontend && echo "print contents of /work/dist" && ls -alt /work/dist
|
||||||
ls -alt /work
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
@@ -144,8 +143,8 @@ jobs:
|
|||||||
options: -v ${{ github.workspace }}:/work
|
options: -v ${{ github.workspace }}:/work
|
||||||
run: |
|
run: |
|
||||||
cd /work
|
cd /work
|
||||||
make frontend
|
make frontend && echo "print contents of /work/dist" && ls -alt /work/dist
|
||||||
ls -alt /work
|
|
||||||
|
|
||||||
- name: Set up QEMU
|
- name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v2
|
uses: docker/setup-qemu-action@v2
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ frontend:
|
|||||||
cd webapp/frontend
|
cd webapp/frontend
|
||||||
npm install -g @angular/cli@9.1.4
|
npm install -g @angular/cli@9.1.4
|
||||||
mkdir -p $(CURDIR)/dist
|
mkdir -p $(CURDIR)/dist
|
||||||
npm install
|
npm ci
|
||||||
npm run build:prod -- --output-path=$(CURDIR)/dist
|
npm run build:prod -- --output-path=$(CURDIR)/dist
|
||||||
|
|
||||||
# clean:
|
# clean:
|
||||||
|
|||||||
+6
-7
@@ -1,17 +1,17 @@
|
|||||||
########
|
########
|
||||||
FROM golang:1.17.10-buster as backendbuild
|
FROM golang:1.17-bullseye as backendbuild
|
||||||
|
|
||||||
WORKDIR /go/src/github.com/analogj/scrutiny
|
WORKDIR /go/src/github.com/analogj/scrutiny
|
||||||
|
|
||||||
COPY . /go/src/github.com/analogj/scrutiny
|
COPY . /go/src/github.com/analogj/scrutiny
|
||||||
|
|
||||||
RUN go mod vendor && \
|
RUN go mod vendor && \
|
||||||
go build -ldflags '-w -extldflags "-static"' -o scrutiny webapp/backend/cmd/scrutiny/scrutiny.go && \
|
go build -o scrutiny webapp/backend/cmd/scrutiny/scrutiny.go && \
|
||||||
go build -ldflags '-w -extldflags "-static"' -o scrutiny-collector-selftest collector/cmd/collector-selftest/collector-selftest.go && \
|
go build -o scrutiny-collector-selftest collector/cmd/collector-selftest/collector-selftest.go && \
|
||||||
go build -ldflags '-w -extldflags "-static"' -o scrutiny-collector-metrics collector/cmd/collector-metrics/collector-metrics.go
|
go build -o scrutiny-collector-metrics collector/cmd/collector-metrics/collector-metrics.go
|
||||||
|
|
||||||
########
|
########
|
||||||
FROM ubuntu:latest as runtime
|
FROM debian:bullseye-slim as runtime
|
||||||
ARG TARGETARCH
|
ARG TARGETARCH
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
WORKDIR /opt/scrutiny
|
WORKDIR /opt/scrutiny
|
||||||
@@ -25,8 +25,7 @@ RUN apt-get update && apt-get install -y cron smartmontools ca-certificates curl
|
|||||||
"arm64") S6_ARCH=aarch64 ;; \
|
"arm64") S6_ARCH=aarch64 ;; \
|
||||||
esac \
|
esac \
|
||||||
&& curl https://github.com/just-containers/s6-overlay/releases/download/v1.21.8.0/s6-overlay-${S6_ARCH}.tar.gz -L -s --output /tmp/s6-overlay-${S6_ARCH}.tar.gz \
|
&& curl https://github.com/just-containers/s6-overlay/releases/download/v1.21.8.0/s6-overlay-${S6_ARCH}.tar.gz -L -s --output /tmp/s6-overlay-${S6_ARCH}.tar.gz \
|
||||||
&& tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C / --exclude="./bin" \
|
&& tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C / \
|
||||||
&& tar xzf /tmp/s6-overlay-${S6_ARCH}.tar.gz -C /usr ./bin \
|
|
||||||
&& rm -rf /tmp/s6-overlay-${S6_ARCH}.tar.gz \
|
&& rm -rf /tmp/s6-overlay-${S6_ARCH}.tar.gz \
|
||||||
&& curl -L https://dl.influxdata.com/influxdb/releases/influxdb2-2.2.0-${TARGETARCH}.deb --output /tmp/influxdb2-2.2.0-${TARGETARCH}.deb \
|
&& curl -L https://dl.influxdata.com/influxdb/releases/influxdb2-2.2.0-${TARGETARCH}.deb --output /tmp/influxdb2-2.2.0-${TARGETARCH}.deb \
|
||||||
&& dpkg -i --force-all /tmp/influxdb2-2.2.0-${TARGETARCH}.deb
|
&& dpkg -i --force-all /tmp/influxdb2-2.2.0-${TARGETARCH}.deb
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
########
|
########
|
||||||
FROM golang:1.17.10-buster as backendbuild
|
FROM golang:1.17-bullseye as backendbuild
|
||||||
|
|
||||||
WORKDIR /go/src/github.com/analogj/scrutiny
|
WORKDIR /go/src/github.com/analogj/scrutiny
|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ RUN go mod vendor && \
|
|||||||
go build -ldflags '-w -extldflags "-static"' -o scrutiny-collector-metrics collector/cmd/collector-metrics/collector-metrics.go
|
go build -ldflags '-w -extldflags "-static"' -o scrutiny-collector-metrics collector/cmd/collector-metrics/collector-metrics.go
|
||||||
|
|
||||||
########
|
########
|
||||||
FROM ubuntu:latest as runtime
|
FROM debian:bullseye-slim as runtime
|
||||||
WORKDIR /scrutiny
|
WORKDIR /scrutiny
|
||||||
ENV PATH="/opt/scrutiny/bin:${PATH}"
|
ENV PATH="/opt/scrutiny/bin:${PATH}"
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
########
|
########
|
||||||
FROM golang:1.17.10-buster as backendbuild
|
FROM golang:1.17-bullseye as backendbuild
|
||||||
|
|
||||||
WORKDIR /go/src/github.com/analogj/scrutiny
|
WORKDIR /go/src/github.com/analogj/scrutiny
|
||||||
|
|
||||||
COPY . /go/src/github.com/analogj/scrutiny
|
COPY . /go/src/github.com/analogj/scrutiny
|
||||||
|
|
||||||
RUN go mod vendor && \
|
RUN go mod vendor && \
|
||||||
go build -ldflags '-w -extldflags "-static"' -o scrutiny webapp/backend/cmd/scrutiny/scrutiny.go
|
go build -o scrutiny webapp/backend/cmd/scrutiny/scrutiny.go
|
||||||
|
|
||||||
########
|
########
|
||||||
FROM ubuntu:latest as runtime
|
FROM debian:bullseye-slim as runtime
|
||||||
EXPOSE 8080
|
EXPOSE 8080
|
||||||
WORKDIR /opt/scrutiny
|
WORKDIR /opt/scrutiny
|
||||||
ENV PATH="/opt/scrutiny/bin:${PATH}"
|
ENV PATH="/opt/scrutiny/bin:${PATH}"
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Docker Images `master-omnibus` vs `latest`
|
||||||
|
|
||||||
|
> TL;DR; The `master-omnibus` and `latest` tags are almost semantically identical, as I follow a `golden master`
|
||||||
|
development process. However if you want to ensure you're only using the latest release, you can change to `latest`
|
||||||
|
|
||||||
|
The CI script used to orchestrate the docker image builds can be found here: https://github.com/AnalogJ/scrutiny/blob/master/.github/workflows/docker-build.yaml#L166-L184
|
||||||
|
|
||||||
|
In general Scrutiny follows a `golden master` development process, which means that the `master` branch is not directly updated (unless its for documentation changes),
|
||||||
|
instead development is done in a feature branch, or committed to the `beta` branch.
|
||||||
|
|
||||||
|
As development progresses, and we're satisfied that a feature is complete, and the quality is acceptable,
|
||||||
|
I merge the changes to `master` and trigger the creation of a new release -- ie, when master is updated, a new release
|
||||||
|
is almost immediately created (and tagged with `latest`)
|
||||||
|
|
||||||
|
So changing from `master-omnibus -> latest` will be the same thing for all intents and purposes.
|
||||||
|
|
||||||
|
Having said that -- the one key difference is the `automated cron builds` that run on the `master` and `beta` branches.
|
||||||
|
They trigger a `nightly` build, even if nothing has changed on the branch. This has a couple of benefits, but one is to
|
||||||
|
ensure that there's no broken external dependencies in our (unchanged) code.
|
||||||
|
|
||||||
|
However, as everyone unfortunately found out recently, I had an error in my CI script, which caused failures to be
|
||||||
|
ignored -- https://github.com/AnalogJ/scrutiny/issues/287. That has since been fixed.
|
||||||
|
|
||||||
|
Hope that gives you an understanding for how everything is wired up.
|
||||||
|
|
||||||
@@ -2,4 +2,4 @@ package version
|
|||||||
|
|
||||||
// VERSION is the app-global version string, which will be replaced with a
|
// VERSION is the app-global version string, which will be replaced with a
|
||||||
// new value during packaging
|
// new value during packaging
|
||||||
const VERSION = "0.4.9"
|
const VERSION = "0.4.11"
|
||||||
|
|||||||
Generated
+20
-20
@@ -29,13 +29,13 @@
|
|||||||
"@fullcalendar/rrule": "4.4.0",
|
"@fullcalendar/rrule": "4.4.0",
|
||||||
"@fullcalendar/timegrid": "4.4.0",
|
"@fullcalendar/timegrid": "4.4.0",
|
||||||
"@types/humanize-duration": "^3.18.1",
|
"@types/humanize-duration": "^3.18.1",
|
||||||
"apexcharts": "3.19.0",
|
"apexcharts": "3.19.2",
|
||||||
"crypto-js": "3.3.0",
|
"crypto-js": "3.3.0",
|
||||||
"highlight.js": "10.0.1",
|
"highlight.js": "10.0.1",
|
||||||
"humanize-duration": "^3.24.0",
|
"humanize-duration": "^3.24.0",
|
||||||
"lodash": "4.17.15",
|
"lodash": "4.17.15",
|
||||||
"moment": "2.24.0",
|
"moment": "2.24.0",
|
||||||
"ng-apexcharts": "1.2.3",
|
"ng-apexcharts": "1.5.12",
|
||||||
"ngx-markdown": "9.0.0",
|
"ngx-markdown": "9.0.0",
|
||||||
"ngx-quill": "9.1.0",
|
"ngx-quill": "9.1.0",
|
||||||
"perfect-scrollbar": "1.5.0",
|
"perfect-scrollbar": "1.5.0",
|
||||||
@@ -2964,9 +2964,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/apexcharts": {
|
"node_modules/apexcharts": {
|
||||||
"version": "3.19.0",
|
"version": "3.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.19.2.tgz",
|
||||||
"integrity": "sha512-fzupCGVDvOoU6kEzguLAfgRgrlHynHM5fnkkyCL85tYf9U8bw1hCijs4A+kWXurC/SNytJrArBc21kA/2wuHYg==",
|
"integrity": "sha512-hMFLRE2Lyx4WrN9pYfQLvBDcn+HOodZrqRwc+kucxM+hcUmI2NHY4z+GI14+VcSFmD4aKiMbS3z3Q2jiBxUrcg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"svg.draggable.js": "^2.2.2",
|
"svg.draggable.js": "^2.2.2",
|
||||||
"svg.easing.js": "^2.0.0",
|
"svg.easing.js": "^2.0.0",
|
||||||
@@ -9958,17 +9958,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/ng-apexcharts": {
|
"node_modules/ng-apexcharts": {
|
||||||
"version": "1.2.3",
|
"version": "1.5.12",
|
||||||
"resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.5.12.tgz",
|
||||||
"integrity": "sha512-4G+JRCWp8uSSBJKvYP9vKHEZIC0w6YuRLasumZS35fCCc7bzLY+L907n8khG9Xeoo4LBt7pVbmjb9P+lSWs/5g==",
|
"integrity": "sha512-k82AdWNbZs5yqGCjiX7PGS11Cy1+1Oo/RGt2lT89xReD9N9Vvo1t34p1dmzS+U6W5wOFlLEKKVLGNQqENW8cTQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.10.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@angular/common": "^8.0.0",
|
"@angular/common": ">=9.0.0 <13.0.0",
|
||||||
"@angular/core": "^8.0.0",
|
"@angular/core": ">=9.0.0 <13.0.0",
|
||||||
"apexcharts": "^3.11.2",
|
"apexcharts": "^3.19.2",
|
||||||
"rxjs": "^6.4.0"
|
"rxjs": "^6.5.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ngx-markdown": {
|
"node_modules/ngx-markdown": {
|
||||||
@@ -20708,9 +20708,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"apexcharts": {
|
"apexcharts": {
|
||||||
"version": "3.19.0",
|
"version": "3.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.19.2.tgz",
|
||||||
"integrity": "sha512-fzupCGVDvOoU6kEzguLAfgRgrlHynHM5fnkkyCL85tYf9U8bw1hCijs4A+kWXurC/SNytJrArBc21kA/2wuHYg==",
|
"integrity": "sha512-hMFLRE2Lyx4WrN9pYfQLvBDcn+HOodZrqRwc+kucxM+hcUmI2NHY4z+GI14+VcSFmD4aKiMbS3z3Q2jiBxUrcg==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"svg.draggable.js": "^2.2.2",
|
"svg.draggable.js": "^2.2.2",
|
||||||
"svg.easing.js": "^2.0.0",
|
"svg.easing.js": "^2.0.0",
|
||||||
@@ -26486,11 +26486,11 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"ng-apexcharts": {
|
"ng-apexcharts": {
|
||||||
"version": "1.2.3",
|
"version": "1.5.12",
|
||||||
"resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.2.3.tgz",
|
"resolved": "https://registry.npmjs.org/ng-apexcharts/-/ng-apexcharts-1.5.12.tgz",
|
||||||
"integrity": "sha512-4G+JRCWp8uSSBJKvYP9vKHEZIC0w6YuRLasumZS35fCCc7bzLY+L907n8khG9Xeoo4LBt7pVbmjb9P+lSWs/5g==",
|
"integrity": "sha512-k82AdWNbZs5yqGCjiX7PGS11Cy1+1Oo/RGt2lT89xReD9N9Vvo1t34p1dmzS+U6W5wOFlLEKKVLGNQqENW8cTQ==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"tslib": "^1.9.0"
|
"tslib": "^1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ngx-markdown": {
|
"ngx-markdown": {
|
||||||
|
|||||||
@@ -40,13 +40,13 @@
|
|||||||
"@fullcalendar/rrule": "4.4.0",
|
"@fullcalendar/rrule": "4.4.0",
|
||||||
"@fullcalendar/timegrid": "4.4.0",
|
"@fullcalendar/timegrid": "4.4.0",
|
||||||
"@types/humanize-duration": "^3.18.1",
|
"@types/humanize-duration": "^3.18.1",
|
||||||
"apexcharts": "3.19.0",
|
"apexcharts": "3.19.2",
|
||||||
"crypto-js": "3.3.0",
|
"crypto-js": "3.3.0",
|
||||||
"highlight.js": "10.0.1",
|
"highlight.js": "10.0.1",
|
||||||
"humanize-duration": "^3.24.0",
|
"humanize-duration": "^3.24.0",
|
||||||
"lodash": "4.17.15",
|
"lodash": "4.17.15",
|
||||||
"moment": "2.24.0",
|
"moment": "2.24.0",
|
||||||
"ng-apexcharts": "1.2.3",
|
"ng-apexcharts": "1.5.12",
|
||||||
"ngx-markdown": "9.0.0",
|
"ngx-markdown": "9.0.0",
|
||||||
"ngx-quill": "9.1.0",
|
"ngx-quill": "9.1.0",
|
||||||
"perfect-scrollbar": "1.5.0",
|
"perfect-scrollbar": "1.5.0",
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export class TreoConfigService
|
|||||||
if (localConfigStr){
|
if (localConfigStr){
|
||||||
//check localstorage for a value
|
//check localstorage for a value
|
||||||
let localConfig = JSON.parse(localConfigStr)
|
let localConfig = JSON.parse(localConfigStr)
|
||||||
currentScrutinyConfig = Object.assign({}, localConfig, currentScrutinyConfig) // make sure defaults are available if missing from localStorage.
|
currentScrutinyConfig = Object.assign({}, currentScrutinyConfig, localConfig) // make sure defaults are available if missing from localStorage.
|
||||||
}
|
}
|
||||||
// Set the private defaults
|
// Set the private defaults
|
||||||
this._config = new BehaviorSubject(currentScrutinyConfig);
|
this._config = new BehaviorSubject(currentScrutinyConfig);
|
||||||
|
|||||||
@@ -5,14 +5,20 @@
|
|||||||
// modifications of third party libraries.
|
// modifications of third party libraries.
|
||||||
// -----------------------------------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
.treo-theme-dark .yellow-50 {
|
.treo-theme-dark {
|
||||||
background-color: #242b38 !important;
|
.yellow-50 {
|
||||||
|
background-color: #242b38 !important;
|
||||||
|
|
||||||
.mat-icon {
|
.mat-icon {
|
||||||
color: #0694a2 !important;
|
color: #0694a2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-secondary {
|
||||||
|
color: #0694a2 !important
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
.apexcharts-tooltip {
|
||||||
.text-secondary {
|
background: #242b38 !important;
|
||||||
color: #0694a2 !important
|
//color: orange;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user