Giter VIP home page Giter VIP logo

analytics-platform-status-page's Introduction

Analytical Platform Status Page

This is the repository containing the Analytical Platform status page.

The static website is generated using Hugo a popular static website generator.

The Status Page use the cState which also provide the "issue" archetype.

Hugo installation

On a Mac you can hugo by running brew install hugo, alternatively you can follow the installation instructions on the Hugo website.

cState installation

cState is the theme used by the Status Page. The first time you clone the repository locally you'll have to pull the git submodule by running:

$ git pull --recurse-submodules

This needs to be done only the first time.

Creating a new incident

Creating the incident page

Incidents are simply Markdown files that are under content/issues/. They are formatted in such a way that cState can recognize the inputted data and generate your status page appropriately.

You can easily create a new issue by running the ./new-issue.sh script:

$ ./new-issue.sh Upgrade Kubernetes cluster to v42

A new issue is been created at 'content/issues/2019-07-12-upgrade-kubernetes-cluster-to-v42.md'

****  IMPORTANT  ****
- edit this file to add the details about the issue
- be sure the list of affected systems is correct
- be sure the severity is correct
- use the '$ hugo server' command to preview the Status Page
- use the '$ hugo' command to re-build the Status Page files
- add, commit and push the files in '/docs' once you're happy with the output

Then edit this newly created file updating the following fields as necessary:

  • title, title of the issue, e.g. "DB Connection Issues"
  • date, ISO-8601 formatted date when the incident was first discovered - including the seconds. (required)
  • resolved, boolean, true when an issue is resolved
  • resolvedWhen, date when the issue was resolved (required if resolved is true!)
  • severity, can be notice, disrupted or down (from lower to higher severity)
  • affected, list of systems affected, e.g. Control Panel or Kubernetes Cluster
  • section, is always issue (don't change it)
  • published, boolean which determine if the incident page is published

The details of the incident will go under --- (there are some example issues under content/issues/).

Note the use of the {{< track "2019-01-01 15:56:00" >}} shortcode which will be displayed nicely in the rendered page - just remember to include the seconds.

Also see: cState documentation on creating a new incident.

Testing Status Page locally

You can see how the Status Page will look like by running the Hugo server locally.

From the toplevel directory run the following command:

$ hugo server

Then go to http://localhost:1313/ in your browser (or at whatever URL/port Hugo will run at).

Publish the Status Page

The Status Page is hosted on GitHub Pages at https://ministryofjustice.github.io/analytics-platform-status-page/

The repository is configured to serve files from /docs. That's why /config.yml contains the publishDir: "docs" option.

To update the Status Page

  1. rebuild the static website by runnng hugo
  2. commit the changes and push to the master branch
  3. this could take a brief period of time to update the Status Page.

The "issue" archetype

The "issue" archetype is just a custom page type with the following attributes:

Systems

Systems are high level (ish) components. Users may want to know if these are operational or not.

At the moment we only have the following Systems:

  • Control Panel
  • Kubernetes Cluster

We may want to add more or tweak the description. This can be done updating the params.systems configuration in the /config.yml file if necessary.

NOTE: When using these in the affected field of an issue be sure that the case is the same.

Custom Tabs

Custom Tabs are shown in the page and we use them to link to the status pages of the following services:

  • Auth0
  • AWS
  • GitHub

Again, if necessary this list can be changed by changing the customTabs configuration in the /config.yml file.

cstate documentation

For additional information you can look at the cState wiki at https://github.com/cstate/cstate/wiki

analytics-platform-status-page's People

Contributors

avelino avatar berkant avatar cactysman avatar damacus avatar gep13 avatar gruselhaus avatar logichub avatar mistermantas avatar pauby avatar pmdlt avatar sunnykrgupta avatar xoen avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

uk-gov-mirror

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.