diff --git a/.dockerignore b/.dockerignore index 621d0c906c..cd8be2fc86 100644 --- a/.dockerignore +++ b/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/.github/skipped-workflows/admin-dashboard-audit.yaml b/.github/skipped-workflows/admin-dashboard-audit.yaml index 5c2eb4f159..63cb46a9b3 100644 --- a/.github/skipped-workflows/admin-dashboard-audit.yaml +++ b/.github/skipped-workflows/admin-dashboard-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd admin-dashboard + cd AdminDashboard npm install npm run audit diff --git a/.github/skipped-workflows/api-docs-audit.yaml b/.github/skipped-workflows/api-docs-audit.yaml index 726579f010..14604ceb91 100644 --- a/.github/skipped-workflows/api-docs-audit.yaml +++ b/.github/skipped-workflows/api-docs-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd api-docs + cd ApiDocs npm install npm run audit diff --git a/.github/skipped-workflows/application-scanner-audit.yaml b/.github/skipped-workflows/application-scanner-audit.yaml index 773ebb75cb..248a6d900a 100644 --- a/.github/skipped-workflows/application-scanner-audit.yaml +++ b/.github/skipped-workflows/application-scanner-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd application-scanner + cd ApplicationScanner npm install npm run audit diff --git a/.github/skipped-workflows/common-server-audit.yaml b/.github/skipped-workflows/common-server-audit.yaml index 64e3af8fba..7983bddcef 100644 --- a/.github/skipped-workflows/common-server-audit.yaml +++ b/.github/skipped-workflows/common-server-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd common-server + cd CommonServer npm install npm run audit diff --git a/.github/skipped-workflows/common-ui-audit.yaml b/.github/skipped-workflows/common-ui-audit.yaml index 2b2e664347..55d88be9a8 100644 --- a/.github/skipped-workflows/common-ui-audit.yaml +++ b/.github/skipped-workflows/common-ui-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd common-ui + cd CommonUI npm install npm run audit diff --git a/.github/skipped-workflows/container-scanner-audit.yaml b/.github/skipped-workflows/container-scanner-audit.yaml index ffb87ef4d5..6838c1dcfe 100644 --- a/.github/skipped-workflows/container-scanner-audit.yaml +++ b/.github/skipped-workflows/container-scanner-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd container-scanner + cd ContainerScanner npm install npm run audit diff --git a/.github/skipped-workflows/helm-chart-audit.yaml b/.github/skipped-workflows/helm-chart-audit.yaml index b6a479ec48..cd0b1bee94 100644 --- a/.github/skipped-workflows/helm-chart-audit.yaml +++ b/.github/skipped-workflows/helm-chart-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd helm-chart + cd HelmChart npm install npm run audit diff --git a/.github/skipped-workflows/http-test-server-audit.yaml b/.github/skipped-workflows/http-test-server-audit.yaml index 299d114d02..654918a842 100644 --- a/.github/skipped-workflows/http-test-server-audit.yaml +++ b/.github/skipped-workflows/http-test-server-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd http-test-server + cd HttpTestServer npm install npm run audit diff --git a/.github/skipped-workflows/init-script-audit.yaml b/.github/skipped-workflows/init-script-audit.yaml index 8bcf4cff05..b40184e6da 100644 --- a/.github/skipped-workflows/init-script-audit.yaml +++ b/.github/skipped-workflows/init-script-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd init-script + cd InitScript npm install npm run audit diff --git a/.github/skipped-workflows/js-sdk-audit.yaml b/.github/skipped-workflows/js-sdk-audit.yaml index 90bde8eff0..b5f6093649 100644 --- a/.github/skipped-workflows/js-sdk-audit.yaml +++ b/.github/skipped-workflows/js-sdk-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd js-sdk + cd JavaScriptSDK npm install npm run audit diff --git a/.github/skipped-workflows/lighthousr-runner-audit.yaml b/.github/skipped-workflows/lighthousr-runner-audit.yaml index 6806471027..9e42a27758 100644 --- a/.github/skipped-workflows/lighthousr-runner-audit.yaml +++ b/.github/skipped-workflows/lighthousr-runner-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd lighthouse-runner + cd LighthouseRunner npm install npm run audit diff --git a/.github/skipped-workflows/probe-api-audit.yaml b/.github/skipped-workflows/probe-api-audit.yaml index 0f39de4fb2..d6512d23ca 100644 --- a/.github/skipped-workflows/probe-api-audit.yaml +++ b/.github/skipped-workflows/probe-api-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd probe-api + cd ProbeAPI npm install npm run audit diff --git a/.github/skipped-workflows/script-runner-audit.yaml b/.github/skipped-workflows/script-runner-audit.yaml index 52f00b5e5b..4c2dae7c98 100644 --- a/.github/skipped-workflows/script-runner-audit.yaml +++ b/.github/skipped-workflows/script-runner-audit.yaml @@ -15,7 +15,7 @@ jobs: check-latest: true - name: Run audit run: |- - cd script-runner + cd ScriptRunner npm install npm run audit diff --git a/.github/workflows/admin-dashboard-production-deploy.yaml b/.github/workflows/admin-dashboard-production-deploy.yaml index 0ab8f34f1f..02f0311381 100644 --- a/.github/workflows/admin-dashboard-production-deploy.yaml +++ b/.github/workflows/admin-dashboard-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy admin-dashboard. + # Build and deploy AdminDashboard. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/admin-dashboard:4.0.$CI_PIPELINE_ID --push -f ./admin-dashboard/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/admin-dashboard:latest --push -f ./admin-dashboard/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/AdminDashboard:4.0.$CI_PIPELINE_ID --push -f ./AdminDashboard/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/AdminDashboard:latest --push -f ./AdminDashboard/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/admin-dashboard:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/AdminDashboard:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/admin-dashboard-staging-deploy.yaml b/.github/workflows/admin-dashboard-staging-deploy.yaml index 3cc56d7982..9747aa0c78 100644 --- a/.github/workflows/admin-dashboard-staging-deploy.yaml +++ b/.github/workflows/admin-dashboard-staging-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy admin-dashboard. + # Build and deploy AdminDashboard. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/admin-dashboard:4.0.$CI_PIPELINE_ID-staging --push -f ./admin-dashboard/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/admin-dashboard:staging --push -f ./admin-dashboard/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/AdminDashboard:4.0.$CI_PIPELINE_ID-staging --push -f ./AdminDashboard/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/AdminDashboard:staging --push -f ./AdminDashboard/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/admin-dashboard:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/AdminDashboard:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/api-docs-production-deploy.yaml b/.github/workflows/api-docs-production-deploy.yaml index 22909b0137..cc5eaa598b 100644 --- a/.github/workflows/api-docs-production-deploy.yaml +++ b/.github/workflows/api-docs-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy api-docs. + # Build and deploy ApiDocs. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/api-docs:4.0.$CI_PIPELINE_ID --push -f ./api-docs/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/api-docs:latest --push -f ./api-docs/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApiDocs:4.0.$CI_PIPELINE_ID --push -f ./ApiDocs/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApiDocs:latest --push -f ./ApiDocs/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-api-docs fi-api-docs=oneuptime/api-docs:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-ApiDocs fi-ApiDocs=oneuptime/ApiDocs:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/api-docs-staging-deploy.yaml b/.github/workflows/api-docs-staging-deploy.yaml index 8ef69f2ff2..7599d191a5 100644 --- a/.github/workflows/api-docs-staging-deploy.yaml +++ b/.github/workflows/api-docs-staging-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy api-docs. + # Build and deploy ApiDocs. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/api-docs:4.0.$CI_PIPELINE_ID-staging --push -f ./api-docs/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/api-docs:staging --push -f ./api-docs/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApiDocs:4.0.$CI_PIPELINE_ID-staging --push -f ./ApiDocs/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApiDocs:staging --push -f ./ApiDocs/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/api-docs:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-admin fi-admin=oneuptime/ApiDocs:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/application-scanner-production-deploy.yaml b/.github/workflows/application-scanner-production-deploy.yaml index 8d9280f0fb..232b5e1807 100644 --- a/.github/workflows/application-scanner-production-deploy.yaml +++ b/.github/workflows/application-scanner-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy application-scanner. + # Build and deploy ApplicationScanner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/application-scanner:4.0.$CI_PIPELINE_ID --push -f ./application-scanner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/application-scanner:latest --push -f ./application-scanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApplicationScanner:4.0.$CI_PIPELINE_ID --push -f ./ApplicationScanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApplicationScanner:latest --push -f ./ApplicationScanner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-app-scan fi-app-scan=oneuptime/application-scanner:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-app-scan fi-app-scan=oneuptime/ApplicationScanner:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/application-scanner-staging-deploy.yaml b/.github/workflows/application-scanner-staging-deploy.yaml index 6a37d93620..329b5c6c18 100644 --- a/.github/workflows/application-scanner-staging-deploy.yaml +++ b/.github/workflows/application-scanner-staging-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy application-scanner. + # Build and deploy ApplicationScanner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/application-scanner:4.0.$CI_PIPELINE_ID-staging --push -f ./application-scanner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/application-scanner:staging --push -f ./application-scanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApplicationScanner:4.0.$CI_PIPELINE_ID-staging --push -f ./ApplicationScanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ApplicationScanner:staging --push -f ./ApplicationScanner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-app-scan fi-app-scan=oneuptime/application-scanner:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-app-scan fi-app-scan=oneuptime/ApplicationScanner:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/container-scanner-production-deploy.yaml b/.github/workflows/container-scanner-production-deploy.yaml index 161480b39d..8eaca7dcde 100644 --- a/.github/workflows/container-scanner-production-deploy.yaml +++ b/.github/workflows/container-scanner-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy container-scanner. + # Build and deploy ContainerScanner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/container-scanner:4.0.$CI_PIPELINE_ID --push -f ./container-scanner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/container-scanner:latest --push -f ./container-scanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ContainerScanner:4.0.$CI_PIPELINE_ID --push -f ./ContainerScanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ContainerScanner:latest --push -f ./ContainerScanner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-cont-scan fi-cont-scan=oneuptime/container-scanner:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-cont-scan fi-cont-scan=oneuptime/ContainerScanner:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/container-scanner-staging-deploy.yaml b/.github/workflows/container-scanner-staging-deploy.yaml index 21034d1971..4a233f068e 100644 --- a/.github/workflows/container-scanner-staging-deploy.yaml +++ b/.github/workflows/container-scanner-staging-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy container-scanner. + # Build and deploy ContainerScanner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/container-scanner:4.0.$CI_PIPELINE_ID-staging --push -f ./container-scanner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/container-scanner:staging --push -f ./container-scanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ContainerScanner:4.0.$CI_PIPELINE_ID-staging --push -f ./ContainerScanner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ContainerScanner:staging --push -f ./ContainerScanner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-cont-scan fi-cont-scan=oneuptime/container-scanner:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-cont-scan fi-cont-scan=oneuptime/ContainerScanner:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/helm-chart-production-deploy.yaml b/.github/workflows/helm-chart-production-deploy.yaml index 0c391941d0..d66f13b9c1 100644 --- a/.github/workflows/helm-chart-production-deploy.yaml +++ b/.github/workflows/helm-chart-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy helm-chart. + # Build and deploy HelmChart. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/helm-chart:4.0.$CI_PIPELINE_ID --push -f ./helm-chart/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/helm-chart:latest --push -f ./helm-chart/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HelmChart:4.0.$CI_PIPELINE_ID --push -f ./HelmChart/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HelmChart:latest --push -f ./HelmChart/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-helm-chart fi-helm-chart=oneuptime/helm-chart:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-HelmChart fi-HelmChart=oneuptime/HelmChart:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/helm-chart-staging-deploy.yaml b/.github/workflows/helm-chart-staging-deploy.yaml index d8d90a6afc..7eab359423 100644 --- a/.github/workflows/helm-chart-staging-deploy.yaml +++ b/.github/workflows/helm-chart-staging-deploy.yaml @@ -30,18 +30,18 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy helm-chart. + # Build and deploy HelmChart. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/helm-chart:4.0.$CI_PIPELINE_ID-staging --push -f ./helm-chart/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/helm-chart:staging --push -f ./helm-chart/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HelmChart:4.0.$CI_PIPELINE_ID-staging --push -f ./HelmChart/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HelmChart:staging --push -f ./HelmChart/Dockerfile . - run: sudo kubectl config get-contexts - run: kubectl config get-contexts - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-helm-chart fi-helm-chart=oneuptime/helm-chart:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-HelmChart fi-HelmChart=oneuptime/HelmChart:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/http-test-server-production-deploy.yaml b/.github/workflows/http-test-server-production-deploy.yaml index 5f6b16a9af..6bb29894e5 100644 --- a/.github/workflows/http-test-server-production-deploy.yaml +++ b/.github/workflows/http-test-server-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy http-test-server. + # Build and deploy HttpTestServer. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/http-test-server:4.0.$CI_PIPELINE_ID --push -f ./http-test-server/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/http-test-server:latest --push -f ./http-test-server/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID --push -f ./HttpTestServer/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HttpTestServer:latest --push -f ./HttpTestServer/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-test fi-test=oneuptime/http-test-server:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-test fi-test=oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/http-test-server-staging-deploy.yaml b/.github/workflows/http-test-server-staging-deploy.yaml index 55f09045b4..38fbde3cb9 100644 --- a/.github/workflows/http-test-server-staging-deploy.yaml +++ b/.github/workflows/http-test-server-staging-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy http-test-server. + # Build and deploy HttpTestServer. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/http-test-server:4.0.$CI_PIPELINE_ID-staging --push -f ./http-test-server/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/http-test-server:staging --push -f ./http-test-server/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID-staging --push -f ./HttpTestServer/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/HttpTestServer:staging --push -f ./HttpTestServer/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-test fi-test=oneuptime/http-test-server:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-test fi-test=oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/init-script-production-deploy.yaml b/.github/workflows/init-script-production-deploy.yaml index fbef6a7460..3eda5645fc 100644 --- a/.github/workflows/init-script-production-deploy.yaml +++ b/.github/workflows/init-script-production-deploy.yaml @@ -29,16 +29,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy init-script. + # Build and deploy InitScript. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/init-script:4.0.$CI_PIPELINE_ID --push -f ./init-script/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/init-script:latest --push -f ./init-script/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/InitScript:4.0.$CI_PIPELINE_ID --push -f ./InitScript/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/InitScript:latest --push -f ./InitScript/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-init-script fi-init-script=oneuptime/init-script:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-InitScript fi-InitScript=oneuptime/InitScript:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/init-script-staging-deploy.yaml b/.github/workflows/init-script-staging-deploy.yaml index bd7004105a..760cdc46df 100644 --- a/.github/workflows/init-script-staging-deploy.yaml +++ b/.github/workflows/init-script-staging-deploy.yaml @@ -30,13 +30,13 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy init-script. + # Build and deploy InitScript. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/init-script:4.0.$CI_PIPELINE_ID-staging --push -f ./init-script/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/init-script:staging --push -f ./init-script/Dockerfile . - - run: sudo kubectl delete job fi-init-script || echo "Job not found" - - run: sudo helm upgrade --reuse-values fi ./helm-chart/public/oneuptime + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/InitScript:4.0.$CI_PIPELINE_ID-staging --push -f ./InitScript/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/InitScript:staging --push -f ./InitScript/Dockerfile . + - run: sudo kubectl delete job fi-InitScript || echo "Job not found" + - run: sudo helm upgrade --reuse-values fi ./HelmChart/public/oneuptime # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/js-sdk-production-deploy.yaml b/.github/workflows/js-sdk-production-deploy.yaml index 513cb95fc9..848604a5f7 100644 --- a/.github/workflows/js-sdk-production-deploy.yaml +++ b/.github/workflows/js-sdk-production-deploy.yaml @@ -21,7 +21,7 @@ jobs: NPM_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}} defaults: run: - working-directory: ./js-sdk + working-directory: ./JavaScriptSDK steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 diff --git a/.github/workflows/js-sdk-staging-deploy.yaml b/.github/workflows/js-sdk-staging-deploy.yaml index c7238af61e..7dff2a982f 100644 --- a/.github/workflows/js-sdk-staging-deploy.yaml +++ b/.github/workflows/js-sdk-staging-deploy.yaml @@ -19,7 +19,7 @@ jobs: NPM_AUTH_TOKEN: ${{secrets.NPM_AUTH_TOKEN}} defaults: run: - working-directory: ./js-sdk + working-directory: ./JavaScriptSDK steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 diff --git a/.github/workflows/lighthouse-runner-production-deploy.yaml b/.github/workflows/lighthouse-runner-production-deploy.yaml index 6a8d5ec624..2937be05d4 100644 --- a/.github/workflows/lighthouse-runner-production-deploy.yaml +++ b/.github/workflows/lighthouse-runner-production-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy lighthouse-runner. + # Build and deploy LighthouseRunner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/lighthouse-runner:4.0.$CI_PIPELINE_ID --push -f ./lighthouse-runner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/lighthouse-runner:latest --push -f ./lighthouse-runner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/LighthouseRunner:4.0.$CI_PIPELINE_ID --push -f ./LighthouseRunner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/LighthouseRunner:latest --push -f ./LighthouseRunner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-lighthouse fi-lighthouse=oneuptime/lighthouse-runner:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-lighthouse fi-lighthouse=oneuptime/LighthouseRunner:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/lighthouse-runner-staging-deploy.yaml b/.github/workflows/lighthouse-runner-staging-deploy.yaml index c228daeb48..bc85197c6d 100644 --- a/.github/workflows/lighthouse-runner-staging-deploy.yaml +++ b/.github/workflows/lighthouse-runner-staging-deploy.yaml @@ -31,16 +31,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy lighthouse-runner. + # Build and deploy LighthouseRunner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/lighthouse-runner:4.0.$CI_PIPELINE_ID-staging --push -f ./lighthouse-runner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/lighthouse-runner:staging --push -f ./lighthouse-runner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/LighthouseRunner:4.0.$CI_PIPELINE_ID-staging --push -f ./LighthouseRunner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/LighthouseRunner:staging --push -f ./LighthouseRunner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-lighthouse fi-lighthouse=oneuptime/lighthouse-runner:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-lighthouse fi-lighthouse=oneuptime/LighthouseRunner:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/nginx-production-deploy.yaml b/.github/workflows/nginx-production-deploy.yaml index 6d2421628b..7cf2b8b845 100644 --- a/.github/workflows/nginx-production-deploy.yaml +++ b/.github/workflows/nginx-production-deploy.yaml @@ -29,7 +29,7 @@ jobs: - run: chmod +x ./ci/scripts/version-setup.sh - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy lighthouse-runner. + # Build and deploy LighthouseRunner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/nginx:4.0.$CI_PIPELINE_ID --push -f ./nginx/Dockerfile . diff --git a/.github/workflows/probe-api-production-deploy.yaml b/.github/workflows/probe-api-production-deploy.yaml index c15af7981a..1ea2d266df 100644 --- a/.github/workflows/probe-api-production-deploy.yaml +++ b/.github/workflows/probe-api-production-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy probe-api. + # Build and deploy ProbeAPI. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:4.0.$CI_PIPELINE_ID --push -f ./probe-api/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:latest --push -f ./probe-api/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID --push -f ./ProbeAPI/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:latest --push -f ./ProbeAPI/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-probe-api fi-probe-api=oneuptime/probe-api:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-ProbeAPI fi-ProbeAPI=oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/probe-api-staging-deploy.yaml b/.github/workflows/probe-api-staging-deploy.yaml index 2e69e675ba..cfd64551e6 100644 --- a/.github/workflows/probe-api-staging-deploy.yaml +++ b/.github/workflows/probe-api-staging-deploy.yaml @@ -31,16 +31,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy probe-api. + # Build and deploy ProbeAPI. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:4.0.$CI_PIPELINE_ID-staging --push -f ./probe-api/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:staging --push -f ./probe-api/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID-staging --push -f ./ProbeAPI/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:staging --push -f ./ProbeAPI/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-probe-api fi-probe-api=oneuptime/probe-api:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-ProbeAPI fi-ProbeAPI=oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/script-runner-production-deploy.yaml b/.github/workflows/script-runner-production-deploy.yaml index acc8fe7a98..0eae645090 100644 --- a/.github/workflows/script-runner-production-deploy.yaml +++ b/.github/workflows/script-runner-production-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy script-runner. + # Build and deploy ScriptRunner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/script-runner:4.0.$CI_PIPELINE_ID --push -f ./script-runner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/script-runner:latest --push -f ./script-runner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ScriptRunner:4.0.$CI_PIPELINE_ID --push -f ./ScriptRunner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ScriptRunner:latest --push -f ./ScriptRunner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-script fi-script=oneuptime/script-runner:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-script fi-script=oneuptime/ScriptRunner:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/script-runner-staging-deploy.yaml b/.github/workflows/script-runner-staging-deploy.yaml index 232e9c871b..113a613a30 100644 --- a/.github/workflows/script-runner-staging-deploy.yaml +++ b/.github/workflows/script-runner-staging-deploy.yaml @@ -31,16 +31,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy script-runner. + # Build and deploy ScriptRunner. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/script-runner:4.0.$CI_PIPELINE_ID-staging --push -f ./script-runner/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/script-runner:staging --push -f ./script-runner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ScriptRunner:4.0.$CI_PIPELINE_ID-staging --push -f ./ScriptRunner/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ScriptRunner:staging --push -f ./ScriptRunner/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-script fi-script=oneuptime/script-runner:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-script fi-script=oneuptime/ScriptRunner:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/status-page-production-deploy.yaml b/.github/workflows/status-page-production-deploy.yaml index fc3662f77f..d24cf5f512 100644 --- a/.github/workflows/status-page-production-deploy.yaml +++ b/.github/workflows/status-page-production-deploy.yaml @@ -30,16 +30,16 @@ jobs: - run: ./ci/scripts/version-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy status-page. + # Build and deploy StatusPage. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:4.0.$CI_PIPELINE_ID --push -f ./status-page/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:latest --push -f ./status-page/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:4.0.$CI_PIPELINE_ID --push -f ./StatusPage/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:latest --push -f ./StatusPage/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-status fi-status=oneuptime/status-page:4.0.$CI_PIPELINE_ID + - run: kubectl set image deployment/fi-status fi-status=oneuptime/StatusPage:4.0.$CI_PIPELINE_ID # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.github/workflows/status-page-staging-deploy.yaml b/.github/workflows/status-page-staging-deploy.yaml index 59e604d34a..314fb5d117 100644 --- a/.github/workflows/status-page-staging-deploy.yaml +++ b/.github/workflows/status-page-staging-deploy.yaml @@ -31,16 +31,16 @@ jobs: - run: chmod +x ./ci/scripts/deployment-staging-setup.sh - run: bash ./ci/scripts/deployment-staging-setup.sh - run: sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy status-page. + # Build and deploy StatusPage. - run: sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - run: sudo docker buildx create --use - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:4.0.$CI_PIPELINE_ID-staging --push -f ./status-page/Dockerfile . - - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:staging --push -f ./status-page/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:4.0.$CI_PIPELINE_ID-staging --push -f ./StatusPage/Dockerfile . + - run: sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:staging --push -f ./StatusPage/Dockerfile . - run: chmod +x ./ci/scripts/deployment-setup.sh - run: bash ./ci/scripts/deployment-setup.sh - run: chmod +x ./ci/scripts/deployment-production-setup.sh - run: bash ./ci/scripts/deployment-production-setup.sh - - run: kubectl set image deployment/fi-status fi-status=oneuptime/status-page:4.0.$CI_PIPELINE_ID-staging + - run: kubectl set image deployment/fi-status fi-status=oneuptime/StatusPage:4.0.$CI_PIPELINE_ID-staging # Cleanup - run: chmod +x ./ci/scripts/deployment-cleanup.sh - run: ./ci/scripts/deployment-cleanup.sh diff --git a/.gitignore b/.gitignore index 66c9b38891..a8ee3d36b1 100644 --- a/.gitignore +++ b/.gitignore @@ -56,4 +56,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 360f2650a6..812ec45a91 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,14 +24,14 @@ include: - '/ci/spec/accounts/lighthouse.yaml' # ADMIN DASHBOARD - - '/ci/spec/admin-dashboard/audit.yaml' - - '/ci/spec/admin-dashboard/deploy.yaml' - - '/ci/spec/admin-dashboard/rollback.yaml' + - '/ci/spec/AdminDashboard/audit.yaml' + - '/ci/spec/AdminDashboard/deploy.yaml' + - '/ci/spec/AdminDashboard/rollback.yaml' - # API-DOCS DASHBOARD - - '/ci/spec/api-docs/audit.yaml' - - '/ci/spec/api-docs/deploy.yaml' - - '/ci/spec/api-docs/rollback.yaml' + # ApiDocs DASHBOARD + - '/ci/spec/ApiDocs/audit.yaml' + - '/ci/spec/ApiDocs/deploy.yaml' + - '/ci/spec/ApiDocs/rollback.yaml' # BACKEND - '/ci/spec/backend/audit.yaml' @@ -44,11 +44,11 @@ include: - '/ci/spec/dashboard/deploy.yaml' - '/ci/spec/dashboard/rollback.yaml' - # HELM-CHART - - '/ci/spec/helm-chart/audit.yaml' - - '/ci/spec/helm-chart/build-n-test.yaml' - - '/ci/spec/helm-chart/deploy.yaml' - - '/ci/spec/helm-chart/rollback.yaml' + # HelmChart + - '/ci/spec/HelmChart/audit.yaml' + - '/ci/spec/HelmChart/build-n-test.yaml' + - '/ci/spec/HelmChart/deploy.yaml' + - '/ci/spec/HelmChart/rollback.yaml' # HOME - '/ci/spec/home/audit.yaml' @@ -56,18 +56,18 @@ include: - '/ci/spec/home/rollback.yaml' - '/ci/spec/home/lighthouse.yaml' - # HTTP-TEST-SERVER - - '/ci/spec/http-test-server/audit.yaml' - - '/ci/spec/http-test-server/deploy.yaml' - - '/ci/spec/http-test-server/rollback.yaml' + # HttpTestServer + - '/ci/spec/HttpTestServer/audit.yaml' + - '/ci/spec/HttpTestServer/deploy.yaml' + - '/ci/spec/HttpTestServer/rollback.yaml' - # INIT-SCRIPT - - '/ci/spec/init-script/audit.yaml' - - '/ci/spec/init-script/deploy.yaml' + # InitScript + - '/ci/spec/InitScript/audit.yaml' + - '/ci/spec/InitScript/deploy.yaml' # LIGHTHOUSE RUNNER - - '/ci/spec/lighthouse-runner/audit.yaml' - - '/ci/spec/lighthouse-runner/deploy.yaml' + - '/ci/spec/LighthouseRunner/audit.yaml' + - '/ci/spec/LighthouseRunner/deploy.yaml' # LICENSING - '/ci/spec/licensing/audit.yaml' @@ -80,10 +80,10 @@ include: - '/ci/spec/probe/deploy.yaml' - '/ci/spec/probe/rollback.yaml' - # STATUS-PAGE - - '/ci/spec/status-page/audit.yaml' - - '/ci/spec/status-page/deploy.yaml' - - '/ci/spec/status-page/rollback.yaml' + # StatusPage + - '/ci/spec/StatusPage/audit.yaml' + - '/ci/spec/StatusPage/deploy.yaml' + - '/ci/spec/StatusPage/rollback.yaml' # ZAPIER - '/ci/spec/zapier/audit.yaml' @@ -99,25 +99,25 @@ include: - '/ci/spec/tests/staging.yaml' - '/ci/spec/tests/production.yaml' - # JS-SDK - - '/ci/spec/js-sdk/audit.yaml' - - '/ci/spec/js-sdk/build-n-test.yaml' - - '/ci/spec/js-sdk/deploy.yaml' + # JavaScriptSDK + - '/ci/spec/JavaScriptSDK/audit.yaml' + - '/ci/spec/JavaScriptSDK/build-n-test.yaml' + - '/ci/spec/JavaScriptSDK/deploy.yaml' - # PHP-SDK - - '/ci/spec/php-sdk/audit.yaml' - - '/ci/spec/php-sdk/build-n-test.yaml' - - '/ci/spec/php-sdk/deploy.yaml' + # PhpSDK + - '/ci/spec/PhpSDK/audit.yaml' + - '/ci/spec/PhpSDK/build-n-test.yaml' + - '/ci/spec/PhpSDK/deploy.yaml' - # JAVA-SDK - - '/ci/spec/java-sdk/audit.yaml' - - '/ci/spec/java-sdk/build-n-test.yaml' - - '/ci/spec/java-sdk/deploy.yaml' + # JavaSDK + - '/ci/spec/JavaSDK/audit.yaml' + - '/ci/spec/JavaSDK/build-n-test.yaml' + - '/ci/spec/JavaSDK/deploy.yaml' - # PYTHON-SDK - - '/ci/spec/python-sdk/audit.yaml' - - '/ci/spec/python-sdk/build-n-test.yaml' - - '/ci/spec/python-sdk/deploy.yaml' + # PythonSDK + - '/ci/spec/PythonSDK/audit.yaml' + - '/ci/spec/PythonSDK/build-n-test.yaml' + - '/ci/spec/PythonSDK/deploy.yaml' # RUBY-SDK - '/ci/spec/ruby-sdk/audit.yaml' @@ -137,14 +137,14 @@ include: - '/ci/spec/oneuptime-gl-manager/deploy.yaml' # Application Scanner - - '/ci/spec/application-scanner/deploy.yaml' + - '/ci/spec/ApplicationScanner/deploy.yaml' # Script Runner - - '/ci/spec/script-runner/audit.yaml' - - '/ci/spec/script-runner/deploy.yaml' + - '/ci/spec/ScriptRunner/audit.yaml' + - '/ci/spec/ScriptRunner/deploy.yaml' # Container Scanner - - '/ci/spec/container-scanner/deploy.yaml' + - '/ci/spec/ContainerScanner/deploy.yaml' # realtime - '/ci/spec/realtime/audit.yaml' @@ -156,12 +156,12 @@ include: - '/ci/spec/data-ingestor/deploy.yaml' - '/ci/spec/data-ingestor/rollback.yaml' - # probe-api - - '/ci/spec/probe-api/audit.yaml' - - '/ci/spec/probe-api/deploy.yaml' - - '/ci/spec/probe-api/rollback.yaml' + # ProbeAPI + - '/ci/spec/ProbeAPI/audit.yaml' + - '/ci/spec/ProbeAPI/deploy.yaml' + - '/ci/spec/ProbeAPI/rollback.yaml' - # # GO-SDK - # - '/ci/spec/go-sdk/audit.yaml' - # - '/ci/spec/go-sdk/build-n-test.yaml' - # - '/ci/spec/go-sdk/deploy.yaml' + # # GoSDK + # - '/ci/spec/GoSDK/audit.yaml' + # - '/ci/spec/GoSDK/build-n-test.yaml' + # - '/ci/spec/GoSDK/deploy.yaml' diff --git a/.prettierignore b/.prettierignore index 97f017b48f..dc9ee74f07 100644 --- a/.prettierignore +++ b/.prettierignore @@ -51,5 +51,5 @@ LICENSE marketing/*/* licenses/* certifications/* -api-docs/public/assets/* -js-sdk/src/cli/server-monitor/out/scripts/prettify/* \ No newline at end of file +ApiDocs/public/assets/* +JavaScriptSDK/src/cli/server-monitor/out/scripts/prettify/* \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index 785c0fd087..07981d83e4 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -48,7 +48,7 @@ }, { "address": "0.0.0.0", - "localRoot": "${workspaceFolder}/probe-api", + "localRoot": "${workspaceFolder}/ProbeAPI", "name": "Probe API: Debug with Docker", "port": 9251, "remoteRoot": "/usr/src/app", @@ -72,7 +72,7 @@ }, { "address": "0.0.0.0", - "localRoot": "${workspaceFolder}/http-test-server", + "localRoot": "${workspaceFolder}/HttpTestServer", "name": "HTTP Test Server: Debug with Docker", "port": 9234, "remoteRoot": "/usr/src/app", @@ -108,7 +108,7 @@ }, { "address": "0.0.0.0", - "localRoot": "${workspaceFolder}/init-script", + "localRoot": "${workspaceFolder}/InitScript", "name": "Init Script: Debug with Docker", "port": 9237, "remoteRoot": "/usr/src/app", diff --git a/Accounts/.dockerignore b/Accounts/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/Accounts/.dockerignore +++ b/Accounts/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/Accounts/Dockerfile b/Accounts/Dockerfile index 256929330a..771eb744d4 100755 --- a/Accounts/Dockerfile +++ b/Accounts/Dockerfile @@ -21,21 +21,21 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile diff --git a/Accounts/Dockerfile.dev b/Accounts/Dockerfile.dev index 00d23c566a..d15dd1550d 100644 --- a/Accounts/Dockerfile.dev +++ b/Accounts/Dockerfile.dev @@ -21,21 +21,21 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile diff --git a/Accounts/package-lock.json b/Accounts/package-lock.json index e403838c88..cf7e619677 100644 --- a/Accounts/package-lock.json +++ b/Accounts/package-lock.json @@ -18,7 +18,7 @@ "redux-logger": "^3.0.6", "compression": "^1.7.4", "redux-thunk": "^2.4.1", - "common-ui": "file:../common-ui", + "CommonUI": "file:../CommonUI", "redux": "^4.1.2", "faker": "^6.6.6", "@types/compression": "^1.7.2", @@ -3149,8 +3149,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/common-ui": { - "resolved": "../common-ui", + "node_modules/CommonUI": { + "resolved": "../CommonUI", "link": true }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { @@ -14139,7 +14139,7 @@ "node": ">=6.9.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -15688,8 +15688,8 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/co": { @@ -16395,7 +16395,7 @@ "node": ">= 0.10" } }, - "../common-ui": { + "../CommonUI": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -21955,8 +21955,8 @@ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", @@ -21986,8 +21986,8 @@ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" }, - "common-ui": { - "version": "file:../common-ui", + "CommonUI": { + "version": "file:../CommonUI", "requires": { "@fortawesome/fontawesome-svg-core": "^6.1.0", "@fortawesome/free-regular-svg-icons": "^6.1.0", diff --git a/Accounts/package.json b/Accounts/package.json index 86becc5af5..329649034f 100755 --- a/Accounts/package.json +++ b/Accounts/package.json @@ -20,7 +20,7 @@ "cli-table": "^0.3.11", "Common": "file:../Common", "CommonServer": "file:../CommonServer", - "common-ui": "file:../common-ui", + "CommonUI": "file:../CommonUI", "compression": "^1.7.4", "express": "^4.17.3", "faker": "^6.6.6", diff --git a/AdminDashboard/.dockerignore b/AdminDashboard/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/AdminDashboard/.dockerignore +++ b/AdminDashboard/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/AdminDashboard/Dockerfile b/AdminDashboard/Dockerfile index 6cb1b4ca4d..cf2cfa8977 100644 --- a/AdminDashboard/Dockerfile +++ b/AdminDashboard/Dockerfile @@ -1,5 +1,5 @@ # -# OneUptime-admin-dashboard Dockerfile +# OneUptime-AdminDashboard Dockerfile # # Pull base image nodejs image. @@ -34,37 +34,37 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile WORKDIR /usr/src/app # Install app dependencies -COPY ./admin-dashboard/package*.json /usr/src/app/ +COPY ./AdminDashboard/package*.json /usr/src/app/ RUN npm install RUN npm install -g ts-node # Copy app source -COPY ./admin-dashboard /usr/src/app +COPY ./AdminDashboard /usr/src/app # Bundle app source RUN npm run build # Expose ports. -# - 3100: OneUptime-admin-dashboard +# - 3100: OneUptime-AdminDashboard EXPOSE 3100 #Run the app diff --git a/AdminDashboard/Dockerfile.dev b/AdminDashboard/Dockerfile.dev index 3eadf1a31e..501c0d6b37 100644 --- a/AdminDashboard/Dockerfile.dev +++ b/AdminDashboard/Dockerfile.dev @@ -27,20 +27,20 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile @@ -55,8 +55,8 @@ ENV NODE_OPTIONS=--openssl-legacy-provider WORKDIR /usr/src/app # Copy package.json files -COPY ./admin-dashboard/package.json /usr/src/app/package.json -COPY ./admin-dashboard/package-lock.json /usr/src/app/package-lock.json +COPY ./AdminDashboard/package.json /usr/src/app/package.json +COPY ./AdminDashboard/package-lock.json /usr/src/app/package-lock.json # Install app dependencies RUN npm install @@ -66,7 +66,7 @@ RUN npm install RUN mkdir -p node_modules/.cache && chmod -R 777 node_modules/.cache # Expose ports. -# - 3100: OneUptime-admin-dashboard +# - 3100: OneUptime-AdminDashboard EXPOSE 3100 #Run the app diff --git a/AdminDashboard/README.md b/AdminDashboard/README.md index e89baf8896..79222babad 100644 --- a/AdminDashboard/README.md +++ b/AdminDashboard/README.md @@ -1 +1 @@ -# oneuptime-admin-dashboard +# oneuptime-AdminDashboard diff --git a/AdminDashboard/index.ts b/AdminDashboard/index.ts index 9b3b36a131..22563bdf00 100644 --- a/AdminDashboard/index.ts +++ b/AdminDashboard/index.ts @@ -2,9 +2,9 @@ import { ExpressRequest, ExpressResponse, ExpressStatic, -} from 'Common-server/Utils/Express'; +} from 'CommonServer/utils/Express'; import path from 'path'; -import app from 'Common-server/utils/StartServer'; +import app from 'CommonServer/utils/StartServer'; app.get( ['/env.js', '/admin/env.js'], @@ -32,7 +32,7 @@ app.get( JSON.stringify({ status: 200, message: 'Service Status - OK', - serviceType: 'oneuptime-admin-dashboard', + serviceType: 'oneuptime-AdminDashboard', }) ); } diff --git a/AdminDashboard/package-lock.json b/AdminDashboard/package-lock.json index 80f34d8c74..2acd74d9f5 100644 --- a/AdminDashboard/package-lock.json +++ b/AdminDashboard/package-lock.json @@ -1,11 +1,11 @@ { - "name": "oneuptime-admin-dashboard", + "name": "oneuptime-AdminDashboard", "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "oneuptime-admin-dashboard", + "name": "oneuptime-AdminDashboard", "version": "3.0.0", "hasInstallScript": true, "dependencies": { @@ -15,7 +15,7 @@ "clipboard": "^2.0.10", "redux-logger": "^3.0.6", "redux-thunk": "^2.4.1", - "common-ui": "file:../common-ui", + "CommonUI": "file:../CommonUI", "redux": "^4.1.2", "react-widgets": "^5.8.3", "react-select": "^5.2.2", @@ -2989,8 +2989,8 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/common-ui": { - "resolved": "../common-ui", + "node_modules/CommonUI": { + "resolved": "../CommonUI", "link": true }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { @@ -13190,7 +13190,7 @@ "node": ">=6.9.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -14673,8 +14673,8 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/co": { @@ -15360,7 +15360,7 @@ "node": ">= 0.10" } }, - "../common-ui": { + "../CommonUI": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -20389,8 +20389,8 @@ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", @@ -20410,8 +20410,8 @@ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" }, - "common-ui": { - "version": "file:../common-ui", + "CommonUI": { + "version": "file:../CommonUI", "requires": { "@fortawesome/fontawesome-svg-core": "^6.1.0", "@fortawesome/free-regular-svg-icons": "^6.1.0", diff --git a/AdminDashboard/package.json b/AdminDashboard/package.json index 2af7d5a0f7..43ee8d4d83 100644 --- a/AdminDashboard/package.json +++ b/AdminDashboard/package.json @@ -1,12 +1,12 @@ { - "name": "oneuptime-admin-dashboard", + "name": "oneuptime-AdminDashboard", "version": "3.0.0", "private": true, "type": "module", "dependencies": { "CommonServer": "file:../CommonServer", "Common": "file:../Common", - "common-ui": "file:../common-ui", + "CommonUI": "file:../CommonUI", "axios": "^0.26.1", "card-validator": "^8.1.1", "clipboard": "^2.0.10", diff --git a/AdminDashboard/src/Actions/version.ts b/AdminDashboard/src/Actions/version.ts index c0095c5836..fa523f7fc8 100644 --- a/AdminDashboard/src/Actions/version.ts +++ b/AdminDashboard/src/Actions/version.ts @@ -1,6 +1,6 @@ import BackendAPI from 'CommonUI/src/utils/api/backend'; import HelmAPI from 'CommonUI/src/utils/api/helm'; -import APiDocsAPI from 'CommonUI/src/utils/api/api-docs'; +import APiDocsAPI from 'CommonUI/src/utils/api/ApiDocs'; import DashboardAPI from 'CommonUI/src/utils/api/dashboard'; import * as types from '../constants/version'; diff --git a/AdminDashboard/src/Components/Modals/About.tsx b/AdminDashboard/src/Components/Modals/About.tsx index 56ac63ed77..372d19b95a 100644 --- a/AdminDashboard/src/Components/Modals/About.tsx +++ b/AdminDashboard/src/Components/Modals/About.tsx @@ -136,7 +136,7 @@ class About extends Component { Admin Dashboard Version @@ -149,7 +149,7 @@ class About extends Component { className="Text-color--inherit Text-display--inline Text-fontSize--14 Text-fontWeight--regular Text-lineHeight--24 Text-typeface--base Text-wrap--wrap" > {versions.adminDashboard ? ( - + { versions.adminDashboard } diff --git a/ApiDocs/.dockerignore b/ApiDocs/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/ApiDocs/.dockerignore +++ b/ApiDocs/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/ApiDocs/Dockerfile b/ApiDocs/Dockerfile index f04770037c..ffdf433d43 100755 --- a/ApiDocs/Dockerfile +++ b/ApiDocs/Dockerfile @@ -17,12 +17,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true @@ -32,12 +32,12 @@ RUN mkdir /usr/src/app WORKDIR /usr/src/app # Install app dependencies -COPY ./api-docs/package*.json /usr/src/app/ +COPY ./ApiDocs/package*.json /usr/src/app/ RUN npm install RUN npm install -g ts-node # Bundle app source -COPY ./api-docs /usr/src/app +COPY ./ApiDocs /usr/src/app # Expose ports. # - 1445: OneUptime Docs diff --git a/ApiDocs/Dockerfile.dev b/ApiDocs/Dockerfile.dev index c1d7603052..cdd8f93572 100644 --- a/ApiDocs/Dockerfile.dev +++ b/ApiDocs/Dockerfile.dev @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables @@ -39,8 +39,8 @@ ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true WORKDIR /usr/src/app # Copy package.json files -COPY ./api-docs/package.json /usr/src/app/package.json -COPY ./api-docs/package-lock.json /usr/src/app/package-lock.json +COPY ./ApiDocs/package.json /usr/src/app/package.json +COPY ./ApiDocs/package-lock.json /usr/src/app/package-lock.json # Install app dependencies diff --git a/ApiDocs/README.md b/ApiDocs/README.md index e13423f4b0..ec5bd8f10c 100755 --- a/ApiDocs/README.md +++ b/ApiDocs/README.md @@ -1,6 +1,6 @@ # OneUptime API Documentation -[![Build Status](https://travis-ci.org/OneUptime/api-docs.svg?branch=master)](https://travis-ci.org/OneUptime/api-docs) +[![Build Status](https://travis-ci.org/OneUptime/ApiDocs.svg?branch=master)](https://travis-ci.org/OneUptime/ApiDocs) This is the API Reference for OneUptime which is hosted at [https://oneuptime.com/docs](https://oneuptime.com/docs). diff --git a/ApiDocs/package-lock.json b/ApiDocs/package-lock.json index e018c6c0f7..750d187da6 100644 --- a/ApiDocs/package-lock.json +++ b/ApiDocs/package-lock.json @@ -1,11 +1,11 @@ { - "name": "oneuptime-api-docs", + "name": "oneuptime-ApiDocs", "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "oneuptime-api-docs", + "name": "oneuptime-ApiDocs", "version": "3.0.0", "hasInstallScript": true, "license": "ISC", @@ -2389,7 +2389,7 @@ "node": ">= 0.10.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -2673,8 +2673,8 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/braces": { @@ -3484,8 +3484,8 @@ "@types/node": "^17.0.22" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/ApiDocs/package.json b/ApiDocs/package.json index 7ceb3eeb76..107c292770 100755 --- a/ApiDocs/package.json +++ b/ApiDocs/package.json @@ -1,18 +1,18 @@ { - "name": "oneuptime-api-docs", + "name": "oneuptime-ApiDocs", "version": "3.0.0", "description": "oneuptime api refernce", "main": "Gruntfile.js", "repository": { "type": "git", - "url": "git+https://github.com/OneUptime/api-docs.git" + "url": "git+https://github.com/OneUptime/ApiDocs.git" }, "author": "HackerBay, Inc.", "license": "ISC", "bugs": { - "url": "https://github.com/oneuptime/api-docs/issues" + "url": "https://github.com/oneuptime/ApiDocs/issues" }, - "homepage": "https://github.com/oneuptime/api-docs#readme", + "homepage": "https://github.com/oneuptime/ApiDocs#readme", "type": "module", "dependencies": { "chai": "^4.3.6", diff --git a/ApiDocs/public/assets/css/site.css b/ApiDocs/public/assets/css/site.css index aab3e7ca2a..4832c3c0c9 100755 --- a/ApiDocs/public/assets/css/site.css +++ b/ApiDocs/public/assets/css/site.css @@ -1673,60 +1673,60 @@ div#about div#additional div.col.secondary { margin-left: 60px; } -body.api-docs { +body.ApiDocs { -webkit-font-smoothing: antialiased; background: #fff; } -body.api-docs .clearfix { +body.ApiDocs .clearfix { clear: both; display: block; height: 0; visibility: hidden; } -body.api-docs .lang-curl,body.api-docs .lang-java,body.api-docs .lang-php,body.api-docs .lang-python,body.api-docs .lang-ruby,body.api-docs .lang-go,body.api-docs .lang-node { +body.ApiDocs .lang-curl,body.ApiDocs .lang-java,body.ApiDocs .lang-php,body.ApiDocs .lang-python,body.ApiDocs .lang-ruby,body.ApiDocs .lang-go,body.ApiDocs .lang-node { display: none; } -body.api-docs.curl .lang-curl,body.api-docs.java .lang-java,body.api-docs.php .lang-php,body.api-docs.python .lang-python,body.api-docs.ruby .lang-ruby,body.api-docs.go .lang-go,body.api-docs.node .lang-node { +body.ApiDocs.curl .lang-curl,body.ApiDocs.java .lang-java,body.ApiDocs.php .lang-php,body.ApiDocs.python .lang-python,body.ApiDocs.ruby .lang-ruby,body.ApiDocs.go .lang-go,body.ApiDocs.node .lang-node { display: inline; } -body.api-docs .prompt:after { +body.ApiDocs .prompt:after { content: '$ '; color: #777; } -body.api-docs.curl .prompt:after { +body.ApiDocs.curl .prompt:after { content: '$ '; } -body.api-docs.ruby .prompt:after { +body.ApiDocs.ruby .prompt:after { content: '>> '; } -body.api-docs.python .prompt:after { +body.ApiDocs.python .prompt:after { content: '>>> '; } -body.api-docs.php .prompt:after { +body.ApiDocs.php .prompt:after { content: 'php > '; } -body.api-docs.java .prompt:after { +body.ApiDocs.java .prompt:after { content: ''; } -body.api-docs.node .prompt:after { +body.ApiDocs.node .prompt:after { content: ''; } -body.api-docs.go .prompt:after { +body.ApiDocs.go .prompt:after { content: ''; } -body.api-docs div#guide { +body.ApiDocs div#guide { background: white; border-right: 1px solid #dadfe5; bottom: 0; @@ -1741,40 +1741,40 @@ body.api-docs div#guide { -webkit-perspective: 1000; } -body.api-docs div#guide:before { +body.ApiDocs div#guide:before { content: ""; display: block; height: 24px; } -body.api-docs div#guide:after { +body.ApiDocs div#guide:after { content: ""; display: block; height: 24px; } -body.api-docs div#guide.stick { +body.ApiDocs div#guide.stick { left: 0; position: fixed; top: 0; } -body.api-docs div#guide p.ref-title { +body.ApiDocs div#guide p.ref-title { color: #7a8e99; font-size: 11px; font-weight: bold; padding: 24px 20px 6px; } -body.api-docs div#guide p.ref-title:first-child { +body.ApiDocs div#guide p.ref-title:first-child { padding-top: 0; } -body.api-docs div#guide ul.ref-list { +body.ApiDocs div#guide ul.ref-list { padding: 0; } -body.api-docs div#guide ul.ref-list li.section a { +body.ApiDocs div#guide ul.ref-list li.section a { border: 1px solid transparent; border-left: 0; display: block; @@ -1788,7 +1788,7 @@ body.api-docs div#guide ul.ref-list li.section a { white-space: nowrap; } -body.api-docs div#guide ul.ref-list li.section a.viewing { +body.ApiDocs div#guide ul.ref-list li.section a.viewing { background: -webkit-linear-gradient(#4f9fef,#3577d0); background: -moz-linear-gradient(#4f9fef,#3577d0); background: -ms-linear-gradient(#4f9fef,#3577d0); @@ -1805,23 +1805,23 @@ body.api-docs div#guide ul.ref-list li.section a.viewing { text-shadow: 0 -1px 0 rgba(0,0,0,0.45); } -body.api-docs div#guide ul.ref-list li.section .children { +body.ApiDocs div#guide ul.ref-list li.section .children { display: none; padding-bottom: 6px; } -body.api-docs div#guide ul.ref-list li.section .children a { +body.ApiDocs div#guide ul.ref-list li.section .children a { font-weight: normal; height: 20px; line-height: 20px; padding-left: 30px; } -body.api-docs div#guide ul.ref-list li.section.active .children { +body.ApiDocs div#guide ul.ref-list li.section.active .children { display: block; } -body.api-docs div#header { +body.ApiDocs div#header { background: -webkit-linear-gradient(rgba(255,255,255,0),#f0f2f6 95%,#e5e8ee); background: -moz-linear-gradient(rgba(255,255,255,0),#f0f2f6 95%,#e5e8ee); background: -ms-linear-gradient(rgba(255,255,255,0),#f0f2f6 95%,#e5e8ee); @@ -1839,7 +1839,7 @@ body.api-docs div#header { width: auto; } -body.api-docs div#header:after { +body.ApiDocs div#header:after { background: -webkit-linear-gradient(#98a4b8,rgba(171,182,201,0.48),rgba(139,154,179,0.02)); background: -moz-linear-gradient(#98a4b8,rgba(171,182,201,0.48),rgba(139,154,179,0.02)); background: -ms-linear-gradient(#98a4b8,rgba(171,182,201,0.48),rgba(139,154,179,0.02)); @@ -1855,7 +1855,7 @@ body.api-docs div#header:after { z-index: 50; } -body.api-docs div#header div.burger-button { +body.ApiDocs div#header div.burger-button { -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; @@ -1881,13 +1881,13 @@ body.api-docs div#header div.burger-button { width: 28px; } -body.api-docs div#header div.burger-button div.lines { +body.ApiDocs div#header div.burger-button div.lines { height: 14px; margin: 7px auto 0; width: 14px; } -body.api-docs div#header div.burger-button div.lines span { +body.ApiDocs div#header div.burger-button div.lines span { -webkit-border-radius: 3px; -moz-border-radius: 3px; -ms-border-radius: 3px; @@ -1905,18 +1905,18 @@ body.api-docs div#header div.burger-button div.lines span { width: 14px; } -body.api-docs div#header div.burger-button:hover { +body.ApiDocs div#header div.burger-button:hover { background: -webkit-linear-gradient(bottom,#d0d6db,#dfe5eb 30%,#f0f3f7); background: -moz-linear-gradient(bottom,#d0d6db,#dfe5eb 30%,#f0f3f7); background: -o-linear-gradient(bottom,#d0d6db,#dfe5eb 30%,#f0f3f7); background: linear-gradient(top,#d0d6db,#dfe5eb 30%,#f0f3f7); } -body.api-docs div#header div.burger-button:hover div.lines span { +body.ApiDocs div#header div.burger-button:hover div.lines span { background-color: #7e848c; } -body.api-docs div#header div.burger-button:active { +body.ApiDocs div#header div.burger-button:active { -webkit-box-shadow: rgba(0,0,0,0.05) 0 1px 1px inset,white 0 1px 0; -moz-box-shadow: rgba(0,0,0,0.05) 0 1px 1px inset,white 0 1px 0; -ms-box-shadow: rgba(0,0,0,0.05) 0 1px 1px inset,white 0 1px 0; @@ -1928,43 +1928,43 @@ body.api-docs div#header div.burger-button:active { background: linear-gradient(top,#dfe5eb,#d8dee3); } -body.api-docs div#header div.burger-button:active div.lines span { +body.ApiDocs div#header div.burger-button:active div.lines span { background-color: #7e848c; } -body.api-docs div#header h1 { +body.ApiDocs div#header h1 { margin: 11px 0 0 20px; } -body.api-docs div#header div.navigation { +body.ApiDocs div#header div.navigation { padding: 14px 10px 0 0; } -body.api-docs div#header div.navigation div.account-dropdown-view { +body.ApiDocs div#header div.navigation div.account-dropdown-view { margin-right: 0; width: 125px; } -body.api-docs div#header div.navigation div.signin { +body.ApiDocs div#header div.navigation div.signin { margin-right: 10px; } -body.api-docs div#api-docs { +body.ApiDocs div#ApiDocs { background: white; margin-left: 200px; min-width: 750px; } -body.api-docs div#api-docs a.section-anchor { +body.ApiDocs div#ApiDocs a.section-anchor { display: block; height: 0; } -body.api-docs div#api-docs.view-guide div#guide { +body.ApiDocs div#ApiDocs.view-guide div#guide { margin-left: 0; } -body.api-docs div#api-docs .border { +body.ApiDocs div#ApiDocs .border { -webkit-box-shadow: rgba(0,0,0,0.3) 0 1px 1px; -moz-box-shadow: rgba(0,0,0,0.3) 0 1px 1px; -ms-box-shadow: rgba(0,0,0,0.3) 0 1px 1px; @@ -1979,7 +1979,7 @@ body.api-docs div#api-docs .border { z-index: 100; } -body.api-docs div#api-docs div#methods { +body.ApiDocs div#ApiDocs div#methods { -webkit-box-shadow: #0f131a -1px 0 0,rgba(0,0,0,0.05) 1px 0 2px inset; -moz-box-shadow: #0f131a -1px 0 0,rgba(0,0,0,0.05) 1px 0 2px inset; -ms-box-shadow: #0f131a -1px 0 0,rgba(0,0,0,0.05) 1px 0 2px inset; @@ -1991,12 +1991,12 @@ body.api-docs div#api-docs div#methods { } @media all and (min-width:1700px) { - body.api-docs div#api-docs div#methods { + body.ApiDocs div#ApiDocs div#methods { margin-left: 750px; } } -body.api-docs div#api-docs div#methods #language { +body.ApiDocs div#ApiDocs div#methods #language { background: -webkit-linear-gradient(#3e4145,#292e33); background: -moz-linear-gradient(#3e4145,#292e33); background: -ms-linear-gradient(#3e4145,#292e33); @@ -2020,7 +2020,7 @@ body.api-docs div#api-docs div#methods #language { -webkit-perspective: 1000; } -body.api-docs div#api-docs div#methods #language a { +body.ApiDocs div#ApiDocs div#methods #language a { -webkit-border-radius: 18px; -moz-border-radius: 18px; -ms-border-radius: 18px; @@ -2038,7 +2038,7 @@ body.api-docs div#api-docs div#methods #language a { text-transform: uppercase; } -body.api-docs div#api-docs div#methods #language a.selected { +body.ApiDocs div#ApiDocs div#methods #language a.selected { background: -webkit-linear-gradient(#14171a,#2a2f34); background: -moz-linear-gradient(#14171a,#2a2f34); background: -ms-linear-gradient(#14171a,#2a2f34); @@ -2054,35 +2054,35 @@ body.api-docs div#api-docs div#methods #language a.selected { text-decoration: none; } -body.api-docs div#api-docs div#methods #language.stick { +body.ApiDocs div#ApiDocs div#methods #language.stick { position: fixed; top: 0; } @media all and (min-width:1700px) { - body.api-docs div#api-docs div#methods #language.stick { + body.ApiDocs div#ApiDocs div#methods #language.stick { left: 951px; } } -body.api-docs div#api-docs div#methods .method { +body.ApiDocs div#ApiDocs div#methods .method { padding-top: 45px; position: relative; } -body.api-docs div#api-docs div#methods .method:nth-child(3) { +body.ApiDocs div#ApiDocs div#methods .method:nth-child(3) { padding-top: 0; } -body.api-docs div#api-docs div#methods .method:nth-child(3) .method-section .method-description:before,body.api-docs div#api-docs div#methods .method:nth-child(3) .method-section .method-example:before,body.api-docs div#api-docs div#methods .method:nth-child(3) .method-section .method-example:after { +body.ApiDocs div#ApiDocs div#methods .method:nth-child(3) .method-section .method-description:before,body.ApiDocs div#ApiDocs div#methods .method:nth-child(3) .method-section .method-example:before,body.ApiDocs div#ApiDocs div#methods .method:nth-child(3) .method-section .method-example:after { display: none; } -body.api-docs div#api-docs div#methods .method:last-child .method-section .method-example { +body.ApiDocs div#ApiDocs div#methods .method:last-child .method-section .method-example { padding-bottom: 45px; } -body.api-docs div#api-docs div#methods .method-section { +body.ApiDocs div#ApiDocs div#methods .method-section { clear: left; font-size: 13px; line-height: 1.9em; @@ -2091,7 +2091,7 @@ body.api-docs div#api-docs div#methods .method-section { position: relative; } -body.api-docs div#api-docs div#methods .method-section:after { +body.ApiDocs div#ApiDocs div#methods .method-section:after { clear: both; content: ""; display: block; @@ -2101,16 +2101,16 @@ body.api-docs div#api-docs div#methods .method-section:after { } @media all and (min-width:1700px) { - body.api-docs div#api-docs div#methods .method-section { + body.ApiDocs div#ApiDocs div#methods .method-section { margin-left: -750px; } } -body.api-docs div#api-docs div#methods .method-section:nth-child(2) .method-description:before,body.api-docs div#api-docs div#methods .method-section:nth-child(2) .method-description:after,body.api-docs div#api-docs div#methods .method-section:nth-child(2) .method-example:before,body.api-docs div#api-docs div#methods .method-section:nth-child(2) .method-example:after { +body.ApiDocs div#ApiDocs div#methods .method-section:nth-child(2) .method-description:before,body.ApiDocs div#ApiDocs div#methods .method-section:nth-child(2) .method-description:after,body.ApiDocs div#ApiDocs div#methods .method-section:nth-child(2) .method-example:before,body.ApiDocs div#ApiDocs div#methods .method-section:nth-child(2) .method-example:after { display: block; } -body.api-docs div#api-docs div#methods .method-section h1,body.api-docs div#api-docs div#methods .method-section h2,body.api-docs div#api-docs div#methods .method-section h3,body.api-docs div#api-docs div#methods .method-section h4,body.api-docs div#api-docs div#methods .method-section h5,body.api-docs div#api-docs div#methods .method-section h6 { +body.ApiDocs div#ApiDocs div#methods .method-section h1,body.ApiDocs div#ApiDocs div#methods .method-section h2,body.ApiDocs div#ApiDocs div#methods .method-section h3,body.ApiDocs div#ApiDocs div#methods .method-section h4,body.ApiDocs div#ApiDocs div#methods .method-section h5,body.ApiDocs div#ApiDocs div#methods .method-section h6 { font-family: "proxima-nova","Helvetica Neue",Helvetica,Arial,sans-serif; color: #111; display: block; @@ -2119,34 +2119,34 @@ body.api-docs div#api-docs div#methods .method-section h1,body.api-docs div#api- line-height: 1.5em; } -body.api-docs div#api-docs div#methods .method-section h2 { +body.ApiDocs div#ApiDocs div#methods .method-section h2 { font-size: 20px; } -body.api-docs div#api-docs div#methods .method-section h3 { +body.ApiDocs div#ApiDocs div#methods .method-section h3 { font-size: 18px; } -body.api-docs div#api-docs div#methods .method-section h4 { +body.ApiDocs div#ApiDocs div#methods .method-section h4 { font-size: 16px; } -body.api-docs div#api-docs div#methods .method-section h5 { +body.ApiDocs div#ApiDocs div#methods .method-section h5 { font-size: 14px; } -body.api-docs div#api-docs div#methods .method-section h6 { +body.ApiDocs div#ApiDocs div#methods .method-section h6 { font-size: 13px; } -body.api-docs div#api-docs div#methods .method-section p { +body.ApiDocs div#ApiDocs div#methods .method-section p { color: #444; font-size: 13px; line-height: 1.9em; padding: 10px 0; } -body.api-docs div#api-docs div#methods .method-section .method-description { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; @@ -2158,7 +2158,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description { z-index: 15; } -body.api-docs div#api-docs div#methods .method-section .method-description:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description:before { background-color: #e4e8eb; content: ""; display: none; @@ -2170,12 +2170,12 @@ body.api-docs div#api-docs div#methods .method-section .method-description:befor } @media all and (min-width:1700px) { - body.api-docs div#api-docs div#methods .method-section .method-description { + body.ApiDocs div#ApiDocs div#methods .method-section .method-description { width: 750px; } } -body.api-docs div#api-docs div#methods .method-section .method-description code,body.api-docs div#api-docs div#methods .method-section .method-description tt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description code,body.ApiDocs div#ApiDocs div#methods .method-section .method-description tt { -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; @@ -2187,18 +2187,18 @@ body.api-docs div#api-docs div#methods .method-section .method-description code, padding: 0 3px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list { border-bottom: 1px solid #eee; margin-bottom: 45px; padding: 45px 0 16px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list h6 { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list h6 { border-bottom: 1px solid #eee; padding-bottom: 8px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl:after { clear: both; content: ""; display: block; @@ -2207,7 +2207,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m visibility: hidden; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dt { float: left; font-weight: bold; margin-right: -165px; @@ -2220,15 +2220,15 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m z-index: 50; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dt span { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dt span { font-weight: bold !important; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dt:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dt:after { content: ":"; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; @@ -2240,7 +2240,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m z-index: 25; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd:before { clear: both; content: ""; display: block; @@ -2249,7 +2249,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m visibility: hidden; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd.expandable:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd.expandable:after { -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; @@ -2264,28 +2264,28 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m padding: 0 5px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd p,body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd span,body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd em { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd p,body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd span,body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd em { font-weight: normal; padding: 0; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd span:not(.lang) { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd span:not(.lang) { display: block; padding-top: 2px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd em { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd em { font-style: italic; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list { border-bottom: 0; margin-bottom: 0; font-size: 12px; padding: 10px 0 0; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl { -webkit-border-radius: 4px; -moz-border-radius: 4px; -ms-border-radius: 4px; @@ -2297,7 +2297,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m position: relative; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl:before { display: block; height: 0; width: 0; @@ -2311,7 +2311,7 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m top: -6px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl .show-parameters { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl .show-parameters { color: #444; display: none; font-size: 12px; @@ -2319,74 +2319,74 @@ body.api-docs div#api-docs div#methods .method-section .method-description div.m padding-left: 175px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl:hover .show-parameters { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl:hover .show-parameters { color: #111; text-decoration: underline; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl dt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl dt { margin-right: -133px; width: 133px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl dd { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl dd { padding-left: 143px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl .method-list dl { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl .method-list dl { margin-left: -143px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list dl .method-list dl:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list dl .method-list dl:before { left: 143px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed { cursor: pointer; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl { padding: 6px 0; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl .show-parameters { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl .show-parameters { display: block; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl dt,body.api-docs div#api-docs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl dd { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl dt,body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list dl dd .method-list.collapsed dl dd { display: none; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.event-types dl dt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.event-types dl dt { margin-right: -230px; width: 230px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.event-types dl dd { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.event-types dl dd { padding-left: 240px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.failure-codes dl dt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.failure-codes dl dt { margin-right: -230px; width: 230px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.failure-codes dl dd { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.failure-codes dl dd { padding-left: 240px; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.list-empty dl dt { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.list-empty dl dt { font-style: italic; margin-right: 0; text-align: center; width: 100%; } -body.api-docs div#api-docs div#methods .method-section .method-description div.method-list.list-empty dl dt:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-description div.method-list.list-empty dl dt:after { display: none; } -body.api-docs div#api-docs div#methods .method-section .method-example { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example { box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; @@ -2397,7 +2397,7 @@ body.api-docs div#api-docs div#methods .method-section .method-example { width: 50%; } -body.api-docs div#api-docs div#methods .method-section .method-example:before,body.api-docs div#api-docs div#methods .method-section .method-example:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example:before,body.ApiDocs div#ApiDocs div#methods .method-section .method-example:after { background: -webkit-linear-gradient(left,#0f131a,rgba(15,19,26,0)); background: -moz-linear-gradient(left,#0f131a,rgba(15,19,26,0)); background: -o-linear-gradient(left,#0f131a,rgba(15,19,26,0)); @@ -2411,7 +2411,7 @@ body.api-docs div#api-docs div#methods .method-section .method-example:before,bo top: -45px; } -body.api-docs div#api-docs div#methods .method-section .method-example:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example:after { background: -webkit-linear-gradient(left,#45494c,rgba(69,73,76,0)); background: -moz-linear-gradient(left,#45494c,rgba(69,73,76,0)); background: -o-linear-gradient(left,#45494c,rgba(69,73,76,0)); @@ -2420,53 +2420,53 @@ body.api-docs div#api-docs div#methods .method-section .method-example:after { } @media all and (min-width:1700px) { - body.api-docs div#api-docs div#methods .method-section .method-example { + body.ApiDocs div#ApiDocs div#methods .method-section .method-example { margin-left: 751px; width: auto; } } -body.api-docs div#api-docs div#methods .method-section .method-example .hide { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .hide { display: none; } -body.api-docs div#api-docs div#methods .method-section .method-example .part+.part { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .part+.part { padding-top: 45px; } -body.api-docs div#api-docs div#methods .method-section .method-example h1,body.api-docs div#api-docs div#methods .method-section .method-example h2,body.api-docs div#api-docs div#methods .method-section .method-example h3,body.api-docs div#api-docs div#methods .method-section .method-example h4,body.api-docs div#api-docs div#methods .method-section .method-example h5,body.api-docs div#api-docs div#methods .method-section .method-example h6 { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example h1,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h2,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h3,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h4,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h5,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h6 { color: white; padding-top: 38px; } -body.api-docs div#api-docs div#methods .method-section .method-example h1 code,body.api-docs div#api-docs div#methods .method-section .method-example h2 code,body.api-docs div#api-docs div#methods .method-section .method-example h3 code,body.api-docs div#api-docs div#methods .method-section .method-example h4 code,body.api-docs div#api-docs div#methods .method-section .method-example h5 code,body.api-docs div#api-docs div#methods .method-section .method-example h6 code { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example h1 code,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h2 code,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h3 code,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h4 code,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h5 code,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h6 code { display: inline-block; } -body.api-docs div#api-docs div#methods .method-section .method-example h1:first-child,body.api-docs div#api-docs div#methods .method-section .method-example h2:first-child,body.api-docs div#api-docs div#methods .method-section .method-example h3:first-child,body.api-docs div#api-docs div#methods .method-section .method-example h4:first-child,body.api-docs div#api-docs div#methods .method-section .method-example h5:first-child,body.api-docs div#api-docs div#methods .method-section .method-example h6:first-child { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example h1:first-child,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h2:first-child,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h3:first-child,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h4:first-child,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h5:first-child,body.ApiDocs div#ApiDocs div#methods .method-section .method-example h6:first-child { padding-top: 0; } -body.api-docs div#api-docs div#methods .method-section .method-example h6 { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example h6 { padding-top: 26px; } -body.api-docs div#api-docs div#methods .method-section .method-example a { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example a { color: #80b2ff; } -body.api-docs div#api-docs div#methods .method-section .method-example a:hover { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example a:hover { color: #ccd8e8; } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher { text-align: center; position: relative; height: 22px; margin: -1px 0 20px; } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher a { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher a { position: relative; z-index: 3; display: inline-block; @@ -2481,19 +2481,19 @@ body.api-docs div#api-docs div#methods .method-section .method-example div.switc background: rgba(151,166,174,0); } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher a:hover { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher a:hover { text-decoration: none; color: #dae4f2; background: rgba(151,166,174,0.07); } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher a.selected { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher a.selected { color: #dae4f2; pointer-events: none; background: rgba(151,166,174,0.14); } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher:after { content: ''; display: block; position: absolute; @@ -2505,7 +2505,7 @@ body.api-docs div#api-docs div#methods .method-section .method-example div.switc z-index: 1; } -body.api-docs div#api-docs div#methods .method-section .method-example div.switcher:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example div.switcher:before { content: ''; display: block; position: absolute; @@ -2519,7 +2519,7 @@ body.api-docs div#api-docs div#methods .method-section .method-example div.switc z-index: 2; } -body.api-docs div#api-docs div#methods .method-section .method-example code { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code { color: #dae4f2; display: block; font-family: Monaco,Consolas,"Lucida Console",monospace; @@ -2532,104 +2532,104 @@ body.api-docs div#api-docs div#methods .method-section .method-example code { word-break: break-word; } -body.api-docs div#api-docs div#methods .method-section .method-example code strong { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code strong { font-weight: bold; } -body.api-docs div#api-docs div#methods .method-section .method-example code .no,body.api-docs div#api-docs div#methods .method-section .method-example code .line-numbers { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code .no,body.ApiDocs div#ApiDocs div#methods .method-section .method-example code .line-numbers { display: none; } -body.api-docs div#api-docs div#methods .method-section .method-example code:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code:before { content: ""; color: #acb9bf; display: block; padding-bottom: 4px; } -body.api-docs div#api-docs div#methods .method-section .method-example code.method-error:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.method-error:before { content: "EXAMPLE ERROR"; } -body.api-docs div#api-docs div#methods .method-section .method-example code.method-declaration:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.method-declaration:before { content: "DEFINITION"; } -body.api-docs div#api-docs div#methods .method-section .method-example code.method-request:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.method-request:before { content: "SAMPLE CODE"; } -body.api-docs div#api-docs div#methods .method-section .method-example code.method-response:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.method-response:before { content: "EXAMPLE RESPONSE"; } -body.api-docs div#api-docs div#methods .method-section .method-example code.method-object:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.method-object:before { content: "EXAMPLE OBJECT"; } -body.api-docs div#api-docs div#methods .method-section .method-example code.expected-result:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code.expected-result:before { content: "RESULT"; } -body.api-docs div#api-docs div#methods .method-section .method-example code+code { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code+code { margin-top: 26px; } -body.api-docs div#api-docs div#methods .method-section .method-example code .prompt:after { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example code .prompt:after { color: #ccd8e8; } -body.api-docs div#api-docs div#methods .method-section .method-example p { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example p { color: #dae4f2; font-style: italic; max-width: 700px; } -body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .constant,body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .title,body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .keyword { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .constant,body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .title,body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .keyword { color: #f92672; } -body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .symbol,body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .literal { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .symbol,body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .literal { color: #f92672; } -body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .string,body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .attribute,body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js.xml .value { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .string,body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .attribute,body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js.xml .value { color: #e5da78; } -body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js .comment { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js .comment { color: #adbfd9; } -body.api-docs div#api-docs div#methods .method-section .method-example span.highlight_js.xml .attribute { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example span.highlight_js.xml .attribute { color: #f92672; } -body.api-docs div#api-docs div#methods .method-section .method-example ul { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example ul { padding: 4px 0; } -body.api-docs div#api-docs div#methods .method-section .method-example ul li { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example ul li { color: #dae4f2; font-family: Monaco,Consolas,"Lucida Console",monospace; font-size: 12px; padding: 4px 0; } -body.api-docs div#api-docs div#methods .method-section .method-example .table { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table { padding-top: 32px; } -body.api-docs div#api-docs div#methods .method-section .method-example .table h6 { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table h6 { padding-bottom: 4px; } -body.api-docs div#api-docs div#methods .method-section .method-example .table table { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table table { color: #dae4f2; font-size: 12px; } -body.api-docs div#api-docs div#methods .method-section .method-example .table table td { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table table td { font-family: Monaco,Consolas,"Lucida Console",monospace; font-size: 12px; line-height: 1.5em; @@ -2637,43 +2637,43 @@ body.api-docs div#api-docs div#methods .method-section .method-example .table ta vertical-align: top; } -body.api-docs div#api-docs div#methods .method-section .method-example .table table td:last-child { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table table td:last-child { padding-left: 16px; } -body.api-docs div#api-docs div#methods .method-section .method-example .table table thead td { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .table table thead td { font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; font-size: 12px; font-weight: bold; } -body.api-docs div#api-docs div#methods .method-section .method-example .method-name { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .method-name { font-family: Monaco,Consolas,"Lucida Console",monospace; font-weight: bold; } -body.api-docs div#api-docs div#methods .method-section .method-example .notification-request:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .notification-request:before { content: "EXAMPLE NOTIFICATION"; color: #9b9bb9; display: block; } -body.api-docs div#api-docs div#methods .method-section .method-example .notification-event:before { +body.ApiDocs div#ApiDocs div#methods .method-section .method-example .notification-event:before { content: "EVENT"; color: #9b9bb9; display: block; } -body.api-docs div#api-docs div#methods a#dispute_evidence_object+.method-section .method-description div.method-list dl dt { +body.ApiDocs div#ApiDocs div#methods a#dispute_evidence_object+.method-section .method-description div.method-list dl dt { width: 215px; margin-right: -215px; } -body.api-docs div#api-docs div#methods a#dispute_evidence_object+.method-section .method-description div.method-list dl dd { +body.ApiDocs div#ApiDocs div#methods a#dispute_evidence_object+.method-section .method-description div.method-list dl dd { padding-left: 225px; } -body.api-docs .footer { +body.ApiDocs .footer { display: none; } diff --git a/ApiDocs/public/assets/js/api.js b/ApiDocs/public/assets/js/api.js index 1e03162945..1e3cea395e 100755 --- a/ApiDocs/public/assets/js/api.js +++ b/ApiDocs/public/assets/js/api.js @@ -1,2 +1,2 @@ -(function(){"use strict";var e=["curl","ruby","python","php","java","node","go"];$(document).delegate("#language a.language","click",function(this: $TSFixMe, e: $TSFixMe) {var t=$(this);e.preventDefault(),$.isReady||$(document).ready(function(){t.click()})}).ready(function(){function u(n: $TSFixMe){a(function(){for(var r=e.length;r--;)t.removeClass(e[r]);t.addClass(n)})}function a(e: $TSFixMe){s.waypoint("disable"),e(),location.hash&&$(location.hash)[0].scrollIntoView(!0),s.waypoint("enable"),$.waypoints("refresh")}function f(e: $TSFixMe){a(function(){o.find(".switcher a").removeClass("selected"),o.find(".switcher a."+e).addClass("selected"),o.find(".specific-method-example").addClass("hide"),o.find(".specific-method-example."+e).removeClass("hide")})}var t=$("body"),n=$("#api-docs"),r=$("#guide"),i=$("#language"),s=$("#methods a.section-anchor"),o=$(".method-example.cards");n.waypoint(function(){$("body").find("#guide").toggleClass("stick"),$("body").find("#language").toggleClass("stick")}),r.on("click",".section",function(this: $TSFixMe) {r.find(".section.active").removeClass("active"),$(this).addClass("active")}),r.on("click","a.parent, a.child",function(this: $TSFixMe) {r.find("a.viewing").removeClass("viewing"),$(this).addClass("viewing")}),r.on("click","a.parent, a.child",function(){s.waypoint("disable"),setTimeout(function(){s.waypoint("enable")},200)}),o.on("click",".switcher a",function(e: $TSFixMe){e.preventDefault();var t=$(e.currentTarget).attr("class");t.indexOf("selected")===-1&&(f(t),$.cookie("cardType",t,{expires:1825,path:"/",domain:".stripe.com",secure:!0}))}),i.find("a.language").on("click",function(this: $TSFixMe, e: $TSFixMe) {e.preventDefault();var t=$(e.currentTarget).attr("href");window.history&&window.history.replaceState&&history.replaceState({},document.title,t+window.location.hash),i.find("a.selected").removeClass("selected"),$(this).addClass("selected");var n=t.split("https://stripe.com/"),r=n[n.length-1];u(r),$.cookie("lang",r,{expires:1825,path:"/",domain:".stripe.com",secure:!0})}),$("a.show-parameters").on("click",function(e: $TSFixMe){$(e.currentTarget).parent().parent().removeClass("collapsed")}),$(window).trigger("scroll"),s.waypoint({continuous:!1,handler:function(e: $TSFixMe){var t=$(this),n=t.attr("name");window.history&&window.history.replaceState&&history.replaceState({},"","#"+n),$("#guide").find("a[href=#"+n+"], a[data-target~="+n+"]").click()}})})})(); \ No newline at end of file +(function(){"use strict";var e=["curl","ruby","python","php","java","node","go"];$(document).delegate("#language a.language","click",function(this: $TSFixMe, e: $TSFixMe) {var t=$(this);e.preventDefault(),$.isReady||$(document).ready(function(){t.click()})}).ready(function(){function u(n: $TSFixMe){a(function(){for(var r=e.length;r--;)t.removeClass(e[r]);t.addClass(n)})}function a(e: $TSFixMe){s.waypoint("disable"),e(),location.hash&&$(location.hash)[0].scrollIntoView(!0),s.waypoint("enable"),$.waypoints("refresh")}function f(e: $TSFixMe){a(function(){o.find(".switcher a").removeClass("selected"),o.find(".switcher a."+e).addClass("selected"),o.find(".specific-method-example").addClass("hide"),o.find(".specific-method-example."+e).removeClass("hide")})}var t=$("body"),n=$("#ApiDocs"),r=$("#guide"),i=$("#language"),s=$("#methods a.section-anchor"),o=$(".method-example.cards");n.waypoint(function(){$("body").find("#guide").toggleClass("stick"),$("body").find("#language").toggleClass("stick")}),r.on("click",".section",function(this: $TSFixMe) {r.find(".section.active").removeClass("active"),$(this).addClass("active")}),r.on("click","a.parent, a.child",function(this: $TSFixMe) {r.find("a.viewing").removeClass("viewing"),$(this).addClass("viewing")}),r.on("click","a.parent, a.child",function(){s.waypoint("disable"),setTimeout(function(){s.waypoint("enable")},200)}),o.on("click",".switcher a",function(e: $TSFixMe){e.preventDefault();var t=$(e.currentTarget).attr("class");t.indexOf("selected")===-1&&(f(t),$.cookie("cardType",t,{expires:1825,path:"/",domain:".stripe.com",secure:!0}))}),i.find("a.language").on("click",function(this: $TSFixMe, e: $TSFixMe) {e.preventDefault();var t=$(e.currentTarget).attr("href");window.history&&window.history.replaceState&&history.replaceState({},document.title,t+window.location.hash),i.find("a.selected").removeClass("selected"),$(this).addClass("selected");var n=t.split("https://stripe.com/"),r=n[n.length-1];u(r),$.cookie("lang",r,{expires:1825,path:"/",domain:".stripe.com",secure:!0})}),$("a.show-parameters").on("click",function(e: $TSFixMe){$(e.currentTarget).parent().parent().removeClass("collapsed")}),$(window).trigger("scroll"),s.waypoint({continuous:!1,handler:function(e: $TSFixMe){var t=$(this),n=t.attr("name");window.history&&window.history.replaceState&&history.replaceState({},"","#"+n),$("#guide").find("a[href=#"+n+"], a[data-target~="+n+"]").click()}})})})(); \ No newline at end of file diff --git a/ApiDocs/views/partials/scheduledEvent.ejs b/ApiDocs/views/partials/scheduledEvent.ejs index bc42c42a8c..caf7cbf696 100644 --- a/ApiDocs/views/partials/scheduledEvent.ejs +++ b/ApiDocs/views/partials/scheduledEvent.ejs @@ -345,7 +345,7 @@ -
+

