Initial commit

This commit is contained in:
Alex Phillips 2021-02-23 18:52:40 -05:00
commit d1f1e99996
23 changed files with 705 additions and 0 deletions

28
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,28 @@
# SERVING CSTATE ON GITLAB PAGES
# Introduced in v4.2.1
#
# This file is very similar to the existing GitLab template, and might need editing before it works on your project.
#
# All available Hugo versions are listed here:
# https://gitlab.com/pages/hugo/container_registry
#
# cState uses Hugo Extended.
image: registry.gitlab.com/pages/hugo/hugo_extended:0.65.3
variables:
GIT_SUBMODULE_STRATEGY: recursive
test:
script:
- hugo
except:
- master
pages:
script:
- hugo
artifacts:
paths:
- public
only:
- master

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "themes/cstate"]
path = themes/cstate
url = https://github.com/cstate/cstate

3
README.txt Normal file
View File

@ -0,0 +1,3 @@
This is the default cState status page website directory/folder.
https://github.com/cstate/example

337
config.yml Normal file
View File

@ -0,0 +1,337 @@
############################################################
# +------------------------------------------------------+ #
# | Notes | #
# +------------------------------------------------------+ #
############################################################
# Welcome to the cState configuration file!
#
# If you are using an earlier version, or one
# in the future, such as v8.0 you may see errors
# pop up when deploying a cState website.
#
# Now, onto the fun part.
#
# Hugo is used for building the status page,
# so this file can be used to change how
# your status page should behave or look.
#
# If you want to use special characters,
# such as accented letters, you MUST save
# the file as UTF-8, not ANSI.
#
# If cState does not load, ensure that:
# - No tabs are present;
# YAML only allows spaces
# - Indents are correct
# YAML hierarchy is based entirely on indentation
# - You have "escaped" all apostrophes
# in your text: If you want to write "don't",
# for example, write "don''t" instead!
# Note the doubled apostrophe.
# - Text with symbols is enclosed in single
# or double quotation marks.
#
# If you have problems, create an issue on GitHub:
# https://github.com/cstate/cstate/issues
############################################################
# +------------------------------------------------------+ #
# | Basic metadata | #
# +------------------------------------------------------+ #
############################################################
# What is your status page called?
# Shows up in the browser bar and meta tags
title: Eggsample Status
# Should posts, which have a publish date
# from the future, be built? Useful for
# sharing upcoming maintenance, etc.
#
# We recommend to keep this at `true`.
# BOOLEAN; `true`, `false`
buildFuture: true
# What language do you want to use for the
# html[lang] definition?
#
# Does not change language of site
# itself.
#
# Default: `en`
# ISO 639-1 defines abbreviations.
#
# See: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
# Also: https://www.w3schools.com/tags/ref_language_codes.asp
languageCode: en
# What translation file should cState use?
# You can also define whether missing
# translations should get placeholders.
#
# For defaultContentLanguage—
# Default: `en`
#
# For enableMissingTranslationPlaceholders—
# do not set it to true for languages other
# than English! When tested with Lithuanian,
# it would add unnecesary placeholders to
# values that were intentionally empty.
defaultContentLanguage: en
# What is the hostname or path to the root?
# Where is the site hosted?
#
# ❗ cState & Hugo don’t support '/' in
# production use. It will break RSS
# feeds and breaks permalinks since
# version 3. If you are just testing,
# localhost should automatically work.
#
# Example: https://status.example.com/
baseURL: https://cstate.mnts.lt
############################################################
# +------------------------------------------------------+ #
# | Preferences | #
# +------------------------------------------------------+ #
############################################################
params:
# Before setting up your systems, you need
# to first define at least one category.
#
# Categories are shown in the order that
# you define in this config file.
#
# Categories can have a:
# - name
# - description
# - closed boolean `closed: true`
# That would collapse the category upon first load
# and the user can expand by clicking on the category
# (Requires JavaScript.)
# - untitled boolean `untitled: true`
# This would complerely hide the name of the category.
# This is useful, if you do not want to use categories
# because you need to set an 'Uncategorized' category.
# Or it can be used alongside other categories.
#
# For help, see the wiki:
# https://github.com/cstate/cstate/wiki/Customization
categories:
- name: North Coast
description: The main servers are located here.
closed: true
- name: East Coast
- name: Uncategorized
untitled: true
# These are your systems. Change them to
# change the amount of components.
#
# For help, see the wiki:
# https://github.com/cstate/cstate/wiki/Customization
systems:
- name: Gateway
category: North Coast
- name: Backup Gateway
category: East Coast
- name: API
description: The guts of the application.
category: Uncategorized
- name: Media Proxy
description: This is the service responsible for serving images, audio, and video. It is reliant on our CDN.
category: Uncategorized
# What date format to use?
#
# Hugo formatting docs:
# https://gohugo.io/functions/format/#hugo-date-and-time-templating-reference
#
# Technical: GOLANG/HUGO .Date.Format & dateFormat
#
# dateFormat Default: "January 2, 2006 at 3:04 PM"
# shortDateFormat Default: "15:04 — Jan 2"
dateFormat: January 2, 2006 at 3:04 PM
shortDateFormat: 15:04 — Jan 2
# What header design should we use?
#
# Default: true
# BOOLEAN; `true`, `false`
useLargeHeaderDesign: false
# Should incident history be separated
# like in an archive view?
#
# Note: This WILL disable pagination.
#
# Default: `yearly`
# STRING; `monthly`, `yearly`, `none`
incidentHistoryFormat: "yearly"
# Should incident history be hidden?
#
# By disabling the incident history, you also disable
# the RSS feed. To ensure no incidents are shown, you
# should delete them after they are resolved. This option
# overrides any other options that tailor your incident
# history’s look.
#
# Default: `false`
# BOOLEAN; `true`, `false`
disableIncidentHistory: false
# Disable dark mode
#
# If your OS and browser support the
# `prefers-color-scheme` media query,
# cState will automatically switch to
# a darker user interface.
#
# cState uses its built-in colors for
# most of the interface to ensure
# a good user experience.
#
# Default: `false`
# BOOLEAN; `true`, `false`
disableDarkMode: false
# Should we show the logo or the title
# of the status page?
#
# Default: false
# BOOLEAN; `true`, `false`
useLogo: true
# Where is the logo located, if one is
# present at all?
#
# Recommended: png is best used for
# images like logos.
#
# Recommended: png, bmp, jpg, or gif
# for best browser support!
logo: logo.png
# This is the description that is shown
# on the footer and meta tags.
#
# Default: We continuously monitor the status of our services and if there are any interruptions, a note will be posted here.
description: We continuously monitor the status of our services and if there are any interruptions, a note will be posted here.
# Tabs on homepage
# Uncomment to enable.
#
# Format:
# customTabs:
# -
# name: Name
# link: https://example.com
# Disable complex server-side
# calculations that may impact
# your build performance
#
# Disables math calculations
# for average downtime on
# systems ("/affected/") pages
#
# Default: false
# BOOLEAN; `true`, `false`
disableComplexCalculations: false
# Incident posts shown
# in one page
#
# NUMERIC; Default: `10`
incidentPostsPerPage: 10
# Colors throughout cState
#
# We recommend using HEX
# (with the # symbol).
#
# Defaults:
#
# brand: "#0a0c0f"
# ok: "#008000"
# disrupted: "#cc4400"
# down: "#e60000"
# notice: "#24478f"
brand: "#0a0c0f"
ok: "#008000"
disrupted: "#cc4400"
down: "#e60000"
notice: "#24478f"
# If the status page shows that
# there are disruptions or outages
# happening, should it keep the
# brand header color or drop it
# and use the status indication
# colors that were just defined?
#
# Default: `true`
# BOOLEAN; `true`, `false`
alwaysKeepBrandColor: true
# Introduced in v4.0.1 for consistent
# site title text color.
#
# If you do not use the logo, what color
# should the site text color be?
#
# Removing this option will not force
# any site text color. This is likely
# unwanted behavior.
#
# Default: `white`
# STRING; `white`, `black`, or nothing
headerTextColor: white
# Google Analytics tracking code
#
# By default, cState does not use
# Google Analytics. If you choose
# to use it, you may change the
# placeholder code below to your
# own and thereby enable the
# tracking service.
#
# To disable the analytics, change
# the value to the default:
#
# Default: UA-00000000-1
googleAnalytics: UA-00000000-1
# These options affect the core of cState.
# Please do not change them if you do not
# know what you are doing.
theme: cstate
preserveTaxonomyNames: true
taxonomies:
affected: affected
outputs:
page:
- html
- json
section:
- html
- json
- rss
home:
- html
- json
- rss
- svg
outputFormats:
svg:
isPlainText: true
mediaType: image/svg+xml

