diff --git a/preview/404.html b/preview/404.html index 8375f3c10..6d6991901 100644 --- a/preview/404.html +++ b/preview/404.html @@ -27,7 +27,7 @@ -

404

That's a Four-Oh-Four.
Take me home
+

404

There's nothing here.
Take me home
diff --git a/preview/docs/acknowledgments/index.html b/preview/docs/acknowledgments/index.html index 2ad77e5aa..ed60da9db 100644 --- a/preview/docs/acknowledgments/index.html +++ b/preview/docs/acknowledgments/index.html @@ -24,7 +24,7 @@ Acknowledgments | NotifyBC - +
diff --git a/preview/docs/api-overview/index.html b/preview/docs/api-overview/index.html index 429cdc4be..02dd0c6e7 100644 --- a/preview/docs/api-overview/index.html +++ b/preview/docs/api-overview/index.html @@ -24,7 +24,7 @@ API Overview | NotifyBC - +

API Overview

NotifyBC's core function is implemented by two LoopBack modelsopen in new window - subscription and notification. Other models - configuration, administrator and bounces, are for administrative purposes. A LoopBack model determines the underlying database schema and the API. The APIs displayed in the web console (by default http://localhost:3000) and API explorer are also grouped by the LoopBack models. Click on a LoopBack model in API explorer, say notification, to explore the operations on that model. Model specific APIs are available here:

diff --git a/preview/docs/conduct/index.html b/preview/docs/conduct/index.html index b4d4cdfc2..201e3a561 100644 --- a/preview/docs/conduct/index.html +++ b/preview/docs/conduct/index.html @@ -24,7 +24,7 @@ Code of Conduct | NotifyBC - +

Code of Conduct

As contributors and maintainers of this project, and in the interest of fostering an open and welcoming community, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities.

We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, or nationality.

Examples of unacceptable behavior by participants include:

  • The use of sexualized language or imagery
  • Personal attacks
  • Trolling or insulting/derogatory comments
  • Public or private harassment
  • Publishing other's private information, such as physical or electronic addresses, without explicit permission
  • Other unethical or unprofessional conduct

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

By adopting this Code of Conduct, project maintainers commit themselves to fairly and consistently applying these principles to every aspect of managing this project. Project maintainers who do not follow or enforce the Code of Conduct may be permanently removed from the project team.

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community.

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting a project maintainer. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Maintainers are obligated to maintain confidentiality with regard to the reporter of an incident.

This Code of Conduct is adapted from the Contributor Covenantopen in new window, version 1.3.0, available at http://contributor-covenant.org/version/1/3/0/open in new window

diff --git a/preview/docs/config-oidc/index.html b/preview/docs/config-oidc/index.html index 888ee363b..85ddf76e7 100644 --- a/preview/docs/config-oidc/index.html +++ b/preview/docs/config-oidc/index.html @@ -24,7 +24,7 @@ OIDC | NotifyBC - +

OIDC

NotifyBC currently can only authenticate RSA signed OIDC access token if the token is a JWT. OIDC providers such as Keycloak meet the requirement.

To enable OIDC authentication strategy, add oidc configuration object to /src/config.local.js. The object supports following properties

  1. discoveryUrl - OIDC discoveryopen in new window url
  2. clientId - OIDC client id
  3. isAdmin - a predicate function to determine if authenticated user is NotifyBC administrator. The function takes the decoded OIDC access token JWT payload as input user object and should return either a boolean or a promise of boolean, i.e. the function can be both sync or async.
  4. isAuthorizedUser - an optional predicate function to determine if authenticated user is an authorized NotifyBC user. If omitted, any authenticated user is authorized NotifyBC user. This function has same signature as isAdmin

A example of complete OIDC configuration looks like

module.exports = {
diff --git a/preview/docs/installation/index.html b/preview/docs/installation/index.html
index f3d468eaf..db2efbde8 100644
--- a/preview/docs/installation/index.html
+++ b/preview/docs/installation/index.html
@@ -24,7 +24,7 @@
     
     Installation | NotifyBC
     
-    
+    
   
   
     

Installation

NotifyBC can be installed in 3 ways:

  1. Deploy locally from Source Code
  2. Deploy to Kubernetes
  3. Deploy Docker Container

For the purpose of evaluation, both source code and docker container will do. For production, the recommendation is one of

  • deploying to Kubernetes
  • setting up a load balanced app cluster from source code build, backed by MongoDB.

To setup a development environment in order to contribute to NotifyBC, installing from source code is preferred.

Deploy locally from Source Code

System Requirements

  • Software
  • Services
    • MongoDB, required for production
    • A standard SMTP server to deliver outgoing email, required for production if email is enabled.
    • A tcp proxy server such as nginx stream proxyopen in new window if list-unsubscribe by email is needed and NotifyBC server cannot expose port 25 to internet
    • A SMS service provider if needs to enable SMS channel. The supported service providers are
      • Twilio (default)
      • Swift
    • Redis, required if email or sms throttling is enabled
    • SiteMinder, if needs SiteMinder authentication
    • An OIDC provider, if needs OIDC authentication
  • Network and Permissions
    • Minimum runtime firewall requirements:
      • outbound to your ISP DNS server
      • outbound to any on port 80 and 443 in order to run build scripts and send SMS messages
      • outbound to any on SMTP port 25 if using direct mail; for SMTP relay, outbound to your configured SMTP server and port only
      • inbound to listening port (3000 by default) from other authorized server ips
      • if NotifyBC instance will handle anonymous subscription from client browser, the listening port should be open to internet either directly or indirectly through a reverse proxy; If NotifyBC instance will only handle SiteMinder authenticated webapp requests, the listening port should NOT be open to internet. Instead, it should only open to SiteMinder web agent reverse proxy.
    • If list-unsubscribe by email is needed, then one of the following must be met
      • NotifyBC can bind to port 25 opening to internet
      • a tcp proxy server of which port 25 is open to internet. This proxy server can reach NotifyBC on a tcp port.

Installation

Run following commands

git clone https://github.com/bcgov/NotifyBC.git