Get All Status Page Scheduled EventsGET

diff --git a/ApiDocs/views/partials/sidebar.ejs b/ApiDocs/views/partials/sidebar.ejs index 4f8d586f5b..e66e7f9367 100644 --- a/ApiDocs/views/partials/sidebar.ejs +++ b/ApiDocs/views/partials/sidebar.ejs @@ -82,7 +82,7 @@

  • Scheduled Event
  • @@ -98,8 +98,8 @@
  • Status Page + class="StatusPage create-StatusPage get-all-StatusPages get-all-subprojects-StatusPages get-StatusPage edit-StatusPage delete-StatusPage get-StatusPage-rss get-StatusPage-notes get-StatusPage-monitor-notes get-StatusPage-scheduled-events get-StatusPage-monitor-scheduled-events get-all-monitor-statuses get-all-probes menu-link" + href="#StatusPage">Status Page
  • diff --git a/ApiDocs/views/partials/statusPage.ejs b/ApiDocs/views/partials/statusPage.ejs index 3c703ad794..3a5ea90ad2 100644 --- a/ApiDocs/views/partials/statusPage.ejs +++ b/ApiDocs/views/partials/statusPage.ejs @@ -1,4 +1,4 @@ -
    +

    Status Page

    @@ -15,7 +15,7 @@
    - https://oneuptime.com/api/status-page/ + https://oneuptime.com/api/StatusPage/
    @@ -30,7 +30,7 @@
    -
    +

    Create Status PagePOST

    @@ -45,7 +45,7 @@

    - https://oneuptime.com/api/status-page/:projectId + https://oneuptime.com/api/StatusPage/:projectId
    @@ -256,7 +256,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354

    Request Body

    @@ -337,7 +337,7 @@
       
    -
    +

    Get All Status PagesGET

    @@ -352,7 +352,7 @@

    - https://oneuptime.com/api/status-page/:projectId/dashboard + https://oneuptime.com/api/StatusPage/:projectId/dashboard
    @@ -427,7 +427,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/dashboard?skip=0&limit=5

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/dashboard?skip=0&limit=5

    @@ -582,7 +582,7 @@
    -
    +

    Get All Status PagesGET

    @@ -597,7 +597,7 @@

    - https://oneuptime.com/api/status-page/:projectId/statuspage + https://oneuptime.com/api/StatusPage/:projectId/statuspage
    @@ -672,7 +672,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/statuspage?skip=0&limit=5

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/statuspage?skip=0&limit=5

    @@ -828,7 +828,7 @@
    -
    +

    Get All SubProjects Status PagesGET

    @@ -843,7 +843,7 @@

    - https://oneuptime.com/api/status-page/:projectId/statuspages + https://oneuptime.com/api/StatusPage/:projectId/statuspages
    @@ -881,7 +881,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/statuspages

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/statuspages

    @@ -1047,7 +1047,7 @@
    -
    +

    Get Status PageGET

    @@ -1062,7 +1062,7 @@

    - https://oneuptime.com/api/status-page/:statusPageId + https://oneuptime.com/api/StatusPage/:statusPageId
    @@ -1122,7 +1122,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e3bfa83de29ed659247259d

    +

    https://oneuptime.com/api/StatusPage/5e3bfa83de29ed659247259d

    @@ -1196,7 +1196,7 @@
    -
    +

    Edit Status PagePUT

    @@ -1211,7 +1211,7 @@

    - https://oneuptime.com/api/status-page/:projectId + https://oneuptime.com/api/StatusPage/:projectId
    @@ -1422,7 +1422,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354

    Request Body

    @@ -1525,7 +1525,7 @@
       
    -
    +

    Delete Status PageDELETE

    @@ -1540,7 +1540,7 @@

    - https://oneuptime.com/api/status-page/:projectId/:statusPageId + https://oneuptime.com/api/StatusPage/:projectId/:statusPageId
    @@ -1593,7 +1593,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/5e3bfa83de29ed659247259d

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/5e3bfa83de29ed659247259d

    @@ -1690,7 +1690,7 @@
    -
    +

    Get Status Page RSSGET

    @@ -1705,7 +1705,7 @@

    - https://oneuptime.com/api/status-page/:statusPageId/rss + https://oneuptime.com/api/StatusPage/:statusPageId/rss
    @@ -1765,7 +1765,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e3bfa83de29ed659247259d/rss

    +

    https://oneuptime.com/api/StatusPage/5e3bfa83de29ed659247259d/rss

    @@ -1780,7 +1780,7 @@ Incidents for status page Zenith RSS feed for all incidents related to monitors attached to status page - http://localhost:3002/status-page/rss + http://localhost:3002/StatusPage/rss Thu Feb 06 2020 12:44:44 GMT+0100 (West Africa Standard Time) en @@ -1883,7 +1883,7 @@
    -
    +

    Get Status Page NotesGET

    @@ -1899,7 +1899,7 @@

    - https://oneuptime.com/api/status-page/:projectId/:statusPageId/notes + https://oneuptime.com/api/StatusPage/:projectId/:statusPageId/notes
    @@ -1990,7 +1990,7 @@

    Request URL

    - https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/5e3bfa83de29ed659247259d/notes?skip=0&limit=5

    + https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/5e3bfa83de29ed659247259d/notes?skip=0&limit=5

    @@ -2227,7 +2227,7 @@
    -
    +

    Get Status Page Monitor NotesGET

    @@ -2243,7 +2243,7 @@

    - https://oneuptime.com/api/status-page/:projectId/:monitorId/individualnotes + https://oneuptime.com/api/StatusPage/:projectId/:monitorId/individualnotes
    @@ -2334,7 +2334,7 @@

    Request URL

    - https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/5e321f87542c6f61d1292a83/individualnotes?skip=0&limit=5 + https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/5e321f87542c6f61d1292a83/individualnotes?skip=0&limit=5

    @@ -2412,7 +2412,7 @@
    -
    +

    Get Status Page Scheduled EventsGET

    @@ -2428,7 +2428,7 @@

    - https://oneuptime.com/api/status-page/:projectId/:statusPageId/events + https://oneuptime.com/api/StatusPage/:projectId/:statusPageId/events
    @@ -2519,7 +2519,7 @@

    Request URL

    - https://oneuptime.com/api/status-page/5e8cda4eac92233bf1e4645a/5e8cdb19ac92233bf1e464d6/events?skip=0&limit=5

    + https://oneuptime.com/api/StatusPage/5e8cda4eac92233bf1e4645a/5e8cdb19ac92233bf1e464d6/events?skip=0&limit=5

    @@ -2651,7 +2651,7 @@
    -
    +

    Get Status Page Monitor Scheduled EventsGET

    @@ -2666,7 +2666,7 @@

    - https://oneuptime.com/api/status-page/:projectId/:monitorId/individualevents + https://oneuptime.com/api/StatusPage/:projectId/:monitorId/individualevents
    @@ -2742,7 +2742,7 @@

    Request URL

    - https://oneuptime.com/api/status-page/5e8cda4eac92233bf1e4645a/5e8cdaebac92233bf1e4649a/individualevents?date=2020-04-09T21:22:08.845Z + https://oneuptime.com/api/StatusPage/5e8cda4eac92233bf1e4645a/5e8cdaebac92233bf1e4649a/individualevents?date=2020-04-09T21:22:08.845Z

    @@ -2888,7 +2888,7 @@
    - https://oneuptime.com/api/status-page/:projectId/:monitorId/monitorStatuses + https://oneuptime.com/api/StatusPage/:projectId/:monitorId/monitorStatuses
    @@ -2979,7 +2979,7 @@

    Request URL

    - https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354d/5e321f87542c6f61d1292a83/monitorStatuses

    + https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354d/5e321f87542c6f61d1292a83/monitorStatuses

    @@ -3044,7 +3044,7 @@
    - https://oneuptime.com/api/status-page/:projectId/probes + https://oneuptime.com/api/StatusPage/:projectId/probes
    @@ -3119,7 +3119,7 @@

    Request URL

    -

    https://oneuptime.com/api/status-page/5e2ecf45516aae26b133f354/probes?skip=0&limit=5

    +

    https://oneuptime.com/api/StatusPage/5e2ecf45516aae26b133f354/probes?skip=0&limit=5

    diff --git a/ApplicationScanner/Dockerfile b/ApplicationScanner/Dockerfile index 1651b66084..6649fa3df3 100755 --- a/ApplicationScanner/Dockerfile +++ b/ApplicationScanner/Dockerfile @@ -1,5 +1,5 @@ # -# application-scanner Dockerfile +# ApplicationScanner Dockerfile # # Pull base image nodejs image. @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables @@ -38,12 +38,12 @@ RUN mkdir /usr/src/app WORKDIR /usr/src/app # Install app dependencies -COPY ./application-scanner/package*.json /usr/src/app/ +COPY ./ApplicationScanner/package*.json /usr/src/app/ RUN npm install RUN npm install -g ts-node # Bundle app source -COPY ./application-scanner /usr/src/app +COPY ./ApplicationScanner /usr/src/app # Expose ports. # - 3005: Application Scanner diff --git a/ApplicationScanner/Dockerfile.dev b/ApplicationScanner/Dockerfile.dev index afb4dd722d..2844dd666c 100644 --- a/ApplicationScanner/Dockerfile.dev +++ b/ApplicationScanner/Dockerfile.dev @@ -1,5 +1,5 @@ # -# application-scanner Dockerfile +# ApplicationScanner Dockerfile # # Pull base image nodejs image. @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile WORKDIR /usr/src/app @@ -35,8 +35,8 @@ WORKDIR /usr/src/app RUN cd /usr/src/app # Copy package.json files -COPY ./application-scanner/package.json /usr/src/app/package.json -COPY ./application-scanner/package-lock.json /usr/src/app/package-lock.json +COPY ./ApplicationScanner/package.json /usr/src/app/package.json +COPY ./ApplicationScanner/package-lock.json /usr/src/app/package-lock.json RUN npm install diff --git a/ApplicationScanner/index.ts b/ApplicationScanner/index.ts index 141f491402..b6923f2e84 100644 --- a/ApplicationScanner/index.ts +++ b/ApplicationScanner/index.ts @@ -1,6 +1,6 @@ -import { ExpressRequest, ExpressResponse } from 'Common-server/Utils/Express'; +import { ExpressRequest, ExpressResponse } from 'CommonServer/utils/Express'; -import app from 'Common-server/utils/StartServer'; +import app from 'CommonServer/utils/StartServer'; import Main from './worker/main'; @@ -16,7 +16,7 @@ app.get( JSON.stringify({ status: 200, message: 'Service Status - OK', - serviceType: 'oneuptime-application-scanner', + serviceType: 'oneuptime-ApplicationScanner', }) ); } diff --git a/ApplicationScanner/package-lock.json b/ApplicationScanner/package-lock.json index b10e3e33ce..f09cfcd052 100644 --- a/ApplicationScanner/package-lock.json +++ b/ApplicationScanner/package-lock.json @@ -41,7 +41,7 @@ "@types/node": "^17.0.22" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -837,8 +837,8 @@ "resolved": "../common", "link": true }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/concat-map": { @@ -4114,8 +4114,8 @@ "axios": "^0.26.1" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/ApplicationScanner/utils/applicationService.ts b/ApplicationScanner/utils/applicationService.ts index 3a88dffd67..b60fe81dff 100644 --- a/ApplicationScanner/utils/applicationService.ts +++ b/ApplicationScanner/utils/applicationService.ts @@ -1,5 +1,5 @@ import crypto from 'crypto'; -import logger from 'Common-server/Utils/Logger'; +import logger from 'CommonServer/utils/Logger'; import EncryptionKeys from './encryptionKeys'; const algorithm = EncryptionKeys.algorithm; const key = EncryptionKeys.key; diff --git a/Backend/.dockerignore b/Backend/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/Backend/.dockerignore +++ b/Backend/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/Backend/Dockerfile b/Backend/Dockerfile index d34adf8605..90663f199a 100755 --- a/Backend/Dockerfile +++ b/Backend/Dockerfile @@ -25,12 +25,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables diff --git a/Backend/Dockerfile.dev b/Backend/Dockerfile.dev index 120c6821a0..458c8d4a6f 100644 --- a/Backend/Dockerfile.dev +++ b/Backend/Dockerfile.dev @@ -25,12 +25,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables diff --git a/Backend/api/ScriptRunner.ts b/Backend/api/ScriptRunner.ts index 6d0193a381..798550c40a 100644 --- a/Backend/api/ScriptRunner.ts +++ b/Backend/api/ScriptRunner.ts @@ -15,7 +15,7 @@ import ClusterKeyAuthorization from 'CommonServer/middleware/ClusterKeyAuthoriza const router = express.getRouter(); -// get all script monitors for script-runner +// get all script monitors for ScriptRunner router.get( '/monitors', ClusterKeyAuthorization.isAuthorizedService, diff --git a/Backend/api/StatusPage.ts b/Backend/api/StatusPage.ts index a4acf4a3b5..92b9fad7d9 100755 --- a/Backend/api/StatusPage.ts +++ b/Backend/api/StatusPage.ts @@ -71,7 +71,7 @@ ApiBase({ isResourceInProject: true, service: StatusPageService, friendlyResourceName: 'Status Page', - resourceName: 'status-page', + resourceName: 'StatusPage', }); //fetch tweets from user twitter handle @@ -837,7 +837,7 @@ router.get( ); router.get( - '/:projectId/status-pages', + '/:projectId/StatusPages', getUser, isAuthorized, async function (req, res) { @@ -1058,7 +1058,7 @@ router.get( item: { title: incident.title, - guid: `${global.apiHost}/status-page/${statusPageId}/rss/${incident._id}`, + guid: `${global.apiHost}/StatusPage/${statusPageId}/rss/${incident._id}`, pubDate: new Date(incident.createdAt).toUTCString(), description: ` new Date().toUTCString(), @@ -1737,7 +1737,7 @@ router.get( ); router.post( - '/:projectId/createExternalstatus-page/:statusPageId', + '/:projectId/createExternalStatusPage/:statusPageId', checkUser, async (req: ExpressRequest, res: ExpressResponse) => { try { @@ -1850,7 +1850,7 @@ router.post( ); router.post( - '/:projectId/updateExternalstatus-page/:externalStatusPageId', + '/:projectId/updateExternalStatusPage/:externalStatusPageId', checkUser, async (req: ExpressRequest, res: ExpressResponse) => { try { @@ -1978,7 +1978,7 @@ router.get( ); router.post( - '/:projectId/deleteExternalstatus-page/:externalStatusPageId', + '/:projectId/deleteExternalStatusPage/:externalStatusPageId', checkUser, async (req: ExpressRequest, res: ExpressResponse) => { try { diff --git a/Backend/index.ts b/Backend/index.ts index 744ce19e48..aac1472e2a 100755 --- a/Backend/index.ts +++ b/Backend/index.ts @@ -153,7 +153,7 @@ app.use(['/schedule', '/api/schedule'], ScheduleAPI); app.use(['/monitor', '/api/monitor'], MonitorAPI); -app.use(['/status-page', '/api/status-page'], StatusPageAPI); +app.use(['/StatusPage', '/api/StatusPage'], StatusPageAPI); app.use(['/file', '/api/file'], FileAPI); @@ -264,7 +264,7 @@ app.use(['/monitorSla', '/api/monitorSla'], MonitorSlaAPI); app.use(['/incoming-request', '/api/incoming-request'], IncomingRequestAPI); -app.use(['/script-runner', '/api/script-runner'], ScriptRunnerAPI); +app.use(['/ScriptRunner', '/api/ScriptRunner'], ScriptRunnerAPI); app.use(['/customField', '/api/customField'], CustomFieldAPI); diff --git a/Backend/package-lock.json b/Backend/package-lock.json index 7e80aba353..4304b4a26d 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -6784,7 +6784,7 @@ "node": ">=8.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -7540,8 +7540,8 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/http-signature": { @@ -10034,8 +10034,8 @@ "axios": "^0.26.1" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/Backend/test/statusPage.test.ts b/Backend/test/statusPage.test.ts index 7d83a32153..4f93720511 100644 --- a/Backend/test/statusPage.test.ts +++ b/Backend/test/statusPage.test.ts @@ -175,7 +175,7 @@ describe('Status API', function () { it('should not add status page if the page name is missing', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .post(`/status-page/${projectId}`) + .post(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ links: [], @@ -194,7 +194,7 @@ describe('Status API', function () { it('should add status page', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .post(`/status-page/${projectId}`) + .post(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ name: 'Status Page', @@ -229,7 +229,7 @@ describe('Status API', function () { it('should add private status page', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .post(`/status-page/${projectId}`) + .post(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ name: 'Private Status Page', @@ -267,7 +267,7 @@ describe('Status API', function () { it('should get private status page for authorized user', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .get(`/status-page/${privateStatusPageId}`) + .get(`/StatusPage/${privateStatusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -280,7 +280,7 @@ describe('Status API', function () { it('should get valid private status page rss for authorized user', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .get(`/status-page/${privateStatusPageId}/rss`) + .get(`/StatusPage/${privateStatusPageId}/rss`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -291,7 +291,7 @@ describe('Status API', function () { it('should not get private status page for unauthorized user', function (done: $TSFixMe) { request - .get(`/status-page/${privateStatusPageId}`) + .get(`/StatusPage/${privateStatusPageId}`) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; expect(res).to.have.status(401); @@ -302,7 +302,7 @@ describe('Status API', function () { it('should not update status page settings when domain is not string', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send({ domain: 5, @@ -317,7 +317,7 @@ describe('Status API', function () { it('should not update status page settings when domain is not valid', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send({ domain: 'wwwtest', @@ -332,7 +332,7 @@ describe('Status API', function () { it('should update status page settings', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .put(`/status-page/${projectId}`) + .put(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ _id: statusPageId, @@ -366,7 +366,7 @@ describe('Status API', function () { it('should return monitor category with monitors in status page data', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .get(`/status-page/${statusPageId}`) + .get(`/StatusPage/${statusPageId}`) .set('Authorization', authorization) .send() .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -390,7 +390,7 @@ describe('Status API', function () { it('should get list of scheduled events', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .get(`/status-page/${projectId}/${statusPageId}/events`) + .get(`/StatusPage/${projectId}/${statusPageId}/events`) .set('Authorization', authorization) .send() .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -410,7 +410,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; request .get( - `/status-page/${projectId}/${monitorId}/individualevents?date=${today}` + `/StatusPage/${projectId}/${monitorId}/individualevents?date=${today}` ) .set('Authorization', authorization) .send() @@ -439,7 +439,7 @@ describe('Status API', function () { }) .then(() => { request - .post(`/status-page/${projectId}/${monitorId}/monitorLogs`) + .post(`/StatusPage/${projectId}/${monitorId}/monitorLogs`) .set('Authorization', authorization) .send({ responseTime: true, @@ -459,7 +459,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'oneuptimeapp.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -473,7 +473,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'status.oneuptimeapp.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -512,7 +512,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'status.x.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -525,7 +525,7 @@ describe('Status API', function () { { verified: true } ).then(function () { request - .get(`/status-page/null?url=${domain}`) + .get(`/StatusPage/null?url=${domain}`) .send() .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -541,7 +541,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'status.y.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -549,7 +549,7 @@ describe('Status API', function () { expect(res).to.have.status(200); const domain = 'status.y.com'; request - .get(`/status-page/null?url=${domain}`) + .get(`/StatusPage/null?url=${domain}`) .send() .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -623,7 +623,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'status.oneuptime.hackerbay' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -645,7 +645,7 @@ describe('Status API', function () { ], }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -667,7 +667,7 @@ describe('Status API', function () { ], }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -681,7 +681,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'oneuptime.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -695,7 +695,7 @@ describe('Status API', function () { const authorization = `Basic ${token}`; const data = { domain: 'status.oneuptimeapp.com' }; request - .put(`/status-page/${projectId}/${statusPageId}/domain`) + .put(`/StatusPage/${projectId}/${statusPageId}/domain`) .set('Authorization', authorization) .send(data) .end(function (err: $TSFixMe, res: $TSFixMe) { @@ -719,7 +719,7 @@ describe('Status API', function () { if (err) throw err; const newProjectId = res.body._id; request - .post(`/status-page/${newProjectId}`) + .post(`/StatusPage/${newProjectId}`) .set('Authorization', authorization) .send({ name: 'Status Page name', @@ -735,7 +735,7 @@ describe('Status API', function () { const newStatusPageId = res.body._id; request .put( - `/status-page/${newProjectId}/${newStatusPageId}/domain` + `/StatusPage/${newProjectId}/${newStatusPageId}/domain` ) .set('Authorization', authorization) .send(data) @@ -765,7 +765,7 @@ describe('Status API', function () { if (err) throw err; const newProjectId = res.body._id; request - .post(`/status-page/${newProjectId}`) + .post(`/StatusPage/${newProjectId}`) .set('Authorization', authorization) .send({ name: 'Status Page name', @@ -781,7 +781,7 @@ describe('Status API', function () { const newStatusPageId = res.body._id; request .put( - `/status-page/${newProjectId}/${newStatusPageId}/domain` + `/StatusPage/${newProjectId}/${newStatusPageId}/domain` ) .set('Authorization', authorization) .send(data) @@ -810,7 +810,7 @@ describe('Status API', function () { const { _id: domainId } = statusPage.domains[0]; request - .put(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .put(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .send(data) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { @@ -830,7 +830,7 @@ describe('Status API', function () { const { _id: domainId } = statusPage.domains[0]; request - .put(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .put(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .send(data) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { @@ -850,7 +850,7 @@ describe('Status API', function () { const { _id: domainId } = statusPage.domains[0]; request - .put(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .put(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .send(data) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { @@ -872,7 +872,7 @@ describe('Status API', function () { // provide a random object id const statusPageId = '5ea70eb4be9f4b177a1719ad'; request - .put(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .put(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .send(data) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { @@ -890,7 +890,7 @@ describe('Status API', function () { const { _id: domainId } = statusPage.domains[0]; request - .delete(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .delete(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { if (err) throw err; @@ -909,7 +909,7 @@ describe('Status API', function () { // create random status page id const statusPageId = '5ea70eb4be9f4b177a1719ad'; request - .delete(`/status-page/${projectId}/${statusPageId}/${domainId}`) + .delete(`/StatusPage/${projectId}/${statusPageId}/${domainId}`) .set('Authorization', authorization) .end((err: $TSFixMe, res: $TSFixMe) => { if (err) throw err; @@ -998,7 +998,7 @@ describe('StatusPage API with Sub-Projects', function () { anotherUserToken = res.body.tokens.jwtAccessToken; const authorization = `Basic ${anotherUserToken}`; request - .post(`/status-page/${projectId}`) + .post(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ links: [], @@ -1035,7 +1035,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should not get private status page for authorized user that is not in project', function (done: $TSFixMe) { const authorization = `Basic ${newUserToken}`; request - .get(`/status-page/${privateStatusPageId}`) + .get(`/StatusPage/${privateStatusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1047,7 +1047,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should not create a statusPage for user that is not `admin` in sub-project.', function (done: $TSFixMe) { const authorization = `Basic ${newUserToken}`; request - .post(`/status-page/${subProjectId}`) + .post(`/StatusPage/${subProjectId}`) .set('Authorization', authorization) .send({ links: [], @@ -1082,7 +1082,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should create a statusPage in parent project by valid admin.', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .post(`/status-page/${projectId}`) + .post(`/StatusPage/${projectId}`) .set('Authorization', authorization) .send({ links: [], @@ -1118,7 +1118,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should create a statusPage in sub-project by valid admin.', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .post(`/status-page/${subProjectId}`) + .post(`/StatusPage/${subProjectId}`) .set('Authorization', authorization) .send({ links: [], @@ -1153,7 +1153,7 @@ describe('StatusPage API with Sub-Projects', function () { it("should get only sub-project's statuspages for valid sub-project user", function (done: $TSFixMe) { const authorization = `Basic ${newUserToken}`; request - .get(`/status-page/${subProjectId}/statuspage`) + .get(`/StatusPage/${subProjectId}/statuspage`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1169,7 +1169,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should get both project and sub-project statuspage for valid parent project user.', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .get(`/status-page/${projectId}/statuspages`) + .get(`/StatusPage/${projectId}/statuspages`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1195,7 +1195,7 @@ describe('StatusPage API with Sub-Projects', function () { }) .end(function () { request - .get(`/status-page/${subProjectStatusPageId}`) + .get(`/StatusPage/${subProjectStatusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1210,7 +1210,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should not delete a status page for user that is not `admin` in sub-project.', function (done: $TSFixMe) { const authorization = `Basic ${newUserToken}`; request - .delete(`/status-page/${subProjectId}/${subProjectStatusPageId}`) + .delete(`/StatusPage/${subProjectId}/${subProjectStatusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1225,7 +1225,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should delete sub-project status page', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .delete(`/status-page/${subProjectId}/${subProjectStatusPageId}`) + .delete(`/StatusPage/${subProjectId}/${subProjectStatusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; @@ -1237,7 +1237,7 @@ describe('StatusPage API with Sub-Projects', function () { it('should delete parent project status page', function (done: $TSFixMe) { const authorization = `Basic ${token}`; request - .delete(`/status-page/${projectId}/${statusPageId}`) + .delete(`/StatusPage/${projectId}/${statusPageId}`) .set('Authorization', authorization) .end(function (err: $TSFixMe, res: $TSFixMe) { if (err) throw err; diff --git a/Backend/test/subscriber.test.ts b/Backend/test/subscriber.test.ts index 19fc6b887a..b68096c1c4 100644 --- a/Backend/test/subscriber.test.ts +++ b/Backend/test/subscriber.test.ts @@ -119,7 +119,7 @@ describe('Subscriber API', function () { ); request .post( - `/status-page/${projectId}` + `/StatusPage/${projectId}` ) .set( 'Authorization', diff --git a/Ci/init-script/test.yaml b/Ci/init-script/test.yaml index e9962e585a..b9bad8157d 100644 --- a/Ci/init-script/test.yaml +++ b/Ci/init-script/test.yaml @@ -7,17 +7,17 @@ #UPDATE: Any update to this file should also be accompanied with ../test.yaml ######### -########-INIT-SCRIPT-########## +########-InitScript-########## apiVersion: batch/v1 kind: Job metadata: - name: init-script + name: InitScript spec: template: spec: containers: - - name: init-script - image: localhost:32000/init-script:staging + - name: InitScript + image: localhost:32000/InitScript:staging imagePullPolicy: Always env: - name: MONGO_URL diff --git a/Ci/scripts/clean_install.sh b/Ci/scripts/clean_install.sh index 17896ef062..dfeec0545e 100644 --- a/Ci/scripts/clean_install.sh +++ b/Ci/scripts/clean_install.sh @@ -18,12 +18,12 @@ clean_install dashboard clean_install accounts clean_install backend clean_install home -clean_install status-page -clean_install api-docs +clean_install StatusPage +clean_install ApiDocs clean_install probe -clean_install admin-dashboard -clean_install init-script +clean_install AdminDashboard +clean_install InitScript clean_install licensing -clean_install helm-chart -clean_install js-sdk +clean_install HelmChart +clean_install JavaScriptSDK clean_install . \ No newline at end of file diff --git a/Ci/scripts/docker-build-all-and-push.sh b/Ci/scripts/docker-build-all-and-push.sh index 2f93cb5ba7..3bb172dfe1 100755 --- a/Ci/scripts/docker-build-all-and-push.sh +++ b/Ci/scripts/docker-build-all-and-push.sh @@ -34,21 +34,21 @@ build dashboard $1 build accounts $1 build backend $1 build home $1 -build status-page $1 -build api-docs $1 +build StatusPage $1 +build ApiDocs $1 build probe $1 -build admin-dashboard $1 -build init-script $1 +build AdminDashboard $1 +build InitScript $1 build slack $1 build licensing $1 -build helm-chart $1 -build lighthouse-runner $1 -build script-runner $1 -build container-scanner $1 -build application-scanner $1 +build HelmChart $1 +build LighthouseRunner $1 +build ScriptRunner $1 +build ContainerScanner $1 +build ApplicationScanner $1 build data-ingestor $1 build realtime $1 build haraka $1 -build http-test-server $1 +build HttpTestServer $1 cd $DIR \ No newline at end of file diff --git a/Ci/scripts/hosts-setup.sh b/Ci/scripts/hosts-setup.sh index f18e78a796..e22b300a2b 100644 --- a/Ci/scripts/hosts-setup.sh +++ b/Ci/scripts/hosts-setup.sh @@ -2,7 +2,7 @@ sudo sed -i '/accounts/c\' /etc/hosts ACCOUNTS_IP=`sudo k describe svc oneuptime-accounts | grep Endpoints | cut -d ":" -f 2` echo $ACCOUNTS_IP' accounts.app.local' | sudo tee -a /etc/hosts -sudo sed -i '/admin-dashboard/c\' /etc/hosts +sudo sed -i '/AdminDashboard/c\' /etc/hosts ADMIN_DASHBOARD_IP=`sudo k describe svc oneuptime-admin | grep Endpoints | cut -d ":" -f 2` echo $ADMIN_DASHBOARD_IP' admin.app.local' | sudo tee -a /etc/hosts @@ -18,13 +18,13 @@ sudo sed -i '/home/c\' /etc/hosts HOME_IP=`sudo k describe svc oneuptime-home | grep Endpoints | cut -d ":" -f 2` echo $HOME_IP' home.app.local' | sudo tee -a /etc/hosts -sudo sed -i '/status-page/c\' /etc/hosts +sudo sed -i '/StatusPage/c\' /etc/hosts STATUSPAGE_IP=`sudo k describe svc oneuptime-status | grep Endpoints | cut -d ":" -f 2` echo $STATUSPAGE_IP' status.app.local' | sudo tee -a /etc/hosts -sudo sed -i '/api-docs/c\' /etc/hosts -APIDOCS_IP=`sudo k describe svc oneuptime-api-docs | grep Endpoints | cut -d ":" -f 2` -echo $APIDOCS_IP' api-docs.app.local' | sudo tee -a /etc/hosts +sudo sed -i '/ApiDocs/c\' /etc/hosts +APIDOCS_IP=`sudo k describe svc oneuptime-ApiDocs | grep Endpoints | cut -d ":" -f 2` +echo $APIDOCS_IP' ApiDocs.app.local' | sudo tee -a /etc/hosts sudo sed -i '/licensing/c\' /etc/hosts LICENSING_IP=`sudo k describe svc oneuptime-licensing | grep Endpoints | cut -d ":" -f 2` diff --git a/Ci/scripts/production-rollback.sh b/Ci/scripts/production-rollback.sh index 83c183ed9b..54a61710ff 100644 --- a/Ci/scripts/production-rollback.sh +++ b/Ci/scripts/production-rollback.sh @@ -25,12 +25,12 @@ function check { rollback accounts rollback backend rollback home - rollback status-page - rollback api-docs + rollback StatusPage + rollback ApiDocs rollback probe - rollback admin-dashboard + rollback AdminDashboard rollback licensing - rollback helm-chart + rollback HelmChart rollback slack exit 1 else @@ -42,12 +42,12 @@ check dashboard check accounts check backend check home -check status-page -check api-docs +check StatusPage +check ApiDocs check probe-1 check probe-2 -check admin-dashboard +check AdminDashboard check licensing -check init-script +check InitScript check slack -check helm-chart \ No newline at end of file +check HelmChart \ No newline at end of file diff --git a/Ci/scripts/setup-machine.sh b/Ci/scripts/setup-machine.sh index f0d1a3f0f4..b5a898f786 100644 --- a/Ci/scripts/setup-machine.sh +++ b/Ci/scripts/setup-machine.sh @@ -10,10 +10,10 @@ echo "RUNNING COMMAND: ./ci/cleanup.sh" ./ci/scripts/cleanup.sh # Setup Machine. -echo "RUNNING COMMAND: chmod +x ./helm-chart/public/install.sh" -chmod +x ./helm-chart/public/install.sh -echo "RUNNING COMMAND: ./helm-chart/public/install.sh" -./helm-chart/public/install.sh ci-install $1 +echo "RUNNING COMMAND: chmod +x ./HelmChart/public/install.sh" +chmod +x ./HelmChart/public/install.sh +echo "RUNNING COMMAND: ./HelmChart/public/install.sh" +./HelmChart/public/install.sh ci-install $1 # For dpkg interruption sudo dpkg --configure -a \ No newline at end of file diff --git a/Ci/scripts/staging-rollback.sh b/Ci/scripts/staging-rollback.sh index 4c286917e8..8c4e4e19df 100755 --- a/Ci/scripts/staging-rollback.sh +++ b/Ci/scripts/staging-rollback.sh @@ -31,12 +31,12 @@ function check { rollback accounts rollback backend rollback home - rollback status-page - rollback api-docs + rollback StatusPage + rollback ApiDocs rollback probe - rollback admin-dashboard + rollback AdminDashboard rollback licensing - rollback helm-chart + rollback HelmChart rollback slack exit 1 else @@ -48,11 +48,11 @@ check dashboard check accounts check backend check home -check status-page -check api-docs +check StatusPage +check ApiDocs check probe-1 check probe-2 -check admin-dashboard +check AdminDashboard check licensing check slack -check helm-chart \ No newline at end of file +check HelmChart \ No newline at end of file diff --git a/Ci/scripts/version-setup.sh b/Ci/scripts/version-setup.sh index 176cb79b56..b3aa23c25a 100755 --- a/Ci/scripts/version-setup.sh +++ b/Ci/scripts/version-setup.sh @@ -15,21 +15,21 @@ version dashboard version accounts version backend version home -version status-page -version api-docs +version StatusPage +version ApiDocs version probe -version admin-dashboard -version init-script +version AdminDashboard +version InitScript version licensing -version helm-chart -version js-sdk +version HelmChart +version JavaScriptSDK version oneuptime-le-store version oneuptime-acme-http-01 -version lighthouse-runner -version script-runner -version container-scanner -version application-scanner +version LighthouseRunner +version ScriptRunner +version ContainerScanner +version ApplicationScanner version data-ingestor version realtime -version probe-api +version ProbeAPI version . \ No newline at end of file diff --git a/Ci/spec/admin-dashboard/audit.yaml b/Ci/spec/admin-dashboard/audit.yaml index 870cc076bf..6b2b90669c 100644 --- a/Ci/spec/admin-dashboard/audit.yaml +++ b/Ci/spec/admin-dashboard/audit.yaml @@ -1,23 +1,23 @@ ##ADMINDASHBOARD -audit_admin-dashboard: +audit_AdminDashboard: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_admin-dashboard admin-dashboard` + - export next_stage=`./ci/scripts/checkhash.sh audit_AdminDashboard AdminDashboard` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd admin-dashboard + - cd AdminDashboard - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_admin-dashboard admin-dashboard + - ./ci/scripts/storehash.sh audit_AdminDashboard AdminDashboard - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/admin-dashboard/rollback.yaml b/Ci/spec/admin-dashboard/rollback.yaml index f5a17fef5e..80e789820e 100644 --- a/Ci/spec/admin-dashboard/rollback.yaml +++ b/Ci/spec/admin-dashboard/rollback.yaml @@ -1,11 +1,11 @@ -production_rollback_admin-dashboard: +production_rollback_AdminDashboard: stage: RollbackIfTestsFail script: - chmod +x ./ci/scripts/deployment-setup.sh - bash ./ci/scripts/deployment-setup.sh - chmod +x ./ci/scripts/deployment-production-setup.sh - bash ./ci/scripts/deployment-production-setup.sh - # Rollback admin-dashboard + # Rollback AdminDashboard - chmod +x ./ci/scripts/job-status.sh - export smoke_test_production_status=`./ci/scripts/job-status.sh smoke_test_production` - if [[ $smoke_test_production_status == \"success\" ]]; then exit 0; fi @@ -16,14 +16,14 @@ production_rollback_admin-dashboard: refs: - release -staging_rollback_admin-dashboard: +staging_rollback_AdminDashboard: stage: RollbackIfTestsFail script: - chmod +x ./ci/scripts/deployment-setup.sh - bash ./ci/scripts/deployment-setup.sh - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - # Rollback admin-dashboard + # Rollback AdminDashboard - chmod +x ./ci/scripts/job-status.sh - export smoke_test_staging_status=`./ci/scripts/job-status.sh smoke_test_staging` - if [[ $smoke_test_staging_status == \"success\" ]]; then exit 0; fi diff --git a/Ci/spec/api-docs/audit.yaml b/Ci/spec/api-docs/audit.yaml index d455bb47a9..8c52f8123d 100644 --- a/Ci/spec/api-docs/audit.yaml +++ b/Ci/spec/api-docs/audit.yaml @@ -1,23 +1,23 @@ ## ACCOUNTS -audit_api-docs: +audit_ApiDocs: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_api-docs api-docs` + - export next_stage=`./ci/scripts/checkhash.sh audit_ApiDocs ApiDocs` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd api-docs + - cd ApiDocs - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_api-docs api-docs + - ./ci/scripts/storehash.sh audit_ApiDocs ApiDocs - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/api-docs/rollback.yaml b/Ci/spec/api-docs/rollback.yaml index 936774b872..5174f0098e 100644 --- a/Ci/spec/api-docs/rollback.yaml +++ b/Ci/spec/api-docs/rollback.yaml @@ -1,15 +1,15 @@ -staging_rollback_api-docs: +staging_rollback_ApiDocs: stage: RollbackIfTestsFail script: - chmod +x ./ci/scripts/deployment-setup.sh - bash ./ci/scripts/deployment-setup.sh - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - # Rollback api-docs + # Rollback ApiDocs - chmod +x ./ci/scripts/job-status.sh - export smoke_test_staging_status=`./ci/scripts/job-status.sh smoke_test_staging` - if [[ $smoke_test_staging_status == \"success\" ]]; then exit 0; fi - - sudo kubectl rollout undo deployment/fi-api-docs + - sudo kubectl rollout undo deployment/fi-ApiDocs - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: @@ -18,18 +18,18 @@ staging_rollback_api-docs: except: - $STAGING_SMOKE_TEST_STATUS -production_rollback_api-docs: +production_rollback_ApiDocs: stage: RollbackIfTestsFail script: - chmod +x ./ci/scripts/deployment-setup.sh - bash ./ci/scripts/deployment-setup.sh - chmod +x ./ci/scripts/deployment-production-setup.sh - bash ./ci/scripts/deployment-production-setup.sh - # Rollback api-docs + # Rollback ApiDocs - chmod +x ./ci/scripts/job-status.sh - export smoke_test_production_status=`./ci/scripts/job-status.sh smoke_test_production` - if [[ $smoke_test_production_status == \"success\" ]]; then exit 0; fi - - sudo kubectl rollout undo deployment/fi-api-docs + - sudo kubectl rollout undo deployment/fi-ApiDocs - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/application-scanner/audit.yaml b/Ci/spec/application-scanner/audit.yaml index 37c86c6a40..d18a5c857e 100644 --- a/Ci/spec/application-scanner/audit.yaml +++ b/Ci/spec/application-scanner/audit.yaml @@ -1,23 +1,23 @@ -## application-scanner -audit_application-scanner: +## ApplicationScanner +audit_ApplicationScanner: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_application-scanner application-scanner` + - export next_stage=`./ci/scripts/checkhash.sh audit_ApplicationScanner ApplicationScanner` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd application-scanner + - cd ApplicationScanner - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_application-scanner application-scanner + - ./ci/scripts/storehash.sh audit_ApplicationScanner ApplicationScanner - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/backend/build-n-test.yaml b/Ci/spec/backend/build-n-test.yaml index 859a8f76c3..125737d456 100644 --- a/Ci/spec/backend/build-n-test.yaml +++ b/Ci/spec/backend/build-n-test.yaml @@ -2,7 +2,7 @@ test_backend: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_backend backend init-script probe http-test-server` + - export next_stage=`./ci/scripts/checkhash.sh test_backend backend InitScript probe HttpTestServer` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - chmod +x ./ci/scripts/docker-install.sh - ./ci/scripts/docker-install.sh @@ -18,13 +18,13 @@ test_backend: - sudo docker run --name redis -p 6379:6379 -d redis:5.0.7 redis-server - sudo docker run --name realtime --env-file ./realtime/.env -e PORT=3300 --net=host -d oneuptime/realtime:latest - sudo docker run --name=samlIdp -p 9876:8080 -p 8443:8443 -e SIMPLESAMLPHP_SP_ENTITY_ID=hackerbay.io -e SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE=http://localhost:3002/api/user/sso/callback -e SIMPLESAMLPHP_SP_SINGLE_LOGOUT_SERVICE=http://localhost/simplesaml/module.php/saml/sp/saml2-logout.php/test-sp -v $PWD/saml/users.php:/var/www/simplesamlphp/config/authsources.php -d kristophjunge/test-saml-idp - - sudo docker build -t oneuptime/init-script:4.0.$CI_PIPELINE_ID ./init-script - - sudo docker run -e NODE_ENV=development -e IS_SAAS_SERVICE=true -e IS_TESTING=true --net=host -d oneuptime/init-script:4.0.$CI_PIPELINE_ID + - sudo docker build -t oneuptime/InitScript:4.0.$CI_PIPELINE_ID ./InitScript + - sudo docker run -e NODE_ENV=development -e IS_SAAS_SERVICE=true -e IS_TESTING=true --net=host -d oneuptime/InitScript:4.0.$CI_PIPELINE_ID - sudo docker build -t oneuptime/probe:4.0.$CI_PIPELINE_ID ./probe - sudo docker run --name probe-1 --env-file ./probe/.env -e PORT=3024 -e SERVER_URL=http://localhost:3020 -e PROBE_NAME='Probe 1' -e PROBE_KEY=test-key --net=host -d oneuptime/probe:4.0.$CI_PIPELINE_ID - sudo docker run --name probe-2 --env-file ./probe/.env -e PORT=3025 -e SERVER_URL=http://localhost:3020 -e PROBE_NAME='Probe 2' -e PROBE_KEY=test-key --net=host -d oneuptime/probe:4.0.$CI_PIPELINE_ID - - sudo docker build -t oneuptime/http-test-server:4.0.$CI_PIPELINE_ID ./http-test-server - - sudo docker run -p 3010:3010 -d oneuptime/http-test-server:4.0.$CI_PIPELINE_ID + - sudo docker build -t oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID ./HttpTestServer + - sudo docker run -p 3010:3010 -d oneuptime/HttpTestServer:4.0.$CI_PIPELINE_ID - sudo docker ps - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs @@ -33,7 +33,7 @@ test_backend: - ENCRYPTION_KEY=$ENCRYPTION_KEY TEST_EMAIL_SMTP_PORT=$TEST_EMAIL_SMTP_PORT TEST_EMAIL_SMTP_SERVER=$TEST_EMAIL_SMTP_SERVER TEST_EMAIL=$TEST_EMAIL TEST_EMAIL_NAME=$TEST_EMAIL TEST_EMAIL_PASSWORD=$TEST_EMAIL_PASSWORD IS_SAAS_SERVICE=true IS_TESTING=true DOCKER_UNMASKED_USERNAME=$DOCKER_UNMASKED_USERNAME DOCKER_UNMASKED_PASSWORD=$DOCKER_UNMASKED_PASSWORD DOCKER_SECURITY_SCAN_REGISTRY_URL=$DOCKER_SECURITY_SCAN_REGISTRY_URL DOCKER_SECURITY_SCAN_IMAGE_PATH=$DOCKER_SECURITY_SCAN_IMAGE_PATH DOCKER_SECURITY_SCAN_IMAGE_TAGS=$DOCKER_SECURITY_SCAN_IMAGE_TAGS GITHUB_UNMASKED_USERNAME=$GITHUB_UNMASKED_USERNAME GITHUB_UNMASKED_PASSWORD=$GITHUB_UNMASKED_PASSWORD GITHUB_SECURITY_SCAN_REPOSITORY_URL=$GITHUB_SECURITY_SCAN_REPOSITORY_URL npm test - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_backend backend init-script probe http-test-server + - ./ci/scripts/storehash.sh test_backend backend InitScript probe HttpTestServer - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh artifacts: diff --git a/Ci/spec/container-scanner/audit.yaml b/Ci/spec/container-scanner/audit.yaml index f8651156dc..b69ecc7044 100644 --- a/Ci/spec/container-scanner/audit.yaml +++ b/Ci/spec/container-scanner/audit.yaml @@ -1,23 +1,23 @@ -## container-scanner -audit_container-scanner: +## ContainerScanner +audit_ContainerScanner: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_container-scanner container-scanner` + - export next_stage=`./ci/scripts/checkhash.sh audit_ContainerScanner ContainerScanner` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd container-scanner + - cd ContainerScanner - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_container-scanner container-scanner + - ./ci/scripts/storehash.sh audit_ContainerScanner ContainerScanner - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/e2e/kubernetes-test.yaml b/Ci/spec/e2e/kubernetes-test.yaml index 4426d00419..c41057f87c 100644 --- a/Ci/spec/e2e/kubernetes-test.yaml +++ b/Ci/spec/e2e/kubernetes-test.yaml @@ -12,7 +12,7 @@ e2e_microk8s_test: - export ADMIN_DASHBOARD_URL=http://localhost/admin - export DASHBOARD_URL=http://localhost/dashboard - export BACKEND_URL=http://localhost/api - - export STATUSPAGE_URL=http://localhost/status-page + - export STATUSPAGE_URL=http://localhost/StatusPage - export APIDOCS_URL=http://localhost/docs - export LICENSING_URL=http://localhost/license - cd tests diff --git a/Ci/spec/go-sdk/audit.yaml b/Ci/spec/go-sdk/audit.yaml index f71292332f..2057950f7e 100644 --- a/Ci/spec/go-sdk/audit.yaml +++ b/Ci/spec/go-sdk/audit.yaml @@ -1,10 +1,10 @@ ## GO SDK -audit_go-sdk: +audit_GoSDK: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_go-sdk go-sdk` + - export next_stage=`./ci/scripts/checkhash.sh audit_GoSDK GoSDK` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt --fix-broken -y install - sudo apt-get update @@ -15,18 +15,18 @@ audit_go-sdk: - tar -xvf go1.16.4.linux-amd64.tar.gz - sudo mv go /usr/local || true # just continue is go already exist in the location - export GOROOT=/usr/local/go - - export GOPATH=$HOME/go-sdk/oneuptime + - export GOPATH=$HOME/GoSDK/oneuptime - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH - go version - - cd go-sdk + - cd GoSDK - go build - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_go-sdk go-sdk + - ./ci/scripts/storehash.sh audit_GoSDK GoSDK - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: refs: - master - release - - feature-go-sdk + - feature-GoSDK diff --git a/Ci/spec/go-sdk/build-n-test.yaml b/Ci/spec/go-sdk/build-n-test.yaml index c694adbd59..38e83c80a2 100644 --- a/Ci/spec/go-sdk/build-n-test.yaml +++ b/Ci/spec/go-sdk/build-n-test.yaml @@ -1,8 +1,8 @@ -test_go-sdk: +test_GoSDK: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_go-sdk go-sdk backend` + - export next_stage=`./ci/scripts/checkhash.sh test_GoSDK GoSDK backend` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc @@ -21,17 +21,17 @@ test_go-sdk: - sudo tar -xvf go1.16.4.linux-amd64.tar.gz - sudo mv go /usr/local || true # just continue is go already exist in the location - export GOROOT=/usr/local/go - - export GOPATH=$HOME/go-sdk/oneuptime + - export GOPATH=$HOME/GoSDK/oneuptime - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH - go version - - cd go-sdk + - cd GoSDK - go get -d ./... - go test -v # - go test -coverprofile=cover.txt # - go tool cover -html=cover.txt -o cover.html - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_go-sdk go-sdk backend + - ./ci/scripts/storehash.sh test_GoSDK GoSDK backend - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh except: diff --git a/Ci/spec/go-sdk/deploy.yaml b/Ci/spec/go-sdk/deploy.yaml index 3cd32c357a..23b7bb0beb 100644 --- a/Ci/spec/go-sdk/deploy.yaml +++ b/Ci/spec/go-sdk/deploy.yaml @@ -1,5 +1,5 @@ ## DEPLOYMENT STAGE - GO SDK -deploy_staging_go-sdk: +deploy_staging_GoSDK: stage: Deploy allow_failure: true retry: 2 @@ -12,9 +12,9 @@ deploy_staging_go-sdk: - sudo tar -xvf go1.16.4.linux-amd64.tar.gz - sudo mv go /usr/local || true # just continue is go already exist in the location - export GOROOT=/usr/local/go - - export GOPATH=$HOME/go-sdk/oneuptime + - export GOPATH=$HOME/GoSDK/oneuptime - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH - - cd go-sdk + - cd GoSDK - go get -d ./... - go mod tidy - git init @@ -23,8 +23,8 @@ deploy_staging_go-sdk: - git tag v4.0.$CI_PIPELINE_ID-qa # - go build # - git checkout staging || git checkout -b staging - # - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/go-sdk.git staging --force - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/go-sdk.git v4.0.$CI_PIPELINE_ID-qa --force + # - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/GoSDK.git staging --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/GoSDK.git v4.0.$CI_PIPELINE_ID-qa --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh @@ -32,11 +32,11 @@ deploy_staging_go-sdk: refs: - master - hotfix-master - - feature-go-sdk + - feature-GoSDK environment: name: staging -production_go-sdk: +production_GoSDK: stage: Deploy allow_failure: true retry: 2 @@ -49,9 +49,9 @@ production_go-sdk: - sudo tar -xvf go1.16.4.linux-amd64.tar.gz - sudo mv go /usr/local || true # just continue is go already exist in the location - export GOROOT=/usr/local/go - - export GOPATH=$HOME/go-sdk/oneuptime + - export GOPATH=$HOME/GoSDK/oneuptime - export PATH=$GOPATH/bin:$GOROOT/bin:$PATH - - cd go-sdk + - cd GoSDK - git init - git add . - git commit -m "production commit version 4.0.$CI_PIPELINE_ID" || echo "Nothing to update because no changes to sdk was made" @@ -64,9 +64,9 @@ production_go-sdk: - git tag v0.4.0.$CI_PIPELINE_ID # - go build # - git checkout staging || git checkout -b staging - # - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/go-sdk.git staging --force - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/go-sdk.git v4.0.$CI_PIPELINE_ID --force - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/go-sdk.git master --force + # - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/GoSDK.git staging --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/GoSDK.git v4.0.$CI_PIPELINE_ID --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/GoSDK.git master --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh @@ -74,6 +74,6 @@ production_go-sdk: refs: - release - hotfix-master - - feature-go-sdk + - feature-GoSDK environment: name: prroduction diff --git a/Ci/spec/helm-chart/audit.yaml b/Ci/spec/helm-chart/audit.yaml index 8ab163a6dd..884f00db67 100644 --- a/Ci/spec/helm-chart/audit.yaml +++ b/Ci/spec/helm-chart/audit.yaml @@ -1,10 +1,10 @@ # Helm Chart Repo -audit_helm-chart: +audit_HelmChart: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_helm-chart helm-chart` + - export next_stage=`./ci/scripts/checkhash.sh audit_HelmChart HelmChart` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc @@ -16,7 +16,7 @@ audit_helm-chart: - bash ./ci/scripts/deployment-setup.sh - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - - cd helm-chart + - cd HelmChart - npm install - npm run audit - npm run dep-check @@ -25,7 +25,7 @@ audit_helm-chart: - sudo helm lint ./public/oneuptime - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_helm-chart helm-chart + - ./ci/scripts/storehash.sh audit_HelmChart HelmChart - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/helm-chart/build-n-test.yaml b/Ci/spec/helm-chart/build-n-test.yaml index e5c01a4b7f..9ec130b981 100644 --- a/Ci/spec/helm-chart/build-n-test.yaml +++ b/Ci/spec/helm-chart/build-n-test.yaml @@ -1,4 +1,4 @@ -test_helm-chart: +test_HelmChart: stage: BuildAndTest script: - echo "No test implemented" diff --git a/Ci/spec/helm-chart/rollback.yaml b/Ci/spec/helm-chart/rollback.yaml index bdaf89523d..e16dbf3498 100644 --- a/Ci/spec/helm-chart/rollback.yaml +++ b/Ci/spec/helm-chart/rollback.yaml @@ -1,4 +1,4 @@ -staging_rollback_helm-chart: +staging_rollback_HelmChart: stage: RollbackIfTestsFail script: - chmod +x ./ci/scripts/deployment-setup.sh @@ -9,7 +9,7 @@ staging_rollback_helm-chart: - chmod +x ./ci/scripts/job-status.sh - export smoke_test_staging_status=`./ci/scripts/job-status.sh smoke_test_staging` - if [[ $smoke_test_staging_status == \"success\" ]]; then exit 0; fi - - sudo kubectl rollout undo deployment/fi-helm-chart + - sudo kubectl rollout undo deployment/fi-HelmChart - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: @@ -29,7 +29,7 @@ production_rollback_hekm-chart: - chmod +x ./ci/scripts/job-status.sh - export smoke_test_production_status=`./ci/scripts/job-status.sh smoke_test_production` - if [[ $smoke_test_production_status == \"success\" ]]; then exit 0; fi - - sudo kubectl rollout undo deployment/fi-helm-chart + - sudo kubectl rollout undo deployment/fi-HelmChart - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/http-test-server/audit.yaml b/Ci/spec/http-test-server/audit.yaml index 02dc300ef1..4d3caca2bd 100644 --- a/Ci/spec/http-test-server/audit.yaml +++ b/Ci/spec/http-test-server/audit.yaml @@ -4,20 +4,20 @@ audit_http_test_server: allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_http_test_server http-test-server` + - export next_stage=`./ci/scripts/checkhash.sh audit_http_test_server HttpTestServer` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd http-test-server + - cd HttpTestServer - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_http_test_server http-test-server + - ./ci/scripts/storehash.sh audit_http_test_server HttpTestServer - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/init-script/audit.yaml b/Ci/spec/init-script/audit.yaml index 01016dabaf..d4dafd1fe1 100644 --- a/Ci/spec/init-script/audit.yaml +++ b/Ci/spec/init-script/audit.yaml @@ -1,23 +1,23 @@ -## INIT-SCRIPT -audit_init-script: +## InitScript +audit_InitScript: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_init-script init-script` + - export next_stage=`./ci/scripts/checkhash.sh audit_InitScript InitScript` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd init-script + - cd InitScript - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_init-script init-script + - ./ci/scripts/storehash.sh audit_InitScript InitScript - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/init-script/deploy.yaml b/Ci/spec/init-script/deploy.yaml index 32713ca748..e36c092b7a 100644 --- a/Ci/spec/init-script/deploy.yaml +++ b/Ci/spec/init-script/deploy.yaml @@ -1,5 +1,5 @@ # DEPLOYMENT STAGE - Init Script -staging_init-script: +staging_InitScript: stage: Deploy retry: 2 allow_failure: true @@ -13,13 +13,13 @@ staging_init-script: - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - - sudo docker build -t oneuptime/init-script:staging ./init-script - - sudo docker tag oneuptime/init-script:staging oneuptime/init-script:4.0.$CI_PIPELINE_ID - - sudo docker push oneuptime/init-script:4.0.$CI_PIPELINE_ID - - sudo docker push oneuptime/init-script:staging + - sudo docker build -t oneuptime/InitScript:staging ./InitScript + - sudo docker tag oneuptime/InitScript:staging oneuptime/InitScript:4.0.$CI_PIPELINE_ID + - sudo docker push oneuptime/InitScript:4.0.$CI_PIPELINE_ID + - sudo docker push oneuptime/InitScript:staging ## You cannot update a Kubernetes job. They are immutable. Delete it and run helm again which will create a new job. . - - sudo kubectl delete job fi-init-script || echo "Job not found" - - sudo helm upgrade --reuse-values fi ./helm-chart/public/oneuptime + - sudo kubectl delete job fi-InitScript || echo "Job not found" + - sudo helm upgrade --reuse-values fi ./HelmChart/public/oneuptime # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh @@ -32,7 +32,7 @@ staging_init-script: environment: name: staging -production_init-script: +production_InitScript: stage: Deploy allow_failure: true retry: 2 @@ -46,13 +46,13 @@ production_init-script: - chmod +x ./ci/scripts/deployment-production-setup.sh - bash ./ci/scripts/deployment-production-setup.sh - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - - sudo docker build -t oneuptime/init-script:latest ./init-script - - sudo docker tag oneuptime/init-script:latest oneuptime/init-script:4.0.$CI_PIPELINE_ID - - sudo docker push oneuptime/init-script:4.0.$CI_PIPELINE_ID - - sudo docker push oneuptime/init-script:latest + - sudo docker build -t oneuptime/InitScript:latest ./InitScript + - sudo docker tag oneuptime/InitScript:latest oneuptime/InitScript:4.0.$CI_PIPELINE_ID + - sudo docker push oneuptime/InitScript:4.0.$CI_PIPELINE_ID + - sudo docker push oneuptime/InitScript:latest ## You cannot update a Kubernetes job. They are immutable. Delete it and run helm again which will create a a new job. . - - sudo kubectl delete job fi-init-script || echo "Job not found" - - sudo helm upgrade --reuse-values fi ./helm-chart/public/oneuptime + - sudo kubectl delete job fi-InitScript || echo "Job not found" + - sudo helm upgrade --reuse-values fi ./HelmChart/public/oneuptime # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh diff --git a/Ci/spec/java-sdk/audit.yaml b/Ci/spec/java-sdk/audit.yaml index 272646b75c..d3c6d03d0e 100644 --- a/Ci/spec/java-sdk/audit.yaml +++ b/Ci/spec/java-sdk/audit.yaml @@ -1,10 +1,10 @@ ## JAVA SDK -audit_java-sdk: +audit_JavaSDK: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_java-sdk java-sdk` + - export next_stage=`./ci/scripts/checkhash.sh audit_JavaSDK JavaSDK` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc @@ -15,12 +15,12 @@ audit_java-sdk: - sudo apt-get autoremove -y --purge - sudo apt-get install -y openjdk-8-jdk - sudo apt-get install -y maven - - cp -f java-sdk/.m2/settings.xml $HOME/.m2/settings.xml - - cd java-sdk + - cp -f JavaSDK/.m2/settings.xml $HOME/.m2/settings.xml + - cd JavaSDK - mvn clean - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_java-sdk java-sdk + - ./ci/scripts/storehash.sh audit_JavaSDK JavaSDK - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/java-sdk/build-n-test.yaml b/Ci/spec/java-sdk/build-n-test.yaml index e6ec0d9a42..8f9429063f 100644 --- a/Ci/spec/java-sdk/build-n-test.yaml +++ b/Ci/spec/java-sdk/build-n-test.yaml @@ -1,8 +1,8 @@ -test_java-sdk: +test_JavaSDK: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_java-sdk java-sdk backend` + - export next_stage=`./ci/scripts/checkhash.sh test_JavaSDK JavaSDK backend` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - curl -sSL https://get.docker.com/ | sh #Install docker. @@ -20,12 +20,12 @@ test_java-sdk: - sudo apt-get autoremove -y --purge - sudo apt-get install -y openjdk-8-jdk - sudo apt-get install -y maven - - cp -f java-sdk/.m2/settings.xml $HOME/.m2/settings.xml - - cd java-sdk + - cp -f JavaSDK/.m2/settings.xml $HOME/.m2/settings.xml + - cd JavaSDK - mvn clean test - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_java-sdk java-sdk backend + - ./ci/scripts/storehash.sh test_JavaSDK JavaSDK backend - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh except: diff --git a/Ci/spec/java-sdk/deploy.yaml b/Ci/spec/java-sdk/deploy.yaml index 49239f8659..1edbe40508 100644 --- a/Ci/spec/java-sdk/deploy.yaml +++ b/Ci/spec/java-sdk/deploy.yaml @@ -1,5 +1,5 @@ ## DEPLOYMENT STAGE - JAVA SDK -staging_java-sdk: +staging_JavaSDK: stage: Deploy allow_failure: true retry: 2 @@ -18,7 +18,7 @@ staging_java-sdk: - sudo docker build -t oneuptime/backend:4.0.$CI_PIPELINE_ID ./backend - sudo docker run --env-file ./backend/.env --net=host -d oneuptime/backend:4.0.$CI_PIPELINE_ID - sudo docker ps - - cd java-sdk + - cd JavaSDK # - gpg --batch --passphrase $GPG_PASSPHRASE --quick-generate-key ONEUPTIME default default 2024-07-16 # - gpg --list-keys # - gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 23972C2E9738913575B32C581FEDD8E12C3929D9 @@ -31,7 +31,7 @@ staging_java-sdk: - git add . - git commit -m "staging deployment version 4.0.$CI_PIPELINE_ID-SNAPSHOT" - git checkout staging || git checkout -b staging - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/java-sdk.git staging --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/JavaSDK.git staging --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh @@ -42,7 +42,7 @@ staging_java-sdk: environment: name: staging -production_java-sdk: +production_JavaSDK: stage: Deploy allow_failure: true retry: 2 @@ -61,7 +61,7 @@ production_java-sdk: - sudo docker build -t oneuptime/backend:4.0.$CI_PIPELINE_ID ./backend - sudo docker run --env-file ./backend/.env --net=host -d oneuptime/backend:4.0.$CI_PIPELINE_ID - sudo docker ps - - cd java-sdk + - cd JavaSDK # - gpg --batch --passphrase $GPG_PASSPHRASE --quick-generate-key ONEUPTIME default default 2024-07-16 # - gpg --list-keys # - gpg --keyserver hkp://pool.sks-keyservers.net --send-keys AD260FCA4615DAD557090B1DC928B7479CFDE5A0 @@ -75,7 +75,7 @@ production_java-sdk: - git init - git add . - git commit -m "production deployment version 4.0.$CI_PIPELINE_ID" - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/java-sdk.git master --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/JavaSDK.git master --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh diff --git a/Ci/spec/js-sdk/audit.yaml b/Ci/spec/js-sdk/audit.yaml index 8f56fed46f..9d97e74200 100644 --- a/Ci/spec/js-sdk/audit.yaml +++ b/Ci/spec/js-sdk/audit.yaml @@ -1,23 +1,23 @@ ## JS SDK -audit_js-sdk: +audit_JavaScriptSDK: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_js-sdk js-sdk` + - export next_stage=`./ci/scripts/checkhash.sh audit_JavaScriptSDK JavaScriptSDK` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd js-sdk + - cd JavaScriptSDK - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_js-sdk js-sdk + - ./ci/scripts/storehash.sh audit_JavaScriptSDK JavaScriptSDK - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/js-sdk/build-n-test.yaml b/Ci/spec/js-sdk/build-n-test.yaml index 1761b63454..d14d273990 100644 --- a/Ci/spec/js-sdk/build-n-test.yaml +++ b/Ci/spec/js-sdk/build-n-test.yaml @@ -1,8 +1,8 @@ -test_js-sdk: +test_JavaScriptSDK: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_js-sdk js-sdk backend` + - export next_stage=`./ci/scripts/checkhash.sh test_JavaScriptSDK JavaScriptSDK backend` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - curl -sSL https://get.docker.com/ | sh #Install docker. @@ -15,13 +15,13 @@ test_js-sdk: - sudo docker build -t oneuptime/backend:4.0.$CI_PIPELINE_ID ./backend - sudo docker run --env-file ./backend/.env -e ENCRYPTION_KEY=$ENCRYPTION_KEY --net=host -d oneuptime/backend:4.0.$CI_PIPELINE_ID - sudo docker ps - - cd js-sdk + - cd JavaScriptSDK - npm install - npm run build - npm run test - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_js-sdk js-sdk backend + - ./ci/scripts/storehash.sh test_JavaScriptSDK JavaScriptSDK backend - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh except: diff --git a/Ci/spec/lighthouse-runner/audit.yaml b/Ci/spec/lighthouse-runner/audit.yaml index 8cd08e9c48..b9e53c989b 100644 --- a/Ci/spec/lighthouse-runner/audit.yaml +++ b/Ci/spec/lighthouse-runner/audit.yaml @@ -1,23 +1,23 @@ -## lighthouse-runner -audit_lighthouse-runner: +## LighthouseRunner +audit_LighthouseRunner: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_lighthouse-runner lighthouse-runner` + - export next_stage=`./ci/scripts/checkhash.sh audit_LighthouseRunner LighthouseRunner` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd lighthouse-runner + - cd LighthouseRunner - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_lighthouse-runner lighthouse-runner + - ./ci/scripts/storehash.sh audit_LighthouseRunner LighthouseRunner - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/php-sdk/audit.yaml b/Ci/spec/php-sdk/audit.yaml index c8f7cf57ac..f3554d092c 100644 --- a/Ci/spec/php-sdk/audit.yaml +++ b/Ci/spec/php-sdk/audit.yaml @@ -1,10 +1,10 @@ ## PHP SDK -audit_php-sdk: +audit_PhpSDK: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_php-sdk php-sdk` + - export next_stage=`./ci/scripts/checkhash.sh audit_PhpSDK PhpSDK` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo lsb_release -a @@ -14,13 +14,13 @@ audit_php-sdk: - sudo add-apt-repository -y ppa:ondrej/php - sudo apt install -y php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql php7.3-xml php7.3-mbstring - sudo apt-get install -y composer - - cd php-sdk + - cd PhpSDK - composer install - composer lint - composer analyze - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_php-sdk php-sdk + - ./ci/scripts/storehash.sh audit_PhpSDK PhpSDK - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/php-sdk/build-n-test.yaml b/Ci/spec/php-sdk/build-n-test.yaml index 4a9937e52e..0a10c28edb 100644 --- a/Ci/spec/php-sdk/build-n-test.yaml +++ b/Ci/spec/php-sdk/build-n-test.yaml @@ -1,8 +1,8 @@ -test_php-sdk: +test_PhpSDK: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_php-sdk php-sdk backend` + - export next_stage=`./ci/scripts/checkhash.sh test_PhpSDK PhpSDK backend` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - curl -sSL https://get.docker.com/ | sh #Install docker. @@ -18,12 +18,12 @@ test_php-sdk: - sudo docker build -t oneuptime/backend:4.0.$CI_PIPELINE_ID ./backend - sudo docker run --env-file ./backend/.env -e ENCRYPTION_KEY=$ENCRYPTION_KEY --net=host -d oneuptime/backend:4.0.$CI_PIPELINE_ID - sudo docker ps - - cd php-sdk + - cd PhpSDK - composer install - composer test - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_php-sdk php-sdk backend + - ./ci/scripts/storehash.sh test_PhpSDK PhpSDK backend - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh except: diff --git a/Ci/spec/php-sdk/deploy.yaml b/Ci/spec/php-sdk/deploy.yaml index 7f7f6a0113..07d969d6f8 100644 --- a/Ci/spec/php-sdk/deploy.yaml +++ b/Ci/spec/php-sdk/deploy.yaml @@ -1,5 +1,5 @@ ## DEPLOYMENT STAGE - PHP SDK -staging_php-sdk: +staging_PhpSDK: stage: Deploy allow_failure: true retry: 2 @@ -12,7 +12,7 @@ staging_php-sdk: - sudo apt install -y software-properties-common - sudo add-apt-repository -y ppa:ondrej/php - sudo apt install -y php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql php7.3-xml php7.3-mbstring - - cd php-sdk + - cd PhpSDK - sudo apt-get install -y composer - sudo npm install -g json composer-version - git init @@ -26,7 +26,7 @@ staging_php-sdk: - git add . - git commit -m "staging commit version 4.0.$CI_PIPELINE_ID" - git checkout staging || git checkout -b staging - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/php-sdk.git staging --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/PhpSDK.git staging --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh @@ -37,7 +37,7 @@ staging_php-sdk: environment: name: staging -production_php-sdk: +production_PhpSDK: stage: Deploy allow_failure: true retry: 2 @@ -50,7 +50,7 @@ production_php-sdk: - sudo apt install -y software-properties-common - sudo add-apt-repository -y ppa:ondrej/php - sudo apt install -y php7.3 php7.3-common php7.3-opcache php7.3-cli php7.3-gd php7.3-curl php7.3-mysql php7.3-xml php7.3-mbstring - - cd php-sdk + - cd PhpSDK - sudo apt-get install -y composer - sudo npm install -g json composer-version - git init @@ -63,7 +63,7 @@ production_php-sdk: - json -I -f composer.json -e 'this.name="oneuptime/sdk"' - git add . - git commit -m "production commit version 4.0.$CI_PIPELINE_ID" || echo "Nothing to update because no changes to sdk was made" && exit 0 - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/php-sdk.git master --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/PhpSDK.git master --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh diff --git a/Ci/spec/probe-api/audit.yaml b/Ci/spec/probe-api/audit.yaml index 3a610c5095..9e45048bb4 100644 --- a/Ci/spec/probe-api/audit.yaml +++ b/Ci/spec/probe-api/audit.yaml @@ -1,23 +1,23 @@ -## probe-api -audit_probe-api: +## ProbeAPI +audit_ProbeAPI: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_probe-api probe-api` + - export next_stage=`./ci/scripts/checkhash.sh audit_ProbeAPI ProbeAPI` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd probe-api + - cd ProbeAPI - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_probe-api probe-api + - ./ci/scripts/storehash.sh audit_ProbeAPI ProbeAPI - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/probe-api/deploy.yaml b/Ci/spec/probe-api/deploy.yaml index 5943f69674..ecaaf94161 100644 --- a/Ci/spec/probe-api/deploy.yaml +++ b/Ci/spec/probe-api/deploy.yaml @@ -1,4 +1,4 @@ -production_probe-api: +production_ProbeAPI: stage: Deploy retry: 2 allow_failure: true @@ -12,9 +12,9 @@ production_probe-api: - sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - sudo docker buildx create --use - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:4.0.$CI_PIPELINE_ID --push ./probe-api - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:latest --push ./probe-api - - kubectl set image deployment/fi-probe-api fi-probe-api=oneuptime/probe-api:4.0.$CI_PIPELINE_ID + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID --push ./ProbeAPI + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:latest --push ./ProbeAPI + - kubectl set image deployment/fi-ProbeAPI fi-ProbeAPI=oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh @@ -28,7 +28,7 @@ production_probe-api: name: production # DEPLOYMENT STAGE -staging_probe-api: +staging_ProbeAPI: stage: Deploy retry: 2 allow_failure: true @@ -40,12 +40,12 @@ staging_probe-api: - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy probe-api. + # Build and deploy ProbeAPI. - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - sudo docker buildx create --use - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:4.0.$CI_PIPELINE_ID --push ./probe-api - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/probe-api:staging --push ./probe-api - - kubectl set image deployment/fi-probe-api fi-probe-api=oneuptime/probe-api:4.0.$CI_PIPELINE_ID + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID --push ./ProbeAPI + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/ProbeAPI:staging --push ./ProbeAPI + - kubectl set image deployment/fi-ProbeAPI fi-ProbeAPI=oneuptime/ProbeAPI:4.0.$CI_PIPELINE_ID # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh diff --git a/Ci/spec/python-sdk/audit.yaml b/Ci/spec/python-sdk/audit.yaml index 7fd6fc801d..6c5c357b44 100644 --- a/Ci/spec/python-sdk/audit.yaml +++ b/Ci/spec/python-sdk/audit.yaml @@ -1,28 +1,28 @@ ## PYTHON SDK -audit_python-sdk: +audit_PythonSDK: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_python-sdk python-sdk` + - export next_stage=`./ci/scripts/checkhash.sh audit_PythonSDK PythonSDK` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y python3-pip - - cd python-sdk + - cd PythonSDK - pip3 install -r requirements.txt # TODO audit and dep-check library for Python # - npm run audit # - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_python-sdk python-sdk + - ./ci/scripts/storehash.sh audit_PythonSDK PythonSDK - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: refs: - master - release - - feature-python-sdk + - feature-PythonSDK diff --git a/Ci/spec/python-sdk/build-n-test.yaml b/Ci/spec/python-sdk/build-n-test.yaml index ba6c31bb3f..5bead98b14 100644 --- a/Ci/spec/python-sdk/build-n-test.yaml +++ b/Ci/spec/python-sdk/build-n-test.yaml @@ -1,8 +1,8 @@ -test_python-sdk: +test_PythonSDK: stage: BuildAndTest script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh test_python-sdk python-sdk backend` + - export next_stage=`./ci/scripts/checkhash.sh test_PythonSDK PythonSDK backend` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - curl -sSL https://get.docker.com/ | sh #Install docker. @@ -16,12 +16,12 @@ test_python-sdk: - sudo docker run --env-file ./backend/.env -e ENCRYPTION_KEY=$ENCRYPTION_KEY --net=host -d oneuptime/backend:4.0.$CI_PIPELINE_ID - sudo docker ps - sudo apt-get install -y python3-pip - - cd python-sdk + - cd PythonSDK - pip3 install -r requirements.txt - python3 -m unittest discover -s oneuptime_sdk/tests - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh test_python-sdk python-sdk backend + - ./ci/scripts/storehash.sh test_PythonSDK PythonSDK backend - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh except: diff --git a/Ci/spec/python-sdk/deploy.yaml b/Ci/spec/python-sdk/deploy.yaml index 1fb8057346..57c25955f4 100644 --- a/Ci/spec/python-sdk/deploy.yaml +++ b/Ci/spec/python-sdk/deploy.yaml @@ -1,5 +1,5 @@ ## DEPLOYMENT STAGE - PYTHON SDK -staging_python-sdk: +staging_PythonSDK: stage: Deploy allow_failure: true retry: 2 @@ -10,7 +10,7 @@ staging_python-sdk: - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - - sudo apt-get install -y python3-pip - - cd python-sdk + - cd PythonSDK - pip3 install -r requirements.txt # - git init # - git add . @@ -23,7 +23,7 @@ staging_python-sdk: - git add . - git commit -m "staging commit version 4.0.$CI_PIPELINE_ID" - git checkout staging || git checkout -b staging - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/python-sdk.git staging --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/PythonSDK.git staging --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh @@ -35,7 +35,7 @@ staging_python-sdk: name: staging ## DEPLOYMENT STAGE - PYTHON SDK -production_python-sdk: +production_PythonSDK: stage: Deploy allow_failure: true retry: 2 @@ -46,7 +46,7 @@ production_python-sdk: - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - - sudo apt-get install -y python3-pip - - cd python-sdk + - cd PythonSDK - pip3 install -r requirements.txt - bumpversion --new-version 4.0.$CI_PIPELINE_ID patch setup.py - python3 setup.py sdist bdist_wheel @@ -56,7 +56,7 @@ production_python-sdk: - git add . - git commit -m "production commit version 4.0.$CI_PIPELINE_ID" || echo "Nothing to update because no changes to sdk was made" && exit 0 - git checkout -f master - - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/python-sdk.git master --force + - git push https://$GITHUB_USERNAME:$GITHUB_PASSWORD@github.com/OneUptime/PythonSDK.git master --force - cd .. - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh diff --git a/Ci/spec/script-runner/audit.yaml b/Ci/spec/script-runner/audit.yaml index a92d415d0d..ebc6087107 100644 --- a/Ci/spec/script-runner/audit.yaml +++ b/Ci/spec/script-runner/audit.yaml @@ -1,23 +1,23 @@ # BACKEND -audit_script-runner: +audit_ScriptRunner: stage: BuildAndTest allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_script-runner script-runner` + - export next_stage=`./ci/scripts/checkhash.sh audit_ScriptRunner ScriptRunner` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd script-runner + - cd ScriptRunner - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_script-runner script-runner + - ./ci/scripts/storehash.sh audit_ScriptRunner ScriptRunner - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/status-page/audit.yaml b/Ci/spec/status-page/audit.yaml index 76553cda02..18c4d6dea3 100644 --- a/Ci/spec/status-page/audit.yaml +++ b/Ci/spec/status-page/audit.yaml @@ -4,20 +4,20 @@ audit_statuspage: allow_failure: true script: - chmod +x ./ci/scripts/checkhash.sh - - export next_stage=`./ci/scripts/checkhash.sh audit_statuspage status-page` + - export next_stage=`./ci/scripts/checkhash.sh audit_statuspage StatusPage` - if [[ $next_stage == *"skip"* ]]; then exit ${CI_JOB_SKIP_EXIT_CODE:-0}; fi - sudo apt-get update - sudo apt-get install -y curl gcc - sudo apt-get install -y build-essential - curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash - - sudo apt-get install -y nodejs - - cd status-page + - cd StatusPage - npm install - npm run audit - npm run dep-check - cd .. - chmod +x ./ci/scripts/storehash.sh - - ./ci/scripts/storehash.sh audit_statuspage status-page + - ./ci/scripts/storehash.sh audit_statuspage StatusPage - chmod +x ./ci/scripts/cleanup.sh - ./ci/scripts/cleanup.sh only: diff --git a/Ci/spec/status-page/deploy.yaml b/Ci/spec/status-page/deploy.yaml index 0f9802a980..c9b3b14212 100644 --- a/Ci/spec/status-page/deploy.yaml +++ b/Ci/spec/status-page/deploy.yaml @@ -1,5 +1,5 @@ -# DEPLOYMENT STAGE - status-page -staging_status-page: +# DEPLOYMENT STAGE - StatusPage +staging_StatusPage: stage: Deploy allow_failure: true script: @@ -10,12 +10,12 @@ staging_status-page: - chmod +x ./ci/scripts/deployment-staging-setup.sh - bash ./ci/scripts/deployment-staging-setup.sh - sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - # Build and deploy status-page. + # Build and deploy StatusPage. - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - sudo docker buildx create --use - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:4.0.$CI_PIPELINE_ID --push ./status-page - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:staging --push ./status-page - - kubectl set image deployment/fi-status fi-status=oneuptime/status-page:4.0.$CI_PIPELINE_ID + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:4.0.$CI_PIPELINE_ID --push ./StatusPage + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:staging --push ./StatusPage + - kubectl set image deployment/fi-status fi-status=oneuptime/StatusPage:4.0.$CI_PIPELINE_ID # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh @@ -28,7 +28,7 @@ staging_status-page: environment: name: staging -production_status-page: +production_StatusPage: stage: Deploy allow_failure: true script: @@ -41,9 +41,9 @@ production_status-page: - sudo docker run --rm --privileged docker/binfmt:820fdd95a9972a5308930a2bdfb8573dd4447ad3 - sudo docker login --username $DOCKERHUBUSERNAME --password $DOCKERHUBPASSWORD - sudo docker buildx create --use - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:4.0.$CI_PIPELINE_ID --push ./status-page - - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/status-page:latest --push ./status-page - - kubectl set image deployment/fi-status fi-status=oneuptime/status-page:4.0.$CI_PIPELINE_ID + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:4.0.$CI_PIPELINE_ID --push ./StatusPage + - sudo docker buildx build --platform linux/amd64,linux/arm64 --tag oneuptime/StatusPage:latest --push ./StatusPage + - kubectl set image deployment/fi-status fi-status=oneuptime/StatusPage:4.0.$CI_PIPELINE_ID # Cleanup - chmod +x ./ci/scripts/deployment-cleanup.sh - ./ci/scripts/deployment-cleanup.sh diff --git a/CommonServer/Middleware/ProbeAuthorization.ts b/CommonServer/Middleware/ProbeAuthorization.ts index f4fff82595..48eb37971d 100644 --- a/CommonServer/Middleware/ProbeAuthorization.ts +++ b/CommonServer/Middleware/ProbeAuthorization.ts @@ -1,12 +1,12 @@ import ProbeService from '../Services/ProbeService'; -import { sendErrorResponse } from 'Common-server/Utils/Response'; +import { sendErrorResponse } from 'CommonServer/utils/Response'; import BadDataException from 'Common/Types/Exception/BadDataException'; import { ExpressRequest, ExpressResponse, NextFunction, -} from 'Common-server/Utils/Express'; +} from 'CommonServer/utils/Express'; import { clusterKey as CLUSTER_KEY } from '../Config'; diff --git a/CommonServer/Models/SmsProvider.ts b/CommonServer/Models/SmsProvider.ts index 8d5ef80981..95ca1695d2 100755 --- a/CommonServer/Models/SmsProvider.ts +++ b/CommonServer/Models/SmsProvider.ts @@ -43,7 +43,10 @@ const schema = new Schema({ export const requiredFields: RequiredFields = schema.requiredPaths(); export const uniqueFields: UniqueFields = []; -export const encryptedFields: EncryptedFields = ['providerCredentials.twilio.accountSid', 'providerCredentials.twilio.authToken']; +export const encryptedFields: EncryptedFields = [ + 'providerCredentials.twilio.accountSid', + 'providerCredentials.twilio.authToken', +]; export const slugifyField: string = ''; diff --git a/CommonServer/Services/AlertService.ts b/CommonServer/Services/AlertService.ts index a89642974b..e62a564a71 100755 --- a/CommonServer/Services/AlertService.ts +++ b/CommonServer/Services/AlertService.ts @@ -3002,7 +3002,7 @@ export default class Service { let statusPageUrl: URL; if (statusPage) { - statusPageUrl = `${global.statusHost}/status-page/${statusPage._id}`; + statusPageUrl = `${global.statusHost}/StatusPage/${statusPage._id}`; if (statusPage.domains && statusPage.domains.length > 0) { const domains = statusPage.domains.filter( (domainData: $TSFixMe) => { @@ -3014,14 +3014,14 @@ export default class Service { ); if (domains.length > 0) { - statusPageUrl = `${domains[0].domain}/status-page/${statusPage._id}`; + statusPageUrl = `${domains[0].domain}/StatusPage/${statusPage._id}`; } } } let statusUrl: URL; if (statusPageSlug) { - statusUrl = `${global.statusHost}/status-page/${statusPageSlug}/incident/${incident.slug}`; + statusUrl = `${global.statusHost}/StatusPage/${statusPageSlug}/incident/${incident.slug}`; } const monitorCustomFields = {}, diff --git a/CommonServer/Services/ErrorEventService.ts b/CommonServer/Services/ErrorEventService.ts index e79f78d87c..20ca814fe3 100644 --- a/CommonServer/Services/ErrorEventService.ts +++ b/CommonServer/Services/ErrorEventService.ts @@ -4,7 +4,7 @@ export default class Service { // prepare error event model const errorEvent = new ErrorEventModel(); - // used this to sort java-sdk having a different stack trace structure + // used this to sort JavaSDK having a different stack trace structure data.exception.stackTraceFrame ? (data.exception.stacktrace = { ...data.exception.stacktrace, diff --git a/CommonServer/package-lock.json b/CommonServer/package-lock.json index 7c14e17d3f..da8b39326d 100644 --- a/CommonServer/package-lock.json +++ b/CommonServer/package-lock.json @@ -1,11 +1,11 @@ { - "name": "common-server", + "name": "CommonServer", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "common-server", + "name": "CommonServer", "version": "1.0.0", "license": "ISC", "dependencies": { diff --git a/CommonUI/package-lock.json b/CommonUI/package-lock.json index c8f37decab..0fcabfa7de 100644 --- a/CommonUI/package-lock.json +++ b/CommonUI/package-lock.json @@ -1,11 +1,11 @@ { - "name": "common-ui", + "name": "CommonUI", "version": "1.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "common-ui", + "name": "CommonUI", "version": "1.0.0", "license": "ISC", "dependencies": { diff --git a/CommonUI/package.json b/CommonUI/package.json index c9b03f02f6..67987c33a2 100644 --- a/CommonUI/package.json +++ b/CommonUI/package.json @@ -1,5 +1,5 @@ { - "name": "common-ui", + "name": "CommonUI", "version": "1.0.0", "description": "", "main": "index.ts", diff --git a/ContainerScanner/Dockerfile b/ContainerScanner/Dockerfile index 5621e8f694..3afcf49f7f 100755 --- a/ContainerScanner/Dockerfile +++ b/ContainerScanner/Dockerfile @@ -1,5 +1,5 @@ # -# container-scanner Dockerfile +# ContainerScanner Dockerfile # # Pull base image nodejs image. @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables @@ -37,12 +37,12 @@ RUN mkdir /usr/src/app WORKDIR /usr/src/app # Install app dependencies -COPY ./container-scanner/package*.json /usr/src/app/ +COPY ./ContainerScanner/package*.json /usr/src/app/ RUN npm install RUN npm install -g ts-node # Bundle app source -COPY ./container-scanner /usr/src/app +COPY ./ContainerScanner /usr/src/app # Expose ports. # - 3055: Container Scanner diff --git a/ContainerScanner/Dockerfile.dev b/ContainerScanner/Dockerfile.dev index 59e3403b25..5836f5e9e8 100644 --- a/ContainerScanner/Dockerfile.dev +++ b/ContainerScanner/Dockerfile.dev @@ -1,5 +1,5 @@ # -# container-scanner Dockerfile +# ContainerScanner Dockerfile # # Pull base image nodejs image. @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile WORKDIR /usr/src/app @@ -35,8 +35,8 @@ WORKDIR /usr/src/app RUN cd /usr/src/app # Copy package.json files -COPY ./container-scanner/package.json /usr/src/app/package.json -COPY ./container-scanner/package-lock.json /usr/src/app/package-lock.json +COPY ./ContainerScanner/package.json /usr/src/app/package.json +COPY ./ContainerScanner/package-lock.json /usr/src/app/package-lock.json RUN npm install diff --git a/ContainerScanner/index.ts b/ContainerScanner/index.ts index 2c5508132f..59a86a992c 100644 --- a/ContainerScanner/index.ts +++ b/ContainerScanner/index.ts @@ -1,47 +1,11 @@ -import { ExpressRequest, ExpressResponse } from 'Common-server/Utils/Express'; +import app from 'CommonServer/utils/StartServer'; -import app from 'Common-server/utils/StartServer'; - -import http from 'http'; -http.createServer(app); - -import cors from 'cors'; import Main from './worker/main'; import cron from 'node-cron'; -import config from './utils/config'; const cronContainerSecurityStartTime = Math.floor(Math.random() * 50); -app.use(cors()); -app.set('port', process.env['PORT'] || 3055); - -app.get( - ['/container/status', '/status'], - (req: ExpressRequest, res: ExpressResponse) => { - res.setHeader('Content-Type', 'application/json'); - res.send( - JSON.stringify({ - status: 200, - message: 'Service Status - OK', - serviceType: 'oneuptime-container-scanner', - }) - ); - } -); - -//App Version - -app.get( - ['/container/version', '/version'], - (req: ExpressRequest, res: ExpressResponse) => { - res.setHeader('Content-Type', 'application/json'); - res.send({ - containerScannerVersion: process.env['npm_package_version'], - }); - } -); - //Run this cron every 5 minute. cron.schedule('*/5 * * * *', () => { setTimeout(() => { @@ -49,13 +13,4 @@ cron.schedule('*/5 * * * *', () => { }, cronContainerSecurityStartTime * 1000); }); -http.listen(app.get('port'), function () { - // eslint-disable-next-line - logger.info( - `Container Scanner Started on port ${app.get( - 'port' - )}. OneUptime API URL: ${config.serverUrl}` - ); -}); - export default app; diff --git a/ContainerScanner/package-lock.json b/ContainerScanner/package-lock.json index eb27916a48..b92ea75cf0 100644 --- a/ContainerScanner/package-lock.json +++ b/ContainerScanner/package-lock.json @@ -1,11 +1,11 @@ { - "name": "container-scanner", + "name": "ContainerScanner", "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "container-scanner", + "name": "ContainerScanner", "version": "3.0.0", "license": "MIT", "dependencies": { @@ -36,7 +36,7 @@ "@types/node": "^17.0.22" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -745,8 +745,8 @@ "resolved": "../common", "link": true }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/concat-map": { @@ -3265,8 +3265,8 @@ "axios": "^0.26.1" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/ContainerScanner/package.json b/ContainerScanner/package.json index d9f151a6d2..98ca6fc425 100644 --- a/ContainerScanner/package.json +++ b/ContainerScanner/package.json @@ -1,5 +1,5 @@ { - "name": "container-scanner", + "name": "ContainerScanner", "version": "3.0.0", "description": "A Container Security Scanner", "main": "index.ts", diff --git a/Dashboard/.dockerignore b/Dashboard/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/Dashboard/.dockerignore +++ b/Dashboard/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/Dashboard/Dockerfile b/Dashboard/Dockerfile index bb7872a349..ffd155833c 100755 --- a/Dashboard/Dockerfile +++ b/Dashboard/Dockerfile @@ -25,20 +25,20 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile ENV NODE_OPTIONS="--max-old-space-size=8192" diff --git a/Dashboard/Dockerfile.dev b/Dashboard/Dockerfile.dev index fa9d8307b4..cfeac7fef9 100644 --- a/Dashboard/Dockerfile.dev +++ b/Dashboard/Dockerfile.dev @@ -25,20 +25,20 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile -# Install common-ui -RUN mkdir /usr/src/common-ui -WORKDIR /usr/src/common-ui -COPY ./common-ui/package*.json /usr/src/common-ui/ +# Install CommonUI +RUN mkdir /usr/src/CommonUI +WORKDIR /usr/src/CommonUI +COPY ./CommonUI/package*.json /usr/src/CommonUI/ RUN npm install -COPY ./common-ui /usr/src/common-ui +COPY ./CommonUI /usr/src/CommonUI RUN npm compile #SET ENV Variables diff --git a/Dashboard/package-lock.json b/Dashboard/package-lock.json index da9ac410b5..38261a210d 100644 --- a/Dashboard/package-lock.json +++ b/Dashboard/package-lock.json @@ -26,7 +26,7 @@ "lodash": "^4.17.21", "@fortawesome/react-fontawesome": "^0.1.18", "@date-io/moment": "^2.13.1", - "common-ui": "file:./../common-ui", + "CommonUI": "file:./../CommonUI", "react-tabs": "^4.0.1", "redux": "^4.1.2", "react-widgets": "^5.8.3", @@ -3535,8 +3535,8 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/common-ui": { - "resolved": "../common-ui", + "node_modules/CommonUI": { + "resolved": "../CommonUI", "link": true }, "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { @@ -15309,7 +15309,7 @@ "node": ">=6.9.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -16979,8 +16979,8 @@ "micromark-util-types": "^1.0.0" } }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/co": { @@ -17715,7 +17715,7 @@ "node": ">= 0.10" } }, - "../common-ui": { + "../CommonUI": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -23511,8 +23511,8 @@ "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", @@ -23532,8 +23532,8 @@ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" }, - "common-ui": { - "version": "file:../common-ui", + "CommonUI": { + "version": "file:../CommonUI", "requires": { "@fortawesome/fontawesome-svg-core": "^6.1.0", "@fortawesome/free-regular-svg-icons": "^6.1.0", diff --git a/Dashboard/package.json b/Dashboard/package.json index 94964012ce..5bebc14000 100755 --- a/Dashboard/package.json +++ b/Dashboard/package.json @@ -88,7 +88,7 @@ "uuid": "^8.3.2", "valid-url": "^1.0.9", "workbox-build": "6.5.1", - "common-ui": "file:./../common-ui" + "CommonUI": "file:./../CommonUI" }, "scripts": { "compile": "tsc", diff --git a/Dashboard/public/assets/css/dashboard.css b/Dashboard/public/assets/css/dashboard.css index a524f0a96c..298d3ef964 100755 --- a/Dashboard/public/assets/css/dashboard.css +++ b/Dashboard/public/assets/css/dashboard.css @@ -34734,7 +34734,7 @@ span.CodeMirror-selectedtext { } @media only screen and (max-width: 768px) { - .status-page-btn-action-col { + .StatusPage-btn-action-col { float: none!important; margin-right: 0!important; } diff --git a/Dashboard/src/Actions/domain.ts b/Dashboard/src/Actions/domain.ts index 5f716c68cb..5127949d08 100644 --- a/Dashboard/src/Actions/domain.ts +++ b/Dashboard/src/Actions/domain.ts @@ -87,7 +87,7 @@ export function createDomain({ try { const response = await BackendAPI.put( - `status-page/${projectId}/${statusPageId}/domain`, + `StatusPage/${projectId}/${statusPageId}/domain`, { domain, cert, privateKey, enableHttps, autoProvisioning } ); @@ -135,7 +135,7 @@ export const deleteDomain = ({ dispatch(deleteDomainRequest()); try { const response = - await delete `status-page/${projectId}/${statusPageId}/${domainId}`; + await delete `StatusPage/${projectId}/${statusPageId}/${domainId}`; dispatch(deleteDomainSuccess(response.data)); } catch (error) { @@ -186,7 +186,7 @@ export function updateDomain({ dispatch(updateDomainRequest()); try { const response = await BackendAPI.put( - `status-page/${projectId}/${statusPageId}/${domainId}`, + `StatusPage/${projectId}/${statusPageId}/${domainId}`, { domain, cert, privateKey, enableHttps, autoProvisioning } ); diff --git a/Dashboard/src/Actions/project.ts b/Dashboard/src/Actions/project.ts index 88620e936d..b547555173 100755 --- a/Dashboard/src/Actions/project.ts +++ b/Dashboard/src/Actions/project.ts @@ -328,7 +328,7 @@ export function switchProject( project ); if (isViewer) { - history.push(`/dashboard/project/${project.slug}/status-pages`); + history.push(`/dashboard/project/${project.slug}/StatusPages`); } else { history.push(`/dashboard/project/${project.slug}`); } diff --git a/Dashboard/src/Actions/status-page.ts b/Dashboard/src/Actions/status-page.ts index 91a5b18441..ce52c47173 100644 --- a/Dashboard/src/Actions/status-page.ts +++ b/Dashboard/src/Actions/status-page.ts @@ -18,7 +18,7 @@ export default class StatusPageActions extends Actions { listActionProps: { isRequestAllowed: true, }, - apiPath: 'status-page', + apiPath: 'StatusPage', friendlyName: 'Status Page', isResourceInProject: true, }); diff --git a/Dashboard/src/Actions/statusPage.ts b/Dashboard/src/Actions/statusPage.ts index 8beda2b3f2..8c1a4c89de 100755 --- a/Dashboard/src/Actions/statusPage.ts +++ b/Dashboard/src/Actions/statusPage.ts @@ -51,7 +51,7 @@ export const uploadCertFile = (projectId: string, file: $TSFixMe) => { data.append('cert', file); const promise = BackendAPI.post( - `status-page/${projectId}/certFile`, + `StatusPage/${projectId}/certFile`, data ); dispatch(uploadCertFileRequest()); @@ -115,7 +115,7 @@ export const uploadPrivateKey = (projectId: string, file: $TSFixMe) => { data.append('privateKey', file); const promise = BackendAPI.post( - `status-page/${projectId}/privateKeyFile`, + `StatusPage/${projectId}/privateKeyFile`, data ); dispatch(uploadPrivateKeyRequest()); @@ -170,7 +170,7 @@ export const updateStatusPageSettingError = (error: ErrorPayload) => { // Calls the API to update setting. export const updateStatusPageSetting = (projectId: string, data: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}`, data); dispatch(updateStatusPageSettingRequest()); promise.then( function (response) { @@ -213,7 +213,7 @@ export const updateStatusPageMonitorsError = (error: ErrorPayload) => { // Calls the API to update monitors. export function updateStatusPageMonitors(projectId: string, values: $TSFixMe) { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateStatusPageMonitorsRequest()); promise.then( @@ -257,7 +257,7 @@ export const updatePrivateStatusPage = ( values: $TSFixMe ) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updatePrivateStatusPageRequest()); promise.then( @@ -297,7 +297,7 @@ export const updateSubscriberOptionError = (error: ErrorPayload) => { // update status page multi language export function updateStatusPageLanguage(projectId: string, values: $TSFixMe) { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateStatusPageLanguageRequest()); promise.then( @@ -337,7 +337,7 @@ export const updateStatusPageLanguageError = (error: ErrorPayload) => { // Calls the API to update private statuspages. export const updateSubscriberOption = (projectId: string, values: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateSubscriberOptionRequest()); promise.then( @@ -448,7 +448,7 @@ export function updateStatusPageBranding(projectId: string, values: $TSFixMe) { if (values._id) data.append('_id', values._id); - const promise = BackendAPI.put(`status-page/${projectId}`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}`, data); dispatch(updateStatusPageBrandingRequest()); promise.then( @@ -467,7 +467,7 @@ export function updateStatusPageBranding(projectId: string, values: $TSFixMe) { // Calls the API to update the theme export const updateTheme = (projectId: string, data: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}/theme`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}/theme`, data); dispatch(updateStatusPageThemeRequest()); promise.then( @@ -487,7 +487,7 @@ export const updateTheme = (projectId: string, data: $TSFixMe) => { // Calls the API to update status page name. export const updateStatusPageName = (projectId: string, values: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateStatusPageNameRequest()); promise.then( @@ -528,7 +528,7 @@ export const updateStatusPageLinksError = (error: ErrorPayload) => { // Calls the API to update links. export const updateStatusPageLinks = (projectId: string, values: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateStatusPageLinksRequest()); promise.then( @@ -572,7 +572,7 @@ export function updateStatusPageCustomHTML( values: $TSFixMe ) { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, values); + const promise = BackendAPI.put(`StatusPage/${projectId}`, values); dispatch(updateStatusPageCustomHTMLRequest()); promise.then( @@ -625,7 +625,7 @@ export function fetchProjectStatusPage( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/statuspage?skip=${skip}&limit=${limit}` + `StatusPage/${projectId}/statuspage?skip=${skip}&limit=${limit}` ); if (!refresh) dispatch(fetchProjectStatusPageRequest()); @@ -677,7 +677,7 @@ export function fetchSubProjectStatusPages( refresh: $TSFixMe ) { return function (dispatch: Dispatch) { - const promise = BackendAPI.get(`status-page/${projectId}/status-pages`); + const promise = BackendAPI.get(`StatusPage/${projectId}/StatusPages`); if (!refresh) dispatch(fetchSubProjectStatusPagesRequest()); promise.then( @@ -771,7 +771,7 @@ export const resetStatusBubbleIdError = (error: ErrorPayload) => { export function resetStatusBubbleId(projectId: string, statusPageId: $TSFixMe) { return function (dispatch: Dispatch) { const promise = BackendAPI.put( - `status-page/${projectId}/${statusPageId}/resetBubbleId`, + `StatusPage/${projectId}/${statusPageId}/resetBubbleId`, {} ); dispatch(resetStatusBubbleIdRequest()); @@ -818,7 +818,7 @@ export const deleteStatusPageError = (error: ErrorPayload) => { // Calls the API to get status page. export function deleteStatusPage(projectId: string, statusPageSlug: $TSFixMe) { return function (dispatch: Dispatch) { - const promise = delete (`status-page/${projectId}/${statusPageSlug}`, + const promise = delete (`StatusPage/${projectId}/${statusPageSlug}`, null); dispatch(deleteStatusPageRequest()); promise.then( @@ -857,7 +857,7 @@ export const duplicateStatusPageError = (error: ErrorPayload) => { export const readStatusPage = (statusPageSlug: $TSFixMe, data: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.get(`status-page/${statusPageSlug}`, data); + const promise = BackendAPI.get(`StatusPage/${statusPageSlug}`, data); dispatch(duplicateStatusPageRequest()); promise.then( function (response) { @@ -883,8 +883,8 @@ export function createDuplicateStatusPage( ) { return function (dispatch: Dispatch) { const url = subProjectId - ? `status-page/${projectId}/${statusPageSlug}/duplicateStatusPage?subProjectId=${subProjectId}` - : `status-page/${projectId}/${statusPageSlug}/duplicateStatusPage`; + ? `StatusPage/${projectId}/${statusPageSlug}/duplicateStatusPage?subProjectId=${subProjectId}` + : `StatusPage/${projectId}/${statusPageSlug}/duplicateStatusPage`; const promise = BackendAPI.post(url, data); promise.then( function (response) { @@ -900,7 +900,7 @@ export function createDuplicateStatusPage( export const fetchStatusPage = (statusPageSlug: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.get(`status-page/${statusPageSlug}`); + const promise = BackendAPI.get(`StatusPage/${statusPageSlug}`); promise.then( function (response) { const statusPageData = response.data; @@ -948,7 +948,7 @@ export const updateStatusPageEmbeddedCssError = (error: ErrorPayload) => { // Calls the API to update setting. export function updateStatusPageEmbeddedCss(projectId: string, data: $TSFixMe) { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}`, data); dispatch(updateStatusPageEmbeddedCssRequest()); promise.then( function (response) { @@ -992,7 +992,7 @@ export const resetBrandingColorsError = (error: ErrorPayload) => { export function resetBrandingColors(projectId: string, statusPageId: $TSFixMe) { return function (dispatch: Dispatch) { const promise = BackendAPI.put( - `status-page/${projectId}/${statusPageId}/resetColors` + `StatusPage/${projectId}/${statusPageId}/resetColors` ); dispatch(resetBrandingColorsRequest()); promise.then( @@ -1034,7 +1034,7 @@ export const resetStatusPageEmbeddedCssError = (error: ErrorPayload) => { // Calls the API to update setting. export function resetStatusPageEmbeddedCss(projectId: string, data: $TSFixMe) { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}`, data); dispatch(resetStatusPageEmbeddedCssRequest()); promise.then( function (response) { @@ -1074,7 +1074,7 @@ export const updateStatusPageLayoutError = (error: ErrorPayload) => { export const updateStatusPageLayout = (projectId: string, data: $TSFixMe) => { return function (dispatch: Dispatch) { - const promise = BackendAPI.put(`status-page/${projectId}`, data); + const promise = BackendAPI.put(`StatusPage/${projectId}`, data); dispatch(updateStatusPageLayoutRequest()); promise.then( function (response) { @@ -1121,7 +1121,7 @@ export function fetchStatusPageSubscribers( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/monitor/${statusPageId}?skip=${skip}&limit=${limit}` + `StatusPage/${projectId}/monitor/${statusPageId}?skip=${skip}&limit=${limit}` ); dispatch(fetchSubscriberRequest()); promise.then( @@ -1163,7 +1163,7 @@ export function createExternalStatusPage( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.post( - `status-page/${projectId}/createExternalstatus-page/${statusPageId}`, + `StatusPage/${projectId}/createExternalStatusPage/${statusPageId}`, data ); dispatch(createExternalStatusPageRequest()); @@ -1210,7 +1210,7 @@ export function updateExternalStatusPage( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.post( - `status-page/${projectId}/updateExternalstatus-page/${externalStatusPageId}`, + `StatusPage/${projectId}/updateExternalStatusPage/${externalStatusPageId}`, data ); dispatch(updateExternalStatusPageRequest()); @@ -1256,7 +1256,7 @@ export function fetchExternalStatusPages( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/fetchExternalStatusPages/${statusPageId}` + `StatusPage/${projectId}/fetchExternalStatusPages/${statusPageId}` ); dispatch(fetchExternalStatusPagesRequest()); promise.then( @@ -1301,7 +1301,7 @@ export function deleteExternalStatusPage( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.post( - `status-page/${projectId}/deleteExternalstatus-page/${externalStatusPageId}` + `StatusPage/${projectId}/deleteExternalStatusPage/${externalStatusPageId}` ); dispatch(deleteExternalStatusPageRequest()); promise.then( @@ -1347,7 +1347,7 @@ export function createAnnouncement( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.post( - `status-page/${projectId}/announcement/${statusPageId}`, + `StatusPage/${projectId}/announcement/${statusPageId}`, data ); dispatch(createAnnouncementRequest()); @@ -1375,7 +1375,7 @@ export function updateAnnouncement( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.put( - `status-page/${projectId}/announcement/${statusPageId}/${announcementId}`, + `StatusPage/${projectId}/announcement/${statusPageId}/${announcementId}`, data ); dispatch(createAnnouncementRequest()); @@ -1423,7 +1423,7 @@ export function fetchAnnouncements( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/announcement/${statusPageId}?skip=${skip}&limit=${limit}` + `StatusPage/${projectId}/announcement/${statusPageId}?skip=${skip}&limit=${limit}` ); dispatch(fetchAnnouncementRequest()); promise.then( @@ -1466,7 +1466,7 @@ export function fetchAnnouncementLogs( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/announcementLogs/${statusPageId}?skip=${skip}&limit=${limit}` + `StatusPage/${projectId}/announcementLogs/${statusPageId}?skip=${skip}&limit=${limit}` ); dispatch(fetchAnnouncementLogsRequest()); promise.then( @@ -1502,7 +1502,7 @@ export function fetchSingleAnnouncement( ) { return function (dispatch: Dispatch) { const promise = BackendAPI.get( - `status-page/${projectId}/announcement/${statusPageSlug}/single/${announcementSlug}` + `StatusPage/${projectId}/announcement/${statusPageSlug}/single/${announcementSlug}` ); promise.then( function (response) { @@ -1568,7 +1568,7 @@ export function deleteAnnouncement( ) { return function (dispatch: Dispatch) { const promise = - delete `status-page/${projectId}/announcement/${announcementId}/delete`; + delete `StatusPage/${projectId}/announcement/${announcementId}/delete`; dispatch(deleteAnnouncementRequest()); promise.then( function (response) { @@ -1588,7 +1588,7 @@ export function deleteAnnouncementLog( ) { return function (dispatch: Dispatch) { const promise = - delete `status-page/${projectId}/announcementLog/${announcementLogId}/delete`; + delete `StatusPage/${projectId}/announcementLog/${announcementLogId}/delete`; dispatch(deleteAnnouncementRequest()); promise.then( function (response) { diff --git a/Dashboard/src/App.tsx b/Dashboard/src/App.tsx index ddda2a6919..c04831b77d 100755 --- a/Dashboard/src/App.tsx +++ b/Dashboard/src/App.tsx @@ -88,7 +88,7 @@ const App = (props: AppProps) => { const isViewer = isSubProjectViewer(user, props.activeProject); if (isViewer && props.currentProject) { history.replace( - `/dashboard/project/${props.currentProject.slug}/status-pages` + `/dashboard/project/${props.currentProject.slug}/StatusPages` ); } }, [ diff --git a/Dashboard/src/Pages/Status-page/list.tsx b/Dashboard/src/Pages/Status-page/list.tsx index 379408b9db..25b1b6fa80 100644 --- a/Dashboard/src/Pages/Status-page/list.tsx +++ b/Dashboard/src/Pages/Status-page/list.tsx @@ -6,7 +6,7 @@ import Page, { import { bindActionCreators, Dispatch } from 'redux'; import { connect } from 'react-redux'; import Table from '../../components/table/Table'; -import StatusPageActions from '../../actions/status-page'; +import StatusPageActions from '../../actions/StatusPage'; const listActions = new StatusPageActions().getListActions(); @@ -17,7 +17,7 @@ class StatusPages extends Page { super({ pageName: 'StatusPages', friendlyPageName: 'Status Pages', - pagePath: '/status-pages', + pagePath: '/StatusPages', showTutorial: true, ...props, }); @@ -30,7 +30,7 @@ class StatusPages extends Page { <> { noItemsMessage="No status pages in this project." headerButtons={[ { - id: 'create-status-page-btn', + id: 'create-StatusPage-btn', title: 'Create Status Page', shortcutKey: 'N', onClick: () => { @@ -60,10 +60,10 @@ class StatusPages extends Page { noOfItemsInPage={10} actionButtons={[ { - id: 'edit-status-page-btn', + id: 'edit-StatusPage-btn', title: 'Edit', onClick: (id: $TSFixMe) => { - this.goToPageInProject(`/status-page/${id}`); + this.goToPageInProject(`/StatusPage/${id}`); }, visibleForOwner: true, visibleForAdmin: true, @@ -72,10 +72,10 @@ class StatusPages extends Page { visibleForAll: false, }, { - id: 'view-status-page-btn', + id: 'view-StatusPage-btn', title: 'View Status Page', onClick: (id: $TSFixMe) => { - this.goToPageInProject(`/status-page/${id}`); + this.goToPageInProject(`/StatusPage/${id}`); }, visibleForOwner: true, visibleForAdmin: true, @@ -84,7 +84,7 @@ class StatusPages extends Page { visibleForAll: true, }, ]} - onClickTableRow={(id: $TSFixMe) => this.goToPageInProject(`/status-page/${id}`) + onClickTableRow={(id: $TSFixMe) => this.goToPageInProject(`/StatusPage/${id}`) } /> diff --git a/Dashboard/src/Pages/StatusPage.tsx b/Dashboard/src/Pages/StatusPage.tsx index 1f29d14d8a..6d1f92ce8c 100755 --- a/Dashboard/src/Pages/StatusPage.tsx +++ b/Dashboard/src/Pages/StatusPage.tsx @@ -4,18 +4,18 @@ import { connect } from 'react-redux'; import { Fade } from 'react-awesome-reveal'; import ShouldRender from '../components/basic/ShouldRender'; -import Setting from '../components/status-page/Setting'; -import Basic from '../components/status-page/Basic'; -import Header from '../components/status-page/Header'; -import Monitors from '../components/status-page/Monitors'; -import Branding from '../components/status-page/Branding'; -import StatusPageLayout from '../components/status-page/StatusPageLayout'; -import Links from '../components/status-page/Links'; -import DeleteBox from '../components/status-page/DeleteBox'; -import DuplicateStatusBox from '../components/status-page/DuplicateStatusPage'; -import ExternalStatusPages from '../components/status-page/ExternalStatusPages'; -import PrivateStatusPage from '../components/status-page/PrivateStatusPage'; -import StatusPageLanguage from '../components/status-page/StatusPageLanguage'; +import Setting from '../components/StatusPage/Setting'; +import Basic from '../components/StatusPage/Basic'; +import Header from '../components/StatusPage/Header'; +import Monitors from '../components/StatusPage/Monitors'; +import Branding from '../components/StatusPage/Branding'; +import StatusPageLayout from '../components/StatusPage/StatusPageLayout'; +import Links from '../components/StatusPage/Links'; +import DeleteBox from '../components/StatusPage/DeleteBox'; +import DuplicateStatusBox from '../components/StatusPage/DuplicateStatusPage'; +import ExternalStatusPages from '../components/StatusPage/ExternalStatusPages'; +import PrivateStatusPage from '../components/StatusPage/PrivateStatusPage'; +import StatusPageLanguage from '../components/StatusPage/StatusPageLanguage'; import RenderIfSubProjectAdmin from '../components/basic/RenderIfSubProjectAdmin'; import { FormLoader, LoadingState } from '../components/basic/Loader'; import PropTypes from 'prop-types'; @@ -28,20 +28,20 @@ import { fetchProjectStatusPage, updateStatusPageMonitors, } from '../actions/statusPage'; -import CustomStyles from '../components/status-page/CustomStyles'; -import EmbeddedBubble from '../components/status-page/EmbeddedBubble'; +import CustomStyles from '../components/StatusPage/CustomStyles'; +import EmbeddedBubble from '../components/StatusPage/EmbeddedBubble'; import BreadCrumbItem from '../components/breadCrumb/BreadCrumbItem'; import getParentRoute from '../Utils/getParentRoute'; import { Tab, Tabs, TabList, TabPanel, resetIdCounter } from 'react-tabs'; -import Themes from '../components/status-page/Themes'; -import StatusPageSubscriber from '../components/status-page/StatusPageSubscriber'; -import Announcements from '../components/status-page/Announcements'; +import Themes from '../components/StatusPage/Themes'; +import StatusPageSubscriber from '../components/StatusPage/StatusPageSubscriber'; +import Announcements from '../components/StatusPage/Announcements'; -import StatusPageCategory from '../components/status-page/StatusPageCategory'; +import StatusPageCategory from '../components/StatusPage/StatusPageCategory'; import { fetchAllStatusPageCategories } from '../actions/statusPageCategory'; -import MonitorsWithCategory from '../components/status-page/MonitorsWithCategory'; -import EmptyCategory from '../components/status-page/EmptyCategory'; +import MonitorsWithCategory from '../components/StatusPage/MonitorsWithCategory'; +import EmptyCategory from '../components/StatusPage/EmptyCategory'; import { fetchComponents } from '../actions/component'; import { fetchMonitors } from '../actions/monitor'; @@ -92,7 +92,7 @@ class StatusPage extends Component { const projectId = this.props.projectId && this.props.projectId; const statusPageSlug = history.location.pathname - .split('status-page/')[1] + .split('StatusPage/')[1] .split('/')[0]; if (projectId) { @@ -164,7 +164,7 @@ class StatusPage extends Component { const projectId = this.props.projectId && this.props.projectId; const statusPageSlug = history.location.pathname - .split('status-page/')[1] + .split('StatusPage/')[1] .split('/')[0]; if (projectId) { @@ -204,7 +204,7 @@ class StatusPage extends Component { this.props.history.push( - `/dashboard/project/${this.props.currentProject.slug}/status-pages` + `/dashboard/project/${this.props.currentProject.slug}/StatusPages` ); } } diff --git a/Dashboard/src/Pages/StatusPages.tsx b/Dashboard/src/Pages/StatusPages.tsx index 7ca8b29143..06455090de 100755 --- a/Dashboard/src/Pages/StatusPages.tsx +++ b/Dashboard/src/Pages/StatusPages.tsx @@ -4,7 +4,7 @@ import { connect } from 'react-redux'; import { Fade } from 'react-awesome-reveal'; -import StatusPagesTable from '../components/status-page/StatusPagesTable'; +import StatusPagesTable from '../components/StatusPage/StatusPagesTable'; import PropTypes from 'prop-types'; import ShouldRender from '../components/basic/ShouldRender'; import TutorialBox from '../components/tutorial/TutorialBox'; @@ -50,7 +50,7 @@ class StatusPages extends Component { diff --git a/Dashboard/src/Pages/index.ts b/Dashboard/src/Pages/index.ts index 0e96984b08..fb81376a19 100755 --- a/Dashboard/src/Pages/index.ts +++ b/Dashboard/src/Pages/index.ts @@ -9,7 +9,7 @@ const IncidentSettings = lazy(() => import('./IncidentSettings')); const MonitorSettings = lazy(() => import('./MonitorSettings')); const StatusPage = lazy(() => import('./StatusPage')); -const StatusPagesList = lazy(() => import('./status-page/list')); +const StatusPagesList = lazy(() => import('./StatusPage/list')); const OnCall = lazy(() => import('./OnCall')); const AlertLog = lazy(() => import('./AlertLog')); diff --git a/Dashboard/src/Reducers/index.ts b/Dashboard/src/Reducers/index.ts index c787939901..9471971c6e 100755 --- a/Dashboard/src/Reducers/index.ts +++ b/Dashboard/src/Reducers/index.ts @@ -13,7 +13,7 @@ import project from './project'; import schedule from './schedule'; import changePassword from './changePassword'; import statusPage from './statusPage'; -import StatusPage from './status-page'; +import StatusPage from './StatusPage'; import incident from './incident'; import report from './report'; import invoice from './invoice'; diff --git a/Dashboard/src/Reducers/status-page.ts b/Dashboard/src/Reducers/status-page.ts index c15e3b6394..11b023a6d1 100644 --- a/Dashboard/src/Reducers/status-page.ts +++ b/Dashboard/src/Reducers/status-page.ts @@ -1,4 +1,4 @@ -import StatusPageAction from '../actions/status-page'; +import StatusPageAction from '../actions/StatusPage'; import getReducer from './base/index'; export default getReducer({ diff --git a/Dashboard/src/Utils/getParentRoute.ts b/Dashboard/src/Utils/getParentRoute.ts index d23c325d38..a7bbe132fc 100644 --- a/Dashboard/src/Utils/getParentRoute.ts +++ b/Dashboard/src/Utils/getParentRoute.ts @@ -94,9 +94,9 @@ function getParentRoute( urlParts.pop(); return urlParts.join('/'); } - if (childRoute.includes('status-page')) { + if (childRoute.includes('StatusPage')) { const urlParts = childRoute.split('/').slice(0, 4); - return urlParts.join('/').concat('/status-pages'); + return urlParts.join('/').concat('/StatusPages'); } if (childRoute.includes('profile')) { const urlParts = childRoute.split('/').slice(0, 2); diff --git a/Dashboard/src/components/Incident/incidentStatusPages.tsx b/Dashboard/src/components/Incident/incidentStatusPages.tsx index 25c72073b6..39d1951c64 100644 --- a/Dashboard/src/components/Incident/incidentStatusPages.tsx +++ b/Dashboard/src/components/Incident/incidentStatusPages.tsx @@ -95,7 +95,7 @@ const IncidentStatusPages = ({ const statusPageLink = IS_LOCALHOST ? `http://${statusPage.slug}.localhost:3006` : window.location.origin + - `/status-page/${statusPage.slug}`; + `/StatusPage/${statusPage.slug}`; return ( { You need to install an agent on your server, please{' '} { this.props.addCurrentComponent(component); break; case 'Status Pages': - path = `/dashboard/project/${currentProject.slug}/status-page/${searchObj.statusPageSlug}`; + path = `/dashboard/project/${currentProject.slug}/StatusPage/${searchObj.statusPageSlug}`; userId = User.getUserId(); if (IS_LOCALHOST) { publicStatusPageUrl = `http://${searchObj.statusPageSlug}.localhost:3006`; } else { publicStatusPageUrl = window.location.origin + - '/status-page/' + + '/StatusPage/' + searchObj.statusPageSlug; } diff --git a/Dashboard/src/components/Nav/SideNav.tsx b/Dashboard/src/components/Nav/SideNav.tsx index 6c219ba6ba..aefe868931 100755 --- a/Dashboard/src/components/Nav/SideNav.tsx +++ b/Dashboard/src/components/Nav/SideNav.tsx @@ -290,7 +290,7 @@ class SideNav extends Component { switchToProjectViewerNav ) { route.path = - '/dashboard/project/:slug/status-pages'; + '/dashboard/project/:slug/StatusPages'; } if ( route.title === 'Back to Dashboard' && diff --git a/Dashboard/src/components/Nav/SideNavItem.tsx b/Dashboard/src/components/Nav/SideNavItem.tsx index 61de0484c5..0374531262 100755 --- a/Dashboard/src/components/Nav/SideNavItem.tsx +++ b/Dashboard/src/components/Nav/SideNavItem.tsx @@ -158,7 +158,7 @@ export class SidebarNavItem extends Component{ const isLinkActive = location.pathname === path || (location.pathname.match( - /project\/([A-Za-z0-9-]+)\/status-page\/([0-9]|[a-z]+)/ + /project\/([A-Za-z0-9-]+)\/StatusPage\/([0-9]|[a-z]+)/ ) && route.title === 'Status Pages') || (location.pathname.match( @@ -289,7 +289,7 @@ export class SidebarNavItem extends Component{ const isSubLinkActive = route.subRoutes.some((link: $TSFixMe) => link.title === 'Status Page' && location.pathname.match( - /project\/([A-Za-z0-9-]+)\/sub-project\/([A-Za-z0-9-]+)\/status-page\/([0-9]|[a-z]+)/ + /project\/([A-Za-z0-9-]+)\/sub-project\/([A-Za-z0-9-]+)\/StatusPage\/([0-9]|[a-z]+)/ ) ? true : false diff --git a/Dashboard/src/components/Status-page/Basic.tsx b/Dashboard/src/components/Status-page/Basic.tsx index 512cee948a..e9c379a253 100755 --- a/Dashboard/src/components/Status-page/Basic.tsx +++ b/Dashboard/src/components/Status-page/Basic.tsx @@ -101,7 +101,7 @@ export class Branding extends Component{ (data: $TSFixMe) => { history.replace( - `/dashboard/project/${this.props.currentProject.slug}/status-page/${data.data.slug}` + `/dashboard/project/${this.props.currentProject.slug}/StatusPage/${data.data.slug}` ); this.props.fetchProjectStatusPage(projectId, true, 0, 10); diff --git a/Dashboard/src/components/Status-page/DeleteBox.tsx b/Dashboard/src/components/Status-page/DeleteBox.tsx index b75702b912..bd2b14f155 100755 --- a/Dashboard/src/components/Status-page/DeleteBox.tsx +++ b/Dashboard/src/components/Status-page/DeleteBox.tsx @@ -42,7 +42,7 @@ export class DeleteStatusPageBox extends Component{ () => { history.push( - `/dashboard/project/${this.props.slug}/status-pages` + `/dashboard/project/${this.props.slug}/StatusPages` ); } ); diff --git a/Dashboard/src/components/Status-page/DuplicateStatusPageConfirmation.tsx b/Dashboard/src/components/Status-page/DuplicateStatusPageConfirmation.tsx index 71f021d1e2..c3745620cb 100644 --- a/Dashboard/src/components/Status-page/DuplicateStatusPageConfirmation.tsx +++ b/Dashboard/src/components/Status-page/DuplicateStatusPageConfirmation.tsx @@ -40,7 +40,7 @@ class DuplicateStatusPageConfirmation extends Component { this.props.fetchStatusPage(statusPageSlug); history.push( - `/dashboard/project/${slug}/status-page/${statusPageSlug}` + `/dashboard/project/${slug}/StatusPage/${statusPageSlug}` ); }; diff --git a/Dashboard/src/components/Status-page/EmbeddedBubble.tsx b/Dashboard/src/components/Status-page/EmbeddedBubble.tsx index ea37ba8119..e2d93c7ede 100644 --- a/Dashboard/src/components/Status-page/EmbeddedBubble.tsx +++ b/Dashboard/src/components/Status-page/EmbeddedBubble.tsx @@ -164,7 +164,7 @@ export class EmbeddedBubble extends Component{ }; changecss = (event: $TSFixMe, css: $TSFixMe) => { - const url = `${API_URL}/status-page/statusBubble?statusPageId=${this.props.statusPageId}&statusBubbleId=${this.props.statusBubbleId}`; + const url = `${API_URL}/StatusPage/statusBubble?statusPageId=${this.props.statusPageId}&statusBubbleId=${this.props.statusBubbleId}`; const value = createScript(url, css); this.props.change('embeddedcode', value); @@ -639,7 +639,7 @@ const mapStateToProps = (state: RootState) => { colors, embeddedCss, } = state.statusPage.status; - const url = `${API_URL}/status-page/statusBubble?statusPageId=${_id}&statusBubbleId=${statusBubbleId}`; + const url = `${API_URL}/StatusPage/statusBubble?statusPageId=${_id}&statusBubbleId=${statusBubbleId}`; const customCss = embeddedCss && embeddedCss.length ? embeddedCss : css(colors); const script = createScript(url, customCss); diff --git a/Dashboard/src/components/Status-page/Header.tsx b/Dashboard/src/components/Status-page/Header.tsx index be072cc43f..ee80ea2282 100755 --- a/Dashboard/src/components/Status-page/Header.tsx +++ b/Dashboard/src/components/Status-page/Header.tsx @@ -24,7 +24,7 @@ export class StatusHeader extends Component{ publicStatusPageUrl = `http://${statusPageSlug}.localhost:3006`; } else { publicStatusPageUrl = - window.location.origin + '/status-page/' + statusPageSlug; + window.location.origin + '/StatusPage/' + statusPageSlug; } return ( diff --git a/Dashboard/src/components/Status-page/RowData.tsx b/Dashboard/src/components/Status-page/RowData.tsx index ad4aa0dc87..f7f3c2f646 100755 --- a/Dashboard/src/components/Status-page/RowData.tsx +++ b/Dashboard/src/components/Status-page/RowData.tsx @@ -26,7 +26,7 @@ export class RowData extends Component{ monitors += gt(1) ? ` and ${monitorIds.length - 1} other${gt(2) ? 's' : ''}` : ''; - const path = `/dashboard/project/${project.slug}/status-page/${statusPage.slug}`; + const path = `/dashboard/project/${project.slug}/StatusPage/${statusPage.slug}`; let publicStatusPageurl: URL, statusPageSlug; if (statusPage) { statusPageSlug = statusPage.slug; @@ -36,7 +36,7 @@ export class RowData extends Component{ publicStatusPageUrl = `http://${statusPageSlug}.localhost:3006`; } else { publicStatusPageUrl = - window.location.origin + '/status-page/' + statusPageSlug; + window.location.origin + '/StatusPage/' + statusPageSlug; } return ( diff --git a/Dashboard/src/components/Status-page/Setting.tsx b/Dashboard/src/components/Status-page/Setting.tsx index b67b24076b..681cc92a6e 100755 --- a/Dashboard/src/components/Status-page/Setting.tsx +++ b/Dashboard/src/components/Status-page/Setting.tsx @@ -204,7 +204,7 @@ export class Setting extends Component{ publicStatusPageUrl = `http://${statusPageSlug}.localhost:3006`; } else { publicStatusPageUrl = - window.location.origin + '/status-page/' + statusPageSlug; + window.location.origin + '/StatusPage/' + statusPageSlug; } diff --git a/Dashboard/src/config.tsx b/Dashboard/src/config.tsx index d6d3d05da0..047db19b19 100755 --- a/Dashboard/src/config.tsx +++ b/Dashboard/src/config.tsx @@ -494,7 +494,7 @@ export const tutorials = { ), }, { - id: 'status-page', + id: 'StatusPage', title: 'What is a status page?', iconText: 'status', icon: @@ -1204,28 +1204,28 @@ export const metricsQuickStart = { { id: 'js', iconText: 'JavaScript', - link: 'https://github.com/OneUptime/js-sdk', + link: 'https://github.com/OneUptime/JavaScriptSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'php', iconText: 'PHP', - link: 'https://github.com/OneUptime/php-sdk', + link: 'https://github.com/OneUptime/PhpSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'java', iconText: 'Java', - link: 'https://github.com/OneUptime/java-sdk', + link: 'https://github.com/OneUptime/JavaSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'python', iconText: 'Python', - link: 'https://github.com/OneUptime/python-sdk', + link: 'https://github.com/OneUptime/PythonSDK', icon: 'data:image/png;utf8;base64,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', }, @@ -1260,7 +1260,7 @@ export const metricsQuickStart = { { id: 'go', iconText: 'Go', - link: 'https://github.com/OneUptime/go-sdk', + link: 'https://github.com/OneUptime/GoSDK', icon: 'data:image/jpeg;utf8;base64,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', }, @@ -1393,28 +1393,28 @@ export const logLibraries = { { id: 'js', iconText: 'JavaScript', - link: 'https://github.com/OneUptime/js-sdk', + link: 'https://github.com/OneUptime/JavaScriptSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'php', iconText: 'PHP', - link: 'https://github.com/OneUptime/php-sdk', + link: 'https://github.com/OneUptime/PhpSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'java', iconText: 'Java', - link: 'https://github.com/OneUptime/java-sdk', + link: 'https://github.com/OneUptime/JavaSDK', icon: 'data:image/png;utf8;base64,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', }, { id: 'python', iconText: 'Python', - link: 'https://github.com/OneUptime/python-sdk', + link: 'https://github.com/OneUptime/PythonSDK', icon: 'data:image/png;utf8;base64,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', }, @@ -1449,7 +1449,7 @@ export const logLibraries = { { id: 'go', iconText: 'Go', - link: 'https://github.com/OneUptime/go-sdk', + link: 'https://github.com/OneUptime/GoSDK', icon: 'data:image/jpeg;utf8;base64,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', }, @@ -1613,7 +1613,7 @@ Maven Install`, command: ` io.hackerbay.oneuptime - java-sdk + JavaSDK CURRENT_VERSION `, @@ -1649,7 +1649,7 @@ Maven Install`, command: ` io.hackerbay.oneuptime - java-sdk + JavaSDK CURRENT_VERSION `, diff --git a/Dashboard/src/routes.ts b/Dashboard/src/routes.ts index 39bcda3d0c..b4df3f0fba 100755 --- a/Dashboard/src/routes.ts +++ b/Dashboard/src/routes.ts @@ -305,7 +305,7 @@ export const groups = [ routes: [ { title: 'Status Pages', - path: '/dashboard/project/:slug/status-pages', + path: '/dashboard/project/:slug/StatusPages', icon: 'radar', visible: true, shortcut: 'm+s', @@ -365,14 +365,14 @@ export const groups = [ }, { title: 'Status Pages', - path: '/dashboard/project/:slug/status-pages', + path: '/dashboard/project/:slug/StatusPages', icon: 'radar', visible: true, shortcut: 'm+s', subRoutes: [ { title: 'Status Page', - path: '/dashboard/project/:slug/status-page/:statusPageSlug', + path: '/dashboard/project/:slug/StatusPage/:statusPageSlug', icon: 'radar', visible: true, exact: true, diff --git a/DataIngestor/.dockerignore b/DataIngestor/.dockerignore index 621d0c906c..cd8be2fc86 100644 --- a/DataIngestor/.dockerignore +++ b/DataIngestor/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/DataIngestor/Dockerfile b/DataIngestor/Dockerfile index 2913523c8b..cfe9340d97 100755 --- a/DataIngestor/Dockerfile +++ b/DataIngestor/Dockerfile @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables diff --git a/DataIngestor/Dockerfile.dev b/DataIngestor/Dockerfile.dev index be49f5ac22..b4a0520fdb 100644 --- a/DataIngestor/Dockerfile.dev +++ b/DataIngestor/Dockerfile.dev @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile WORKDIR /usr/src/app diff --git a/DataIngestor/api/probe.ts b/DataIngestor/api/probe.ts index 88a9edf192..36928742c9 100755 --- a/DataIngestor/api/probe.ts +++ b/DataIngestor/api/probe.ts @@ -1,7 +1,7 @@ import express, { ExpressRequest, ExpressResponse, -} from 'Common-server/Utils/Express'; +} from 'CommonServer/utils/Express'; import ProbeService from '../Services/probeService'; import MonitorService from '../Services/monitorService'; import LighthouseLogService from '../Services/lighthouseLogService'; @@ -10,10 +10,10 @@ import { isAuthorizedProbe } from '../middlewares/probeAuthorization'; import { sendErrorResponse, sendItemResponse, -} from 'Common-server/Utils/Response'; +} from 'CommonServer/utils/Response'; import Exception from 'Common/Types/Exception/Exception'; -import { sendEmptyResponse } from 'Common-server/Utils/Response'; +import { sendEmptyResponse } from 'CommonServer/utils/Response'; import { ObjectId } from 'mongodb'; diff --git a/DataIngestor/index.ts b/DataIngestor/index.ts index 8890cc1a7e..ecd6703122 100644 --- a/DataIngestor/index.ts +++ b/DataIngestor/index.ts @@ -1,5 +1,5 @@ -import logger from 'Common-server/Utils/Logger'; -import app from 'Common-server/utils/StartServer'; +import logger from 'CommonServer/utils/Logger'; +import app from 'CommonServer/utils/StartServer'; import http from 'http'; http.createServer(app); diff --git a/DataIngestor/middlewares/probeAuthorization.ts b/DataIngestor/middlewares/probeAuthorization.ts index bd69642ca4..ed0efd5a78 100755 --- a/DataIngestor/middlewares/probeAuthorization.ts +++ b/DataIngestor/middlewares/probeAuthorization.ts @@ -1,11 +1,11 @@ import ProbeService from '../Services/probeService'; -import { sendErrorResponse } from 'Common-server/Utils/Response'; +import { sendErrorResponse } from 'CommonServer/utils/Response'; import BadDataException from 'Common/Types/Exception/BadDataException'; import { ExpressRequest, ExpressResponse, NextFunction, -} from 'Common-server/Utils/Express'; +} from 'CommonServer/utils/Express'; import { clusterKey as CLUSTER_KEY } from '../Config'; diff --git a/DataIngestor/package-lock.json b/DataIngestor/package-lock.json index 2e9ed8caf5..8452e63b55 100644 --- a/DataIngestor/package-lock.json +++ b/DataIngestor/package-lock.json @@ -35,7 +35,7 @@ "@types/node": "^17.0.22" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -346,8 +346,8 @@ "resolved": "../common", "link": true }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/concat-map": { @@ -2006,8 +2006,8 @@ "@types/node": "^17.0.22" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/DataIngestor/services/automatedScriptService.ts b/DataIngestor/services/automatedScriptService.ts index cf6f1dad0e..69658f1ac2 100644 --- a/DataIngestor/services/automatedScriptService.ts +++ b/DataIngestor/services/automatedScriptService.ts @@ -1,5 +1,5 @@ import BackendAPI from '../Utils/api'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import { scriptBaseUrl } from '../Config'; const scriptLogCollection = global.db.collection('automationsriptlogs'); diff --git a/DataIngestor/services/incidentService.ts b/DataIngestor/services/incidentService.ts index 0c048d7f56..341e44a66e 100755 --- a/DataIngestor/services/incidentService.ts +++ b/DataIngestor/services/incidentService.ts @@ -1,6 +1,6 @@ const incidentCollection = global.db.collection('incidents'); import { ObjectId } from 'mongodb'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import { post } from '../Utils/api'; import { realtimeUrl } from '../Config'; diff --git a/DataIngestor/services/incidentTimelineService.ts b/DataIngestor/services/incidentTimelineService.ts index 6b4f07ea31..59ba862108 100644 --- a/DataIngestor/services/incidentTimelineService.ts +++ b/DataIngestor/services/incidentTimelineService.ts @@ -5,7 +5,7 @@ import { ObjectId } from 'mongodb'; import { post } from '../Utils/api'; import moment from 'moment'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import { realtimeUrl } from '../Config'; import ProjectService from './projectService'; diff --git a/DataIngestor/services/lighthouseLogService.ts b/DataIngestor/services/lighthouseLogService.ts index edba3328e7..18f2eb8982 100644 --- a/DataIngestor/services/lighthouseLogService.ts +++ b/DataIngestor/services/lighthouseLogService.ts @@ -3,7 +3,7 @@ import probeService from './probeService'; import ErrorService from './errorService'; import { ObjectId } from 'mongodb'; import MonitorService from './monitorService'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import { post } from '../Utils/api'; import moment from 'moment'; diff --git a/DataIngestor/services/monitorLogByDayService.ts b/DataIngestor/services/monitorLogByDayService.ts index d85fdb0159..30a9160b58 100644 --- a/DataIngestor/services/monitorLogByDayService.ts +++ b/DataIngestor/services/monitorLogByDayService.ts @@ -1,4 +1,4 @@ -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; export default { create: async function (data: $TSFixMe) { diff --git a/DataIngestor/services/monitorLogByHourService.ts b/DataIngestor/services/monitorLogByHourService.ts index 46cc851f3e..5b52a3bccb 100644 --- a/DataIngestor/services/monitorLogByHourService.ts +++ b/DataIngestor/services/monitorLogByHourService.ts @@ -1,4 +1,4 @@ -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; export default { create: async function (data: $TSFixMe) { diff --git a/DataIngestor/services/monitorLogByWeekService.ts b/DataIngestor/services/monitorLogByWeekService.ts index 3915c25bed..1cd914de30 100644 --- a/DataIngestor/services/monitorLogByWeekService.ts +++ b/DataIngestor/services/monitorLogByWeekService.ts @@ -1,4 +1,4 @@ -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; export default { create: async function (data: $TSFixMe) { diff --git a/DataIngestor/services/monitorLogService.ts b/DataIngestor/services/monitorLogService.ts index 28217a19ae..2aeb9c64c8 100644 --- a/DataIngestor/services/monitorLogService.ts +++ b/DataIngestor/services/monitorLogService.ts @@ -2,7 +2,7 @@ import MonitorLogByHourService from './monitorLogByHourService'; import MonitorLogByDayService from './monitorLogByDayService'; import MonitorLogByWeekService from './monitorLogByWeekService'; import MonitorService from './monitorService'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import moment from 'moment'; const monitorLogCollection = global.db.collection('monitorlogs'); diff --git a/DataIngestor/services/monitorStatusService.ts b/DataIngestor/services/monitorStatusService.ts index 03a7af41d5..6c30062e15 100644 --- a/DataIngestor/services/monitorStatusService.ts +++ b/DataIngestor/services/monitorStatusService.ts @@ -1,6 +1,6 @@ const monitorStatusCollection = global.db.collection('monitorstatuses'); import { ObjectId } from 'mongodb'; -import Query from 'Common-server/types/db/Query'; +import Query from 'CommonServer/types/db/Query'; import { post } from '../Utils/api'; import MonitorService from './monitorService'; import moment from 'moment'; diff --git a/Devops/docs/helm-ops.md b/Devops/docs/helm-ops.md index 3f5341eaf1..2c06e12561 100644 --- a/Devops/docs/helm-ops.md +++ b/Devops/docs/helm-ops.md @@ -14,25 +14,25 @@ kubectl config use-context NAME ### Lint chart ``` -helm lint ./helm-chart/public/oneuptime +helm lint ./HelmChart/public/oneuptime ``` ### Install as an Enterprise Cluster with default values ``` -helm install fi ./helm-chart/public/oneuptime --namespace default +helm install fi ./HelmChart/public/oneuptime --namespace default ``` ### Install on staging ``` -helm install -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./helm-chart/public/oneuptime --namespace default +helm install -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./HelmChart/public/oneuptime --namespace default ``` ### Install on production ``` -helm install -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./helm-chart/public/oneuptime --namespace default +helm install -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./HelmChart/public/oneuptime --namespace default ``` ### Update Cluster @@ -41,7 +41,7 @@ Staging: ``` kubectl config use-context arn:aws:eks:us-east-2:972164494713:cluster/oneuptime-staging -helm upgrade -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./helm-chart/public/oneuptime +helm upgrade -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./HelmChart/public/oneuptime ``` Use default values first and then use staging values. @@ -50,7 +50,7 @@ Production: ``` kubectl config use-context arn:aws:eks:us-east-2:972164494713:cluster/oneuptime-production -helm upgrade -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./helm-chart/public/oneuptime +helm upgrade -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./HelmChart/public/oneuptime ``` Use default values first and then use production values. @@ -58,7 +58,7 @@ Use default values first and then use production values. If you introduce values, you can set ``` -helm upgrade --reuse-values --set key=value fi ./helm-chart/public/oneuptime +helm upgrade --reuse-values --set key=value fi ./HelmChart/public/oneuptime ``` ### Uninstall @@ -86,7 +86,7 @@ sudo ./ci/scripts/docker-build-and-push.sh $repo $tag ### Package and deploy helm chart ``` -cd ./helm-chart/public +cd ./HelmChart/public helm repo index ./oneuptime helm package ./oneuptime helm repo index . @@ -97,8 +97,8 @@ cd .. ### Update a chart dependency ``` -cd ./helm-chart/public -#IMPORTANT: change the version of the dependent chart at `/helm-chart/public/oneuptime/Chart.yaml`. This should be the version field (and NOT appVersion) in Chart.yaml of the dependency. +cd ./HelmChart/public +#IMPORTANT: change the version of the dependent chart at `/HelmChart/public/oneuptime/Chart.yaml`. This should be the version field (and NOT appVersion) in Chart.yaml of the dependency. # Run this command. helm dependency update oneuptime diff --git a/Devops/docs/mongo-ops.md b/Devops/docs/mongo-ops.md index 2417a93b77..15b01e0b0a 100644 --- a/Devops/docs/mongo-ops.md +++ b/Devops/docs/mongo-ops.md @@ -59,10 +59,10 @@ Resolution: Delete all statefulset and start again. kubectl delete pvc datadir-fi-mongodb-0 datadir-fi-mongodb-1 # If staging -sudo helm upgrade -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./helm-chart/public/oneuptime +sudo helm upgrade -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-staging.yaml fi ./HelmChart/public/oneuptime # If production -sudo helm upgrade -f ./helm-chart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./helm-chart/public/oneuptime +sudo helm upgrade -f ./HelmChart/public/oneuptime/values.yaml -f ./kubernetes/values-saas-production.yaml fi ./HelmChart/public/oneuptime ``` Important: Restore. See restore section in this document for more info. @@ -81,9 +81,9 @@ Example: # Open MongoDB to the internet. # Only run this when MongoDB is not open to the internet -sudo kubectl delete job fi-init-script +sudo kubectl delete job fi-InitScript -sudo helm upgrade -f ./kubernetes/values-saas-staging.yaml --set mongodb.externalAccess.enabled=true --set mongodb.externalAccess.service.type=LoadBalancer --set externalAccess.service.port=27017 --set mongodb.externalAccess.autoDiscovery.enabled=true --set mongodb.serviceAccount.create=true --set mongodb.rbac.create=true fi ./helm-chart/public/oneuptime +sudo helm upgrade -f ./kubernetes/values-saas-staging.yaml --set mongodb.externalAccess.enabled=true --set mongodb.externalAccess.service.type=LoadBalancer --set externalAccess.service.port=27017 --set mongodb.externalAccess.autoDiscovery.enabled=true --set mongodb.serviceAccount.create=true --set mongodb.rbac.create=true fi ./HelmChart/public/oneuptime ``` @@ -108,9 +108,9 @@ mongorestore --uri="mongodb://oneuptime:password@localhost:27017/oneuptimedb" -- On source cluster: ``` -kubectl delete job fi-init-script +kubectl delete job fi-InitScript -sudo helm upgrade -f ./kubernetes/values-saas-staging.yaml --set mongodb.externalAccess.enabled=false --set mongodb.externalAccess.autoDiscovery.enabled=false --set mongodb.serviceAccount.create=false --set mongodb.rbac.create=false fi ./helm-chart/public/oneuptime +sudo helm upgrade -f ./kubernetes/values-saas-staging.yaml --set mongodb.externalAccess.enabled=false --set mongodb.externalAccess.autoDiscovery.enabled=false --set mongodb.serviceAccount.create=false --set mongodb.rbac.create=false fi ./HelmChart/public/oneuptime ``` diff --git a/Devops/update.sh b/Devops/update.sh index 225cc68d45..38f1a02ded 100644 --- a/Devops/update.sh +++ b/Devops/update.sh @@ -17,20 +17,20 @@ function update { # $1 - image tag update deployment/fi-accounts fi-accounts=oneuptime/accounts:$1 update deployment/fi-dashboard fi-dashboard=oneuptime/dashboard:$1 -update deployment/fi-admin fi-admin=oneuptime/admin-dashboard:$1 -update deployment/fi-api-docs fi-api-docs=oneuptime/api-docs:$1 -update deployment/fi-app-scan fi-app-scan=oneuptime/application-scanner:$1 +update deployment/fi-admin fi-admin=oneuptime/AdminDashboard:$1 +update deployment/fi-ApiDocs fi-ApiDocs=oneuptime/ApiDocs:$1 +update deployment/fi-app-scan fi-app-scan=oneuptime/ApplicationScanner:$1 update deployment/fi-backend fi-backend=oneuptime/backend:$1 -update deployment/fi-cont-scan fi-cont-scan=oneuptime/container-scanner:$1 +update deployment/fi-cont-scan fi-cont-scan=oneuptime/ContainerScanner:$1 update deployment/fi-ingestor fi-ingestor=oneuptime/data-ingestor:$1 update deployment/fi-haraka fi-haraka=oneuptime/haraka:$1 -update deployment/fi-helm-chart fi-helm-chart=oneuptime/helm-chart:$1 +update deployment/fi-HelmChart fi-HelmChart=oneuptime/HelmChart:$1 update deployment/fi-home fi-home=oneuptime/home:$1 -update deployment/fi-test fi-test=oneuptime/http-test-server:$1 +update deployment/fi-test fi-test=oneuptime/HttpTestServer:$1 update deployment/fi-licensing fi-licensing=oneuptime/licensing:$1 -update deployment/fi-lighthouse fi-lighthouse=oneuptime/lighthouse-runner:$1 +update deployment/fi-lighthouse fi-lighthouse=oneuptime/LighthouseRunner:$1 update deployment/fi-probe1 fi-probe1=oneuptime/probe:$1 update deployment/fi-probe2 fi-probe2=oneuptime/probe:$1 update deployment/fi-realtime fi-realtime=oneuptime/realtime:$1 -update deployment/fi-script fi-script=oneuptime/script-runner:$1 -update deployment/fi-status fi-status=oneuptime/status-page:$1 \ No newline at end of file +update deployment/fi-script fi-script=oneuptime/ScriptRunner:$1 +update deployment/fi-status fi-status=oneuptime/StatusPage:$1 \ No newline at end of file diff --git a/Docs/architecture.md b/Docs/architecture.md index 1da16568ba..a13804c55e 100644 --- a/Docs/architecture.md +++ b/Docs/architecture.md @@ -16,7 +16,7 @@ OneUptime has four separated projects for the UI: It's responsible for the registration operations, and the login process in the frontend side. -#### admin-dashboard +#### AdminDashboard It's the UI used by the administrators. @@ -24,7 +24,7 @@ It's the UI used by the administrators. It's the UI used by the users. -#### status-page +#### StatusPage It's a public page that renders the reports about the situation of the monitored resources. diff --git a/Docs/project-description.md b/Docs/project-description.md index f3abd08de8..cdc2242063 100644 --- a/Docs/project-description.md +++ b/Docs/project-description.md @@ -3,10 +3,10 @@ - `accounts` - A React project used for Authentication (Log in, Sign up, Forgot Password, etc.) - `dashboard` - A React project for OneUptime user where user can interact with the OneUptime platform. - `admin-dashobard` - React Project where admin can block users, delete projects and more. -- `api-docs` - HTML/CSS project. A public reference of OneUptime documentation. +- `ApiDocs` - HTML/CSS project. A public reference of OneUptime documentation. - `backend` - NodeJS Service. It's OneUptime API's. - `home` - HTML/CSS. Home Page / Marketing page of OneUptime. -- `http-test-server` - A test server used to test website monitors for OneUptime. +- `HttpTestServer` - A test server used to test website monitors for OneUptime. - `ci` - DevOps/CI/CD scripts. - `marketing` - This is where you'll find logos, brief description of OneUptime, etc. - `certifications` - SOC/ISO/PCI certifications and more. @@ -14,8 +14,8 @@ - `probe` - Probe is an agent that gets installed on a third party server on a thir party datacenter and it monitors users websites, services, from that data center. You can deploy multiple probes to monitor users resources - A probe in a datacenter in EU, in US, etc. - `server-monitor` - A probe that gets installed on a server and that monitors that particular server. - `tests` - Smoke test that is executed after OneUptime is deployed to staging or production. If smoke test fails, the staging / production deployment will automatically be rolled back. -- `status-page` - React project - Status page project of OneUptime. +- `StatusPage` - React project - Status page project of OneUptime. - `zapier` - OneUptime integrates with zapier. This is where integration code is. This gets deployed to zapier directly. -- `init-script` - a container that runs schema migration script. -- `helm-chart` - Helm Chart Scripts for installation of OneUptime into Kubernetes. +- `InitScript` - a container that runs schema migration script. +- `HelmChart` - Helm Chart Scripts for installation of OneUptime into Kubernetes. - `kubernetes` - Values of Kubenrets env diff --git a/Docs/run.md b/Docs/run.md index 3618216b3c..7a92d14d79 100644 --- a/Docs/run.md +++ b/Docs/run.md @@ -9,4 +9,4 @@ ## Running on: on-prem, staging, or production. -- We run this by using helm charts, please check `README.md` in the `helm-chart` folder. +- We run this by using helm charts, please check `README.md` in the `HelmChart` folder. diff --git a/Docs/running-tests.md b/Docs/running-tests.md index 3e9a0d9939..761a5b937f 100644 --- a/Docs/running-tests.md +++ b/Docs/running-tests.md @@ -47,7 +47,7 @@ Once the cluster is running, you can run tests like: ``` export SLOMO=20 export HEADLESS=false -jest ./saas-tests/status-page/status-page.test.js # or any file. +jest ./saas-tests/StatusPage/StatusPage.test.js # or any file. ``` There's also a .vscode/launch.json in test folder which will help you to debug tests with vscode. diff --git a/GoSdk/README.md b/GoSdk/README.md index 59e9985312..84f81c885a 100644 --- a/GoSdk/README.md +++ b/GoSdk/README.md @@ -330,6 +330,6 @@ Capture a custom error object to be sent to the server ## Contribution - Clone repository -- run `cd go-sdk` +- run `cd GoSDK` - run `go get -d ./...` to install dependencies - run `go test -v` to run tests diff --git a/GoSdk/realm.go b/GoSdk/realm.go index 3461ea6e23..a30aea8b79 100644 --- a/GoSdk/realm.go +++ b/GoSdk/realm.go @@ -93,7 +93,7 @@ func (realm *Realm) PrepareErrorObject(errorType string, errorObj *Exception, er Exception: errorObj, ErrorTrackerKey: errorTrackerKey, SDK: &SDK{ - Name: "go-sdk", + Name: "GoSDK", Version: Version, // TODO dynamic version setting cuz version is set manually in the oneuptimeTracker.go file before every release }, } diff --git a/GoSdk/test_coverage/cover.html b/GoSdk/test_coverage/cover.html index 17ce86a54d..3d76457b31 100644 --- a/GoSdk/test_coverage/cover.html +++ b/GoSdk/test_coverage/cover.html @@ -669,7 +669,7 @@ func (realm *Realm) PrepareErrorObject(errorType string, errorObj *Exception, er Exception: errorObj, ErrorTrackerKey: errorTrackerKey, SDK: &SDK{ - Name: "go-sdk", + Name: "GoSDK", Version: Version, // TODO dynamic version setting cuz version is set manually in the oneuptimeTracker.go file before every release }, } diff --git a/Haraka/.dockerignore b/Haraka/.dockerignore index afcbd3dc70..7afca94892 100644 --- a/Haraka/.dockerignore +++ b/Haraka/.dockerignore @@ -58,7 +58,7 @@ tests/coverage settings.json -go-sdk/tester/ +GoSDK/tester/ # tls tls_cert.pem tls_key.pem \ No newline at end of file diff --git a/HelmChart/.dockerignore b/HelmChart/.dockerignore index 621d0c906c..cd8be2fc86 100755 --- a/HelmChart/.dockerignore +++ b/HelmChart/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester/ \ No newline at end of file +GoSDK/tester/ \ No newline at end of file diff --git a/HelmChart/Dockerfile b/HelmChart/Dockerfile index bd9b59d5fb..37a7efa9d0 100755 --- a/HelmChart/Dockerfile +++ b/HelmChart/Dockerfile @@ -17,12 +17,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile RUN mkdir /usr/src/app @@ -30,12 +30,12 @@ RUN mkdir /usr/src/app WORKDIR /usr/src/app # Install app dependencies -COPY ./helm-chart/package*.json /usr/src/app/ +COPY ./HelmChart/package*.json /usr/src/app/ RUN npm install RUN npm install -g ts-node # Bundle app source -COPY ./helm-chart /usr/src/app +COPY ./HelmChart /usr/src/app # Expose ports. # - 3423: OneUptime Helm Chart Server diff --git a/HelmChart/Dockerfile.dev b/HelmChart/Dockerfile.dev index fbf9dd42e2..771d2bf4fc 100644 --- a/HelmChart/Dockerfile.dev +++ b/HelmChart/Dockerfile.dev @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables @@ -35,8 +35,8 @@ RUN npm compile WORKDIR /usr/src/app # Copy package.json files -COPY ./helm-chart/package.json /usr/src/app/package.json -COPY ./helm-chart/package-lock.json /usr/src/app/package-lock.json +COPY ./HelmChart/package.json /usr/src/app/package.json +COPY ./HelmChart/package-lock.json /usr/src/app/package-lock.json # Install app dependencies diff --git a/HelmChart/index.ts b/HelmChart/index.ts index 4c9b2404e5..302d213f73 100644 --- a/HelmChart/index.ts +++ b/HelmChart/index.ts @@ -1,5 +1,5 @@ -import { ExpressStatic } from 'Common-server/Utils/Express'; -import app from 'Common-server/utils/StartServer'; +import { ExpressStatic } from 'CommonServer/utils/Express'; +import app from 'CommonServer/utils/StartServer'; import path from 'path'; diff --git a/HelmChart/package-lock.json b/HelmChart/package-lock.json index 87967fc81c..f4f5f3678a 100644 --- a/HelmChart/package-lock.json +++ b/HelmChart/package-lock.json @@ -1,11 +1,11 @@ { - "name": "helm-chart", + "name": "HelmChart", "version": "3.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { - "name": "helm-chart", + "name": "HelmChart", "version": "3.0.0", "hasInstallScript": true, "license": "ISC", @@ -2322,7 +2322,7 @@ "node": ">= 0.10.0" } }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "license": "ISC", "dependencies": { @@ -2618,8 +2618,8 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "node_modules/common-server": { - "resolved": "../common-server", + "node_modules/CommonServer": { + "resolved": "../CommonServer", "link": true }, "node_modules/braces": { @@ -3433,8 +3433,8 @@ "slugify": "^1.6.5" } }, - "common-server": { - "version": "file:../common-server", + "CommonServer": { + "version": "file:../CommonServer", "requires": { "@elastic/elasticsearch": "^8.1.0", "@types/cors": "^2.8.12", diff --git a/HelmChart/package.json b/HelmChart/package.json index 271ddb6dd1..1800c44b3f 100644 --- a/HelmChart/package.json +++ b/HelmChart/package.json @@ -1,5 +1,5 @@ { - "name": "helm-chart", + "name": "HelmChart", "version": "3.0.0", "description": "Helm Chart Server for OneUptime", "main": "server.js", diff --git a/HelmChart/public/install.sh b/HelmChart/public/install.sh index 345ead44ad..0aadac3995 100755 --- a/HelmChart/public/install.sh +++ b/HelmChart/public/install.sh @@ -170,7 +170,7 @@ sudo helm repo update function updateinstallation { - sudo k delete job oneuptime-init-script || echo "init-script already deleted" + sudo k delete job oneuptime-InitScript || echo "InitScript already deleted" sudo helm upgrade --reuse-values fi oneuptime/OneUptime \ --set image.tag=$AVAILABLE_VERSION } @@ -215,21 +215,21 @@ then # install services. if [[ "$2" == "enterprise" ]] then - sudo helm install -f ./kubernetes/values-enterprise-ci.yaml fi ./helm-chart/public/oneuptime \ + sudo helm install -f ./kubernetes/values-enterprise-ci.yaml fi ./HelmChart/public/oneuptime \ --set haraka.domain=$DOMAIN \ --set haraka.dkimPrivateKey=$DKIM_PRIVATE_KEY \ --set haraka.tlsCert=$TLS_CERT \ --set haraka.tlsKey=$TLS_KEY else - sudo helm install -f ./kubernetes/values-saas-ci.yaml fi ./helm-chart/public/oneuptime \ + sudo helm install -f ./kubernetes/values-saas-ci.yaml fi ./HelmChart/public/oneuptime \ --set haraka.domain=$DOMAIN \ --set haraka.dkimPrivateKey=$DKIM_PRIVATE_KEY \ --set haraka.tlsCert=$TLS_CERT \ --set haraka.tlsKey=$TLS_KEY fi else - sudo k delete job oneuptime-init-script || echo "init-script already deleted" - sudo helm upgrade --reuse-values fi ./helm-chart/public/oneuptime + sudo k delete job oneuptime-InitScript || echo "InitScript already deleted" + sudo helm upgrade --reuse-values fi ./HelmChart/public/oneuptime fi else if [[ $DEPLOYED_VERSION_BUILD -eq 0 ]] diff --git a/HelmChart/public/oneuptime/README.md b/HelmChart/public/oneuptime/README.md index 0ed0e4707d..ea7cc453c6 100644 --- a/HelmChart/public/oneuptime/README.md +++ b/HelmChart/public/oneuptime/README.md @@ -325,7 +325,7 @@ To update cluster with new version of OneUptime. Please run: ``` VERSION=$(curl https://oneuptime.com/api/version | jq '.server' | tr -d '"') -kubectl delete job oneuptime-init-script || echo "init-script already deleted" +kubectl delete job oneuptime-InitScript || echo "InitScript already deleted" helm upgrade --reuse-values oneuptime oneuptime/OneUptime \ --set image.tag=$VERSION ``` diff --git a/HelmChart/public/oneuptime/templates/_helpers.tpl b/HelmChart/public/oneuptime/templates/_helpers.tpl index f4b43ad528..79bba42cd3 100644 --- a/HelmChart/public/oneuptime/templates/_helpers.tpl +++ b/HelmChart/public/oneuptime/templates/_helpers.tpl @@ -28,7 +28,7 @@ Expand the name of the chart. {{- end -}} {{- define "oneuptime.probeApiUrl" -}} -{{ printf "http://%s-probe-api.%s.%s" $.Release.Name $.Release.Namespace "svc.cluster.local" }} +{{ printf "http://%s-ProbeAPI.%s.%s" $.Release.Name $.Release.Namespace "svc.cluster.local" }} {{- end -}} {{- define "oneuptime.scriptRunnerUrl" -}} diff --git a/HelmChart/public/oneuptime/templates/admin-dashboard.yaml b/HelmChart/public/oneuptime/templates/admin-dashboard.yaml index f5aa2f6f23..47c0e35241 100644 --- a/HelmChart/public/oneuptime/templates/admin-dashboard.yaml +++ b/HelmChart/public/oneuptime/templates/admin-dashboard.yaml @@ -1,4 +1,4 @@ -############-ADMIN-DASHBOARD-######### +############-AdminDashboard-######### apiVersion: apps/v1 kind: Deployment metadata: @@ -19,7 +19,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "admin" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "admin-dashboard" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "AdminDashboard" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "admin" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/api-docs.yaml b/HelmChart/public/oneuptime/templates/api-docs.yaml index 618056a76e..5a38a60646 100644 --- a/HelmChart/public/oneuptime/templates/api-docs.yaml +++ b/HelmChart/public/oneuptime/templates/api-docs.yaml @@ -4,31 +4,31 @@ #################################### {{- if .Values.saas.isSaasService }} -###########-----API-DOCS------############## +###########-----ApiDocs------############## # OneUptime API docs Deployment apiVersion: apps/v1 kind: Deployment metadata: - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} namespace: {{ $.Release.Namespace }} labels: - app: {{ printf "%s-%s" $.Release.Name "api-docs" }} + app: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm spec: selector: matchLabels: - app: {{ printf "%s-%s" $.Release.Name "api-docs" }} + app: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} replicas: {{ $.Values.replicaCount }} template: metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "api-docs" }} + app: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "api-docs" .Values.image.tag }} - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "ApiDocs" .Values.image.tag }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: requests: @@ -63,7 +63,7 @@ spec: ports: - containerPort: {{ $.Values.host.apiDocsPort }} hostPort: {{ $.Values.host.apiDocsPort }} - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} restartPolicy: {{ $.Values.image.restartPolicy }} --- @@ -72,10 +72,10 @@ apiVersion: v1 kind: Service metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "api-docs" }} + app: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} namespace: {{ $.Release.Namespace }} spec: ports: @@ -83,7 +83,7 @@ spec: protocol: TCP targetPort: {{ $.Values.host.apiDocsPort }} selector: - app: {{ printf "%s-%s" $.Release.Name "api-docs" }} + app: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} type: ClusterIP --- ########################################### @@ -93,14 +93,14 @@ spec: apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} spec: maxReplicas: {{ $.Values.autoScaler.maxReplicas }} minReplicas: {{ $.Values.autoScaler.minReplicas }} scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ printf "%s-%s" $.Release.Name "api-docs" }} + name: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} targetCPUUtilizationPercentage: {{ $.Values.autoScaler.averageCpuUtilization }} --- {{- end }} \ No newline at end of file diff --git a/HelmChart/public/oneuptime/templates/application-scanner.yaml b/HelmChart/public/oneuptime/templates/application-scanner.yaml index f5c699fc74..34619e276e 100644 --- a/HelmChart/public/oneuptime/templates/application-scanner.yaml +++ b/HelmChart/public/oneuptime/templates/application-scanner.yaml @@ -19,7 +19,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "app-scan" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "application-scanner" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "ApplicationScanner" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "app-scan" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/container-scanner.yaml b/HelmChart/public/oneuptime/templates/container-scanner.yaml index 5fff14ca44..90199b8700 100644 --- a/HelmChart/public/oneuptime/templates/container-scanner.yaml +++ b/HelmChart/public/oneuptime/templates/container-scanner.yaml @@ -19,7 +19,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "cont-scan" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "container-scanner" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "ContainerScanner" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "cont-scan" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/exposed-init-script.yaml b/HelmChart/public/oneuptime/templates/exposed-init-script.yaml index d6ba9c43b2..1dc74c0f5f 100644 --- a/HelmChart/public/oneuptime/templates/exposed-init-script.yaml +++ b/HelmChart/public/oneuptime/templates/exposed-init-script.yaml @@ -4,30 +4,30 @@ #################################### {{- if .Values.saas.exposeInitScriptContainer }} -###########-----init-script------################# -# OneUptime init-script +###########-----InitScript------################# +# OneUptime InitScript apiVersion: apps/v1 kind: Deployment metadata: - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} namespace: {{ $.Release.Namespace }} labels: - app: {{ printf "%s-%s" $.Release.Name "init-script" }} + app: {{ printf "%s-%s" $.Release.Name "InitScript" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm spec: selector: matchLabels: - app: {{ printf "%s-%s" $.Release.Name "init-script" }} + app: {{ printf "%s-%s" $.Release.Name "InitScript" }} replicas: 1 template: metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "init-script" }} + app: {{ printf "%s-%s" $.Release.Name "InitScript" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "init-script" .Values.image.tag }} - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "InitScript" .Values.image.tag }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} env: - name: IS_SAAS_SERVICE @@ -59,7 +59,7 @@ spec: ports: - containerPort: {{ $.Values.host.initScriptPort }} hostPort: {{ $.Values.host.initScriptPort }} - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} restartPolicy: {{ $.Values.image.restartPolicy }} --- @@ -67,10 +67,10 @@ apiVersion: v1 kind: Service metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "init-script" }} + app: {{ printf "%s-%s" $.Release.Name "InitScript" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} namespace: {{ $.Release.Namespace }} spec: ports: @@ -78,7 +78,7 @@ spec: protocol: TCP targetPort: {{ $.Values.host.initScriptPort }} selector: - app: {{ printf "%s-%s" $.Release.Name "init-script" }} + app: {{ printf "%s-%s" $.Release.Name "InitScript" }} type: ClusterIP --- ########################################### diff --git a/HelmChart/public/oneuptime/templates/helm-chart.yaml b/HelmChart/public/oneuptime/templates/helm-chart.yaml index 15bb1dafa2..c28a12c729 100644 --- a/HelmChart/public/oneuptime/templates/helm-chart.yaml +++ b/HelmChart/public/oneuptime/templates/helm-chart.yaml @@ -9,25 +9,25 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + name: {{ printf "%s-%s" $.Release.Name "HelmChart" }} namespace: {{ $.Release.Namespace }} labels: - app: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + app: {{ printf "%s-%s" $.Release.Name "HelmChart" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm spec: selector: matchLabels: - app: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + app: {{ printf "%s-%s" $.Release.Name "HelmChart" }} replicas: {{ $.Values.replicaCount }} template: metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + app: {{ printf "%s-%s" $.Release.Name "HelmChart" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "helm-chart" .Values.image.tag }} - name: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "HelmChart" .Values.image.tag }} + name: {{ printf "%s-%s" $.Release.Name "HelmChart" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: requests: @@ -70,10 +70,10 @@ apiVersion: v1 kind: Service metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + app: {{ printf "%s-%s" $.Release.Name "HelmChart" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm - name: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + name: {{ printf "%s-%s" $.Release.Name "HelmChart" }} namespace: {{ $.Release.Namespace }} spec: ports: @@ -81,7 +81,7 @@ spec: protocol: TCP targetPort: {{ $.Values.host.helmChartPort }} selector: - app: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + app: {{ printf "%s-%s" $.Release.Name "HelmChart" }} type: ClusterIP --- ########################################### @@ -92,14 +92,14 @@ spec: apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + name: {{ printf "%s-%s" $.Release.Name "HelmChart" }} spec: maxReplicas: {{ $.Values.autoScaler.maxReplicas }} minReplicas: {{ $.Values.autoScaler.minReplicas }} scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + name: {{ printf "%s-%s" $.Release.Name "HelmChart" }} targetCPUUtilizationPercentage: {{ $.Values.autoScaler.averageCpuUtilization }} --- {{- end }} \ No newline at end of file diff --git a/HelmChart/public/oneuptime/templates/http-test-server.yaml b/HelmChart/public/oneuptime/templates/http-test-server.yaml index 523bb85768..7807ac0318 100644 --- a/HelmChart/public/oneuptime/templates/http-test-server.yaml +++ b/HelmChart/public/oneuptime/templates/http-test-server.yaml @@ -20,7 +20,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "test" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "http-test-server" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "HttpTestServer" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "test" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/ingress.yaml b/HelmChart/public/oneuptime/templates/ingress.yaml index 9c96736b56..2bb531015b 100644 --- a/HelmChart/public/oneuptime/templates/ingress.yaml +++ b/HelmChart/public/oneuptime/templates/ingress.yaml @@ -42,9 +42,9 @@ spec: backend: serviceName: {{ printf "%s-%s" $.Release.Name "ingestor" }} servicePort: 80 - - path: /probe-api + - path: /ProbeAPI backend: - serviceName: {{ printf "%s-%s" $.Release.Name "probe-api" }} + serviceName: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} servicePort: 80 - path: /dashboard backend: @@ -62,7 +62,7 @@ spec: backend: serviceName: {{ printf "%s-%s" $.Release.Name "realtime" }} servicePort: 80 - - path: /status-page + - path: /StatusPage backend: serviceName: {{ printf "%s-%s" $.Release.Name "status" }} servicePort: 80 @@ -99,7 +99,7 @@ spec: servicePort: 80 - path: /docs backend: - serviceName: {{ printf "%s-%s" $.Release.Name "api-docs" }} + serviceName: {{ printf "%s-%s" $.Release.Name "ApiDocs" }} servicePort: 80 - path: /license backend: @@ -107,7 +107,7 @@ spec: servicePort: 80 - path: /chart backend: - serviceName: {{ printf "%s-%s" $.Release.Name "helm-chart" }} + serviceName: {{ printf "%s-%s" $.Release.Name "HelmChart" }} servicePort: 80 {{- else }} - path: / @@ -118,7 +118,7 @@ spec: {{- if $.Values.saas.exposeInitScriptContainer }} - path: / backend: - serviceName: {{ printf "%s-%s" $.Release.Name "init-script" }} + serviceName: {{ printf "%s-%s" $.Release.Name "InitScript" }} servicePort: 80 {{- end }} --- diff --git a/HelmChart/public/oneuptime/templates/init-script.yaml b/HelmChart/public/oneuptime/templates/init-script.yaml index 058f65bcbc..d6b80ad46e 100644 --- a/HelmChart/public/oneuptime/templates/init-script.yaml +++ b/HelmChart/public/oneuptime/templates/init-script.yaml @@ -1,8 +1,8 @@ -########-INIT-SCRIPT-########## +########-InitScript-########## apiVersion: batch/v1 kind: Job metadata: - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} namespace: {{ $.Release.Namespace }} labels: app.kubernetes.io/part-of: oneuptime @@ -11,8 +11,8 @@ spec: template: spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "init-script" .Values.image.tag }} - name: {{ printf "%s-%s" $.Release.Name "init-script" }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "InitScript" .Values.image.tag }} + name: {{ printf "%s-%s" $.Release.Name "InitScript" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} env: - name: NODE_NAME diff --git a/HelmChart/public/oneuptime/templates/lighthouse.yaml b/HelmChart/public/oneuptime/templates/lighthouse.yaml index fa9867ca4b..a1603c4953 100644 --- a/HelmChart/public/oneuptime/templates/lighthouse.yaml +++ b/HelmChart/public/oneuptime/templates/lighthouse.yaml @@ -19,7 +19,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "lighthouse" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "lighthouse-runner" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "LighthouseRunner" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "lighthouse" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/probe-api.yaml b/HelmChart/public/oneuptime/templates/probe-api.yaml index d4a60d3a23..e23819c439 100644 --- a/HelmChart/public/oneuptime/templates/probe-api.yaml +++ b/HelmChart/public/oneuptime/templates/probe-api.yaml @@ -1,32 +1,32 @@ -###########-----probe-api------############## +###########-----ProbeAPI------############## # OneUptime Backend Deployment apiVersion: apps/v1 kind: Deployment metadata: - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} namespace: {{ $.Release.Namespace }} labels: - app: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} {{- if $.Values.saas.isRunningOnGCPMarketplace }} app.kubernetes.io/name: "$name" app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm - app.kubernetes.io/component: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app.kubernetes.io/component: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} {{- end }} spec: selector: matchLabels: - app: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} replicas: {{ $.Values.replicaCount }} template: metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "probe-api" .Values.image.tag }} - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "ProbeAPI" .Values.image.tag }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: requests: @@ -66,9 +66,9 @@ spec: - name: ONEUPTIME_HOST value: {{ $.Values.oneuptime.hosts.host1.host }} - name: DEPLOYMENT_NAME - value: {{ printf "%s-%s" $.Release.Name "probe-api" }} + value: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} - name: CONTAINER_NAME - value: {{ printf "%s-%s" $.Release.Name "probe-api" }} + value: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} - name: BACKEND_PROTOCOL value: {{ $.Values.backendProtocol }} - name: PORT @@ -82,7 +82,7 @@ spec: ports: - containerPort: {{ $.Values.host.fetchResourcesPort }} hostPort: {{ $.Values.host.fetchResourcesPort }} - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} {{- if $.Values.saas.isRunningOnGCPMarketplace }} - name: ubbagent image: $imageUbbagent @@ -121,17 +121,17 @@ apiVersion: v1 kind: Service metadata: labels: - app: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} app.kubernetes.io/part-of: oneuptime app.kubernetes.io/managed-by: Helm - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} namespace: {{ $.Release.Namespace }} spec: ports: - port: {{ $.Values.host.fetchResourcesServicePort }} targetPort: {{ $.Values.host.fetchResourcesPort }} selector: - app: {{ printf "%s-%s" $.Release.Name "probe-api" }} + app: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} type: ClusterIP --- ################################################## @@ -140,14 +140,14 @@ spec: apiVersion: autoscaling/v1 kind: HorizontalPodAutoscaler metadata: - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} spec: maxReplicas: {{ $.Values.autoScaler.maxReplicas }} minReplicas: {{ $.Values.autoScaler.minReplicas }} scaleTargetRef: apiVersion: apps/v1 kind: Deployment - name: {{ printf "%s-%s" $.Release.Name "probe-api" }} + name: {{ printf "%s-%s" $.Release.Name "ProbeAPI" }} targetCPUUtilizationPercentage: {{ $.Values.autoScaler.averageCpuUtilization }} --- {{- end }} \ No newline at end of file diff --git a/HelmChart/public/oneuptime/templates/script-runner.yaml b/HelmChart/public/oneuptime/templates/script-runner.yaml index 9d4a02306a..168e9e7a81 100644 --- a/HelmChart/public/oneuptime/templates/script-runner.yaml +++ b/HelmChart/public/oneuptime/templates/script-runner.yaml @@ -21,7 +21,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "script" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "script-runner" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "ScriptRunner" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "script" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/status-page.yaml b/HelmChart/public/oneuptime/templates/status-page.yaml index 7d907fe38e..73111468e4 100644 --- a/HelmChart/public/oneuptime/templates/status-page.yaml +++ b/HelmChart/public/oneuptime/templates/status-page.yaml @@ -19,7 +19,7 @@ spec: app: {{ printf "%s-%s" $.Release.Name "status" }} spec: containers: - - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "status-page" .Values.image.tag }} + - image: {{ printf "%s/%s/%s:%s" .Values.image.registry .Values.image.repository "StatusPage" .Values.image.tag }} name: {{ printf "%s-%s" $.Release.Name "status" }} imagePullPolicy: {{ $.Values.image.pullPolicy }} resources: diff --git a/HelmChart/public/oneuptime/templates/statusPageIngress.yaml b/HelmChart/public/oneuptime/templates/statusPageIngress.yaml index 97a806c92b..be957a0b0e 100644 --- a/HelmChart/public/oneuptime/templates/statusPageIngress.yaml +++ b/HelmChart/public/oneuptime/templates/statusPageIngress.yaml @@ -1,4 +1,4 @@ -############----STATUS-PAGE-INGRESS--##################################### +############----StatusPage-INGRESS--##################################### {{- if .Values.oneuptime.hosts.host1.host }} {{- range $key, $value := $.Values.statusPage.hosts }} apiVersion: networking.k8s.io/v1beta1 diff --git a/Home/.dockerignore b/Home/.dockerignore index 8b39bf3e37..86cdc554a3 100755 --- a/Home/.dockerignore +++ b/Home/.dockerignore @@ -55,4 +55,4 @@ tests/coverage settings.json -go-sdk/tester \ No newline at end of file +GoSDK/tester \ No newline at end of file diff --git a/Home/Dockerfile b/Home/Dockerfile index e9d1bf5173..48b0393eda 100755 --- a/Home/Dockerfile +++ b/Home/Dockerfile @@ -25,12 +25,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile RUN mkdir /usr/src/app diff --git a/Home/Dockerfile.dev b/Home/Dockerfile.dev index fd778b7bbd..97446bc8da 100644 --- a/Home/Dockerfile.dev +++ b/Home/Dockerfile.dev @@ -21,12 +21,12 @@ RUN npm install COPY ./common /usr/src/common RUN npm compile -# Install common-server -RUN mkdir /usr/src/common-server -WORKDIR /usr/src/common-server -COPY ./common-server/package*.json /usr/src/common-server/ +# Install CommonServer +RUN mkdir /usr/src/CommonServer +WORKDIR /usr/src/CommonServer +COPY ./CommonServer/package*.json /usr/src/CommonServer/ RUN npm install -COPY ./common-server /usr/src/common-server +COPY ./CommonServer /usr/src/CommonServer RUN npm compile #SET ENV Variables diff --git a/Home/config/product-compare.ts b/Home/config/product-compare.ts index d7a3ee8ac4..b6a218c361 100644 --- a/Home/config/product-compare.ts +++ b/Home/config/product-compare.ts @@ -14,7 +14,7 @@ export default (product: string) => { faq: [ { question: 'How does OneUptime compare with PagerDuty?', - answer: 'PagerDuty is an incident management and on call tool whereas OneUptime is a complete SRE and DevOps platform. OneUptime offers mostly everything that PagerDuty offers, but a lot more like monitoring, status-page, security, performance-monitoring and more. Please check detailed comparision above for more info.', + answer: 'PagerDuty is an incident management and on call tool whereas OneUptime is a complete SRE and DevOps platform. OneUptime offers mostly everything that PagerDuty offers, but a lot more like monitoring, StatusPage, security, performance-monitoring and more. Please check detailed comparision above for more info.', }, { question: @@ -334,7 +334,7 @@ export default (product: string) => { faq: [ { question: 'How does OneUptime compare with Pingdom?', - answer: 'Pingdom is an monitoring tool whereas OneUptime is a complete SRE and DevOps platform. OneUptime offers mostly everything that Pingdom offers, but a lot more like monitoring, status-page, security, performance-monitoring and more. Please check detailed comparision above for more info.', + answer: 'Pingdom is an monitoring tool whereas OneUptime is a complete SRE and DevOps platform. OneUptime offers mostly everything that Pingdom offers, but a lot more like monitoring, StatusPage, security, performance-monitoring and more. Please check detailed comparision above for more info.', }, { question: diff --git a/Home/index.ts b/Home/index.ts index 04e9dd34d8..785b09f49e 100755 --- a/Home/index.ts +++ b/Home/index.ts @@ -72,21 +72,18 @@ app.get('/enterprise/demo', (_req: ExpressRequest, res: ExpressResponse) => { }); }); -app.get( - '/product/status-page', - (_req: ExpressRequest, res: ExpressResponse) => { - res.redirect('/product/public-status-page'); - } -); +app.get('/product/StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { + res.redirect('/product/public-StatusPage'); +}); -app.get('/status-page', (_req: ExpressRequest, res: ExpressResponse) => { - res.redirect('/product/public-status-page'); +app.get('/StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { + res.redirect('/product/public-StatusPage'); }); app.get( - '/product/public-status-page', + '/product/public-StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { - res.render('public-status-page', { + res.render('public-StatusPage', { support: false, footerCards: true, cta: true, @@ -98,14 +95,14 @@ app.get( } ); -app.get('/public-status-page', (_req: ExpressRequest, res: ExpressResponse) => { - res.redirect('/product/public-status-page'); +app.get('/public-StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { + res.redirect('/product/public-StatusPage'); }); app.get( - '/product/private-status-page', + '/product/private-StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { - res.render('private-status-page', { + res.render('private-StatusPage', { support: false, footerCards: true, cta: true, @@ -117,12 +114,9 @@ app.get( } ); -app.get( - '/private-status-page', - (_req: ExpressRequest, res: ExpressResponse) => { - res.redirect('/product/private-status-page'); - } -); +app.get('/private-StatusPage', (_req: ExpressRequest, res: ExpressResponse) => { + res.redirect('/product/private-StatusPage'); +}); app.get('/status', (_req: ExpressRequest, res: ExpressResponse) => { res.redirect('https://status.oneuptime.com'); @@ -817,8 +811,8 @@ app.get('/sitemap.xml', async (_req: ExpressRequest, res: ExpressResponse) => { 'https://oneuptime.com/', 'https://oneuptime.com/pricing', 'https://oneuptime.com/support', - 'https://oneuptime.com/product/public-status-page', - 'https://oneuptime.com/product/private-status-page', + 'https://oneuptime.com/product/public-StatusPage', + 'https://oneuptime.com/product/private-StatusPage', 'https://oneuptime.com/product/uptime-monitoring', 'https://oneuptime.com/product/incident-management', 'https://oneuptime.com/product/app-security', diff --git a/Home/package-lock.json b/Home/package-lock.json index cf9b7a99d8..c1ad0ddacd 100644 --- a/Home/package-lock.json +++ b/Home/package-lock.json @@ -3621,7 +3621,7 @@ } }, "../CommonServer": { - "name": "common-server", + "name": "CommonServer", "version": "1.0.0", "license": "ISC", "dependencies": { @@ -7071,7 +7071,7 @@ "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", "integrity": "sha1-o6vicYryQaKykE+EpiWXDzia4yo=" }, - "../common-server": { + "../CommonServer": { "version": "1.0.0", "extraneous": true, "license": "ISC", diff --git a/Home/public/css/default.css b/Home/public/css/default.css index 7bf871720b..5e4da54c42 100755 --- a/Home/public/css/default.css +++ b/Home/public/css/default.css @@ -2351,12 +2351,12 @@ a.globalFooterCard.card-sigma,div.globalFooterCard.card-sigma{ flex-direction: column; align-items: center; } - #status-page { + #StatusPage { display: none; } } @media (max-width:1020px){ - #status-page { + #StatusPage { display: none; } } diff --git a/Home/public/robots.txt b/Home/public/robots.txt index b007d01edc..a2d64f3c6e 100644 --- a/Home/public/robots.txt +++ b/Home/public/robots.txt @@ -1,6 +1,6 @@ User-agent: * Disallow: /api/* -Disallow: /status-page/* +Disallow: /StatusPage/* Disallow: /admin/* Disallow: /haraka/* Disallow: /dashboard/* diff --git a/Home/public/sitemap.xml b/Home/public/sitemap.xml index 4ffec3c0f3..2fb6fc63ae 100644 --- a/Home/public/sitemap.xml +++ b/Home/public/sitemap.xml @@ -16,12 +16,12 @@ -https://oneuptime.com/product/public-status-page +https://oneuptime.com/product/public-StatusPage 2020-11-22T07:23:45+00:00 -https://oneuptime.com/product/private-status-page +https://oneuptime.com/product/private-StatusPage 2020-11-22T07:23:45+00:00 diff --git a/Home/views/footer.ejs b/Home/views/footer.ejs index 2685b77c81..edd37c748f 100755 --- a/Home/views/footer.ejs +++ b/Home/views/footer.ejs @@ -24,7 +24,7 @@
    • - + Status Page
    • diff --git a/Home/views/index.ejs b/Home/views/index.ejs index f673a798ae..7cb647d8fe 100755 --- a/Home/views/index.ejs +++ b/Home/views/index.ejs @@ -197,7 +197,7 @@
    - Status Page
    @@ -229,7 +229,7 @@

    -

    Learn more about status page here.

    diff --git a/Home/views/iot-device-monitoring.ejs b/Home/views/iot-device-monitoring.ejs index 34f3f23e31..961f2559ed 100644 --- a/Home/views/iot-device-monitoring.ejs +++ b/Home/views/iot-device-monitoring.ejs @@ -228,7 +228,7 @@ img
    - img + img img
    diff --git a/Home/views/nav.ejs b/Home/views/nav.ejs index 7fdd3bf092..e0e5004f7f 100755 --- a/Home/views/nav.ejs +++ b/Home/views/nav.ejs @@ -66,7 +66,7 @@