1
content/issues/.gitkeep Normal file
View File

@ -0,0 +1 @@
If you plan to have an empty issues list, then please keep this file to prevent build failure.

View File

@ -0,0 +1,15 @@
---
title: Issues Sending DMs
date: 2017-12-17 16:24:00
resolved: true
resolvedWhen: 2017-12-17 16:58:00
# Possible severity levels: down, disrupted, notice
severity: disrupted
affected:
- API
section: issue
---
*Update* - This incident has been resolved.
*Investigating* - We're aware of an issue affecting sending DMs and viewing online friends. We're online and working on a resolution.

View File

@ -0,0 +1,25 @@
---
title: Unavailable Guilds & Connection Issues
date: 2018-04-13 15:54:00
resolved: true
resolvedWhen: 2018-04-13 17:30:00
# Possible severity levels: down, disrupted, notice
severity: down
affected:
- API
- Media Proxy
section: issue
---
*Post-mortem*
At approximately 14:01, a Redis instance acting as the primary for a highly-available cluster used by our API services was migrated automatically by Google’s Cloud Platform. This migration caused the node to incorrectly drop offline, forcing the cluster to rebalance and trigger known issues with the way our API instances handle Redis failover. After resolving this partial outage, unnoticed issues on other services caused a cascading failure through Example Chat App’s real time system. These issues caused enough critical impact that Example Chat App’s engineering team was forced to fully restart the service, reconnecting millions of clients over a period of 20 minutes.
---
*Update* - A fix has been implemented and we are monitoring the results. Looks like this has been fixed. {{< track "2018-04-13 17:30:00" >}}
*Monitoring* - After hitting the ole reboot button Example Chat App is now recovering. We're going to continue to monitor as everyone reconnects. {{< track "2018-04-13 16:50:00" >}}
*Investigating* - We're aware of users experiencing unavailable guilds and issues when attempting to connect. We're currently investigating. {{< track "2018-04-13 15:54:00" >}}

