Related to: https://github.com/fleetdm/fleet/issues/10210
Changes:
- Added `/experimental/okta-webflow`
- This page has a login form that accepts any input. When the login form
is submitted, the page shows the user a EULA.
- Updated policies, importer.less and routes
- Updated `layouts/layout-sandbox` to hide the website's header and
footer, and disable the Papercups chat widget when a variable named
`optimizeForAppleWebview` is set to `true`.
---------
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Updated `receive-from-github.js` to only send requests to freeze and
unfreeze the Fleet repo when the PR it is checking is from the
fleetdm/fleet repo.
Closes: https://github.com/fleetdm/confidential/issues/1748
Changes:
- Added an error that is thrown if a Stripe customer cannot be created
for a new user.
- Updated `signup.js` to create Stripe customers for new users before
the new record is saved in the database. This helps prevent situations
where users are shown an error message when they submit the signup form,
but their account was actually created (without a `stripeCustomerId`).
Changes:
- Updated the `receive-from-github` webhook to tolerate failed requests
to the Merge Freeze API. If a request fails, the webhook logs a warning
and continues as if the main branch is not frozen.
---------
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Updated `signup.js` to:
- Add a new exit: `requestToSandboxTimedOut`
- Increased the timeout on the request to the Fleet Sandbox provisioner
from 5000ms to 10000ms
- Changed the error thrown when a request times out to a logged warning.
- return the `requestToSandboxTimedOut` exit when a request to the Fleet
Sandbox provisioner times out.
- Added an error message to the Sandbox registration page for when
requests time out
- created a new page on fleetdm.com called /compliance
- updated the main nav to include this page under 'Platform'
---------
Co-authored-by: Eric <eashaw@sailsjs.com>
Closes: https://github.com/fleetdm/fleet/issues/9762
Changes:
- `routes.js`: Changed the `currentPage` local variable to
`currentSection` and updated the value based each on the dropdown
navigation menus in the website header. This variable is used to make a
section "active" in the header.
- `view-basic-article` & `view-articles`: Updated these view actions to
set a `currentSection` variable based on the Markdown article category.
- `Layout.less`: Updated styles to match wireframes
- `layout.ejs`: Updated the styles and layout of the website header to
match wireframes.
- `layout-landing.ejs`, `layout-sandbox.ejs` & `layout-customer.ejs`:
Updated to match wireframes and stylesheet changes.
- `basic-documentation.less`: adjusted the position of the sticky right
sidebar.
---------
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Added a new page: `/upgrade-to-fleet-premium`
- Added a new action `deliver-premium-upgrade-form.js`
- Updated policies, routes, importer.less, and regenerated
cloud.setup.js
.
---------
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Closes: https://github.com/fleetdm/fleet/issues/6493
Changes:
- Added a new action, `get-one-rss-feed.js`. This action generates and
returns RSS feeds for article categories on fleetdm.com.
- This action has one required input: `categoryName`.
- Lives at `/rss/[Article Category Name]` e.g.,
`fleetdm.com/rss/releases`
- If `articles` is provided as the category, it returns an RSS feed of
all articles published on our blog.
- Updated `view-basic-article.js` to set an `articleCategorySlug`
variable, that is used to link to the RSS feed for an article category
from an article page.
- Added a "subscribe" button to articles and article category pages that
links to an RSS feed for that category.
When the file is provided as an attachment to the Sails helper, it gets
decoded, since we need for the signed CSR to be delivered in base64
format, we doubly encode the contents before sending the email.
Changes:
- Updated the custom hook to include a POST request to Algolia to
refresh the Fleetdm.com search index.
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Updated the conditional statement that determines if we will be
notified in Slack to filter out commit comments and deleted comments
from Fleet team members with uppercase letters in their GitHub
usernames.
This pull request relies on the `mdm-gen-cert` command from
https://github.com/fleetdm/fleet/pull/8884.
Closes: https://github.com/fleetdm/fleet/issues/8223
Changes:
- Updated the deploy Fleet website workflow to:
- Add Go as a dependency
- Build the mdm-gen-cert binary in `/website/.tools/`
- add the `/.tools/` folder to the Heroku app
- Added `deliver-apple-csr.js` - an API that:
- can be called by making a `POST` request to
`/api/v1/deliver-apple-csr`
- accepts `csr` as an input
- runs the `mdm-gen-cert` command with the `csr` set as an environment
variable
- returns an `invalidEmailDomain` response if the user's email domain is
in the array of banned email domains.
- saves the users organization and email address to the website's
database
- Sends an email to the requesting user's email address with the signed
CSR attached as a text file named `apple-apns-request.txt`
- Posts a message to a channel in the Fleet Slack.
- Added a new model: `CertificateSigningRequests` that contains two
required attributes: `emailAddress` and `organization`
- Added a new email template `email-signed-csr-for-apns`
- Updated routes, policies, eslintrc, and rebuilt cloud-sdk
Before this can be merged, we will need to:
- [x] Add new config variables in Heroku
- [x] `sails.config.custom.mdmVendorCertPem`
- [x] `sails.config.custom.mdmVendorKeyPem`
- [x] `sails.config.custom.mdmVendorKeyPassphrase`
- [x] `sails.config.custom.slackWebhookUrlForMDMSignups`
- [x] Add the `CertificateSigningRequests` model to the website's
database
Improve https://github.com/fleetdm/fleet/pull/9336 providing default
settings similar to the OpenAI playground, including a higher
temperature and number of maximum tokens. Also fixes prefix trimming.
This improves https://github.com/fleetdm/fleet/pull/9336 by eliminating
junk text and encouraging better replies. Uses an h1 to emphasize the
issue title, so that short issues don't get weird and truncated, and the
bot reply stays focused on the main point of the issue.
Changes:
- Added a "Number of devices" input to the MDM beta signup form on the
`/device-management` page.
- Updated `website/api/controllers/deliver-mdm-beta-signup.js` to accept
a `numberOfHosts` input, and to include that value in the request to the
Zapier webhook.
Changes:
- Added three errors to
`website/api/helpers/get-extended-osquery-schema.js` that are thrown if
a YAML schema table has:
- A `platforms` value that is not an array
- A `description` value that is not a string
- A `columns` value that is not an array
- Updated the `platforms` of YAML schema tables in `schema/tables/` that
had string `platforms` values
- Regenerated `/schema/osquery_fleet_schema.json`
.
Changes:
- Updated the version of the osquery schema we merge with Fleet's
overrides (`5.6.0` » `5.7.0`)
- Ran the `generate-merged-schema` script to regenerate
`schema/osquery_fleet_schema.json`
. .
Changes:
- Updated the Fleet sandbox registration page to make a first name, last
name, and organization required.
- Removed the "REQUIRED" label from the email address input on the Fleet
Sandbox registration page and removed styles for it from the page's
stylesheet.
- Updated the `organization` input of `signup.js` to be required.
- Changed the POST request to Zapier in `signup.js` to always use the
information provided.
Changes:
- Added a new page: `/device-management`
- Added a new action: `deliver-mdm-beta-signup.js` - This action sends a
post request to a Zapier webhook when a user submits a form on the
`/device-managment` page.
- Added a new component: `<scrollable-tweets>`
- Updated routes, importer, policies, cloud-sdk, and
`download-sitemap.js`
- Updated the route for our success story articles to live at
`fleetdm.com/success-stories/*` (Previously at
`fleetdm.com/device-management/*`) and updated `config/routes.js` to
have redirects for each article in that category
- Updated the "Use cases" navigation item to "Platform" and changed the
platform link to "How it works"
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
Changes:
- Updated the `expiresAt` input description in
`api/controllers/admin/generate-license-key.js` and
`api/helpers/create-license-key.js`
- Updated timestamps sent to `generate-license-key` and
`create-license-key` to be in seconds.
. .
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
As raised by a community member in
[Slack](https://osquery.slack.com/archives/C01DXJL16D8/p1672751794862639),
this updates our documentation to account for both `unified_log` and
`macadmins_unified_log`.
Per my testing, it should also help with the #9158 bug in Fleet's UI.
I have updated the columns of `macadmins_unified_log` according to
what's in the [source
code](50f94d0d70/tables/unifiedlog/unified_log.go (L47-L69)),
and modified the example to work.
Since I was there I have also updated the osquery version we use to pull
the JSON to `5.6.0` and fixed a small bug related to the examples we
pull from there.
. . . . . . .
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
cc: @alexmitchellii
Changes:
- Added optional inputs to the Fleet Sandbox signup page:
- First name
- Last name
- Organization
- Updated signup.js to send the optional inputs to the Zapier webhook
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
https://github.com/fleetdm/fleet/issues/9172
Changes:
- Added
`website/api/controllers/webhooks/recieve-stripe-subscription-events.js`
a webhook for receiving Stripe events.
- If the stripe event received is from a user's subscription
automatically renewing, A new license key is generated, the subscription
record is updated, and a renewal confirmation email is sent.
- If the stripe event received is from a user's subscription's upcoming
renewal, a renewal notification email is sent.
- If any other event type is received from Stripe, the webhook returns a
200 response.
- Added new email templates:
- `email-subscription-renewal-confirmation`
- `email-upcoming-subscription-renewal`
- Updated `website/api/controllers/admin/view-email-template-preview.js`
to have fake data for the added email templates.
- Updated `website/api/controllers/customers/view-dashboard.js` to set
two boolean variables: `subscriptionExpiresSoon` and
`subscriptionHasBeenRecentlyRenewed`
- Updated the customer dashboard to display notifications on the top of
the page if a user's subscription will renew in the next 30 days, or if
the user's subscription has been renewed in the past 30 days.
- `website/views/layouts/layout-email.ejs` - Updated the font, padding,
and text color to match wireframes.
* add link to "defaults to root" text and evented table labels
* override requires_user_context value in merged schema
* update link styles on table pages
* Update get-extended-osquery-schema.js
* encodeURIComponent
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
* update helper to use the osquery schema from the osquery/osquery-site repo
* update script description and generated json filename
* Add ritual to digital experience handbook
* add merged schema
* Update README.md
* Update get-extended-osquery-schema.js
* add additional inputs to billing info form
* adjust layout, update labels to match wireframes
* update inputs
* rebuild cloud-sdk with new inputs
* Remove focus from billing info form
* update updateOne inputs
* Add signupReason to the User model, update new-license page script and signup action
Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
* move docsearch api key to a config variable, update styles to disable outline on input
* Update basic-handbook.less
* Update basic-handbook.less
* update config variable name & update comment
* Website: send request to Zapier when a license is purchased
* Update error message/lint fix
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
* 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>
* add #handbook label to handbook PRs
* Update get-is-pr-only-handbook-changes.js
* remove while loop from _.all()
* revert changes to github token name
* Simplifications
Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
A timeboxed workaround for an intermittent issue where the mergefreeze API reports that a repo is frozen: false, when the mergefreeze UI says that it is actually truly frozen.
Turns out the issue being debugged in https://github.com/fleetdm/fleet/pull/6906 was in the API itself-- somehow it can get stuck on frozen: false. If that happens, the solution is to freeze/unfreeze everything in the dashboard
* Tool: Bring back mergefreeze API integration
Context: https://github.com/fleetdm/fleet/pull/5628#issuecomment-1196175485
Unfortunately, the API doesn't work.
* Lay out how this would work in the database - but instead, do it ephemerally for now
* Remove model
* Maintain state (the easy way for now)
* Website: Follow up to strip leading slashes
re https://github.com/fleetdm/fleet/pull/6796#issuecomment-1193054810
* remove log
* Verified: whitespace trim not needed
And leading slash trim is only needed if using a regex route (not something I recommend most of the time). But since we are using one, I included it, and put it in all three places for consistency. (It doesn't ever hurt)
* Simplify regex syntax used for #2025
* extra trailing slashes now redirect instead of rendering
* Simplify regex
* Match implementation to view-basic-documentation, etc
* Match view-basic-documentation, and slurp up title and description logic to help indicate (and future proof) that it has no side effects
* Update view-basic-handbook.js
* Update view-basic-documentation.js
* trivial
* lint fix
* make handbook and doc landing pages continue working despite my recent commit in this same PR, and add some comment clarifications
* update regex to replace leading slashes and whitespace
Co-authored-by: Eric <eashaw@sailsjs.com>
Related to #5898, this reports an anonymized summary of errors stored in Redis into the analytics payload.
For each error stored, this includes:
- A `count` attribute with the number of occurrences of the error
- A `loc` attribute with the 3 topmost lines in the stack trace. Note that stack traces only contain package name + line number (example: github.com/fleetdm/fleet/server.go:12
This also includes a minor refactor around error types.
* Website: Create page for sales one-pager
* update layout, add images
* update mobile layout
* update layout & styles
* Update sales-one-pager.less
* add todos for page description and page title
* add alt text, final route & meta information, make hero-image visible at 1024px
* state of device management page, chart component
* add images
* website: add charts.min.js, update layout, page script, and images
* layout updates, component validation
* add alt text, lint fixes
* update image name
* update bar-chart styles and layout
* add empty href and link styles
* Style overrides for mobile & tablet
• Added style overrides for mobile and tablet.
* Updated text
Updated text for the following sections:
• Introduction
• Key findings
• Part 1
* Updated text
Updated text in the following sections:
• Part 2
• Part 3
• Part 4
• Part 5
• Part 6
* Additional icon and text change
• Added icon for GitOps
• Repositioned text: The future of device management
* Text change
Removed "Takeaways" header from Part 6.
* style changes
• fixed some inconsistent headers (h3 to h2).
• fixed margin bottom on new GitOps note.
• Removed unneeded subsection div after removing "Takeaways" heading in my previous commit.
* update chart styles, add update charts function, sticky navigation
* lint fix
* lint fix
* Scroll navigation with header
* text changes
Updated chart titles to match the survey.
* style tweaks
Style tweaks to the charts.
* add pdf
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* trivial (comments)
* Remove old unfreeze/freeze logic
* trivial (clarify comment)
* Trivial (fix weird character)
* Extrapolate DRI mappings into config.
* Explain why this exists
* Extrapolate logic
* Use extrapolated logic + add 5 second wait time to prevent accidents + clean up
* Use extrapolated logic and fix omission in helper
* Make freezing actually happen and document usage
* In script, don't freeze PRs as long as they're preapproved to be edited by SOMEBODY
* Lint fixes
* articles page
* update articles route to handle category urls
* update articles page
* add articleImageUrl meta tags to article pages
* basic empty state, add comments
* Update view-articles.js
* Update articles.less
* add articles, update styles and image url validation
* lint fix
* Update routes.js
* Update articles.ejs
* Update articles.page.js
Updated article category descriptions.
* migrated more articles
I migrated more articles so that all categories are populated.
* Added thumbnails to new posts
* Some style tweaks
- Tweaked a couple of styles
- Added cursor: pointer to filters
- Changed "Blog" to "Articles" in the navigation
- Changed /blog to /articles in the navigation
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* add custom blockquote render and styles
* Update to-html.js
* adjust margin, replace icon
* increase margin on image
* Style updates
After seeing it in action, I noticed some improvements. I also updated Figma to reflect.
• Changed colors and icon alignment
• Adjusted top/bottom margins
• Adjusted corner radius
• Added new color variable (existing in Figma) to colors.less
Co-authored-by: Mike Thomas <mthomas@fleetdm.com>
* Github bot: Temporarily disable label change notifications
Michael Thomas🕐 Today at 01:36
Are these alerts necessary in #g-digital-experience, and if not, how do we turn them off? They're creating a lot of noise in the channel 😵
1 reply
mikermcneil 3 minutes ago
I'm envisioning Digital Experience is responsible for keeping github labels tidy, so having visibility into changes would be useful. If you currently don't have bandwidth to do it, this is an easy thing to let slip, since it isn't the highest priority. (Labels have already gotten a bit messy- to the point I don't use them at all anymore, for example. I don't think they're actually necessary anymore, other than for doing estimations)
I'll PR a change that disables it for now.
* fix extra ampersand
* GitHub webhook: Add support for '*' DRI rule
This allows any fleetie to edit the handbook landing page (e.g. in the event pages need to get moved around)
* invert how DRI rules for website are expressed
* lint fix + add support for array syntax
* Update receive-from-github.js
* Update receive-from-github.js
* Update receive-from-github.js
* Update receive-from-github.js
* Update receive-from-github.js
* feat: add query to find running docker containers
* docs: 📝 add query to get Mac and Linux machines with unencrypted primary disks
* feat: add query to find running docker containers
* docs: 📝 add query to get Mac and Linux machines with unencrypted primary disks
* chore: remove queries from develop
* docs: add query to get running docker containers
* docs: add query to get machines with unencrypted primary disks
* fix: remove trailing ---
* fix: remove trailing ---
* chore: remove trailing ---
* docs: add query to get applications hogging memory
* fix: resolve merge conflicts
* chore: update PR
* chore: update PR
* chore: merge previous query
* feat: add query to find servers with root logins within the day
* fix: remove unneeded period
* docs: add instructions for submiting multiple queries
* fix: remove duplicate entry
* fix: remove period from get running docker containers query description
* docs: add instructions for submiting multiple queries
* fix: resolve merge conflicts
* feat: add description for query to fetch failing batteries
* fix: resolve duplicate descriptions
* fix: remove typo in deplying docs
* fix: reword description
* fix: add suggestions to improve description
* feat: add description to query to fet windows machines with unencrypted hard disks
* feat: update description for count apple applications installed query
* chore: add dominuskelvin as maintainer
* docs: 📝 Add query to get apps opened within the last 24 hours
* feat: add query to find apps not in Applications directory
* feat: add query to find subscription based applications that have not been opened for the last 30 days
* feat: add link to signing installers
* fix: typo with link to the getting started page
* feat: docs on how to sign an osquery installer
* feat: make signing installer a subsection of osquery installer
* feat: make description for signing installer shorter and compact
* fix: change package to installers
* fix: reword note section
* feat: add instructions to use credentials below to log in to fleet preview
* feat: update static pages explicitly listed in sitemap
* Stub out a way of automatically poking a hole in branch protections for DRIs
* cleaned things out in there
* prototype of autoapproval automation
prototype of autoapproval automation for DRIs editing their files
* should never happen
* Add more specific error for login.js
* fix typo, add can I use comment
* adjust padding for quote preview
* update quoted price when number of hosts change
* update footer link layout
* fix lint error
* handling redirect
* clean up redirect/notFound flow
* dynamic query titles and description
* dynamic docs titles
* Remove locals from queries and docs, updated comment and variable names
* handling FAQ page titles
* update comment, title in meta, and adjust get started title
* remove unneeded meta tag
* handbook titles
* cleaning up conditionals
* update comments
* removed added meta tags, change meta variable names
* passing in meta description if provided, update conditionals and comments
* Update FAQ.md
* added a default renderer for headings to keep the links consistent with the ids
* adjusted the render function to create a link for each heading
* added styles for the heading links and link icon
* changing variable names to be more specific, fixing sidebar links, hiding autogenerated <ul>s
* Removed lodash require, updated comment, removed px from icon filename, and updated link to image.
* created /press-kit page and updated routes and policies
* updated styles, placeholder-images
* created assets/images/press-kit/ and moved all relevant files
* changed filenames for logo previews
* cleaning up html, adjusting mobile styles
* removed empty <divs>, lint fix in stylesheet
* Added link to /press-kit in page footer
* Update layout.ejs
* 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 f8cbc14829
* 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>
* Move usage analytics action for the sake of convention
* followup to ed4a500e15 to fix policy mapping
* Add stub of webhook handler for GitHub bot (at this point, a mostly-verbatim copy paste of sailsbot -- will work backwards from this to what we actually need in Fleet)
* Everyone can follow the same rules. Except bots. And Noah.
* same as 5c97f47eff
* replace a separate, explicit check for "sailsbot"
* Comment out stuff Fleet is not using for the foreseeable future
* use Fleet's green label color (could switch to "+" prefix as well, just would require tweaking)
* trivial
* Simplify build-static-content script and rip out the old markdown compilation for query library
* improve error msg
* trivial
* move helper
* bring in the skeleton
* Compile handbook as well, and bring more stuff inline
* instead of generating sitemap.xml file, could just serve it as a route
* Serve sitemap.xml on the fly
* add failsafe to prevent search engine accidents
* add remaining hand-coded pages to sitemap
* rearrange routes and get rid of commented-out ones
* Update build-static-content.js
* stub out the remaining pieces
* Add assertion (Which actually helped catch a real duplicate query: get-mac-os-disk-free-space-percentage)
* clean out inadvertently committed stuff in sailsrc
* route and serve data for correct query by slug + fix error message re duplicate query slugs + added assertion for duplicate doc page slugs
* yaml == dev dependency
* remove doc-templater dependency, as promised
* stub out handbook page
* clarify comments & remove unnecessary skipAssets
* Update build-static-content.js
* res.badConfig()
* add missing exit that I left out back in ec95df6a4b
* remove unused file
* update comments before commenting out and moving over to basic-documentation.less
* move example styling of generated HTML over to docs/handbook
* include both links
* Fix sitemap.xml URLs in local dev by fixing baseUrl config for local development (since Fleet itself is on 1337).
* followup to d55c777590
* Include query pages in sitemap.xml (+make urls generated for docs/handbook in build script slightly more real) -- but also don't serve sitemap
* sails.config.builtStaticContent.allPages » sails.config.buildStaticContent.markdownPages (also remove unnecessary trailing slash trimming)
* trivial
* check config when serving sitemap + smarter error message for contributors
* hook up GitHub link to edit the query
* remove html ids
* Update query-detail.ejs
* somre more setup re https://github.com/fleetdm/fleet/issues/368#issuecomment-848566533
* Upgrade to get rid of REPL schmutz
* rename workflow to lessen ambiguity vs. markdown compilation of docs
* ensure lockfile makes it to fleetdm.com prod
* skip force git add of package-lock to avoid confusion for now. (reverts 4e7e23990c)
* rename build script (because now it won't always be markdown source files)
* update metadata to match prev commit
* change key name in generated sailsrc for consistency
* stub query library page
* used named params so others can tell what's up with the forcing
* expand comments
* expand comments
* intermediate commit- playing with inlining the guts from doctemplater
* stub basic docpage shell and a little page to preview that on
* Compile YAML and set up query library page
* clean sailsrc
* optimize build by running everything in parallel
* Add note about the fact that we don't even need to clone anything since we've consolidated it all into one repo now. facepalm
* un-parallelize one bit that fails in CI if it's parallelized (it'll go away soon anyway)
@gillespi314 btw you did this exactly right, I just realized when I tested this out (after realizing I had it configured wrong in prod) that I should have recommended an error instead of a warning
* Add topic select, revise content of contact form
* Fix styling of btn-primary class
* Restore deliver-contact-form-message function
* Fix lesshint linting errors
* Fix on hover style of btn-primary
* Adjust box-shadow for btn-primary
* Update contact form
* Fix lesshint linting errors
* Add personalization to submitted form modal
* Add responsive styles to contact form
* Brought in the mostly-unchanged stuff from Sails website- changed just enough to get it working
* inline beforeConvert and afterConvert, for readability
because it's better when you tell a story with the parts of the story in order
* trivial (change arg name for clarity)
* trivial (apply more up-to-date err callback convention)
* modernize some of the bits relying on reassigning arguments
* convert the rest of the way to async/await
* trivial
* just aesthetics
* remove reliance on app-level config
* mostly i'm doing this to remember how it works
* normalize better so this can be more flexible
* this makes it work (albeit needs a bit more fluffing)
* strip out more sails-specific stuff
* clean up menu files between runs, scrape off a bit more technical debt
* scrape out some more dead code
* use devDependencies for markdown compilation stuff since it won't be compiling at runtime
* stub script for compiling markdown content
* Fill in implementation of script, rename helper.
* add note about the non-markdown file problem
* tweak output paths for clarity
* Improve generated menu content and set up groundwork for being able to easily access it via config
* Use .sailsrc to hold onto menu content, so it's injected into config for easier access (rather than reading JSON files whenever needed)
* more explicit tmp filename, in case we forget how this works later
* fix typo in build script (missing .js extension)
* Stub query detail page and a dev route for developing it
http://localhost:2024/sandbox/example-query
* fix helper friendlyName
* Run compilation in series to avoid race condition in doc-templater when cloning from the same repo. Add todos about sitemap and further menu data cleanup.
* make sandbox actually useful
* Help prevent accidental checking in of compiled HTML files.
* rename script and generated folder in partials/
* fix/expand script metadata
- Add action, template stub, and stylesheet for "Get started" page
- Add new styles for site header
- Update feature comparison to indicate agent autoupdates are now available!
* rename dir
* no need to install website or docs from npm
At some point, would also be nice to be able to exclude assets/ as well, and to only install a pre-built version of Fleet's frontend code
* Bring in fleetdm.com website
From https://github.com/fleetdm/fleetdm.com as of https://github.com/fleetdm/fleetdm.com/releases/tag/v0.0.21
* add procfile for heroku
Using https://github.com/timanovsky/subdir-heroku-buildpack
* avoid getting anybody's hopes up
* Create deploy-fleet-website.yml (#82)
* Create deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* update pjs with SPDX-like license expressions. also fix repo URL
and remove package lock
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* remove dummy uri
* Dissect deploy script
* Update deploy-fleet-website.yml
* workaround for eslintrc nesting issue
* lint fixes
* forgot the .js
* add per-commit git config
* Update deploy-fleet-website.yml
* might as well remove that
* cleanup
* connect w/ heroku app and have it actually push
* fix bug I introduced in 578a1a01ff
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* the beauty, the glory, of javascript
* GH actions don't like "\n"
* Update deploy-fleet-website.yml
* restore \n chars from 0d45e568f6
hoping I was wrong in 0d45e568f6 but see also https://github.community/t/what-is-the-correct-character-escaping-for-workflow-command-values-e-g-echo-xxxx/118465/5
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* Update deploy-fleet-website.yml
* rename script to prevent duplicate building
* Configure the real website
* clean up
* a test of the deploy workflow
* add handbook to npmignore
* I guess you could call this fixing a typo
* point workflow at master branch
* now clearly bogus: this completely unused version string