Related to: https://github.com/fleetdm/confidential/issues/5573
Changes:
- Deleted /explore-data pages and related files
- Added redirects for removed pages.
- Removed all explore data related website configuration in the
build-static-content script.
- Removed the explore data section of the custom configuration.
Changes:
- Added `/start`, a page where users can choose whether to run a local
demo of Fleet, or purchase a Fleet Premium license
- Updated all "Try it now" links to go to the `/register` page.
- Updated the URL and added redirects:
- `/customers/new-license` » `/new-license`
- `/try-fleet/fleetctl-preview` » `/try-fleet`
- `/customers/register` » `/register`
- `/customers/login` » `/login`
- Removed the `/try-fleet/login` and `/try-fleet/register` pages
- Updated the /try-fleet/explore-data pages to redirect logged-out-users
to the /register page
- Updated policies, routes, and importer.less
---------
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Closes: #15728
Changes:
- Updated `view-query-report.js` to redirect non-logged in users who
visit `/try-fleet/explore-data/*` to `/try-fleet/register`
Closes: #14847
Changes:
- Added two new pages:
- `/try-fleet/explore-data`: A page where users can select a host, and
be taken to a page where they can see query results for that host.
- `try-fleet/explore-data/:platformName/:tableName`: A page where users
can see the contents of osquery tables on hosts.
- The view-action for this page will:
- Redirect unauthenticated users to the /try-fleet/login page. (With a
query parameter that will tell the login/register pages to redirect
users back to this page)
- Get information for hosts on a specified team.
- Build a filtered list of osquery tables that are compatible with the
host and have queries that will run on a specified host.
- Get the latest query results for a specified query/osquery table for
the specified host, and reorder the results to match the order of the
columns in the osquery schema.
- Updated build-static-content to add information about osquery tables
for the /explore-data pages to
`sails.config.builtStaticContent.osqueryTables`.
- Added 5 new config variables:
- `sails.config.custom.fleetBaseUrlForQueryReports`: The URL of the
Fleet instance used for the /explore-data pages
- `sails.config.custom.fleetTokenForQueryReports`: An API token for the
Fleet instance used for the /explore-data pages
- `sails.config.custom.teamApidForQueryReports`: the API ID of the team
that the hosts listed on the explore-data page are in.
- `sails.config.custom.queryIdsByTableName`: A dictionary containing
key:value pairs where each key is the name of an osquery table, and the
value is the API ID of the query that gets results for this table in a
Fleet instance. This is stored in the custom configuration to make it
easily editable (If we ever need to add or remove queries
- `sails.config.custom.hostIdsByHostPlatform`: A dictionary containing
key:value pairs where each key is a type of operating system, and the
value is the API ID of a Host.
- Updated the `/try-fleet` redirect to go to `/try-fleet/explore-data`
- Updated the "try it out" button links to go to `/try-fleet`
- Updated /try-fleet/login and /try-fleet/register to send users who are
redirected to the page via the /explore-data page to the page they had
tried to navigate to when they log in/create an account.
I'm creating this as a PR as a draft. It will be ready to merge when we:
- [x] Add hosts to the "Explore data (fleetdm.com) [DO NOT DELETE]" team
- [x] Create queries for every compatible osquery table for the "Explore
data (fleetdm.com) [DO NOT DELETE]" team.
- [ ] Add a `sails.config.custom.queryIdsByTableName` config variable
with the query IDs for the queries created in the previous step
- [ ] Add `sails.config.custom.hostIdsByHostPlatform` config variable
with the real host IDs/platforms
Closes: https://github.com/fleetdm/confidential/issues/4015
Changes:
- Changed the url for `/fleetctl-preview` to
`/try-fleet/fleetctl-preview`
- Updated the controller for the `/fleetctl-preview` page to redirect
non-logged-in users to `/try-fleet/login`
- Removed the route for `/try-fleet/sandbox-expired`, and added a
redirect going to `/try-fleet/fleetctl-preview`.
- Updated the controller for `/try-fleet/sandbox` to redirect the users
without a non-expired Sandbox instance to `/try-fleet/fleetctl-preview`.
- Updated `signup.js` to not provision Fleet sandbox instances for
users.
- Updated the `User` model to support a third `signupReason`: "Try
Fleet"
- Updated `/try-fleet/register` to submit "Try Fleet" as a
`signupReason` when users sign up.
- Renamed the files for the `/fleetctl-preview` page (`get-started` »
`fleetctl-preview`)
- Updated/removed Fleet Sandbox related handbook sections.
- Replaced the "Fleet vs Fleet Sandbox" section in the deploying
documentation with a note about `fleetctl preview`.
- Updated links to Fleet Sandbox in articles.
---------
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Changes:
- Added a new config variable:
`sails.config.custom.fleetSandboxWaitlistEnabled`
- Added a new attribute to the website's `user` model:
`inSandboxWaitlist`
- Updated `signup.js` to create user accounts without a Fleet sandbox
instance and `inSandboxWaitlist` set to true if
`sails.config.custom.fleetSandboxWaitlistEnabled` is true.
- Added /try-fleet/waitlist, a page that shows a message to users who
have been added to the Fleet sandbox waitlist.
- renamed`view-sandbox-teleporter-or-redirect-because-expired.js` to
`view-sandbox-teleporter-or-redirect-because-expired-or-waitlist.js` and
updated it to redirect users who are on the Fleet Sandbox waitlist to
/try-fleet/waitlist
Before this PR can be merged, we need to:
- [x] Add `sails.config.custom.fleetSandboxWaitlistEnabled` config
variable in Heroku.
- [x] Add the new attribute to the user table in the website's database
- [x] Update existing `user` records to have the new attribute (set to
false)
..
* create pages, add routes, update policies
* add new pages to importer
* sandbox page
* login -> sandbox-login
* Update login.less
* psuedo-code/code comments
* remove sandbox page
* Revert "remove sandbox page"
This reverts commit d5a1280759.
* view action drafts
* delete forgot-password page
* two new actions + draft code
* change action name
* Draft view actions and page scripts
* Update signup.js
* update comments
* update signup & sandbox-login page script
* update helper comments
* update helper usage in comments
* view-sandbox » view-sandbox-or-redirect
* Update helpers, actions, and routes
* login » sandbox-login
* update attributes on user model
* update signup action
* update page scripts and importer
* Update view-register.js
* html + css
* update signup and view-sandbox-or-redirect
* Password reset
Update user's sandbox password when they have a sandbox instance
* add new-sandbox, update sandbox page
- `/try-fleet/new-sandbox` added for users who don't have an existing Fleet Sandbox instance,
- `/sandbox` updated to redirect users to the `/demologin` endpoint of their Fleet Sandbox instance if it is still valid, or display the sandbox expired state
- updated policies & routes
* layout and importer updates
* update sandbox-login links & page script
* update signup action
* change logout redirect location to homepage
* lint fixes
* lint fixes
* Update sandbox & sandbox-expired
* Comment updates
* update password requirements for existing pages
* remove /get-started route
* lint fixes
* replace env variable with url
* remove `required: false` from organization attribute on user model
* send redirectToSandbox from view instead of routes
* changes sandbox page name
* add 10 second timeout to /healthz check, add authorization header to cloud provisioner request
* update environment variable name
* update authorization header
* remove /new-sandbox
* update unauthorized response to redirect to correct login screen
* update comments
* update layout
* replace new-sandbox redirects with consistency violation errors
* Provision Fleet sandbox for users logging in
* Revert "Provision Fleet sandbox for users logging in"
This reverts commit 6297c33892.
* Revert "Revert "Provision Fleet sandbox for users logging in""
This reverts commit c2a2567b68.
* Revert "Revert "Revert "Provision Fleet sandbox for users logging in"""
This reverts commit acc178ea76.
* update sandbox-login mobile styles
* update sandbox-expired page to match latest wireframes
* remove required: false and planned changes comments, update signup errors and behavior
* update error
* lint fix on updated error
* Update error's indentation
* remove added forgot-password flow, add redirect for sandbox users changing their password
* Use fleetSandboxDemoKey to login to Fleet Sandbox, remove password changing flow
* update bootstrap to give admin user an expired sandbox
* Update signup.js
* remove unused exits, revert password recovery email changes
* required:false is implied if unspecified, so can be omitted
* Remove defaultsTo: '', since it is not needed
This applies the changes discussed in https://github.com/fleetdm/fleet/pull/6380#discussion_r929538495
It also makes two other trivial changes.
* Eliminate another unnecessary require:false
I think this one is actually baked into the sails-generate template.
* remove custom password validation
* update page name (sandbox-teleporter) and view action name
* revert minor changes to existing files
* update sandbox login friendlyName
* Update unauthorized response to redirect to /login
* Delete new-sandbox.less
* update layouts and importer
* add /fleetctl-preview route for old get-started page, update sandbox route
* update signup action with changes from review, add retry() to cloud provisioner request
* Update routes.js
* add missing comma to route
* update layout, fix typo in signup
* Update sandbox-expired.ejs
* lint fixes
* Update download-sitemap.js
* small whitespace changes, regenerate cloud-sdk
* remove placeholder text in password inputs
* add loading spinner to sandbox teleporter
* add logout button to header nav
* hide header on sandbox-teleporter
* update errors, check if a user already exists before cloud provisioner request
* Update sandbox-teleporter.page.js
* Update sandbox-teleporter.page.js
* Update signup.js
* resize loading spinner, history.pushState() » history.replaceState()
* send users who reset their password back to the fleetdm.com homepage
* Add Zapier webhook request for sandbox signups
* rebuild-scloud-sdk after resolving merge conflict
* update zapier request error
* Add comment w/ context about how Zapier responds with a 2xx even if there was a problem
* Update links to /get-started to go to /try-fleet/register, change /get-started redirect
* Revert changes to links
* add /test-fleet-sandbox redirect, revert /try-fleet redirect
* send logged out users to the sandbox login page when they go to /try-fleet/sandbox
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>