Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP WE-372: build timeouts #636

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ yarn-error.log*
.env

# Auto generated images
public/content
public/content
# Local Netlify folder
.netlify
10 changes: 5 additions & 5 deletions content/momentum/4/operations-riak-backups.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
lastUpdated: "03/26/2020"
title: "Backups"
description: "Riak data is distributed across the nodes in the cluster Provided that you have enough nodes remaining online the need to restore from a backup should be quite a rare event Riak offers the ability to backup all data present on a given node or all data present in the..."
lastUpdated: '03/26/2020'
title: 'Backups'
description: 'Riak data is distributed across the nodes in the cluster Provided that you have enough nodes remaining online the need to restore from a backup should be quite a rare event Riak offers the ability to backup all data present on a given node or all data present in the...'
---

Riak data is distributed across the nodes in the cluster. Provided that you have enough nodes remaining online, the need to restore from a backup should be quite a rare event.

Riak offers the ability to backup all data present on a given node or all data present in the cluster. The backup is stored in a file named by the administrator. This backup can later be used to restore the state of the node or cluster depending on the nature of the backup file.

For details about backing up Riak, consult the [Riak](http://http://docs.basho.com/riak/latest/) documentation.
For details about backing up Riak, consult the [Riak](http://docs.basho.com/riak/latest/) documentation.

### Note

Note that some of the Message Systems use cases may result in a large volume of data being retained in Riak. Expect the backup files to be equally large.
Note that some of the Message Systems use cases may result in a large volume of data being retained in Riak. Expect the backup files to be equally large.
16 changes: 8 additions & 8 deletions content/momentum/4/operations-riak-ports.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
---
lastUpdated: "03/26/2020"
title: "Riak Ports"
description: "Riak uses the following ports TCP 8098 Defines the HTTP interface used to query and update the data store By default this is bound to the loopback interface but will need to be opened on a cluster private network so that Message Systems applications can communicate with it The port..."
lastUpdated: '03/26/2020'
title: 'Riak Ports'
description: 'Riak uses the following ports TCP 8098 Defines the HTTP interface used to query and update the data store By default this is bound to the loopback interface but will need to be opened on a cluster private network so that Message Systems applications can communicate with it The port...'
---

Riak uses the following ports:

* `TCP 8098` – Defines the HTTP interface used to query and update the data store. By default, this is bound to the loopback interface but will need to be opened on a cluster private network so that Message Systems applications can communicate with it. The port and IP addresses used for HTTP are controlled by the `http` setting in `app.config`.
- `TCP 8098` – Defines the HTTP interface used to query and update the data store. By default, this is bound to the loopback interface but will need to be opened on a cluster private network so that Message Systems applications can communicate with it. The port and IP addresses used for HTTP are controlled by the `http` setting in `app.config`.

* `TCP 8099` – Defines the cluster handoff protocol interface used by Riak to synchronize its data. This port needs to be opened on a cluster private network so that Riak nodes can talk to each other. The port and IP address used for handoff are controlled by the `handoff_port` and `handoff_ip` settings in `app.config`.
- `TCP 8099` – Defines the cluster handoff protocol interface used by Riak to synchronize its data. This port needs to be opened on a cluster private network so that Riak nodes can talk to each other. The port and IP address used for handoff are controlled by the `handoff_port` and `handoff_ip` settings in `app.config`.

* `TCP 8087` – Defines an alternative "Protocol Buffers" interface for querying Riak. This is not used by Message Systems and is disabled in our default packaging.
- `TCP 8087` – Defines an alternative "Protocol Buffers" interface for querying Riak. This is not used by Message Systems and is disabled in our default packaging.

* `TCP 4369` – In a cluster configuration Riak uses the Erlang Port Mapper daemon (epmd) to resolve node identifiers. By default epmd binds to port 4369\. For more information, see [the section called “Erlang and Firewalls”](/momentum/4/operations-riak-ports#operations.riak.ports.erlang).
- `TCP 4369` – In a cluster configuration Riak uses the Erlang Port Mapper daemon (epmd) to resolve node identifiers. By default epmd binds to port 4369\. For more information, see [the section called “Erlang and Firewalls”](/momentum/4/operations-riak-ports#operations.riak.ports.erlang).

None of these ports should be exposed to the public Internet; we strongly recommend that access to these ports from untrusted networks be blocked by a firewall.

### <a name="operations.riak.ports.erlang"></a> Erlang and Firewalls

The maximum number of concurrent ports used by Erlang is defined in the `/opt/msys/3rdParty/riak/etc/vm.args` file by the variable `ERL_MAX_PORTS`. If port usage needs to be restricted, we recommend defining a range of ports equal to the number of nodes in the cluster. For details on network security and firewall configurations, consult the [Riak](http://http://docs.basho.com/riak/latest/) documentation.
The maximum number of concurrent ports used by Erlang is defined in the `/opt/msys/3rdParty/riak/etc/vm.args` file by the variable `ERL_MAX_PORTS`. If port usage needs to be restricted, we recommend defining a range of ports equal to the number of nodes in the cluster. For details on network security and firewall configurations, consult the [Riak](http://docs.basho.com/riak/latest/) documentation.
25 changes: 12 additions & 13 deletions content/momentum/4/riak.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,29 @@
---
lastUpdated: "03/26/2020"
title: "Riak"
description: "Riak is a distributed key value data storage technology with excellent scalability properties It is used by the adaptive module Adaptive Delivery reporting and Mobile Momentum for resubmission of messages Riak is freely available for use in a LAN deployment but WAN deployments that need to be synchronized require a..."
lastUpdated: '03/26/2020'
title: 'Riak'
description: 'Riak is a distributed key value data storage technology with excellent scalability properties It is used by the adaptive module Adaptive Delivery reporting and Mobile Momentum for resubmission of messages Riak is freely available for use in a LAN deployment but WAN deployments that need to be synchronized require a...'
---


<a name="idp3607504"></a>
<a name="idp3607504"></a>

Riak is a distributed key-value data storage technology with excellent scalability properties. It is used by the [adaptive](/momentum/4/modules/4-adaptive) module, Adaptive Delivery reporting, and Mobile Momentum for resubmission of messages.

Riak is freely available for use in a LAN deployment, but WAN deployments that need to be synchronized require a commercially licensed variant. Note that multiple data centers may still use Riak if each data center has its own local Riak cluster. For more information, see the [Riak](http://http://docs.basho.com/riak/latest/) documentation.
Riak is freely available for use in a LAN deployment, but WAN deployments that need to be synchronized require a commercially licensed variant. Note that multiple data centers may still use Riak if each data center has its own local Riak cluster. For more information, see the [Riak](http://docs.basho.com/riak/latest/) documentation.

## <a name="riak.overview"></a> Riak Overview

The following describes the default directories and configuration related to the Riak database:

* `/opt/msys/3rdParty/riak/` – Riak packages provided by Message Systems are installed under this path.
- `/opt/msys/3rdParty/riak/` – Riak packages provided by Message Systems are installed under this path.

* `/opt/msys/3rdParty/riak/bin` – Administrative tools for Riak are provided under this path. These tools are named "`riak`", "`riak-admin`" and "`search-cmd`".
- `/opt/msys/3rdParty/riak/bin` – Administrative tools for Riak are provided under this path. These tools are named "`riak`", "`riak-admin`" and "`search-cmd`".

* `/opt/msys/3rdParty/riak/etc` – Contains the main configuration file named `app.config` and an additional configuration file named `vm.args`. The contents of `app.config` are formatted as an Erlang "term"; a structured file with meaningful "keys" and "values". The file is terminated with a period ‘`.`’ character. The `vm.args` file includes the unique names of the nodes in a cluster, as specified with the "-name" parameter switch.
- `/opt/msys/3rdParty/riak/etc` – Contains the main configuration file named `app.config` and an additional configuration file named `vm.args`. The contents of `app.config` are formatted as an Erlang "term"; a structured file with meaningful "keys" and "values". The file is terminated with a period ‘`.`’ character. The `vm.args` file includes the unique names of the nodes in a cluster, as specified with the "-name" parameter switch.

* `/var/db/riak` – The default configuration for Momentum's Riak package stores Riak state at this location.
- `/var/db/riak` – The default configuration for Momentum's Riak package stores Riak state at this location.

During installation there is no prompt for an alternative data storage location; instead, the system administrator may opt to partition the system such that `/var/db/riak` maps to its own set of spindles prior to installation or may choose to mount alternative storage. In the latter case, the administrator will need to edit `app.config` and change the paths that refer to `/var/db/riak` to the alternate location.
During installation there is no prompt for an alternative data storage location; instead, the system administrator may opt to partition the system such that `/var/db/riak` maps to its own set of spindles prior to installation or may choose to mount alternative storage. In the latter case, the administrator will need to edit `app.config` and change the paths that refer to `/var/db/riak` to the alternate location.

* `/var/log/riak` – Contains log files.
- `/var/log/riak` – Contains log files.

For additional details about configuration, see [“Configuring Riak in a Cluster”](/momentum/4/cluster-riak-configuration).
For additional details about configuration, see [“Configuring Riak in a Cluster”](/momentum/4/cluster-riak-configuration).
6 changes: 6 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ publish = ".next"
[[plugins]]
package = "@netlify/plugin-nextjs"

[[plugins]]
package = "netlify-plugin-cache-nextjs"

[functions]
included_files = ["!.next/server/pages/**/*"]

# A redirect rule with many of the supported properties
[[redirects]]
from = "/"
Expand Down
17 changes: 17 additions & 0 deletions netlify/functions/builder.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { builder, Handler } from '@netlify/functions';

const originalResponse = {
body: ':thumbsup:',
statusCode: 200,
ttl: 3600,
};

const myHandler: Handler = async (event, context) => {
// logic to generate the required content

return originalResponse;
};

const handler = builder(myHandler);

export { handler };
1 change: 0 additions & 1 deletion next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
/// <reference types="next" />
/// <reference types="next/types/global" />
/// <reference types="next/image-types/global" />

// NOTE: This file should not be edited
Expand Down
4 changes: 4 additions & 0 deletions next.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ const SentryPlugin = require('@sentry/webpack-plugin');
module.exports = {
reactStrictMode: true,
swcMinify: true,
generateBuildId: async () => {
// You can, for example, get the latest git commit hash here
return 'support-docs-build';
},

// Sourcemaps are enabled to be uploaded to Sentry
// Warning: Can significantly increase build times
Expand Down
Loading