From 35622eface943976a56e4fe050a6eb9f1750cbff Mon Sep 17 00:00:00 2001 From: Ethan Holz Date: Sun, 5 Nov 2023 14:34:35 -0600 Subject: [PATCH] remove view transitions and added architecture stub --- astro.config.mjs | 127 +++++++++++----------- src/components/Transitions.astro | 8 -- src/content/docs/architecture/overview.md | 19 ++++ 3 files changed, 84 insertions(+), 70 deletions(-) delete mode 100644 src/components/Transitions.astro create mode 100644 src/content/docs/architecture/overview.md diff --git a/astro.config.mjs b/astro.config.mjs index 34706d9..8eb2634 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,140 +1,143 @@ -import "dotenv/config"; -import { defineConfig } from "astro/config"; -import starlight from "@astrojs/starlight"; -import tailwind from "@astrojs/tailwind"; +import 'dotenv/config' +import { defineConfig } from 'astro/config' +import starlight from '@astrojs/starlight' +import tailwind from '@astrojs/tailwind' // SEE: https://developers.google.com/analytics/devguides/collection/gtagjs -const gaTrackingID = process.env.GA_TRACKING_ID; -const gaSrc = `https://www.googletagmanager.com/gtag/js?id=${gaTrackingID}`; +const gaTrackingID = process.env.GA_TRACKING_ID +const gaSrc = `https://www.googletagmanager.com/gtag/js?id=${gaTrackingID}` // SEE: https://plausible.io/docs/plausible-script -const plausibleDomain = process.env.PLAUSIBLE_DOMAIN; +const plausibleDomain = process.env.PLAUSIBLE_DOMAIN const plausibleSrc = - process.env.PLAUSIBLE_SRC || "https://plausible.io/js/script.js"; + process.env.PLAUSIBLE_SRC || 'https://plausible.io/js/script.js' -const head = []; +const head = [] if (gaTrackingID) { head.push( { - tag: "script", + tag: 'script', attrs: { src: gaSrc, async: true, }, }, { - tag: "script", + tag: 'script', content: ` window.dataLayer = window.dataLayer || []; function gtag(){window.dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '${gaTrackingID}'); `, - } - ); + }, + ) } if (plausibleDomain && plausibleSrc) { head.push({ - tag: "script", + tag: 'script', attrs: { src: plausibleSrc, - "data-domain": plausibleDomain, + 'data-domain': plausibleDomain, defer: true, }, - }); + }) } head.push( { - tag: "link", + tag: 'link', attrs: { - rel: "apple-touch-icon", - href: "/apple-touch-icon.png", - sizes: "180x180", + rel: 'apple-touch-icon', + href: '/apple-touch-icon.png', + sizes: '180x180', }, }, { - tag: "link", + tag: 'link', attrs: { - rel: "icon", - type: "image/png", - href: "/favicon-32x32.png", - sizes: "32x32", + rel: 'icon', + type: 'image/png', + href: '/favicon-32x32.png', + sizes: '32x32', }, }, { - tag: "link", + tag: 'link', attrs: { - rel: "icon", - type: "image/png", - href: "/favicon-16x16.png", - sizes: "16x16", + rel: 'icon', + type: 'image/png', + href: '/favicon-16x16.png', + sizes: '16x16', }, }, { - tag: "link", + tag: 'link', attrs: { - rel: "manifest", - href: "/site.webmanifest", + rel: 'manifest', + href: '/site.webmanifest', }, }, { - tag: "link", + tag: 'link', attrs: { - rel: "mask-icon", - href: "/safari-pinned-tab.svg", - color: "#7cc6fe", + rel: 'mask-icon', + href: '/safari-pinned-tab.svg', + color: '#7cc6fe', }, }, { - tag: "meta", + tag: 'meta', attrs: { - name: "msapplication-TileColor", - content: "#7cc6fe", + name: 'msapplication-TileColor', + content: '#7cc6fe', }, }, { - tag: "meta", + tag: 'meta', attrs: { - name: "theme-color", - content: "#bee1ff", + name: 'theme-color', + content: '#bee1ff', }, - } -); + }, +) // https://astro.build/config export default defineConfig({ integrations: [ starlight({ - title: "grlx Docs", + title: 'grlx Docs', description: - "Documentation for grlx. Fleet configuration management that is low overhead, dependency free, and easy to install.", + 'Documentation for grlx. Fleet configuration management that is low overhead, dependency free, and easy to install.', components: { - Head: "./src/components/Transitions.astro", - Footer: "./src/components/AdatomicFooter.astro", + Footer: './src/components/AdatomicFooter.astro', }, - customCss: ["./src/tailwind.css"], - defaultLocale: "root", + customCss: ['./src/tailwind.css'], + defaultLocale: 'root', locales: { root: { - label: "English", - lang: "en", // lang is required for root locales + label: 'English', + lang: 'en', // lang is required for root locales }, }, - favicon: "/favicon.ico", + favicon: '/favicon.ico', head, - logo: { src: "./src/assets/grlx.webp" }, + logo: { src: './src/assets/grlx.webp' }, social: { - github: "https://github.com/gogrlx/grlx", - "x.com": "https://x.com/gogrlx", + github: 'https://github.com/gogrlx/grlx', + 'x.com': 'https://x.com/gogrlx', }, sidebar: [ - { label: "Getting Started", link: "/getting-started" }, + { label: 'Getting Started', link: '/getting-started' }, { - label: "Ingredients", - autogenerate: { directory: "ingredients" }, + label: 'Ingredients', + autogenerate: { directory: 'ingredients' }, + }, + { + label: 'Architecture', + autogenerate: { directory: 'architecture' }, }, ], }), @@ -143,5 +146,5 @@ export default defineConfig({ applyBaseStyles: false, }), ], - site: "https://doc.grlx.dev", -}); + site: 'https://doc.grlx.dev', +}) diff --git a/src/components/Transitions.astro b/src/components/Transitions.astro deleted file mode 100644 index 4386d67..0000000 --- a/src/components/Transitions.astro +++ /dev/null @@ -1,8 +0,0 @@ ---- -import type { Props } from '@astro/starlight/props' -import Default from '@astrojs/starlight/components/Head.astro' -import { ViewTransitions } from 'astro:transitions' ---- - - -< diff --git a/src/content/docs/architecture/overview.md b/src/content/docs/architecture/overview.md new file mode 100644 index 0000000..64d4c26 --- /dev/null +++ b/src/content/docs/architecture/overview.md @@ -0,0 +1,19 @@ +--- +title: Overview +description: A brief description of the grlx architecture +--- +At a high level our architecture looks like the following: + +We can boil down the `grlx` into three different parts: the farmer, the sprout, and the CLI. + +## Farmer + +The farmer is your control server. This has analogs in other similar configuration platforms. In SaltStack, this is your Salt Master, or in Chef, your Chef Server. `grlx` utilizes the farmer for things like authentication, job processing, and [ingredients](/architecture/overview#ingredients). + +## Sprout + +The sprout is what the farmer manages. This is similar to a Salt Minion in SaltStack or a Chef Client in Chef. Jobs are received from the farmer over the NATS message bus for actions to be performed on the sprout itself. + +## CLI + +## Ingredients