View File

@ -0,0 +1,20 @@
---
title: US East Connection Issues
date: 2018-04-25 04:13:00
resolved: true
resolvedWhen: 2018-04-25 04:13:59
# Possible severity levels: down, disrupted, notice
severity: down
affected:
- API
- Media Proxy
- Gateway
section: issue
---
*Resolved* -
We believe all users experiencing issues have been able to connect at this time. {{< track "2018-05-25 05:54:00" >}}
*Monitoring* - We believe the connectivity issues are being caused by an isolated ISP issue. We've had reports that swapping to Google DNS servers (see here; https://developers.google.com/speed/public-dns/docs/using) resolves the problem for users. {{< track "2018-05-25 04:40:00" >}}
*Investigating* - We're aware of reports that users are experiencing connection issues on the East coast of the United States. We're currently investigating these issues, and apologize for any inconvenience it may be causing you. {{< track "2018-05-25 04:13:00" >}}

View File

@ -0,0 +1,13 @@
---
title: Maintenance Window
date: 2018-06-13 15:54:00
resolved: true
resolvedWhen: 2018-06-13 16:54:00
# Possible severity levels: down, disrupted, notice
severity: disrupted
affected:
- API
section: issue
---
*Just began* - We're currently shutting down the network. {{< track "2018-06-13 15:54:00" >}}

