Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add website for Chisel Operator #8

Merged
merged 15 commits into from
Feb 3, 2024
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 9 additions & 8 deletions deploy/crd/exit-node-provisioner.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,18 @@ spec:
AWS:
properties:
auth:
description: Reference to a secret containing the AWS access key ID and secret access key, under the access_key_id and secret_access_key keys
description: Reference to a secret containing the AWS access key ID and secret access key, under the `access_key_id` and `secret_access_key` secret keys
type: string
region:
description: Region ID for the AWS region to provision the exit node in
description: Region ID for the AWS region to provision the exit node in See https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html
type: string
security_group:
description: Security group name to use for the exit node, uses the default security group if not specified
nullable: true
type: string
size:
default: t2.micro
description: Size for the EC2 instance
description: Size for the EC2 instance See https://aws.amazon.com/ec2/instance-types/
type: string
required:
- auth
Expand All @@ -51,14 +51,15 @@ spec:
DigitalOcean:
properties:
auth:
description: Reference to a secret containing the DigitalOcean API token, under the token key
description: Reference to a secret containing the DigitalOcean API token, under the `DIGITALOCEAN_TOKEN` secret key
type: string
region:
default: ''
description: Region ID of the DigitalOcean datacenter to provision the exit node in If empty, DigitalOcean will randomly select a region for you, which might not be what you want
description: Region ID of the DigitalOcean datacenter to provision the exit node in If empty, DigitalOcean will randomly select a region for you, which might not be what you want See https://slugs.do-api.dev/
type: string
size:
default: s-1vcpu-1gb
description: Size for the DigitalOcean droplet See https://slugs.do-api.dev/
type: string
ssh_fingerprints:
default: []
Expand All @@ -72,14 +73,14 @@ spec:
Linode:
properties:
auth:
description: Name of the secret containing the Linode API token
description: Name of the secret containing the Linode API token, under the `LINODE_TOKEN` secret key
type: string
region:
description: Region ID of the Linode datacenter to provision the exit node in
description: Region ID of the Linode datacenter to provision the exit node in See https://api.linode.com/v4/regions
type: string
size:
default: g6-nanode-1
description: Size for the Linode instance
description: Size for the Linode instance See https://api.linode.com/v4/linode/
type: string
required:
- auth
Expand Down
21 changes: 21 additions & 0 deletions site/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# build output
dist/
# generated types
.astro/

# dependencies
node_modules/

# logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*


# environment variables
.env
.env.production

# macOS-specific files
.DS_Store
54 changes: 54 additions & 0 deletions site/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Starlight Starter Kit: Basics

[![Built with Starlight](https://astro.badg.es/v2/built-with-starlight/tiny.svg)](https://starlight.astro.build)

```
npm create astro@latest -- --template starlight
```

[![Open in StackBlitz](https://developer.stackblitz.com/img/open_in_stackblitz.svg)](https://stackblitz.com/github/withastro/starlight/tree/main/examples/basics)
[![Open with CodeSandbox](https://assets.codesandbox.io/github/button-edit-lime.svg)](https://codesandbox.io/p/sandbox/github/withastro/starlight/tree/main/examples/basics)
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fwithastro%2Fstarlight%2Ftree%2Fmain%2Fexamples%2Fbasics&project-name=my-starlight-docs&repository-name=my-starlight-docs)

> 🧑‍🚀 **Seasoned astronaut?** Delete this file. Have fun!

## 🚀 Project Structure

Inside of your Astro + Starlight project, you'll see the following folders and files:

```
.
├── public/
├── src/
│ ├── assets/
│ ├── content/
│ │ ├── docs/
│ │ └── config.ts
│ └── env.d.ts
├── astro.config.mjs
├── package.json
└── tsconfig.json
```

Starlight looks for `.md` or `.mdx` files in the `src/content/docs/` directory. Each file is exposed as a route based on its file name.

Images can be added to `src/assets/` and embedded in Markdown with a relative link.

Static assets, like favicons, can be placed in the `public/` directory.

## 🧞 Commands

All commands are run from the root of the project, from a terminal:

| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:4321` |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally, before deploying |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |

## 👀 Want to learn more?

Check out [Starlight’s docs](https://starlight.astro.build/), read [the Astro documentation](https://docs.astro.build), or jump into the [Astro Discord server](https://astro.build/chat).
60 changes: 60 additions & 0 deletions site/astro.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import { defineConfig } from "astro/config";
import starlight from "@astrojs/starlight";

// https://astro.build/config
export default defineConfig({
site: "https://chisel.fyralabs.com",
integrations: [
starlight({
title: "Chisel Operator",
editLink: {
baseUrl: "https://github.com/FyraLabs/chisel-operator/edit/main/site/",
},
social: {
github: "https://github.com/fyralabs/chisel-operator",
discord: "https://discord.com/invite/5fdPuxTg5Q",
matrix: "https://matrix.to/#/#hub:fyralabs.com",
twitter: "https://twitter.com/teamfyralabs",
mastodon: "https://fedi.fyralabs.com/@hq",
},
head: [
{
tag: "script",
attrs: {
src: "https://anyawytics.fyralabs.com/js/script.js",
"data-domain": "chisel.fyralabs.com",
defer: true,
},
},
],
sidebar: [
{
label: "Guides",
items: [
{ label: "Installation", link: "/guides/installation/" },
{
label: "Exposing a Service",
link: "/guides/exposing-a-service/",
},
{
label: "Self Hosting an Exit Node",
link: "/guides/self-host-exit-node/",
},
{
label: "Using Cloud Provisioning",
link: "/guides/using-cloud-provisioning/",
},
],
},
{
label: "Reference",
autogenerate: { directory: "reference" },
},
{
label: "Cloud Provisioning Reference",
autogenerate: { directory: "cloud" },
},
],
}),
],
});
19 changes: 19 additions & 0 deletions site/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "site",
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
"astro": "astro"
},
"dependencies": {
"@astrojs/starlight": "^0.17.2",
"astro": "^4.2.1",
"sharp": "^0.32.5",
"@astrojs/check": "^0.4.1",
"typescript": "^5.3.3"
}
}
Loading
Loading