2021-04-27 18:08:33 +00:00
<%
2020-12-02 20:48:03 +00:00
// In case we're displaying the 404 or 500 page and relevant code in the "custom" hook was not able to run,
2021-04-27 18:08:33 +00:00
// we make sure certain view locals exist that are commonly used in this layout.ejs file. This ensures we
// don't have to do `typeof` checks below.
var me;
var isHomepage;
2022-06-21 16:12:21 +00:00
var headerCTAHidden;
2021-04-27 18:08:33 +00:00
%><!DOCTYPE html>
2020-12-02 20:48:03 +00:00
<html>
<head>
2022-09-29 21:41:00 +00:00
<title><%= typeof pageTitleForMeta !== 'undefined' ? pageTitleForMeta : 'Fleet for osquery | Lightweight, programmable telemetry for servers and workstations' %></title>
2022-08-25 00:15:23 +00:00
<meta name="description" content="<%= typeof pageDescriptionForMeta !== 'undefined' ? pageDescriptionForMeta : 'Fleet is the lightweight, programmable telemetry platform for servers and workstations. Get comprehensive, customizable data from all your devices and operating systems — without the performance hit' %>" />
2020-12-02 20:48:03 +00:00
<% /* Viewport tag for sensible mobile support */ %>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
2022-08-27 00:20:28 +00:00
<%// Twitter meta tags%>
2023-02-02 16:57:58 +00:00
<meta name="twitter:card" content="<%= typeof pageImageForMeta !== 'undefined' ? 'summary_large_image' : 'summary' %>" />
2021-07-20 15:24:25 +00:00
<meta name="twitter:site" content="https://fleetdm.com" />
2022-08-25 00:15:23 +00:00
<meta name="twitter:description" content="<%= typeof pageDescriptionForMeta !== 'undefined' ? pageDescriptionForMeta : 'Fleet is the lightweight, programmable telemetry platform for servers and workstations. Get comprehensive, customizable data from all your devices and operating systems — without the performance hit' %>" />
2022-09-29 21:41:00 +00:00
<meta name="twitter:title" content="<%= typeof pageTitleForMeta !== 'undefined' ? pageTitleForMeta : 'Fleet for osquery | Lightweight, programmable telemetry for servers and workstations' %>" />
2022-06-01 00:32:00 +00:00
<meta name="twitter:image" content="<%= typeof pageImageForMeta !== 'undefined' ? 'https://fleetdm.com' + pageImageForMeta : 'https://fleetdm.com/images/fleet-logo-square@2x.png' %>" />
2022-08-27 00:20:28 +00:00
<%// Meta tags for other social previews %>
<meta property="og:image" content="<%= typeof pageImageForMeta !== 'undefined' ? 'https://fleetdm.com' + pageImageForMeta : 'https://fleetdm.com/images/fleet-logo-square@2x.png' %>" />
2022-09-29 21:41:00 +00:00
<meta property="og:title" content="<%= typeof pageTitleForMeta !== 'undefined' ? pageTitleForMeta : 'Fleet for osquery | Lightweight, programmable telemetry for servers and workstations' %>" />
2022-08-27 00:20:28 +00:00
<meta property="og:description" content="<%= typeof pageDescriptionForMeta !== 'undefined' ? pageDescriptionForMeta : 'Fleet is the lightweight, programmable telemetry platform for servers and workstations. Get comprehensive, customizable data from all your devices and operating systems — without the performance hit' %>" />
2020-12-02 20:48:03 +00:00
<% /* Script tags should normally be included further down the page- but any
scripts that load fonts (e.g. Fontawesome ≥v5) are special exceptions to the
rule. (Include them up here along with any hard-coded «link» tags for Typekit,
Google Fonts, etc. - above the «body» to prevent the page flickering when fonts
load.) */ %>
2021-08-20 01:34:14 +00:00
<link href="https://fonts.googleapis.com/css2?family=Source+Code+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,900&display=swap" rel="stylesheet">
2020-12-02 20:48:03 +00:00
<% /* Certain scripts, normally analytics tools like Google Tag Manager and
Google Analytics, should only be included in production: */
if (sails.config.environment === 'production') { %>
2022-06-02 16:51:03 +00:00
<% /* Rollbar */%>
<script>
var _rollbarConfig = {
accessToken: "20a8dbf5d8884b5480e58d99748ec127",
captureUncaught: true,
captureUnhandledRejections: true,
payload: {
environment: "production"
}
};
// Rollbar Snippet
!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.22.0/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||"object"==typeof a&&a.network)&&r.addEventListener&&(r.addEventListener("load",l.capture
// End Rollbar Snippet
</script>
2022-01-11 16:34:56 +00:00
<% /* Google Analytics, Google Tag Manager, Snitcher etc. */ %>
2020-12-02 20:48:03 +00:00
<!-- Global site tag (gtag.js) - Google Analytics -->
2022-04-18 17:44:18 +00:00
<script async src="https://www.googletagmanager.com/gtag/js?id=G-JC3DRNY1GV"></script>
<script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-JC3DRNY1GV');
</script>
<%/* Meta pixel code */%>
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '673041690615149');
fbq('track', 'PageView');
</script>
<noscript>
<img alt="Meta pixel" height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=673041690615149&ev=PageView&noscript=1"/>
</noscript>
2022-07-18 14:25:47 +00:00
<%/* Hotjar code */%>
<!-- Hotjar Tracking Code for https://fleetdm.com/ -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:3068651,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
<%/* Heap analytics code */%>
<script type="text/javascript">
window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var r=document.createElement("script");r.type="text/javascript",r.async=!0,r.src="https://cdn.heapanalytics.com/js/heap-"+e+".js";var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(r,a);for(var n=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},p=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],o=0;o<p.length;o++)heap[p[o]]=n(p[o])};
heap.load("4175146533");
</script>
2022-01-11 16:34:56 +00:00
<%/* Snitcher analytics code */%>
<script>
2022-02-03 18:54:26 +00:00
!function(i,s,o,g,r,a,m){i.Ip2cObject=o;i[o]||(i[o]=function(){
(i[o].q=i[o].q||[]).push(arguments)});i[o].l=+new Date;r=s.createElement(g);
a=s.getElementsByTagName(g)[0];r.src='//reveal.ip2c.net/8416878.js';
a.parentNode.insertBefore(r,a)}(window,document,'ip2c','script');
ip2c('verify', '8416878');
2022-01-11 16:34:56 +00:00
</script>
2020-12-02 20:48:03 +00:00
<% }
/* Otherwise, any such scripts are excluded, and we instead inject a
robots/noindex meta tag to help prevent any unwanted visits from search engines. */
else { %>
<meta name="robots" content="noindex">
<% } %>
<% /*
Stylesheets
========================
Stylesheets can be hard-coded as «link» tags, automatically injected
by the asset pipeline between "STYLES" and "STYLES END", or both.
(https://sailsjs.com/docs/concepts/assets/task-automation)
*/ %>
<% /* Auto-injected «link» tags: */ %>
<!--STYLES-->
<link rel="stylesheet" href="/dependencies/bootstrap-4/bootstrap-4.css">
<link rel="stylesheet" href="/dependencies/fontawesome.css">
2022-01-13 01:42:40 +00:00
<link rel="stylesheet" href="/dependencies/nunito-webfonts.css">
2020-12-02 20:48:03 +00:00
<link rel="stylesheet" href="/styles/importer.css">
<!--STYLES END-->
</head>
<body>
2022-08-10 03:23:14 +00:00
<div purpose="page-wrap" dat>
2022-12-12 20:19:11 +00:00
<div class="header" purpose="page-header">
<div purpose="header-ribbon-cta" class="<%= headerCTAHidden ? 'd-none' : 'd-flex' %> flex-row justify-content-center align-items-md-center">
<div class="mb-0 d-flex flex-lg-row flex-column justify-content-center py-3 px-2">
<p class="text-center pr-1 mb-0">Instant deployment with
Fleet Managed Cloud. <a href="https://kqphpqst851.typeform.com/to/yoo5smT9">Join the beta</a></p>
</div>
</div>
2021-09-01 09:16:00 +00:00
<div style="max-width: 1248px; height: 94px;" class="container-fluid d-flex justify-content-between align-items-center pt-3 pb-3 px-3 px-md-4">
<a href="/" style="max-width: 118px;">
<img alt="Fleet logo" src="/images/logo-blue-162x92@2x.png" style="height: 92px; width: 162px;"/>
</a>
<div class="d-flex d-lg-none">
2022-03-01 19:47:36 +00:00
<button purpose="header-btn" style="font-size: 16px; text-decoration: none;" class="btn btn-link d-flex align-items-center" data-toggle="collapse" data-target="#navbarToggleExternalContent">
2021-09-01 09:16:00 +00:00
<span class="mr-2">Menu</span>
<img alt="An icon indicating that interacting with this button will open the navigation menu." src="/images/icon-hamburger-blue-16x14@2x.png" style="width: 16px;" />
</button>
2021-09-08 23:07:43 +00:00
</div>
2022-03-01 19:47:36 +00:00
<%/* Mobile Navigation menu */%>
<div purpose="mobile-nav" class="collapse px-4 px-sm-5" id="navbarToggleExternalContent">
2021-09-08 23:07:43 +00:00
<div class="d-flex justify-content-between">
<a href="/">
<img alt="Fleet logo" src="/images/logo-blue-162x92@2x.png" style="height: 92px; width: 162px;" class="mt-3"/>
</a>
2022-03-01 19:47:36 +00:00
<button style="font-size: 16px; text-decoration: none;" class="btn btn-link d-flex align-items-center" data-toggle="collapse" data-target="#navbarToggleExternalContent">
2021-09-08 23:07:43 +00:00
<img alt="An 'X' icon indicating that this can be interacted with to close the navigation menu." src="/images/icon-close-16x16@2x.png" style="width: 16px;" />
</button>
</div>
2022-03-01 19:47:36 +00:00
<div id="mobileDropdowns" class="py-2">
2023-01-11 17:29:38 +00:00
<a purpose="mobile-dropdown-toggle" class="d-flex align-items-center collapsed" data-toggle="collapse" data-target="#mobileNavbarToggleUseCases" aria-haspopup="true" aria-expanded="false">Platform</a>
2022-03-01 19:47:36 +00:00
<div class="d-block">
<div id="mobileNavbarToggleUseCases" purpose="mobile-dropdown" class="collapse align-items-start" data-parent="#mobileDropdowns">
<a href="/platform">How it works</a>
2023-01-11 17:29:38 +00:00
<a href="/device-management"><div>Device management<span purpose="beta-label">Beta</span></div></a>
2022-03-01 19:47:36 +00:00
<span>SUCCESS STORIES</span>
2023-01-11 17:29:38 +00:00
<a class="pl-3" href="/success-stories/fleet-user-stories-wayfair">Wayfair</a>
<a class="pl-3" href="/success-stories/fleet-user-stories-schrodinger">Schrödinger</a>
<a class="pl-3" href="/success-stories/fleet-user-stories-f100">F100 security & networking co.</a>
2022-03-01 19:47:36 +00:00
</div>
</div>
<hr>
<a purpose="mobile-dropdown-toggle" class="d-flex align-items-center mr-4 collapsed" data-toggle="collapse" data-target="#mobileNavbarToggleDocumentation" aria-haspopup="true" aria-expanded="false">Documentation</a>
<div class="d-block">
<div id="mobileNavbarToggleDocumentation" purpose="mobile-dropdown" class="collapse" data-parent="#mobileDropdowns">
<a href="/docs">Docs</a>
2022-07-22 16:40:19 +00:00
<a href="/releases">Releases</a>
2022-03-01 19:47:36 +00:00
<a href="/queries">Query library</a>
2022-09-27 20:40:59 +00:00
<a href="/tables">Schema tables</a>
2022-03-01 19:47:36 +00:00
<span>GUIDES</span>
2022-07-21 04:59:51 +00:00
<a class="pl-3" href="/deploy">Deployment guides</a>
<a class="pl-3" href="/guides">How-to guides</a>
2022-03-01 19:47:36 +00:00
</div>
</div>
<hr>
<a purpose="mobile-dropdown-toggle" class="d-flex align-items-center mr-4 collapsed" data-toggle="collapse" data-target="#mobileNavbarToggleCommunity">Community</a>
<div class="d-block">
<div id="mobileNavbarToggleCommunity" purpose="mobile-dropdown" class="collapse" data-parent="#mobileDropdowns">
2022-08-26 15:53:31 +00:00
<a href="/announcements">Announcements</a>
2022-06-28 18:53:19 +00:00
<a href="/securing">Security</a>
<a href="/engineering">Engineering</a>
2022-08-26 15:53:31 +00:00
<a href="/podcasts">Podcasts</a>
<a href="/reports/state-of-device-management">Reports</a>
<span>RESOURCES</span>
<a href="/slack" target="_blank">Join the conversation</a>
<a href="/contribute">Contribute to Fleet</a>
2022-06-28 18:53:19 +00:00
<span>RESOURCES</span>
2022-03-04 20:23:30 +00:00
<a href="/handbook">Handbook</a>
2022-03-01 19:47:36 +00:00
<a href="/logos">Logos & artwork</a>
</div>
</div>
<hr>
Website: Fleet Sandbox (#6380)
* 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 d5a1280759266f6bf587c9bab275d1a3e69ec16a.
* 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 6297c33892231d0ef98bed4cbb127f4263ebc48d.
* Revert "Revert "Provision Fleet sandbox for users logging in""
This reverts commit c2a2567b68325ea92e19f908226de2f52d8265f9.
* Revert "Revert "Revert "Provision Fleet sandbox for users logging in"""
This reverts commit acc178ea76ece637f7f6eab9f44ee51c44f59a00.
* 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>
2022-08-12 22:31:01 +00:00
<a href="/pricing" class="d-flex align-items-center" style="text-decoration: none; font-weight: 700;">Pricing</a>
<% if(_.has(me, 'id')) {%>
<hr>
<a href="/logout" class="d-flex mt-2 text-decoration-none" style="text-decoration: none; line-height: 23px;">Log out</a>
<% }%>
2022-08-25 15:37:12 +00:00
<a style="padding: 4px 16px; line-height: 24px; width: 100px" class="btn btn-sm btn-primary align-items-center d-flex mt-4" href="/try-fleet/register?tryitnow">Try Fleet</a>
2021-03-23 08:56:15 +00:00
</div>
</div>
2022-03-01 19:47:36 +00:00
<%/* Desktop Navigation bar */%>
<div purpose="header-nav" class="d-none d-lg-flex align-items-center">
<div purpose="dropdown-button" class="btn-group">
2023-01-11 17:29:38 +00:00
<a class="dropdown-toggle d-flex align-items-center py-2 px-3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Platform</a>
2022-03-01 19:47:36 +00:00
<div purpose="header-dropdown" class="dropdown-menu">
<a class="dropdown-item mb-1" href="/platform">How it works</a>
2023-01-11 17:29:38 +00:00
<a class="dropdown-item mb-1" href="/device-management"><div>Device management <span purpose="beta-label">Beta</span></div></a>
2022-03-01 19:47:36 +00:00
<div class="dropdown-divider"></div>
<h6 class="muted dropdown-header">SUCCESS STORIES</h6>
2023-01-11 17:29:38 +00:00
<a class="dropdown-item mb-1" href="/success-stories/fleet-user-stories-wayfair">Wayfair</a>
<a class="dropdown-item mb-1" href="/success-stories/fleet-user-stories-schrodinger">Schrödinger</a>
<a class="dropdown-item" href="/success-stories/fleet-user-stories-f100">F100 security & networking co.</a>
2022-03-01 19:47:36 +00:00
</div>
</div>
<div purpose="dropdown-button" class="btn-group">
<a class="dropdown-toggle d-flex align-items-center py-2 px-3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Documentation</a>
<div purpose="header-dropdown" class="dropdown-menu">
<a class="dropdown-item mb-1" href="/docs">Docs</a>
2022-07-22 16:40:19 +00:00
<a class="dropdown-item mb-1" href="/releases">Releases</a>
2022-03-01 19:47:36 +00:00
<a class="dropdown-item mb-1" href="/queries">Query library</a>
2022-09-27 20:40:59 +00:00
<a class="dropdown-item mb-1" href="/tables">Schema tables</a>
2022-03-01 19:47:36 +00:00
<div class="dropdown-divider"></div>
<span class="muted dropdown-header">GUIDES</span>
2022-07-21 04:59:51 +00:00
<a class="dropdown-item" href="/deploy">Deployment guides</a>
<a class="dropdown-item" href="/guides">How-to guides</a>
2022-03-01 19:47:36 +00:00
</div>
</div>
<div purpose="dropdown-button" class="btn-group">
<a class="dropdown-toggle d-flex align-items-center py-2 px-3" data-toggle="dropdown">Community</a>
<div purpose="header-dropdown" class="dropdown-menu">
2022-08-26 15:53:31 +00:00
<a class="dropdown-item mb-1" href="/announcements">Announcements</a>
2022-06-28 18:53:19 +00:00
<a class="dropdown-item mb-1" href="/securing">Security</a>
<a class="dropdown-item mb-1" href="/engineering">Engineering</a>
2022-08-26 15:53:31 +00:00
<a class="dropdown-item mb-1" href="/podcasts">Podcasts</a>
<a class="dropdown-item mb-1" href="/reports/state-of-device-management">Reports</a>
<div class="dropdown-divider"></div>
<span class="muted dropdown-header">CONTRIBUTE</span>
<a class="dropdown-item mb-1" href="/slack" target="_blank">Join the conversation</a>
<a class="dropdown-item mb-1" href="/contribute">Contribute to Fleet</a>
2022-06-28 18:53:19 +00:00
<div class="dropdown-divider"></div>
<span class="muted dropdown-header">RESOURCES</span>
2022-03-04 20:23:30 +00:00
<a class="dropdown-item mb-1" href="/handbook">Handbook</a>
2022-03-01 19:47:36 +00:00
<a class="dropdown-item" href="/logos">Logos & artwork</a>
</div>
</div>
<a href="/pricing" class="d-flex align-items-center py-2 px-3" style="text-decoration: none; line-height: 23px;">Pricing</a>
<span class="d-flex align-items-center px-3">
2021-09-01 09:16:00 +00:00
<iframe src="//ghbtns.com/github-btn.html?user=fleetdm&repo=fleet&type=watch&count=true"
allowtransparency="true" frameborder="0" scrolling="0" width="100" height="20"></iframe>
</span>
2022-08-27 00:20:28 +00:00
<a style="padding: 4px 16px; line-height: 24px; color: #FFFFFF" class="btn btn-sm btn-primary align-items-center d-flex" href="/try-fleet/register?tryitnow" >Try Fleet</a>
Website: Fleet Sandbox (#6380)
* 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 d5a1280759266f6bf587c9bab275d1a3e69ec16a.
* 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 6297c33892231d0ef98bed4cbb127f4263ebc48d.
* Revert "Revert "Provision Fleet sandbox for users logging in""
This reverts commit c2a2567b68325ea92e19f908226de2f52d8265f9.
* Revert "Revert "Revert "Provision Fleet sandbox for users logging in"""
This reverts commit acc178ea76ece637f7f6eab9f44ee51c44f59a00.
* 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>
2022-08-12 22:31:01 +00:00
<% if(_.has(me, 'id')) {%>
<a href="/logout" class="justify-content-end pl-4 py-2 text-decoration-none" style="text-decoration: none; line-height: 23px;">Log out</a>
<% }%>
2021-09-01 09:16:00 +00:00
</div>
2021-03-23 08:56:15 +00:00
</div>
2021-09-08 23:07:43 +00:00
</div>
2020-12-02 20:48:03 +00:00
<%- body %>
2021-11-09 19:37:53 +00:00
<%/* Note: footer is hidden until the page is loaded. See «script» tag at the bottom of this file. */%>
<div style="background-color: #182147;" class="invisible" purpose="page-footer" data-hide-until-rendered>
2021-10-29 00:53:20 +00:00
<div style="max-width: 1248px;" purpose="footer-container" class="container-fluid d-flex flex-column flex-sm-row align-items-sm-end justify-content-center justify-content-sm-between">
<div class="d-flex flex-column order-first justify-content-start">
<div class="d-flex pb-4 pr-4">
<a class="pb-3" href="/">
<img alt="Fleet logo" src="/images/logo-white-118x48@2x.png" style="width: 118px; height: 48px;" />
</a>
</div>
</div>
<div class="d-flex flex-grow-1 flex-column">
<div purpose="footer-nav" class="justify-content-between justify-content-sm-end order-l pb-xl-2 px-lg-0">
<div class="flex-column">
2022-08-26 16:03:28 +00:00
<a href="/try-fleet/register?tryitnow" class="d-block pr-md-5 pr-sm-3 pb-2">Try it out</a>
2021-10-29 00:53:20 +00:00
<a href="/docs" class="d-block pr-md-5 pr-sm-3 pb-2">Docs</a>
2022-01-17 15:43:52 +00:00
<a href="/queries" class="d-block pr-md-5 pr-sm-3 pb-2">Query library</a>
2023-01-10 17:24:09 +00:00
<a href="/handbook/company/why-this-way#why-open-source" class="d-block pr-md-5 pr-sm-3 pb-2 pb-xl-0">Why open source?</a>
2021-10-04 04:28:20 +00:00
</div>
2021-10-29 00:53:20 +00:00
<div class="flex-column">
<a href="/pricing" class="d-block px-md-5 px-sm-3 pb-2">Pricing</a>
2023-01-31 23:23:50 +00:00
<a href="/customers/dashboard" class="d-block px-md-5 px-sm-3 pb-2">Get your license</a>
2022-01-17 05:26:40 +00:00
<a href="/handbook" class="d-block px-md-5 px-sm-3 pb-2">Handbook</a>
2021-10-29 00:53:20 +00:00
<a href="/logos" class="d-block px-md-5 px-sm-3 pb-2 pb-xl-0">Logos/artwork</a>
2020-12-02 20:48:03 +00:00
</div>
2021-10-29 00:53:20 +00:00
<div class="flex-column">
2022-01-17 05:26:40 +00:00
<a href="/apply" class="d-block pr-lg-2 pl-md-5 pl-sm-3 pb-2">Jobs</a>
<a href="/blog" class="d-block pr-lg-2 pl-md-5 pl-sm-3 pb-2">Blog</a>
2021-10-29 00:53:20 +00:00
<a href="/docs/contributing" class="d-block pr-lg-2 pl-md-5 pl-sm-3 pb-2">Contribute</a>
2022-09-13 22:19:10 +00:00
<a href="https://osquery.fleetdm.com/" class="d-block pr-lg-2 pl-md-5 pl-sm-3 pb-2 pb-xl-0">Osquery Slack</a>
2021-10-04 04:28:20 +00:00
</div>
2021-10-29 00:53:20 +00:00
</div>
</div>
</div>
<div purpose="footer-bottom" style="background-color: #101639;">
<div style="max-width: 1248px;" class="container-fluid d-flex px-0 flex-md-row flex-column align-items-md-center justify-content-md-between pb-4 pr-3 pb-md-0">
<div style="font-size: 11px; line-height: 18px;" class="d-flex flex-column justify-content-start flex-sm-row pr-sm-0">
<img alt="Creative Commons Licence CC BY-SA 4.0" src="/images/logo-creative-commons-160x30@2x.png" style="width: 80px; height: 15px;" />
<div class="pl-sm-3 pt-sm-0 pt-1 pl-0 text-sm-nowrap d-block d-sm-inline">
2023-01-11 16:56:52 +00:00
© 2023 Fleet Device Management Inc.
2021-10-29 00:53:20 +00:00
<span purpose="legal-nav">
<a style="text-decoration: underline;" href="/legal/privacy">Privacy</a>
2021-11-17 00:56:56 +00:00
<a style="text-decoration: underline;" class="pl-3" target="_blank" href="https://osquery.io">What is osquery?</a>
2021-10-29 00:53:20 +00:00
</span>
2021-10-04 04:28:20 +00:00
</div>
</div>
2021-10-29 00:53:20 +00:00
<div style="font-size: 14px;" class="flex-row d-inline-flex font-weight-bold order-first order-md-last justify-content-start justify-content-md-end pl-md-3 py-3">
<a href="https://twitter.com/fleetctl">
<img alt="Twitter logo" src="/images/logo-twitter-50x44@2x.png" style="height: 20px; width: auto; margin-top:2px" class="pr-4" />
</a>
<a href="https://www.youtube.com/channel/UCZyoqZ4exJvoibmTKJrQ-dQ">
<img alt="Youtube logo" src="/images/logo-youtube-57x40@2x.png" style="height: 20px; width: auto; margin-top:2px" class="pr-4" />
</a>
2022-03-04 21:51:11 +00:00
<a href="/slack">
2021-10-29 00:53:20 +00:00
<img alt="Slack logo" src="/images/logo-slack-24x24@2x.png" style="height: 20px; width: auto; margin-top:2px" class="pr-4" />
</a>
<a href="https://github.com/fleetdm/fleet">
<img alt="GitHub logo" src="/images/github-mark-white-24x24@2x.png" style="height: 20px; width: auto; margin-top:2px" />
</a>
2021-10-04 04:28:20 +00:00
</div>
2021-10-29 00:53:20 +00:00
2020-12-02 20:48:03 +00:00
</div>
2021-10-29 00:53:20 +00:00
</div>
2020-12-02 20:48:03 +00:00
</div>
</div>
<% /*
Client-side JavaScript
========================
Scripts can be hard-coded as «script» tags, automatically injected
by the asset pipeline between "SCRIPTS" and "SCRIPTS END", or both.
(https://sailsjs.com/docs/concepts/assets/task-automation)
*/ %>
2021-10-14 23:26:32 +00:00
<% /* Cookie consent banner */ %>
<script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/71bcdd51b166ceeb18bd0d28/script.js"></script>
Add chat to website (#165)
* prevent eslintrc conflicts
* Pricing + chat for website (#124)
* Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).
Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
* Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
* Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
* Fix and clarify API auth documentation (#109)
- Fix header name.
- Add note about SSO auth.
* New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
* Fix JSON in rest-endpoints.md (#110)
* Add host enrollment cooldown period (#112)
This addresses an issue some users experienced in which performance
problems were encountered when hosts were "competing" for enrollment
using the same osquery host identifier. The issue is addressed by adding
a cooldown period for host enrollment, preventing the same (as judged by
osquery host identifier) host from enrolling more than once per minute.
When users end up in the problematic scenario, they will see quite a bit
of error logs due to this issue. For now that's probably a good thing as
users need to be aware of the lack of visibility. We can explore rate
limiting the logging if that becomes an issue for someone.
Fixes #102
* Improve MySQL transaction error logging (#113)
Clarify what exactly happened when logging these errors.
* Migrate remaining URLs to fleetdm.com (#116)
* Clean up unused test/demo SQL data (#117)
* Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
* Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
* CHANGELOG for 3.5.0 (#121)
* Update fleetctl version number. Fix spelling error in changelog. (#122)
* Fix alt tag
* Set up pricing cards
* Match footer to bottom of gradient
* Set up FAQ and stub out chat button click
* Add chat, plus some other tweaks.
* fiddling with Papercups to hopefully get it to recognize who's responding from the Fleet side
* This isn't really a solution but it's the best we've got til Papercups is hacked to allow programmatic opening (or til we switch to something else, or just bring in the traditional contact form)
* trivial
* Temporary workaround using an undocumented API in papercups
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Rachael McNeil <r@rachael.wtf>
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
2021-01-01 02:28:18 +00:00
<% /* Chat (Papercups) */ %>
2021-10-29 00:53:20 +00:00
<script>window.Papercups = { config: { accountId: '5b59eeac-1578-4fdb-b946-e17c1dca0c51', primaryColor:'#6A67FE', requireEmailUpfront: true } };</script>
Add chat to website (#165)
* prevent eslintrc conflicts
* Pricing + chat for website (#124)
* Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).
Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
* Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
* Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
* Fix and clarify API auth documentation (#109)
- Fix header name.
- Add note about SSO auth.
* New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
* Fix JSON in rest-endpoints.md (#110)
* Add host enrollment cooldown period (#112)
This addresses an issue some users experienced in which performance
problems were encountered when hosts were "competing" for enrollment
using the same osquery host identifier. The issue is addressed by adding
a cooldown period for host enrollment, preventing the same (as judged by
osquery host identifier) host from enrolling more than once per minute.
When users end up in the problematic scenario, they will see quite a bit
of error logs due to this issue. For now that's probably a good thing as
users need to be aware of the lack of visibility. We can explore rate
limiting the logging if that becomes an issue for someone.
Fixes #102
* Improve MySQL transaction error logging (#113)
Clarify what exactly happened when logging these errors.
* Migrate remaining URLs to fleetdm.com (#116)
* Clean up unused test/demo SQL data (#117)
* Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
* Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
* CHANGELOG for 3.5.0 (#121)
* Update fleetctl version number. Fix spelling error in changelog. (#122)
* Fix alt tag
* Set up pricing cards
* Match footer to bottom of gradient
* Set up FAQ and stub out chat button click
* Add chat, plus some other tweaks.
* fiddling with Papercups to hopefully get it to recognize who's responding from the Fleet side
* This isn't really a solution but it's the best we've got til Papercups is hacked to allow programmatic opening (or til we switch to something else, or just bring in the traditional contact form)
* trivial
* Temporary workaround using an undocumented API in papercups
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Rachael McNeil <r@rachael.wtf>
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
2021-01-01 02:28:18 +00:00
<script type="text/javascript" async defer src="https://app.papercups.io/widget.js"></script>
2020-12-02 20:48:03 +00:00
<%/* Stripe.js */%>
<script src="https://js.stripe.com/v3/"></script>
2022-07-12 21:24:15 +00:00
2022-05-16 23:29:32 +00:00
<%/* Linkedin Ads Insight tag */%>
<script type="text/javascript">
_linkedin_partner_id = "4365817";
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
</script><script type="text/javascript">
(function(l) {
if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
window.lintrk.q=[]}
var s = document.getElementsByTagName("script")[0];
var b = document.createElement("script");
b.type = "text/javascript";b.async = true;
b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
s.parentNode.insertBefore(b, s);})(window.lintrk);
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=4365817&fmt=gif" />
</noscript>
2020-12-02 20:48:03 +00:00
<% /* Delete the global `self` to help avoid client-side bugs.
(see https://developer.mozilla.org/en-US/docs/Web/API/Window/self) */ %>
<script>delete window.self;</script>
Implement sticky nav for fleetdm.com (#5298)
* feat: implement sticky nav for fleetdm except the homepage
* feat: add sticky nav to homepage
* Add note for v 4.13 to fleetctl docs (#5274)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* License dispenser query strings (#5321)
Co-authored-by: Tim Kern <tim@fleetdm.com>
* chore(test): rewritten query side panel test using rtl (#5189)
* Update get started (fleetctl preview) instructions on website (#5312)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* update customer layout (#5329)
* Handbook: Rename Slack channel, suggest DRI for #help-golang (#5157)
* Handbook: Rename Slack channel, suggest DRI for #help-golang
* Deleted #help-golang and #help-frontend
This is based on the call Zach and I had today about eliminating the extra "Help" channels, now that there are development groups where more focused conversation can happen without blasting every engineer in the company.
FYI I checked and #help-frontend is actively used, whereas #help-golang is much less active.
* Editor pass - Added and renamed the Rituals section (#5300)
Editor pass for: https://github.com/fleetdm/fleet/pull/5183
I added and renamed the Rituals section with a link for consistency.
This PR is related to: https://github.com/fleetdm/fleet/pull/5299
* Unified text for private IP address (#5301)
* unified text for private ip address
* updated capitalization
* Added utm_source tracking to calendly link (#5281)
Will allow us to track schedule demo submissions from pricing page by adding utm_source
* Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components
* component clean up
* removed redux from routes
* rename file
* moved useDeepEffect hook with others
* removed redux, fleet, app_constants dirs; added types to utilities
* style cleanup
* typo fix
* removed unused ts-ignore comments
* removed redux packages!!!
* formatting
* fixed typing for simple search function
* updated frontend readme
* Website add articles page. (#5243)
* create '/articles' and add 4 test articles
* update build-static-content script for '/articles'
* article pages
* Validate article page metaData
* add articles linked from header, remove test articles
* update article styles
* comment out /articles route, update blog post links
* Move article category page to different branch for future PR
* Update build-static-content.js
* remove pagescript
* Update deploying-fleet-on-render.md
* update meta tags
* lint fixes
* Style & Markdown updates
Made a couple of fixes to the styling and markdown.
* update view action, replace route with regex, update links
* authorsGitHubUserName -> authorGitHubUsername, authorsFullName -> authorFullName
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* Add slack notif when integration test fails (#5332)
* Editor pass - Registering in a new state w/ Gusto (#5305)
Editor pass for: https://github.com/fleetdm/fleet/pull/5237
* Editor pass - Creating a consulting agreement (#5304)
* Editor pass - Creating a consulting agreement
Editor pass for: https://github.com/fleetdm/fleet/pull/5273/files
* Update people.md
Co-authored-by: Eric <eashaw@sailsjs.com>
* Fix handbook index (#5341)
* fix: review request changes
* fix: revert to using window.innerHeigh for logic to hide the header
* Update layout.ejs
I don't know if this is good syntax, but I want the masthead to stay in position for a little longer.
* feat: format if logic
* fix: rename handler function to windowScrolled
Co-authored-by: Katheryn Satterlee <me@ksatter.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>
Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2022-04-25 12:02:15 +00:00
<% /* Sticky header */ %>
<script>
var lastScrollTop = 0;
2022-08-25 15:37:12 +00:00
var header = document.querySelector('.header')
2022-10-06 23:49:11 +00:00
window.addEventListener('scroll', windowScrolled);
Implement sticky nav for fleetdm.com (#5298)
* feat: implement sticky nav for fleetdm except the homepage
* feat: add sticky nav to homepage
* Add note for v 4.13 to fleetctl docs (#5274)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* License dispenser query strings (#5321)
Co-authored-by: Tim Kern <tim@fleetdm.com>
* chore(test): rewritten query side panel test using rtl (#5189)
* Update get started (fleetctl preview) instructions on website (#5312)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* update customer layout (#5329)
* Handbook: Rename Slack channel, suggest DRI for #help-golang (#5157)
* Handbook: Rename Slack channel, suggest DRI for #help-golang
* Deleted #help-golang and #help-frontend
This is based on the call Zach and I had today about eliminating the extra "Help" channels, now that there are development groups where more focused conversation can happen without blasting every engineer in the company.
FYI I checked and #help-frontend is actively used, whereas #help-golang is much less active.
* Editor pass - Added and renamed the Rituals section (#5300)
Editor pass for: https://github.com/fleetdm/fleet/pull/5183
I added and renamed the Rituals section with a link for consistency.
This PR is related to: https://github.com/fleetdm/fleet/pull/5299
* Unified text for private IP address (#5301)
* unified text for private ip address
* updated capitalization
* Added utm_source tracking to calendly link (#5281)
Will allow us to track schedule demo submissions from pricing page by adding utm_source
* Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components
* component clean up
* removed redux from routes
* rename file
* moved useDeepEffect hook with others
* removed redux, fleet, app_constants dirs; added types to utilities
* style cleanup
* typo fix
* removed unused ts-ignore comments
* removed redux packages!!!
* formatting
* fixed typing for simple search function
* updated frontend readme
* Website add articles page. (#5243)
* create '/articles' and add 4 test articles
* update build-static-content script for '/articles'
* article pages
* Validate article page metaData
* add articles linked from header, remove test articles
* update article styles
* comment out /articles route, update blog post links
* Move article category page to different branch for future PR
* Update build-static-content.js
* remove pagescript
* Update deploying-fleet-on-render.md
* update meta tags
* lint fixes
* Style & Markdown updates
Made a couple of fixes to the styling and markdown.
* update view action, replace route with regex, update links
* authorsGitHubUserName -> authorGitHubUsername, authorsFullName -> authorFullName
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* Add slack notif when integration test fails (#5332)
* Editor pass - Registering in a new state w/ Gusto (#5305)
Editor pass for: https://github.com/fleetdm/fleet/pull/5237
* Editor pass - Creating a consulting agreement (#5304)
* Editor pass - Creating a consulting agreement
Editor pass for: https://github.com/fleetdm/fleet/pull/5273/files
* Update people.md
Co-authored-by: Eric <eashaw@sailsjs.com>
* Fix handbook index (#5341)
* fix: review request changes
* fix: revert to using window.innerHeigh for logic to hide the header
* Update layout.ejs
I don't know if this is good syntax, but I want the masthead to stay in position for a little longer.
* feat: format if logic
* fix: rename handler function to windowScrolled
Co-authored-by: Katheryn Satterlee <me@ksatter.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>
Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2022-04-25 12:02:15 +00:00
function windowScrolled() {
2022-10-06 23:49:11 +00:00
let scrollTop = window.pageYOffset || document.documentElement.scrollTop;
2022-07-12 21:24:15 +00:00
if(scrollTop > lastScrollTop && scrollTop > window.innerHeight * 1.5) {
header.classList.add('translate-y-0');
2022-10-06 23:49:11 +00:00
lastScrollTop = scrollTop;
} else if(scrollTop < lastScrollTop - 60) {
2022-08-10 03:23:14 +00:00
header.classList.remove('translate-y-0');
2022-10-06 23:49:11 +00:00
lastScrollTop = scrollTop;
2022-07-12 21:24:15 +00:00
}
Implement sticky nav for fleetdm.com (#5298)
* feat: implement sticky nav for fleetdm except the homepage
* feat: add sticky nav to homepage
* Add note for v 4.13 to fleetctl docs (#5274)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* License dispenser query strings (#5321)
Co-authored-by: Tim Kern <tim@fleetdm.com>
* chore(test): rewritten query side panel test using rtl (#5189)
* Update get started (fleetctl preview) instructions on website (#5312)
Co-authored-by: Kelvin Oghenerhoro Omereshone <kelvin@fleetdm.com>
* update customer layout (#5329)
* Handbook: Rename Slack channel, suggest DRI for #help-golang (#5157)
* Handbook: Rename Slack channel, suggest DRI for #help-golang
* Deleted #help-golang and #help-frontend
This is based on the call Zach and I had today about eliminating the extra "Help" channels, now that there are development groups where more focused conversation can happen without blasting every engineer in the company.
FYI I checked and #help-frontend is actively used, whereas #help-golang is much less active.
* Editor pass - Added and renamed the Rituals section (#5300)
Editor pass for: https://github.com/fleetdm/fleet/pull/5183
I added and renamed the Rituals section with a link for consistency.
This PR is related to: https://github.com/fleetdm/fleet/pull/5299
* Unified text for private IP address (#5301)
* unified text for private ip address
* updated capitalization
* Added utm_source tracking to calendly link (#5281)
Will allow us to track schedule demo submissions from pricing page by adding utm_source
* Removed all traces of Redux from the app! (#5287)
* clean up routes and useless components
* component clean up
* removed redux from routes
* rename file
* moved useDeepEffect hook with others
* removed redux, fleet, app_constants dirs; added types to utilities
* style cleanup
* typo fix
* removed unused ts-ignore comments
* removed redux packages!!!
* formatting
* fixed typing for simple search function
* updated frontend readme
* Website add articles page. (#5243)
* create '/articles' and add 4 test articles
* update build-static-content script for '/articles'
* article pages
* Validate article page metaData
* add articles linked from header, remove test articles
* update article styles
* comment out /articles route, update blog post links
* Move article category page to different branch for future PR
* Update build-static-content.js
* remove pagescript
* Update deploying-fleet-on-render.md
* update meta tags
* lint fixes
* Style & Markdown updates
Made a couple of fixes to the styling and markdown.
* update view action, replace route with regex, update links
* authorsGitHubUserName -> authorGitHubUsername, authorsFullName -> authorFullName
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* Add slack notif when integration test fails (#5332)
* Editor pass - Registering in a new state w/ Gusto (#5305)
Editor pass for: https://github.com/fleetdm/fleet/pull/5237
* Editor pass - Creating a consulting agreement (#5304)
* Editor pass - Creating a consulting agreement
Editor pass for: https://github.com/fleetdm/fleet/pull/5273/files
* Update people.md
Co-authored-by: Eric <eashaw@sailsjs.com>
* Fix handbook index (#5341)
* fix: review request changes
* fix: revert to using window.innerHeigh for logic to hide the header
* Update layout.ejs
I don't know if this is good syntax, but I want the masthead to stay in position for a little longer.
* feat: format if logic
* fix: rename handler function to windowScrolled
Co-authored-by: Katheryn Satterlee <me@ksatter.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Tharun Rajendran <rajendrantharun@live.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Desmi-Dizney <99777687+Desmi-Dizney@users.noreply.github.com>
Co-authored-by: Martavis Parker <47053705+martavis@users.noreply.github.com>
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2022-04-25 12:02:15 +00:00
}
</script>
2020-12-02 20:48:03 +00:00
<%/* bowser.js (for browser detection) -- included inline to avoid issues with minification that could affect the unsupported browser overlay */%>
<script>!function(e,i,s){if("undefined"!=typeof module&&module.exports)module.exports=s();else if("function"==typeof define&&define.amd)define(i,s);else e[i]=s()}(this,"bowser",function(){var e=true;function i(i){function s(e){var s=i.match(e);return s&&s.length>1&&s[1]||""}function o(e){var s=i.match(e);return s&&s.length>1&&s[2]||""}var r=s(/(ipod|iphone|ipad)/i).toLowerCase(),n=/like android/i.test(i),t=!n&&/android/i.test(i),a=/nexus\s*[0-6]\s*/i.test(i),d=!a&&/nexus\s*[0-9]+/i.test(i),l=/CrOS/.test(i),f=/silk/i.test(i),m=/sailfish/i.test(i),v=/tizen/i.test(i),p=/(web|hpw)os/i.test(i),c=/windows phone/i.test(i),u=/SamsungBrowser/i.test(i),h=!c&&/windows/i.test(i),w=!r&&!f&&/macintosh/i.test(i),b=!t&&!m&&!v&&!p&&/linux/i.test(i),g=o(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),k=s(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(i)&&!/tablet pc/i.test(i),y=!x&&/[^-]mobi/i.test(i),S=/xbox/i.test(i),B;if(/opera/i.test(i))B={name:"Opera",opera:e,version:k||s(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)};else if(/opr\/|opios/i.test(i))B={name:"Opera",opera:e,version:s(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||k};else if(/SamsungBrowser/i.test(i))B={name:"Samsung Internet for Android",samsungBrowser:e,version:k||s(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)};else if(/coast/i.test(i))B={name:"Opera Coast",coast:e,version:k||s(/(?:coast)[\s\/](\d+(\.\d+)?)/i)};else if(/yabrowser/i.test(i))B={name:"Yandex Browser",yandexbrowser:e,version:k||s(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)};else if(/ucbrowser/i.test(i))B={name:"UC Browser",ucbrowser:e,version:s(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)};else if(/mxios/i.test(i))B={name:"Maxthon",maxthon:e,version:s(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)};else if(/epiphany/i.test(i))B={name:"Epiphany",epiphany:e,version:s(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)};else if(/puffin/i.test(i))B={name:"Puffin",puffin:e,version:s(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)};else if(/sleipnir/i.test(i))B={name:"Sleipnir",sleipnir:e,version:s(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)};else if(/k-meleon/i.test(i))B={name:"K-Meleon",kMeleon:e,version:s(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)};else if(c){B={name:"Windows Phone",osname:"Windows Phone",windowsphone:e};if(g){B.msedge=e;B.version=g}else{B.msie=e;B.version=s(/iemobile\/(\d+(\.\d+)?)/i)}}else if(/msie|trident/i.test(i))B={name:"Internet Explorer",msie:e,version:s(/(?:msie |rv:)(\d+(\.\d+)?)/i)};else if(l)B={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:s(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)};else if(/edg([ea]|ios)/i.test(i))B={name:"Microsoft Edge",msedge:e,version:g};else if(/vivaldi/i.test(i))B={name:"Vivaldi",vivaldi:e,version:s(/vivaldi\/(\d+(\.\d+)?)/i)||k};else if(m)B={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:s(/sailfish\s?browser\/(\d+(\.\d+)?)/i)};else if(/seamonkey\//i.test(i))B={name:"SeaMonkey",seamonkey:e,version:s(/seamonkey\/(\d+(\.\d+)?)/i)};else if(/firefox|iceweasel|fxios/i.test(i)){B={name:"Firefox",firefox:e,version:s(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)};if(/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(i)){B.firefoxos=e;B.osname="Firefox OS"}}else if(f)B={name:"Amazon Silk",silk:e,version:s(/silk\/(\d+(\.\d+)?)/i)};else if(/phantom/i.test(i))B={name:"PhantomJS",phantom:e,version:s(/phantomjs\/(\d+(\.\d+)?)/i)};else if(/slimerjs/i.test(i))B={name:"SlimerJS",slimer:e,version:s(/slimerjs\/(\d+(\.\d+)?)/i)};else if(/blackberry|\bbb\d+/i.test(i)||/rim\stablet/i.test(i))B={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:k||s(/blackberry[\d]+\/(\d+(\.\d+)?)/i)};else if(p){B={name:"WebOS",osname:"WebOS",webos:e,version:k||s(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)};/touchpad\//i.test(i)&&(B.touchpad=e)}else if(/bada/i.test(i))B={name:"Bada",osname:"Bada",bada:e,version:s(/dolfin\/(\d+(\.\d+)?)/i)};else if(v)B={name:"Tizen",osname:"Tizen",tizen:e,version:s(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||k};else if(/qupzilla/i.test(i))B={name:"QupZilla",qupzilla:e,version:s(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||k};else if(/chromium/i.test(i))B={name:"Chromium",chromium:e,version:s(/(?:chromium)[\s\/](\d+(?:\.
<% /* Auto-injected «script» tags: */ %>
<!--SCRIPTS-->
<script src="/dependencies/sails.io.js"></script>
<script src="/dependencies/lodash.js"></script>
<script src="/dependencies/jquery.min.js"></script>
<script src="/dependencies/vue.js"></script>
<script src="/dependencies/vue-router.js"></script>
<script src="/dependencies/bootstrap-4/bootstrap-4.bundle.js"></script>
2022-06-01 15:31:10 +00:00
<script src="/dependencies/chart.min.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/dependencies/cloud.js"></script>
2021-09-09 04:08:35 +00:00
<script src="/dependencies/docsearch.min.js"></script>
Put live documentation on fleetdm.com (#1380)
* minor clarifications
* further expand comments and stubs
* absorb custom titles embedded in metadata, plus further comment expansion and a followup fix for something i left hanging in f8cbc14829d91e7577c63307fd9c4346dbc229bb
* Skip non-markdown files and use real path maths
* Prep for running in parallel (Remove `continue` so this isn't dependent on the `for` loop)
* determine + track unique HTML output paths
* Compile markdown + spit out real HTML (without involving any but the crunchy nougaty dependency from the very center of everything)
* add md metadata parsing
* add timestamp
* Update build-static-content.js
* attach misc metadata as "other"
* how doc images might should work (this also aligns with how the select few images in the sailsjs.com docs work)
* add file extension to generated HTML files
* "options"=>"meta"
* Make "htmlId" useful for alphabetically sorting pages within their bottom-level section
See recent comments on https://github.com/fleetdm/fleet/issues/706 for more information.
* list out the most important, specific build-time transformations
* Omit ordering prefixes like "1-" from expected content page URLs
* add a little zone for consolidating backwards compatible permalinks
* interpret README.md files by mapping their URLs to match their containing folder
* clarify plan for images
* decrease probability of collisions
* Make capitalization smarter using known acronyms, proper nouns, and a smarter numeric word trim
* Resolve app path in case pwd is different in prod
* Delete HTML output from previous runs, if any
* condense the stuff about github emojis
* got rid of "permalink" thing, since id gets automatically attached during markdown compilation anyway
Also "permalink" isn't even a good name for what this is. See https://github.com/fleetdm/fleet/issues/706#issuecomment-884693931
* …and that eliminates the need for the cheerio dep!
* Bring in bubbles+syntax highlighting into build script, and remove sails.helpers.compileMarkdownContent() -- this leaves link munging as a todo though
* trivial (condense comments)
* Remove unused code from toHtml() helper
* Implemented target="_blank" and root-relative-ification
* remove todo about emojis after testing and verifying it works just fine
* trivial: add link to comment in case github emojis matter at some point
* consolidate "what ifs" in comments
* Leave this up to Sarah, for now. (Either bring it back here in the build script or do it all on the frontend)
* Enable /docs and /handbook routes, and add example of a redirect for a legacy/deprecated URL
* implement routing
* Upgrade deps
this takes advantages of the latest work from @eashaw, @rachaelshaw, and the rest of the Sails community
* tweak var names and comments
* make readme pages use their folder names to determine their default (fallback) titles
as discussed in https://github.com/fleetdm/fleet/issues/706#issuecomment-884788002
* first (good enough for now) pass at link rewriting
as discussed in https://github.com/fleetdm/fleet/issues/706#issuecomment-884742072
* Adapt docs pages to build from markdown output
* Continue work on docs pages
* Add landing page
* Remove unused code; minor changes
* Replace regex
* fixes https://github.com/fleetdm/fleet/pull/1380#issuecomment-891429581
* Don't rely on "path" being a global var
* Syle fleetdm doc pages
* Continue work on docs pages
* Fix linting error
* Disable lesshint style warnings
* parasails-has-no-page-script attribute
Added a parasails-has-no-page-script attribute to the docs template, added a check for that attribute in parasails.js and removed the empty page script for 498
* bring in latest parasails dep
* trivial
* Update links to dedupe and not open in new tab unless actually external
* Disable handbook for now til styles are ready
* fix CTA links
* trivial
* make sitemap.xml get served in prod
* hide search boxes for now, remove hard-coded version and make releases open in new tab
* clean out unused files
Co-authored-by: gillespi314 <73313222+gillespi314@users.noreply.github.com>
Co-authored-by: eashaw <caglc@live.com>
2021-08-18 00:55:13 +00:00
<script src="/dependencies/highlight.min.js"></script>
2022-02-22 12:49:34 +00:00
<script src="/dependencies/mermaid.min.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/dependencies/moment.js"></script>
<script src="/dependencies/parasails.js"></script>
<script src="/js/cloud.setup.js"></script>
<script src="/js/components/ajax-button.component.js"></script>
<script src="/js/components/ajax-form.component.js"></script>
2022-06-01 15:31:10 +00:00
<script src="/js/components/bar-chart.component.js"></script>
2022-06-21 19:08:33 +00:00
<script src="/js/components/call-to-action.component.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/components/cloud-error.component.js"></script>
<script src="/js/components/js-timestamp.component.js"></script>
<script src="/js/components/modal.component.js"></script>
2023-01-11 17:29:38 +00:00
<script src="/js/components/scrollable-tweets.component.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/components/stripe-card-element.component.js"></script>
<script src="/js/utilities/open-stripe-checkout.js"></script>
<script src="/js/pages/account/account-overview.page.js"></script>
<script src="/js/pages/account/edit-password.page.js"></script>
<script src="/js/pages/account/edit-profile.page.js"></script>
Website: Add script for creating HTML email partials from Markdown articles (#7574)
* add to-html-email
* email-preview
* add build-html-email script, update .gitignore
* email preview and email-templates pages, update routes, importer and policies
* add newsletter email layout, build-html-email script, to-html-email updates
* Update .gitignore
* add newsletter emails section to growth handbook
* update scripts
* update fonts in emails
* Update README.md
* Update build-html-email.js
* update comments, add page scripts to layouts
* revert change to build-static-content
* update script
* update email layout and helper
* update handbook entry
* update template data and helper
* update email layout
* update fake data and unsubscribe link
* move added handbook section to the marketing handbook
* rename script
* update colors in unused email template
* update capitalization in helper
* view-email-preview » view-email-template-preview
* Hide emails generated from markdown if they don't exist
* update preview page
* update markdown email directory, create sample article email
* lint fixes, add target="_blank" to links in emails
* update page layouts & styles
* update sample newsletter email, code font, newsletter layout
* Update README.md
* Update view-email-template-preview.js
Co-authored-by: Tim Kern <tim@fleetdm.com>
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2022-12-05 22:30:24 +00:00
<script src="/js/pages/admin/email-preview.page.js"></script>
<script src="/js/pages/admin/email-templates.page.js"></script>
2022-12-05 20:53:16 +00:00
<script src="/js/pages/admin/generate-license.page.js"></script>
2022-04-28 06:16:07 +00:00
<script src="/js/pages/articles/articles.page.js"></script>
2022-04-22 17:27:03 +00:00
<script src="/js/pages/articles/basic-article.page.js"></script>
2022-12-22 05:39:39 +00:00
<script src="/js/pages/connect-vanta.page.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/pages/contact.page.js"></script>
Add customer portal and license dispenser to fleetdm.com (#3546)
* Add images for customer portal, dashboard, and email templates
* updated email layout and reset password template, new email template
* update ajax-button component to have an optional spinner
* updated cloud-error & stripe-card-element component styles
* updates to user model, add quote and subscription
* Login, signup, forgot password, update profile
* link to customer portal from pricing
* new-license page, bootstrap updates
* create quote action, dashboard page, update routes
* Add new page styles to importer, update component styles
* updates to js-timestamp
* update modal styles and layout
* using @submitted on ajax form, controller updates
* Update create-quote.js
* updates to quote model, action updates, truncate license key on dashboard
* update email layout, subscribe action, user model
* Update importer.less
* style updates, order confirmation
* use correct font
* style updates
* create license key
* new-license page changes
* signup page changes
* add billing format to js-timestamp component, dashboard updates, change password
* swap get started link for customers
* order -> subscription
* Update login.ejs
* Lint fixes, page updates, mobile styles
* remove edit-profile route, update layout, bootstrap, forms
* change customer-layout name to match other layout names, update copyright year in layouts
* changes requested from code review and #3570
* submit button width, contact font-size
* Update dashboard.less
* Update bootstrap-overrides.less
* slack logo update, login text
2022-01-05 02:02:42 +00:00
<script src="/js/pages/customers/dashboard.page.js"></script>
<script src="/js/pages/customers/new-license.page.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/pages/dashboard/welcome.page.js"></script>
2021-05-20 08:22:42 +00:00
<script src="/js/pages/docs/basic-documentation.page.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/pages/entrance/confirmed-email.page.js"></script>
<script src="/js/pages/entrance/forgot-password.page.js"></script>
<script src="/js/pages/entrance/login.page.js"></script>
<script src="/js/pages/entrance/new-password.page.js"></script>
<script src="/js/pages/entrance/signup.page.js"></script>
<script src="/js/pages/faq.page.js"></script>
2023-01-11 17:29:38 +00:00
<script src="/js/pages/fleet-mdm.page.js"></script>
2022-03-09 14:27:43 +00:00
<script src="/js/pages/get-started.page.js"></script>
2021-05-26 08:24:38 +00:00
<script src="/js/pages/handbook/basic-handbook.page.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/pages/homepage.page.js"></script>
2022-04-13 06:12:56 +00:00
<script src="/js/pages/landing.page.js"></script>
2020-12-02 20:48:03 +00:00
<script src="/js/pages/legal/privacy.page.js"></script>
<script src="/js/pages/legal/terms.page.js"></script>
2022-09-24 00:06:55 +00:00
<script src="/js/pages/osquery-table-details.page.js"></script>
2022-01-25 03:40:16 +00:00
<script src="/js/pages/platform.page.js"></script>
2021-09-09 21:56:29 +00:00
<script src="/js/pages/press-kit.page.js"></script>
2021-04-02 20:12:28 +00:00
<script src="/js/pages/pricing.page.js"></script>
2021-05-10 04:48:59 +00:00
<script src="/js/pages/query-detail.page.js"></script>
2021-05-20 08:22:42 +00:00
<script src="/js/pages/query-library.page.js"></script>
2022-06-01 15:31:10 +00:00
<script src="/js/pages/reports/state-of-device-management.page.js"></script>
2022-06-24 05:50:44 +00:00
<script src="/js/pages/sales-one-pager.page.js"></script>
2021-07-15 14:48:21 +00:00
<script src="/js/pages/transparency.page.js"></script>
Website: Fleet Sandbox (#6380)
* 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 d5a1280759266f6bf587c9bab275d1a3e69ec16a.
* 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 6297c33892231d0ef98bed4cbb127f4263ebc48d.
* Revert "Revert "Provision Fleet sandbox for users logging in""
This reverts commit c2a2567b68325ea92e19f908226de2f52d8265f9.
* Revert "Revert "Revert "Provision Fleet sandbox for users logging in"""
This reverts commit acc178ea76ece637f7f6eab9f44ee51c44f59a00.
* 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>
2022-08-12 22:31:01 +00:00
<script src="/js/pages/try-fleet/register.page.js"></script>
<script src="/js/pages/try-fleet/sandbox-expired.page.js"></script>
<script src="/js/pages/try-fleet/sandbox-login.page.js"></script>
<script src="/js/pages/try-fleet/sandbox-teleporter.page.js"></script>
2023-01-31 23:53:09 +00:00
<script src="/js/pages/upgrade.page.js"></script>
2022-12-22 05:39:39 +00:00
<script src="/js/pages/vanta-authorization.page.js"></script>
2020-12-02 20:48:03 +00:00
<!--SCRIPTS END-->
<% /* Display an overlay if the current browser is not supported.
(Relies on `bowser`, which is loaded inline above.) */ %>
<script>
(function(){
if (typeof bowser !== 'undefined') {
// --------------------------------------------------------------------
// Additional compatibility tips:
//
// • The browser/OS compatibility below is determined by the needs of Vue.js and Bootstrap.js.
// • All browsers on Windows XP are probably unsupported (because of compatibility issues with modern SSL certs)
// • See https://getbootstrap.com/docs/4.0/getting-started/browsers-devices/
// • See also https://github.com/vuejs/vue/tree/0e5306658ad7b83c553a6a3eeedb15f9066ab063#browser-compatibility
// • For more info, see:
// - https://github.com/lancedikson/bowser/blob/1fb99ced0e8834fd9662604bad7e0f0c3eba2786/test/test.js#L110-L123
// - https://github.com/lancedikson/bowser/tree/1fb99ced0e8834fd9662604bad7e0f0c3eba2786#rendering-engine-flags
// --------------------------------------------------------------------
var LATEST_SUPPORTED_VERSION_BY_OS = {
iOS: '10',//« earliest version to eliminate rare bug where `window.location` doesn't exist momentarily after doing a server-side redirect
Android: '6'
};
var LATEST_SUPPORTED_VERSION_BY_USER_AGENT = {
msedge: '16',
2021-08-30 07:31:53 +00:00
// msie: '11',
2020-12-02 20:48:03 +00:00
safari: '10',//« earliest version to eliminate rare bug where `window.location` doesn't exist momentarily after doing a server-side redirect
2022-05-18 17:05:13 +00:00
firefox: '54',//« earliest version to support both ES6 (for Vue.js) and unprefixed flexbox (for Bootstrap 4)
chrome: '51',//« earliest version to support both ES6 (for Vue.js) and unprefixed flexbox (for Bootstrap 4)
opera: '38',//« earliest version to support both ES6 (for Vue.js) and unprefixed flexbox (for Bootstrap 4)
2020-12-02 20:48:03 +00:00
};
var LATEST_SUPPORTED_VERSION_BY_BROWSER_NAME = {
'microsoft edge': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.msedge,
2021-08-30 07:31:53 +00:00
// 'internet explorer': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.msie,
2020-12-02 20:48:03 +00:00
'safari': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.safari,
'firefox': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.firefox,
'chrome': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.chrome,
'opera': LATEST_SUPPORTED_VERSION_BY_USER_AGENT.opera
};
var isUnsupportedBrowser = (
2021-08-31 23:33:06 +00:00
bowser.isUnsupportedBrowser(LATEST_SUPPORTED_VERSION_BY_USER_AGENT, window.navigator.userAgent) || bowser.msie
2020-12-02 20:48:03 +00:00
);
var isUnsupportedOS = (
LATEST_SUPPORTED_VERSION_BY_OS[bowser.osname] &&
bowser.compareVersions([bowser.osversion, LATEST_SUPPORTED_VERSION_BY_OS[bowser.osname]]) < 0
);
if (isUnsupportedBrowser || isUnsupportedOS) {
document.body.innerHTML =
'<div class="container browser-warning-message text-center">'+
2022-02-26 00:28:38 +00:00
' <a href="https://fleetdm.com/company/contact">'+
'<img style="display: block; height: 40px; width: auto; margin: 0 auto 32px;" alt="Logo" src="/images/fleet-logo-black-118x40@2x.png"/>'+
2020-12-02 20:48:03 +00:00
'</a>'+
' <h5 class="card-title">This '+(isUnsupportedBrowser ? 'browser' : 'operating system')+' is not supported.</h5>'+
2022-02-26 00:28:38 +00:00
' <p style="max-width: 500px; margin: 0 auto 24px;">'+
2020-12-02 20:48:03 +00:00
' This app does not currently support '+(
2021-08-31 23:33:06 +00:00
isUnsupportedBrowser?
(bowser.msie?
'<strong>'+bowser.name+'</strong><br>'+ 'To continue, please use a supported browser, or download the <a href="https://www.google.com/chrome">latest version of Google Chrome</a>.'+
' </p>'+
' <a class="btn btn-primary" style="padding: 5px 10px" href="https://www.google.com/chrome">Download Chrome</a>'
2020-12-02 20:48:03 +00:00
:
2021-08-31 23:33:06 +00:00
'<strong>'+bowser.name+'</strong> for versions lower than <strong>v'+ LATEST_SUPPORTED_VERSION_BY_BROWSER_NAME[bowser.name.toLowerCase()]+'</strong>. '+
'To continue, please upgrade your browser to the newest version, or download the <a href="https://www.google.com/chrome">latest version of Google Chrome</a>.'+
' </p>'+
2022-02-26 00:28:38 +00:00
' <a class="btn btn-sm btn-primary" style="padding: 5px 10px" href="https://www.google.com/chrome">Download Chrome</a>'
2021-08-31 23:33:06 +00:00
)
:
'<strong>'+bowser.osname+'</strong> for versions lower than <strong>v'+ LATEST_SUPPORTED_VERSION_BY_OS[bowser.osname]+'</strong>. '+
'To continue, please use a different device, or <a href="'+(bowser.osname === 'iOS' ? 'https://support.apple.com/en-us/HT204204' : 'https://support.google.com/android/?hl=en#topic=7313011')+'">upgrade this device\'s software</a> to the latest compatible version.'+
' </p>'+
' <a class="btn btn-primary" style="padding: 5px 10px" href="/contact">Need help?</a>'
2020-12-02 20:48:03 +00:00
)+
'</div>';
document.body.style.padding = '75px 0';
}
}
Add chat to website (#165)
* prevent eslintrc conflicts
* Pricing + chat for website (#124)
* Update manage users styles. Implement table (list) view. (#104)
The goal of this PR is to change the layout of the manage users to a table (list view).
Move the user actions into the table view.
Move EditUserForm into a Modal
Update styles for InviteUserForm
Edit copy for the configuring SMTP warning.
* Update query page (edit, new, manage) and packs page (edit, new, manage) styles. (#106)
The goal of this PR is to update the style across the query and packs pages so they are consistent with the latest global styles (colors, buttons, and fonts).
* Update app settings page and osquery options page styles. (#107)
The goal of this PR is to implement the new global styling (colors, buttons, and fonts) to the "App settings" and "Osquery options" pages. These pages are only visible to users granted an admin role.
* Fix and clarify API auth documentation (#109)
- Fix header name.
- Add note about SSO auth.
* New styles for 404, 500, Login, User settings, and Confirm invite pages. (#108)
- Kolide404 and Kolide500 components renamed to Fleet404 and Fleet500
- Styling for Login and Confirm invite pages are consistent with the recent changes to the Setup page.
- Add "*" character to the 404 <Route />'s path property. Now the 404 page renders when there is no exact path match.
* Fix JSON in rest-endpoints.md (#110)
* Add host enrollment cooldown period (#112)
This addresses an issue some users experienced in which performance
problems were encountered when hosts were "competing" for enrollment
using the same osquery host identifier. The issue is addressed by adding
a cooldown period for host enrollment, preventing the same (as judged by
osquery host identifier) host from enrolling more than once per minute.
When users end up in the problematic scenario, they will see quite a bit
of error logs due to this issue. For now that's probably a good thing as
users need to be aware of the lack of visibility. We can explore rate
limiting the logging if that becomes an issue for someone.
Fixes #102
* Improve MySQL transaction error logging (#113)
Clarify what exactly happened when logging these errors.
* Migrate remaining URLs to fleetdm.com (#116)
* Clean up unused test/demo SQL data (#117)
* Add style fixes caught during QA. Add favicon. (#119)
Changes include style fixes that were caught during a QA pass.
* Make password reset styles consistent with new global styles. (#120)
The changes include adding sentence casing and updating the styles of the and components.
* CHANGELOG for 3.5.0 (#121)
* Update fleetctl version number. Fix spelling error in changelog. (#122)
* Fix alt tag
* Set up pricing cards
* Match footer to bottom of gradient
* Set up FAQ and stub out chat button click
* Add chat, plus some other tweaks.
* fiddling with Papercups to hopefully get it to recognize who's responding from the Fleet side
* This isn't really a solution but it's the best we've got til Papercups is hacked to allow programmatic opening (or til we switch to something else, or just bring in the traditional contact form)
* trivial
* Temporary workaround using an undocumented API in papercups
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Co-authored-by: Rachael McNeil <r@rachael.wtf>
Co-authored-by: Rachael Shaw <rachaelshaw@users.noreply.github.com>
2021-01-01 02:28:18 +00:00
})();
2020-12-02 20:48:03 +00:00
</script>
2021-11-09 19:37:53 +00:00
<% /* Keep footer hidden until the document is ready (prevents flicker that is especially unattractive on mobile) */ %>
<script>
$(function() {
$('[data-hide-until-rendered]').removeClass('invisible'); // Note: invisible is a bootstrap 4 class
});
2022-03-01 19:47:36 +00:00
<%/* Adding hover events to header dropdown menus*/%>
$(function(){
$('[purpose=dropdown-button]').hover(
function() {
$(this).children('.dropdown-menu').addClass('show');
$(this).children('.dropdown-toggle').attr('aria-expanded', true);
},
function() {
$(this).children('.dropdown-menu').removeClass('show');
$(this).children('.dropdown-toggle').attr('aria-expanded', false);
});
});
2021-11-09 19:37:53 +00:00
</script>
2020-12-02 20:48:03 +00:00
</body>
</html>