- handbook
- Company
- Company
- Board
- Communications
- Decision making
- KPIs and OKRs
- principles
- Remote Work
- Security
- Asset Management Policy
- Business Continuity & Disaster Recovery Policy
- Cryptography Policy
- Data Management Policy
- Information Security Roles and Responsibilities
- Operations Security Policy
- Risk Management Policy
- Secure Development Policy
- Third-Party Risk Management Policy
- Human Resources Security Policy
- Access Control Policy
- Incident Response Plan
- Information Security Policy and Acceptable Use Policy
- strategy
- values
- Operations
- Product
- Feedback
- Metrics
- Node-RED Dashboard
- personas
- Plan
- Pricing Principles
- Product Categories
- Strategy
- Versioning
- Development & Design Practices
- Design
- Development
- contributing
- Front End
- How We Work
- Markdown How-To
- packaging
- Releases
- security
- staging
- Using Git
- Website A/B Testing
- Internal Operations
- Legal
- People Ops
- Sales & Marketing
- Marketing
- blog
- Boiler Plate Descriptions
- Content Channels
- Content Types
- HubSpot
- Marketing
- Marketing - Website
- Video
- Webinars
- sales
# Staging Environment
We have a staging environment running on AWS which is a scaled down replica of our managed FlowFuse offering, with a separate domain. Staging URL and sign in details can be found in the Developer Vault in 1Password.
# AWS Account
It uses a separate AWS account ending in ..9937
Ben or ZJ can provision a user account for this account.
The services are running in EU-West-1.
# Nodes
The staging environment uses one node running on a t2.small for the management app and a pair of t2.small nodes for the projects cluster. t2.small is the smallest instance that can be used with EKS.
The staging environment can only be used with a set of pre-approved email addresses. This currently includes:
- All
@flowfuse.com
addresses - with SSO enabled - A collection of disposable email accounts that can be used to test user sign-up/invitations etc. Details of the available addresses are in this issue. If you use one of these addresses for some testing, please delete the user once you are done so it is available for future use.
The list of valid email addresses is managed via the Amazon SES configuration in the staging acount.
# Deployment
Currently there is no auto deployment to staging, this should be rectified in the future so that staging is running the code in the main branches of the respective repos.
# Using staging
When setting up a team you'll need to enter billing details. For credit card details, use the Stripe mock data.
# Using the FlowFuse Device Agent with staging
Staging uses pre-release npm packages stored in a GitHub npm repository. To be able to use these packages you will need to authenticate with the repository.
You will need to create a GH Personal token
- Go to your classic personal access tokens
- Click Generate New Token (and again pick the classic option)
- You will probably be prompted for 2FA now
- Give the token a meaningful name
- Pick an expiration. I went with no expiration so I don't have to do this again and I'm going to limit the scope
- Tick the box next to
read:packages
- Click generate token button at bottom of page
Store the token in your private 1Password vault
Create the following .npmrc file:
//npm.pkg.github.com/:_authToken=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
@flowforge:registry=https://npm.pkg.github.com/
where ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
is the token you just generated.
You need to place this in the project directory, e.g. /opt/flowforge-device/project
or if you are running it in the dev env flowforge-device-agent/var/project
(assume starting with node index -d ./var -c ./var/device.yml
)