From c56fc5f86c126e6747af78de166e1ce46ac55865 Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 17:02:50 +0000 Subject: [PATCH 1/7] scaffold Signed-off-by: GitHub --- .devcontainer/devcontainer-lock.json | 9 +++ .devcontainer/devcontainer.json | 21 +++++++ .editorconfig | 23 ++++++++ .github/CODEOWNERS | 4 +- .github/dependabot.yml | 33 +++-------- .github/workflows/build-test.yml | 44 +++++++++++++++ .github/workflows/openssf-scorecard.yml | 47 ++++++++++++++++ .github/workflows/publish.yml | 60 ++++++++++++++++++++ .github/workflows/super-linter.yml | 36 ++++++++++++ README.md | 68 +++-------------------- config/tech-docs.yml | 21 +++++++ scripts/local.sh | 27 +++++++++ source/index.html.md.erb | 9 +++ source/javascripts/application.js | 1 + source/stylesheets/print.css.scss | 3 + source/stylesheets/screen-old-ie.css.scss | 4 ++ source/stylesheets/screen.css.scss | 1 + 17 files changed, 322 insertions(+), 89 deletions(-) create mode 100644 .devcontainer/devcontainer-lock.json create mode 100644 .devcontainer/devcontainer.json create mode 100644 .editorconfig create mode 100644 .github/workflows/build-test.yml create mode 100644 .github/workflows/openssf-scorecard.yml create mode 100644 .github/workflows/publish.yml create mode 100644 .github/workflows/super-linter.yml create mode 100644 config/tech-docs.yml create mode 100644 scripts/local.sh create mode 100644 source/index.html.md.erb create mode 100644 source/javascripts/application.js create mode 100644 source/stylesheets/print.css.scss create mode 100644 source/stylesheets/screen-old-ie.css.scss create mode 100644 source/stylesheets/screen.css.scss diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json new file mode 100644 index 0000000..977f640 --- /dev/null +++ b/.devcontainer/devcontainer-lock.json @@ -0,0 +1,9 @@ +{ + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": { + "version": "2.10.2", + "resolved": "ghcr.io/devcontainers/features/docker-in-docker@sha256:23ae11a86089da5f0b98a6edd603f91831802b7f2d5ef1e104e1b94a3beb546c", + "integrity": "sha256:23ae11a86089da5f0b98a6edd603f91831802b7f2d5ef1e104e1b94a3beb546c" + } + } +} \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..2e87b25 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,21 @@ +{ + "name": "observability-platform-user-guide", + "image": "ghcr.io/ministryofjustice/devcontainer-base:latest", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "EditorConfig.EditorConfig", + "GitHub.vscode-github-actions", + "GitHub.vscode-pull-request-github" + ], + "settings": { + "files.associations": { + "*.html.md.erb": "markdown" + } + } + } + } +} diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3ba6594 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,23 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +# This file is autogenerated +[.devcontainer/devcontainer-lock.json] +end_of_line = unset +insert_final_newline = unset + +[*.json] +indent_style = space +indent_size = 2 + +[*.sh] +indent_style = space +indent_size = 2 + +[*.yml] +indent_style = space +indent_size = 2 diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ac066e6..007a75e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1 @@ -# Add a team or username to this file -# Example: -# * @ministryofjustice/operations-engineering +* @ministryofjustice/observability-platform diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 15fe7f0..123035b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,37 +1,18 @@ --- -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file - version: 2 updates: - - package-ecosystem: "bundler" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "terraform" - directory: "/terraform" - schedule: - interval: "daily" - package-ecosystem: "github-actions" directory: "/" schedule: interval: "daily" - - package-ecosystem: "pip" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "npm" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "gomod" - directory: "/" - schedule: - interval: "daily" - - package-ecosystem: "docker" + commit-message: + prefix: ":dependabot: github-actions" + include: "scope" + - package-ecosystem: "devcontainers" directory: "/" schedule: interval: "daily" + commit-message: + prefix: ":dependabot: devcontainers" + include: "scope" diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml new file mode 100644 index 0000000..e6bf813 --- /dev/null +++ b/.github/workflows/build-test.yml @@ -0,0 +1,44 @@ +--- +name: Build and Test + +on: + pull_request: + branches: + - main + +permissions: {} + +jobs: + build: + name: Build + runs-on: ubuntu-latest + container: + image: docker.io/ministryofjustice/tech-docs-github-pages-publisher@sha256:cd3513beca3fcaf5dd34cbe81a33b3ff30337d8ada5869b40a6454c21d6f7684 # v4.0.0 + permissions: + contents: read + steps: + - name: Checkout + id: checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Build + id: build + run: | + /usr/local/bin/package + + test: + name: Test + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout + id: checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Lychee + id: lychee + uses: lycheeverse/lychee-action@c053181aa0c3d17606addfe97a9075a32723548a # v1.9.3 + with: + args: --verbose --no-progress './**/*.md' './**/*.html' './**/*.erb' --accept 403,200,429 + fail: true diff --git a/.github/workflows/openssf-scorecard.yml b/.github/workflows/openssf-scorecard.yml new file mode 100644 index 0000000..7282339 --- /dev/null +++ b/.github/workflows/openssf-scorecard.yml @@ -0,0 +1,47 @@ +--- +name: OpenSSF Scorecard + +on: + branch_protection_rule: + push: + branches: + - main + schedule: + - cron: "30 6 * * 1" + workflow_dispatch: + +permissions: {} + +jobs: + openssf-scorecard: + name: OpenSSF Scorecard + runs-on: ubuntu-latest + permissions: + id-token: write + security-events: write + steps: + - name: Checkout + id: checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Run Analysis + id: run_analysis + uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736 # v2.3.1 + with: + results_file: results.sarif + results_format: sarif + publish_results: true + + - name: Upload SARIF + id: upload_sarif + uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + with: + name: SARIF Results + path: results.sarif + retention-days: 5 + + - name: Upload to CodeQL + id: upload_to_codeql + uses: github/codeql-action/upload-sarif@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 + with: + sarif_file: results.sarif diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..d2203cd --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,60 @@ +--- +name: Build and Publish + +on: + push: + branches: + - main + +permissions: {} + +concurrency: + group: github-pages + cancel-in-progress: true + +jobs: + build: + name: Build + runs-on: ubuntu-latest + container: + image: docker.io/ministryofjustice/tech-docs-github-pages-publisher@sha256:cd3513beca3fcaf5dd34cbe81a33b3ff30337d8ada5869b40a6454c21d6f7684 # v4.0.0 + permissions: + contents: read + steps: + - name: Checkout + id: checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Build + id: build + run: | + /usr/local/bin/package + + - name: Upload Artifact + id: upload_artifact + uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + with: + name: github-pages + path: artifact.tar + retention-days: 1 + overwrite: true + + publish: + needs: build + name: Publish + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.configure_pages.outputs.base_url }} + permissions: + contents: read + id-token: write + pages: write + steps: + - name: Configure Pages + id: configure_pages + uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5.0.0 + + - name: Deploy to GitHub Pages + id: deploy_pages + uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5 diff --git a/.github/workflows/super-linter.yml b/.github/workflows/super-linter.yml new file mode 100644 index 0000000..e5a3de3 --- /dev/null +++ b/.github/workflows/super-linter.yml @@ -0,0 +1,36 @@ +--- +name: Super-Linter + +on: + pull_request: + branches: + - main + types: + - edited + - opened + - reopened + - synchronize + +permissions: {} + +jobs: + super-linter: + name: Super-Linter + runs-on: ubuntu-latest + permissions: + contents: read + statuses: write + steps: + - name: Checkout + id: checkout + uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + with: + fetch-depth: 0 + + - name: Super-Linter + id: super_linter + uses: super-linter/super-linter/slim@92e2606383320f72e6129f8a50d8537cf9c84ed6 # v6.3.1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DEFAULT_BRANCH: main + VALIDATE_CSS: false diff --git a/README.md b/README.md index a6fbc77..094f585 100644 --- a/README.md +++ b/README.md @@ -1,66 +1,14 @@ -# Ministry of Justice Template Repository +# Ministry of Justice Observability Platform User Guide -[![repo standards badge](https://img.shields.io/endpoint?labelColor=231f20&color=005ea5&style=for-the-badge&label=MoJ%20Compliant&url=https%3A%2F%2Foperations-engineering-reports.cloud-platform.service.justice.gov.uk%2Fapi%2Fv1%2Fcompliant_public_repositories%2Fendpoint%2Ftemplate-repository&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAABmJLR0QA/wD/AP+gvaeTAAAHJElEQVRYhe2YeYyW1RWHnzuMCzCIglBQlhSV2gICKlHiUhVBEAsxGqmVxCUUIV1i61YxadEoal1SWttUaKJNWrQUsRRc6tLGNlCXWGyoUkCJ4uCCSCOiwlTm6R/nfPjyMeDY8lfjSSZz3/fee87vnnPu75z3g8/kM2mfqMPVH6mf35t6G/ZgcJ/836Gdug4FjgO67UFn70+FDmjcw9xZaiegWX29lLLmE3QV4Glg8x7WbFfHlFIebS/ANj2oDgX+CXwA9AMubmPNvuqX1SnqKGAT0BFoVE9UL1RH7nSCUjYAL6rntBdg2Q3AgcAo4HDgXeBAoC+wrZQyWS3AWcDSUsomtSswEtgXaAGWlVI2q32BI0spj9XpPww4EVic88vaC7iq5Hz1BvVf6v3qe+rb6ji1p3pWrmtQG9VD1Jn5br+Knmm70T9MfUh9JaPQZu7uLsR9gEsJb3QF9gOagO7AuUTom1LpCcAkoCcwQj0VmJregzaipA4GphNe7w/MBearB7QLYCmlGdiWSm4CfplTHwBDgPHAFmB+Ah8N9AE6EGkxHLhaHU2kRhXc+cByYCqROs05NQq4oR7Lnm5xE9AL+GYC2gZ0Jmjk8VLKO+pE4HvAyYRnOwOH5N7NhMd/WKf3beApYBWwAdgHuCLn+tatbRtgJv1awhtd838LEeq30/A7wN+AwcBt+bwpD9AdOAkYVkpZXtVdSnlc7QI8BlwOXFmZ3oXkdxfidwmPrQXeA+4GuuT08QSdALxC3OYNhBe/TtzON4EziZBXD36o+q082BxgQuqvyYL6wtBY2TyEyJ2DgAXAzcC1+Xxw3RlGqiuJ6vE6QS9VGZ/7H02DDwAvELTyMDAxbfQBvggMAAYR9LR9J2cluH7AmnzuBowFFhLJ/wi7yiJgGXBLPq8A7idy9kPgvAQPcC9wERHSVcDtCfYj4E7gr8BRqWMjcXmeB+4tpbyG2kG9Sl2tPqF2Uick8B+7szyfvDhR3Z7vvq/2yqpynnqNeoY6v7LvevUU9QN1fZ3OTeppWZmeyzRoVu+rhbaHOledmoQ7LRd3SzBVeUo9Wf1DPs9X90/jX8m/e9Rn1Mnqi7nuXXW5+rK6oU7n64mjszovxyvVh9WeDcTVnl5KmQNcCMwvpbQA1xE8VZXhwDXAz4FWIkfnAlcBAwl6+SjD2wTcmPtagZnAEuA3dTp7qyNKKe8DW9UeBCeuBsbsWKVOUPvn+MRKCLeq16lXqLPVFvXb6r25dlaGdUx6cITaJ8fnpo5WI4Wuzcjcqn5Y8eI/1F+n3XvUA1N3v4ZamIEtpZRX1Y6Z/DUK2g84GrgHuDqTehpBCYend94jbnJ34DDgNGArQT9bict3Y3p1ZCnlSoLQb0sbgwjCXpY2blc7llLW1UAMI3o5CD4bmuOlwHaC6xakgZ4Z+ibgSxnOgcAI4uavI27jEII7909dL5VSrimlPKgeQ6TJCZVQjwaOLaW8BfyWbPEa1SaiTH1VfSENd85NDxHt1plA71LKRvX4BDaAKFlTgLeALtliDUqPrSV6SQCBlypgFlbmIIrCDcAl6nPAawmYhlLKFuB6IrkXAadUNj6TXlhDcCNEB/Jn4FcE0f4UWEl0NyWNvZxGTs89z6ZnatIIrCdqcCtRJmcCPwCeSN3N1Iu6T4VaFhm9n+riypouBnepLsk9p6p35fzwvDSX5eVQvaDOzjnqzTl+1KC53+XzLINHd65O6lD1DnWbepPBhQ3q2jQyW+2oDkkAtdt5udpb7W+Q/OFGA7ol1zxu1tc8zNHqXercfDfQIOZm9fR815Cpt5PnVqsr1F51wI9QnzU63xZ1o/rdPPmt6enV6sXqHPVqdXOCe1rtrg5W7zNI+m712Ir+cer4POiqfHeJSVe1Raemwnm7xD3mD1E/Z3wIjcsTdlZnqO8bFeNB9c30zgVG2euYa69QJ+9G90lG+99bfdIoo5PU4w362xHePxl1slMab6tV72KUxDvzlAMT8G0ZohXq39VX1bNzzxij9K1Qb9lhdGe931B/kR6/zCwY9YvuytCsMlj+gbr5SemhqkyuzE8xau4MP865JvWNuj0b1YuqDkgvH2GkURfakly01Cg7Cw0+qyXxkjojq9Lw+vT2AUY+DlF/otYq1Ixc35re2V7R8aTRg2KUv7+ou3x/14PsUBn3NG51S0XpG0Z9PcOPKWSS0SKNUo9Rv2Mmt/G5WpPF6pHGra7Jv410OVsdaz217AbkAPX3ubkm240belCuudT4Rp5p/DyC2lf9mfq1iq5eFe8/lu+K0YrVp0uret4nAkwlB6vzjI/1PxrlrTp/oNHbzTJI92T1qAT+BfW49MhMg6JUp7ehY5a6Tl2jjmVvitF9fxo5Yq8CaAfAkzLMnySt6uz/1k6bPx59CpCNxGfoSKA30IPoH7cQXdArwCOllFX/i53P5P9a/gNkKpsCMFRuFAAAAABJRU5ErkJggg==)](https://operations-engineering-reports.cloud-platform.service.justice.gov.uk/public-report/template-repository) +[![repo standards badge](https://img.shields.io/endpoint?labelColor=231f20&color=005ea5&style=for-the-badge&label=MoJ%20Compliant&url=https%3A%2F%2Foperations-engineering-reports.cloud-platform.service.justice.gov.uk%2Fapi%2Fv1%2Fcompliant_public_repositories%2Fendpoint%2Fobservability-platform-user-guide&logo=data:image/png;base64,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)](https://operations-engineering-reports.cloud-platform.service.justice.gov.uk/public-report/observability-platform-user-guide) -This template repository equips you with the default initial files required for a Ministry of Justice GitHub repository. +> [!IMPORTANT] +> The service is currently in discovery phase and subject to change. -## Included Files +## About this repository -The repository comes with the following preset files: +This is the user guide for Ministry of Justice Observability Platform. -- LICENSE -- .gitignore -- CODEOWNERS -- dependabot.yml -- GitHub Actions example files -- Ministry of Justice Compliance Badge (public repositories only) +### Contributing -## Setup Instructions - -Once you've created your repository using this template, ensure the following steps: - -### Update README - -Edit this README.md file to document your project accurately. Take the time to create a clear, engaging, and informative README.md file. Include information like what your project does, how to install and run it, how to contribute, and any other pertinent details. - -### Update repository description - -After you've created your repository, GitHub provides a brief description field that appears on the top of your repository's main page. This is a summary that gives visitors quick insight into the project. Using this field to provide a succinct overview of your repository is highly recommended. - -This description and your README.md will be one of the first things people see when they visit your repository. It's a good place to make a strong, concise first impression. Remember, this is often visible in search results on GitHub and search engines, so it's also an opportunity to help people discover your project. - -### Grant Team Permissions - -Assign permissions to the appropriate Ministry of Justice teams. Ensure at least one team is granted Admin permissions. Whenever possible, assign permissions to teams rather than individual users. - -### Read about the GitHub repository standards - -Familiarise yourself with the Ministry of Justice GitHub Repository Standards. These standards ensure consistency, maintainability, and best practices across all our repositories. - -You can find the standards [here](https://user-guide.operations-engineering.service.justice.gov.uk/documentation/information/mojrepostandards.html). - -Please read and understand these standards thoroughly and enable them when you feel comfortable. - -### Modify the GitHub Standards Badge - -Once you've ensured that all the [GitHub Repository Standards](https://user-guide.operations-engineering.service.justice.gov.uk/documentation/information/mojrepostandards.html) have been applied to your repository, it's time to update the Ministry of Justice (MoJ) Compliance Badge located in the README file. - -The badge demonstrates that your repository is compliant with MoJ's standards. Please follow these [instructions](https://user-guide.operations-engineering.service.justice.gov.uk/documentation/information/add-repo-badge.html) to modify the badge URL to reflect the status of your repository correctly. - -**Please note** the badge will not function correctly if your repository is internal or private. In this case, you may remove the badge from your README. - -### Manage Outside Collaborators - -To add an Outside Collaborator to the repository, follow the guidelines detailed [here](https://github.com/ministryofjustice/github-collaborators). - -### Update CODEOWNERS - -(Optional) Modify the CODEOWNERS file to specify the teams or users authorized to approve pull requests. - -### Configure Dependabot - -Adapt the dependabot.yml file to match your project's [dependency manager](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem) and to enable [automated pull requests for package updates](https://docs.github.com/en/code-security/supply-chain-security). - -### Dependency Review - -If your repository is private with no GitHub Advanced Security license, remove the `.github/workflows/dependency-review.yml` file. +The base branch requires all commits to be signed. Learn more about signing commits [here](https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification). diff --git a/config/tech-docs.yml b/config/tech-docs.yml new file mode 100644 index 0000000..7ff03ca --- /dev/null +++ b/config/tech-docs.yml @@ -0,0 +1,21 @@ +--- +collapsible_nav: true +default_owner_slack: "#observability-platform" +enable_search: true +full_service_name: Observability Platform User Guide +github_branch: main +github_repo: ministryofjustice/observability-platform +header_links: + GitHub: https://github.com/ministryofjustice/observability-platform-user-guide + Slack: https://moj.enterprise.slack.com/archives/C05P1RUV0UD +host: https://user-guide.observability-platform.service.justice.gov.uk +max_toc_heading_level: 3 +owner_slack_workspace: mojdt +phase: prototype +prevent_indexing: true +service_link: / +service_name: Observability Platform User Guide +show_contribution_banner: true +show_expiry: true +show_govuk_logo: false +show_review_banner: true diff --git a/scripts/local.sh b/scripts/local.sh new file mode 100644 index 0000000..4d90621 --- /dev/null +++ b/scripts/local.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash + +MODE="${1:-preview}" +TECH_DOCS_PUBLISHER_IMAGE="docker.io/ministryofjustice/tech-docs-github-pages-publisher@sha256:cd3513beca3fcaf5dd34cbe81a33b3ff30337d8ada5869b40a6454c21d6f7684" # v4.0.0 + +case ${MODE} in +package | preview) + true + ;; +*) + echo "Usage: ${0} [package|preview]" + exit 1 + ;; +esac + +if [[ "$(uname --machine)" == "aarch64" ]] || [[ "$(uname --machine)" == "arm64" ]]; then + PLATFORM_FLAG="--platform=linux/amd64" +else + PLATFORM_FLAG="" +fi + +docker run -it --rm ${PLATFORM_FLAG} \ + --name "tech-docs-${MODE}" \ + --publish 4567:4567 \ + --volume "${PWD}/config:/app/config" \ + --volume "${PWD}/source:/app/source" \ + "${TECH_DOCS_PUBLISHER_IMAGE}" "/usr/local/bin/${MODE}" diff --git a/source/index.html.md.erb b/source/index.html.md.erb new file mode 100644 index 0000000..2364da6 --- /dev/null +++ b/source/index.html.md.erb @@ -0,0 +1,9 @@ +--- +title: Observability Platform User Guide +last_reviewed_on: 2024-04-15 +review_in: 3 months +weight: 0 +--- + +# <%= current_page.data.title %> + diff --git a/source/javascripts/application.js b/source/javascripts/application.js new file mode 100644 index 0000000..8a5d80b --- /dev/null +++ b/source/javascripts/application.js @@ -0,0 +1 @@ +//= require govuk_tech_docs diff --git a/source/stylesheets/print.css.scss b/source/stylesheets/print.css.scss new file mode 100644 index 0000000..82b181c --- /dev/null +++ b/source/stylesheets/print.css.scss @@ -0,0 +1,3 @@ +$is-print: true; + +@import "govuk_tech_docs"; diff --git a/source/stylesheets/screen-old-ie.css.scss b/source/stylesheets/screen-old-ie.css.scss new file mode 100644 index 0000000..da90cca --- /dev/null +++ b/source/stylesheets/screen-old-ie.css.scss @@ -0,0 +1,4 @@ +$is-ie: true; +$ie-version: 8; + +@import "govuk_tech_docs"; diff --git a/source/stylesheets/screen.css.scss b/source/stylesheets/screen.css.scss new file mode 100644 index 0000000..f045633 --- /dev/null +++ b/source/stylesheets/screen.css.scss @@ -0,0 +1 @@ +@import "govuk_tech_docs"; From ee3b9c8840a217fd1bc24cac1a453cef75d1f294 Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 17:12:49 +0000 Subject: [PATCH 2/7] Update index Signed-off-by: GitHub --- source/index.html.md.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/index.html.md.erb b/source/index.html.md.erb index 2364da6..a879d49 100644 --- a/source/index.html.md.erb +++ b/source/index.html.md.erb @@ -1,5 +1,5 @@ --- -title: Observability Platform User Guide +title: Observability Platform last_reviewed_on: 2024-04-15 review_in: 3 months weight: 0 @@ -7,3 +7,4 @@ weight: 0 # <%= current_page.data.title %> +> The service is currently in discovery phase and subject to change. From c61c2bd589899f10b9ba9ed7bab64f36152c134c Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 19:15:19 +0000 Subject: [PATCH 3/7] chmod local.sh Signed-off-by: GitHub --- scripts/local.sh | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/local.sh diff --git a/scripts/local.sh b/scripts/local.sh old mode 100644 new mode 100755 From 95f0c4515be0918b09450232f3901da832a36c2d Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 19:36:39 +0000 Subject: [PATCH 4/7] Update Slack link to ask channel Add skeleton overview and onboarding pages Signed-off-by: GitHub --- config/tech-docs.yml | 2 +- .../getting-started/onboarding.html.md.erb | 8 ++++++++ source/documentation/overview/index.html.md.erb | 9 +++++++++ source/index.html.md.erb | 16 ++++++++++++++-- 4 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 source/documentation/getting-started/onboarding.html.md.erb create mode 100644 source/documentation/overview/index.html.md.erb diff --git a/config/tech-docs.yml b/config/tech-docs.yml index 7ff03ca..4fd1ac6 100644 --- a/config/tech-docs.yml +++ b/config/tech-docs.yml @@ -7,7 +7,7 @@ github_branch: main github_repo: ministryofjustice/observability-platform header_links: GitHub: https://github.com/ministryofjustice/observability-platform-user-guide - Slack: https://moj.enterprise.slack.com/archives/C05P1RUV0UD + Slack: https://moj.enterprise.slack.com/archives/C05QXHR697S host: https://user-guide.observability-platform.service.justice.gov.uk max_toc_heading_level: 3 owner_slack_workspace: mojdt diff --git a/source/documentation/getting-started/onboarding.html.md.erb b/source/documentation/getting-started/onboarding.html.md.erb new file mode 100644 index 0000000..93adc04 --- /dev/null +++ b/source/documentation/getting-started/onboarding.html.md.erb @@ -0,0 +1,8 @@ +--- +title: Onboarding to Observability Platform +last_reviewed_on: 2024-04-15 +review_in: 3 months +weight: 0 +--- + +# <%= current_page.data.title %> diff --git a/source/documentation/overview/index.html.md.erb b/source/documentation/overview/index.html.md.erb new file mode 100644 index 0000000..68aef69 --- /dev/null +++ b/source/documentation/overview/index.html.md.erb @@ -0,0 +1,9 @@ +--- +title: What is Observability Platform? +last_reviewed_on: 2024-04-15 +review_in: 3 months +weight: 0 +--- + +# <%= current_page.data.title %> + diff --git a/source/index.html.md.erb b/source/index.html.md.erb index a879d49..f485c07 100644 --- a/source/index.html.md.erb +++ b/source/index.html.md.erb @@ -1,5 +1,5 @@ --- -title: Observability Platform +title: Observability Platform User Guide last_reviewed_on: 2024-04-15 review_in: 3 months weight: 0 @@ -7,4 +7,16 @@ weight: 0 # <%= current_page.data.title %> -> The service is currently in discovery phase and subject to change. +This documentation is for teams who wish to integrate their applications and environments with Observability Platform. + +## Overview + +- [What is Observability Platform?](/documentation/overview/index.html) + +## Getting Started + +- [Onboarding to Observability Platform](/documentation/getting-started/onboarding.html) + +## Getting Help + +You can contact us on Slack via [#ask-observability-platform](https://moj.enterprise.slack.com/archives/C05QXHR697S). From f9e6cad0ccea7b3fe45eb958a6c666c585e71094 Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 20:25:46 +0000 Subject: [PATCH 5/7] Update overview and onboarding Signed-off-by: GitHub --- .../getting-started/onboarding.html.md.erb | 34 +++++++++++++++++++ .../documentation/overview/index.html.md.erb | 18 ++++++++++ 2 files changed, 52 insertions(+) diff --git a/source/documentation/getting-started/onboarding.html.md.erb b/source/documentation/getting-started/onboarding.html.md.erb index 93adc04..a2e613e 100644 --- a/source/documentation/getting-started/onboarding.html.md.erb +++ b/source/documentation/getting-started/onboarding.html.md.erb @@ -6,3 +6,37 @@ weight: 0 --- # <%= current_page.data.title %> + +## Overview + +Getting access to the Observability Platform is currently by invitation only. + +Please reach out via [#ask-observability-platform](https://moj.enterprise.slack.com/archives/C05QXHR697S) to discuss your requirements. + +## Onboarding + +Once onboarding has been agreed with the Observability Platform team, you will need to provide the following information: + +* Tenant name (e.g. `Observability Platform`) + +* GitHub team (e.g. `observability-platform`) + +* AWS accounts and whether + + * Amazon CloudWatch is enabled or disabled + + * Amazon X-Ray is enabled or disabled + + * Prometheus push is enabled or disabled + +* Optionally any PagerDuty integrations keys + +* Optionally any Slack channels + +## Creating a PagerDuty Integration + +See [PagerDuty's documentation](https://developer.pagerduty.com/docs/ZG9jOjExMDI5NTgw-events-api-v2-overview#getting-started) for creating an `Events API v2` integration. + +## Configuring Observability Platform's Slack Bot + +To recieve alerts to a Slack channel, you will need to invite `@observabilityplatform`. diff --git a/source/documentation/overview/index.html.md.erb b/source/documentation/overview/index.html.md.erb index 68aef69..afa4059 100644 --- a/source/documentation/overview/index.html.md.erb +++ b/source/documentation/overview/index.html.md.erb @@ -7,3 +7,21 @@ weight: 0 # <%= current_page.data.title %> +## Overview + +The Ministry of Justice's Observability Platform is a prototype service for applications that are running on +the [Ministry of Justice's Modernisation Platform](https://user-guide.modernisation-platform.service.justice.gov.uk/). + +The Observability Platform provides a way for teams to: + +* Visualise application logs and metrics in a single pane of glass + +* Publish time series metrics to a central location + +* Alert to PagerDuty and/or Slack based on signals from their logs and metrics + +The Observability Platform team maintains the infrastructure, allowing teams to focus on running their applications. + +## High Level Architecture + +![Observability Platform high level architecture](https://observability-platform.service.justice.gov.uk/documentation/platform-architecture/src/architecture.svg) From 55ba9ab296a95324838df7c1488d3cb066b50ff6 Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Mon, 15 Apr 2024 20:26:51 +0000 Subject: [PATCH 6/7] Update README Signed-off-by: GitHub --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 094f585..c39900a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## About this repository -This is the user guide for Ministry of Justice Observability Platform. +This is the user guide for the Ministry of Justice's Observability Platform. ### Contributing From 4fb68ef26116ebc01b6fd08b1bf6e462ad7cf996 Mon Sep 17 00:00:00 2001 From: Jacob Woffenden Date: Tue, 16 Apr 2024 09:14:19 +0000 Subject: [PATCH 7/7] Add status page to footer Add warning text to home page Signed-off-by: GitHub --- config/tech-docs.yml | 2 ++ source/index.html.md.erb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/config/tech-docs.yml b/config/tech-docs.yml index 4fd1ac6..96e05d6 100644 --- a/config/tech-docs.yml +++ b/config/tech-docs.yml @@ -2,6 +2,8 @@ collapsible_nav: true default_owner_slack: "#observability-platform" enable_search: true +footer_links: + Platform Status: https://status.observability-platform.service.justice.gov.uk full_service_name: Observability Platform User Guide github_branch: main github_repo: ministryofjustice/observability-platform diff --git a/source/index.html.md.erb b/source/index.html.md.erb index f485c07..0a43843 100644 --- a/source/index.html.md.erb +++ b/source/index.html.md.erb @@ -7,6 +7,8 @@ weight: 0 # <%= current_page.data.title %> +<%= warning_text('The service is currently in discovery phase and subject to change.') %> + This documentation is for teams who wish to integrate their applications and environments with Observability Platform. ## Overview