View File

@ -0,0 +1,10 @@
---
title: Testing New cState Features
date: 2019-10-04 18:05:00
informational: true
section: issue
---
There is a new feature in cState version 4 that lets you make what are called _informational_ posts. The main difference is that there will be no _Unresolved_ or _Resolved in under a minute_ text on the pages.
This is essentially a page with a date and title.

View File

@ -0,0 +1,14 @@
---
title: New Pipeline Rollout
date: 2019-10-05 16:24:00
resolved: false
resolvedWhen: 2019-10-05 16:58:00
# Possible severity levels: down, disrupted, notice
severity: disrupted
affected:
- API
section: issue
---
There may be disruptions in the rollout.

View File

@ -0,0 +1,13 @@
---
title: Maintenance Window
date: 2020-06-13 15:54:00
resolved: true
resolvedWhen: 2020-06-13 16:54:00
# Possible severity levels: down, disrupted, notice
severity: disrupted
affected:
- API
section: issue
---
*Just began* - We're currently shutting down the network. {{< track "2018-06-13 15:54:00" >}}

View File

@ -0,0 +1,170 @@
---
title: Example Page
description: This is an example page that demonstrates the capabilities of a Markdown page in cState.
---
Title here!
===========
This is an example page that demonstrates the capabilities of a Markdown page in cState.
You can use HTML if the file extension is `.html`, but this one is `.md`.
Let us dive in.
Paragraphs are separated by a blank line.
2nd paragraph. *Italic*, **bold**, and `monospace`. Itemized lists
look like:
* this one
* that one
* the other one
Note that --- not considering the asterisk --- the actual text
content starts at 4-columns in.
> Block quotes are
> written like so.
>
> They can span multiple paragraphs,
> if you like.
Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., "it's all
in chapters 12--14"). Three dots ... will be converted to an ellipsis.
Unicode is supported. ☺
An h2 header
------------
Here's a numbered list:
1. first item
2. second item
3. third item
Note again how the actual text starts at 4 columns in (4 characters
from the left side). Here's a code sample:
# Let me re-iterate ...
for i in 1 .. 10 { do-something(i) }
As you probably guessed, indented 4 spaces. By the way, instead of
indenting the block, you can use delimited blocks, if you like:
~~~
define foobar() {
print "Welcome to flavor country!";
}
~~~
(which makes copying & pasting easier). You can optionally mark the
delimited block for Pandoc to syntax highlight it:
~~~python
import time
# Quick, count to ten!
for i in range(10):
# (but not *too* quick)
time.sleep(0.5)
print(i)
~~~
### An h3 header ###
Now a nested list:
1. First, get these ingredients:
* carrots
* celery
* lentils
2. Boil some water.
3. Dump everything in the pot and follow
this algorithm:
find wooden spoon
uncover pot
stir
cover pot
balance wooden spoon precariously on pot handle
wait 10 minutes
goto first step (or shut off burner when done)
Do not bump wooden spoon or it will fall.
Notice again how text always lines up on 4-space indents (including
that last line which continues item 3 above).
Here's a link to [a website](http://foo.bar), to a [local
doc](local-doc.html), and to a [section heading in the current
doc](#an-h2-header). Here's a footnote [^1].
[^1]: Some footnote text.
Tables can look like this:
Name Size Material Color
-------------|-----|------------|------------
All Business 9 leather brown
Roundabout 10 hemp canvas natural
Cinderella 11 glass transparent
Table: Shoes sizes, materials, and colors.
(The above is the caption for the table.) Pandoc also supports
multi-line tables:
-------- -----------------------
Keyword Text
-------- -----------------------
red Sunsets, apples, and
other red or reddish
things.
green Leaves, grass, frogs
and other things it's
not easy being.
-------- -----------------------
A horizontal rule follows.
***
Here's a definition list:
apples
: Good for making applesauce.
oranges
: Citrus!
tomatoes
: There's no "e" in tomatoe.
Again, text is indented 4 spaces. (Put a blank line between each
term and its definition to spread things out more.)
Here's a "line block" (note how whitespace is honored):
| Line one
| Line too
| Line tree
and images can be specified like so:
![example image](https://via.placeholder.com/350x150 "An exemplary image")
Inline math equation: $\omega = d\phi / dt$. Display
math should get its own line like so:
$$I = \int \rho R^{2} dV$$
And note that you can backslash-escape any punctuation characters
which you wish to be displayed literally, ex.: \`foo\`, \*bar\*, etc.

3
layouts/README.md Normal file
View File

@ -0,0 +1,3 @@
This folder can be used to overwrite or add any layouts to your status page.
For more, please [read the documentation](https://github.com/cstate/cstate/wiki/Customization).

17
netlify.toml Normal file
View File

@ -0,0 +1,17 @@
[build]
command = "hugo"
publish = "public"
functions = "functions"
[build.environment]
HUGO_VERSION = "0.48"
[context.production.environment]
HUGO_ENV = "production"
NODE_ENV = "production"
[context.deploy-preview]
command = "hugo -b $DEPLOY_PRIME_URL"
[context.branch-deploy]
command = "hugo -b $DEPLOY_PRIME_URL"

5
netlify/change.html Normal file
View File

@ -0,0 +1,5 @@
<h2>[cState Admin] <br> An email change has been requested.</h2>
<p>Follow this link to confirm the update of your email from <strong>{{ .Email }}</strong> to <strong>{{ .NewEmail }}</strong>:</p>
<p><a href="{{ .SiteURL }}/admin/#email_change_token={{ .Token }}">Make it <em>{{ .NewEmail }}</em></a></p>

View File

@ -0,0 +1,5 @@
<h2>[cState Admin] <br> Confirm your signup, please.</h2>
<p>Follow this link to confirm your account:</p>
<p><a href="{{ .SiteURL }}/admin/#confirmation_token={{ .Token }}">Yes, confirm this email</a></p>

5
netlify/invitation.html Normal file
View File

@ -0,0 +1,5 @@
<h2>[cState Admin] <br> You have been invited!</h2>
<p>You have been invited to create a user profile on {{ .SiteURL }}. Follow this link to accept the invite:</p>
<p><a href="{{ .SiteURL }}/admin/#invite_token={{ .Token }}">Accept the invite</a></p>

7
netlify/recovery.html Normal file
View File

@ -0,0 +1,7 @@
<h2>[cState Admin] <br> A password reset has been requested.</h2>
<p>Follow this link to reset the password for your account:</p>
<p><a href="{{ .SiteURL }}/admin/#recovery_token={{ .Token }}">Recover my access</a></p>
<p>Note: If you did not request a password change, you do not need to do anything. It may mean someone else is trying to log into your account.</p>

9
static/README.md Normal file
View File

@ -0,0 +1,9 @@
This folder can be used to store any static content that you may want to link to on your status page.
You may replace the default favicons by creating icons with these names:
- favicon-16x16.png
- favicon-32x32.png
- favicon.ico
You may also replace the Netlify CMS configuration by creating an `admin` folder and placing your own `config.yml` or `index.html` file by following the project's given instructions.

1
static/img/README.md Normal file
View File

@ -0,0 +1 @@
For users of Netlify CMS with cState, `static/img` is the media folder in the config.

BIN
static/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

1
themes/cstate Submodule

@ -0,0 +1 @@
Subproject commit b5d07632d40437bb87c3faf7b9ece7ca412dce9f