From de0b88839c5ca68b229f5cf29f448d35748e16d1 Mon Sep 17 00:00:00 2001 From: Dalton Hubble Date: Sat, 23 Nov 2019 15:09:33 -0800 Subject: [PATCH] Add mkdocs generator, docs layout, and publish docs * Publish matchbox docs to https://matchbox.psdn.io * Remove references to https://coreos.com/matchbox/docs --- CHANGES.md | 1 + README.md | 52 +++++++-------- docs/api-grpc.md | 16 +++++ Documentation/api.md => docs/api-http.md | 0 {Documentation => docs}/cloud-config.md | 10 ++- {Documentation => docs}/config.md | 2 +- .../container-linux-config.md | 2 +- {Documentation => docs}/deployment.md | 0 {Documentation => docs}/dev/develop.md | 0 {Documentation => docs}/dev/release.md | 2 +- .../getting-started-docker.md | 2 +- {Documentation => docs}/getting-started.md | 4 +- {Documentation => docs}/grub.md | 0 {Documentation => docs}/img/ipxe.png | Bin .../img/kubernetes-dashboard.png | Bin .../img/machine-lifecycle.png | Bin .../img/network-setup-flow.png | Bin {Documentation => docs}/img/overview.png | Bin {Documentation => docs}/img/proxydhcp.png | Bin {Documentation => docs}/img/pxelinux.png | Bin docs/index.md | 32 ++++++++++ {Documentation => docs}/machine-lifecycle.md | 0 {Documentation => docs}/matchbox.md | 12 ++-- {Documentation => docs}/network-booting.md | 2 +- {Documentation => docs}/network-setup.md | 2 +- {Documentation => docs}/openpgp.md | 0 {Documentation => docs}/troubleshooting.md | 0 mkdocs.yml | 60 ++++++++++++++++++ requirements.txt | 4 ++ 29 files changed, 154 insertions(+), 49 deletions(-) create mode 100644 docs/api-grpc.md rename Documentation/api.md => docs/api-http.md (100%) rename {Documentation => docs}/cloud-config.md (88%) rename {Documentation => docs}/config.md (97%) rename {Documentation => docs}/container-linux-config.md (98%) rename {Documentation => docs}/deployment.md (100%) rename {Documentation => docs}/dev/develop.md (100%) rename {Documentation => docs}/dev/release.md (94%) rename {Documentation => docs}/getting-started-docker.md (96%) rename {Documentation => docs}/getting-started.md (95%) rename {Documentation => docs}/grub.md (100%) rename {Documentation => docs}/img/ipxe.png (100%) rename {Documentation => docs}/img/kubernetes-dashboard.png (100%) rename {Documentation => docs}/img/machine-lifecycle.png (100%) rename {Documentation => docs}/img/network-setup-flow.png (100%) rename {Documentation => docs}/img/overview.png (100%) rename {Documentation => docs}/img/proxydhcp.png (100%) rename {Documentation => docs}/img/pxelinux.png (100%) create mode 100644 docs/index.md rename {Documentation => docs}/machine-lifecycle.md (100%) rename {Documentation => docs}/matchbox.md (93%) rename {Documentation => docs}/network-booting.md (99%) rename {Documentation => docs}/network-setup.md (98%) rename {Documentation => docs}/openpgp.md (100%) rename {Documentation => docs}/troubleshooting.md (100%) create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/CHANGES.md b/CHANGES.md index e5bd72af..ed7c9689 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -4,6 +4,7 @@ Notable changes between releases. ## Latest +* Publish docs to [https://matchbox.psdn.io](https://matchbox.psdn.io/) * Add `get-fedora-coreos` script ([#763](https://github.com/poseidon/matchbox/pull/763)) * Update container image base from `alpine:3.9` to `alpine:3.10` ([#761](https://github.com/poseidon/matchbox/pull/761)) * Build matchbox with Go v1.12.10 for images and binaries ([#766](https://github.com/poseidon/matchbox/pull/766)) diff --git a/README.md b/README.md index e67fca9b..9edc767e 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,37 @@ # matchbox [![Build Status](https://travis-ci.org/poseidon/matchbox.svg?branch=master)](https://travis-ci.org/poseidon/matchbox) [![GoDoc](https://godoc.org/github.com/poseidon/matchbox?status.svg)](https://godoc.org/github.com/poseidon/matchbox) [![Docker Repository on Quay](https://quay.io/repository/poseidon/matchbox/status "Docker Repository on Quay")](https://quay.io/repository/poseidon/matchbox) -`matchbox` is a service that matches bare-metal machines (based on labels like MAC, UUID, etc.) to profiles that PXE boot and provision Container Linux clusters. Profiles specify the kernel/initrd, kernel arguments, iPXE config, GRUB config, [Container Linux Config][cl-config], or other configs a machine should use. Matchbox can be [installed](Documentation/deployment.md) as a binary, RPM, container image, or deployed on a Kubernetes cluster and it provides an authenticated gRPC API for clients like [Terraform][terraform]. +`matchbox` is a service that matches bare-metal machines to profiles that PXE boot and provision clusters. Machines are matched by labels like MAC or UUID during PXE and profiles specify a kernel/initrd, iPXE config, and Container Linux or Fedora CoreOS config. -* [Documentation][docs] -* [matchbox Service](Documentation/matchbox.md) -* [Profiles](Documentation/matchbox.md#profiles) -* [Groups](Documentation/matchbox.md#groups) -* Config Templates - * [Container Linux Config][cl-config] - * [Cloud-Config][cloud-config] -* [Configuration](Documentation/config.md) -* [HTTP API](Documentation/api.md) / [gRPC API](https://godoc.org/github.com/poseidon/matchbox/matchbox/client) -* [Background: Machine Lifecycle](Documentation/machine-lifecycle.md) -* [Background: PXE Booting](Documentation/network-booting.md) +## Features -### Installation +* Chainload via iPXE and match hardware labels +* Provision Container Linux and Fedora CoreOS (powered by [Ignition](https://github.com/coreos/ignition)) +* Authenticated gRPC API for clients (e.g. Terraform) -* Installation - * Installing on [Container Linux / other distros](Documentation/deployment.md) - * Installing on [Kubernetes](Documentation/deployment.md#kubernetes) - * Running with [docker](Documentation/deployment.md#docker) -* [Network Setup](Documentation/network-setup.md) +## Documentation -### Tutorials +* [Docs](https://matchbox.psdn.io/) +* [Configuration](docs/config.md) +* [HTTP API](docs/api-http.md) / [gRPC API](docs/grpc-api.md) + +## Installation + +Matchbox can be installed from a binary or a container image. + +* Install Matchbox on [Kubernetes](docs/deployment.md#kubernetes), on a [Linux](docs/deployment.md) host, or as a [container](docs/deployment.md#docker) +* Setup a PXE-enabled [network](docs/network-setup.md) + +## Tutorials + +[Getting started](docs/getting-started.md) provisioning machines with Container Linux. -* [Getting Started](Documentation/getting-started.md) - provision physical machines with Container Linux * Local QEMU/KVM - * [matchbox with Docker](Documentation/getting-started-docker.md) + * [matchbox with Docker](docs/getting-started-docker.md) * Clusters - * [etcd3](Documentation/getting-started-docker.md) - Install a 3-node etcd3 cluster -* Clusters (Terraform-based) - * [etcd3](examples/terraform/etcd3-install/README.md) - Install a 3-node etcd3 cluster + * [etcd3](docs/getting-started-docker.md) - Install a 3-node etcd3 cluster + * [etcd3](https://github.com/poseidon/matchbox/tree/master/examples/terraform/etcd3-install) - Install a 3-node etcd3 cluster (terraform-based) ## Contrib * [dnsmasq](contrib/dnsmasq/README.md) - Run DHCP, TFTP, and DNS services as a container * [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) - Terraform provider plugin for Matchbox - -[docs]: https://coreos.com/matchbox/docs/latest -[terraform]: https://github.com/poseidon/terraform-provider-matchbox -[cl-config]: Documentation/container-linux-config.md -[cloud-config]: Documentation/cloud-config.md diff --git a/docs/api-grpc.md b/docs/api-grpc.md new file mode 100644 index 00000000..0246d11b --- /dev/null +++ b/docs/api-grpc.md @@ -0,0 +1,16 @@ +# gRPC API + +## Protos + +* [rpc.proto](https://github.com/poseidon/matchbox/blob/master/matchbox/rpc/rpcpb/rpc.proto) +* [storage.proto](https://github.com/poseidon/matchbox/blob/master/matchbox/storage/storagepb/storage.proto) + +## Client Libraries + +gRPC client libraries + +* [Go](https://godoc.org/github.com/poseidon/matchbox/matchbox/client) + +## Client Plugins + +* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) diff --git a/Documentation/api.md b/docs/api-http.md similarity index 100% rename from Documentation/api.md rename to docs/api-http.md diff --git a/Documentation/cloud-config.md b/docs/cloud-config.md similarity index 88% rename from Documentation/cloud-config.md rename to docs/cloud-config.md index dc815b89..f76ce14e 100644 --- a/Documentation/cloud-config.md +++ b/docs/cloud-config.md @@ -1,7 +1,7 @@ +# Cloud Config -# Cloud config - -**Note:** Please migrate to [Container Linux Configs](container-linux-config.md). Cloud-Config support will be removed in the future. +!!! warning + Migrate to [Container Linux Configs](container-linux-config.md). Cloud-Config support will be removed in the future. CoreOS Cloud-Config is a system for configuring machines with a Cloud-Config file or executable script from user-data. Cloud-Config runs in userspace on each boot and implements a subset of the [cloud-init spec](http://cloudinit.readthedocs.org/en/latest/topics/format.html#cloud-config-data). See the cloud-config [docs](https://coreos.com/os/docs/latest/cloud-config.html) for details. @@ -18,13 +18,12 @@ Cloud-Config template files can be added in `/var/lib/matchbox/cloud` or in a `c ## Reference -Reference a Cloud-Config in a [Profile](matchbox.md#profiles) with `cloud_id`. When PXE booting, use the kernel option `cloud-config-url` to point to `matchbox` [cloud-config endpoint](api.md#cloud-config). +Reference a Cloud-Config in a [Profile](matchbox.md#profiles) with `cloud_id`. When PXE booting, use the kernel option `cloud-config-url` to point to `matchbox` [cloud-config endpoint](api-http.md#cloud-config). ## Examples Here is an example Cloud-Config which starts some units and writes a file. - ```yaml #cloud-config coreos: @@ -40,7 +39,6 @@ write_files: content: | {{.greeting}} ``` - The Cloud-Config [Validator](https://coreos.com/validate/) is also useful for checking your Cloud-Config files for errors. diff --git a/Documentation/config.md b/docs/config.md similarity index 97% rename from Documentation/config.md rename to docs/config.md index a5ab1f5c..44b6df76 100644 --- a/Documentation/config.md +++ b/docs/config.md @@ -54,7 +54,7 @@ $ sudo docker run -p 8080:8080 --rm -v $PWD/examples/assets:/var/lib/matchbox/as ### With examples -Mount `examples` to pre-load the [example](../examples/README.md) machine groups and profiles. Run the container. +Mount `examples` to pre-load the example machine groups and profiles. Run the container. ```sh $ sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/groups/etcd:/var/lib/matchbox/groups:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -log-level=debug diff --git a/Documentation/container-linux-config.md b/docs/container-linux-config.md similarity index 98% rename from Documentation/container-linux-config.md rename to docs/container-linux-config.md index 31754a54..2d88fc55 100644 --- a/Documentation/container-linux-config.md +++ b/docs/container-linux-config.md @@ -25,7 +25,7 @@ Container Linux Config templates can be added to the `/var/lib/matchbox/ignition ## Referencing in Profiles -Profiles can include a Container Linux Config for provisioning machines. Specify the Container Linux Config in a [Profile](matchbox.md#profiles) with `ignition_id`. When PXE booting, use the kernel option `coreos.first_boot=1` and `coreos.config.url` to point to the `matchbox` [Ignition endpoint](api.md#ignition-config). +Profiles can include a Container Linux Config for provisioning machines. Specify the Container Linux Config in a [Profile](matchbox.md#profiles) with `ignition_id`. When PXE booting, use the kernel option `coreos.first_boot=1` and `coreos.config.url` to point to the `matchbox` [Ignition endpoint](api-http.md#ignition-config). ## Examples diff --git a/Documentation/deployment.md b/docs/deployment.md similarity index 100% rename from Documentation/deployment.md rename to docs/deployment.md diff --git a/Documentation/dev/develop.md b/docs/dev/develop.md similarity index 100% rename from Documentation/dev/develop.md rename to docs/dev/develop.md diff --git a/Documentation/dev/release.md b/docs/dev/release.md similarity index 94% rename from Documentation/dev/release.md rename to docs/dev/release.md index d7c6ed42..c6e250e7 100644 --- a/Documentation/dev/release.md +++ b/docs/dev/release.md @@ -49,7 +49,7 @@ Verify the reported version. ## Signing -Release tarballs are signed by Dalton Hubble's GPG [Key](Documentation/deployment.md#download) +Release tarballs are signed by Dalton Hubble's GPG [Key](/docs/deployment.md#download) ```sh cd _output diff --git a/Documentation/getting-started-docker.md b/docs/getting-started-docker.md similarity index 96% rename from Documentation/getting-started-docker.md rename to docs/getting-started-docker.md index 64b331dd..61c7ceb8 100644 --- a/Documentation/getting-started-docker.md +++ b/docs/getting-started-docker.md @@ -121,4 +121,4 @@ $ sudo ./scripts/libvirt destroy ## Going further -Learn more about [matchbox](matchbox.md) or explore the other [example](../examples) clusters. Try the [k8s example](bootkube.md) to produce a TLS-authenticated Kubernetes cluster you can access locally with `kubectl`. +Learn more about [matchbox](matchbox.md) or explore the other [example](../examples) clusters. diff --git a/Documentation/getting-started.md b/docs/getting-started.md similarity index 95% rename from Documentation/getting-started.md rename to docs/getting-started.md index 4eb65598..44eecc81 100644 --- a/Documentation/getting-started.md +++ b/docs/getting-started.md @@ -98,7 +98,7 @@ provider "matchbox" { #### Profiles -Machine profiles specify the kernel, initrd, kernel args, Container Linux Config, Cloud-config, or other configs used to network boot and provision a bare-metal machine. This profile will PXE boot machines using the current stable Container Linux kernel and initrd (see [assets](api.md#assets) to learn about caching for speed) and supply a Container Linux Config specifying that a disk install and reboot should be performed. Learn more about [Container Linux configs](https://coreos.com/os/docs/latest/configuration.html). +Machine profiles specify the kernel, initrd, kernel args, Container Linux Config, Cloud-config, or other configs used to network boot and provision a bare-metal machine. This profile will PXE boot machines using the current stable Container Linux kernel and initrd (see [assets](api-http.md#assets) to learn about caching for speed) and supply a Container Linux Config specifying that a disk install and reboot should be performed. Learn more about [Container Linux configs](https://coreos.com/os/docs/latest/configuration.html). ```hcl // Create a CoreOS-install profile @@ -191,7 +191,7 @@ To re-provision the machine for another purpose, run `terraform apply` and PXE b ## Going Further -Matchbox can be used to provision multi-node Container Linux clusters at one or many on-premise sites if deployed in an HA way. Machines can be matched individually by MAC address, UUID, region, or other labels you choose. Installs can be made much faster by caching images in the built-in HTTP [assets](api.md#assets) server. +Matchbox can be used to provision multi-node Container Linux clusters at one or many on-premise sites if deployed in an HA way. Machines can be matched individually by MAC address, UUID, region, or other labels you choose. Installs can be made much faster by caching images in the built-in HTTP [assets](api-http.md#assets) server. [Container Linux configs](https://coreos.com/os/docs/latest/configuration.html) can be used to partition disks and filesystems, write systemd units, write networkd configs or regular files, and create users. Container Linux nodes can be provisioned into a system that meets your needs. Checkout the examples which create a 3 node [etcd](../examples/terraform/etcd3-install) cluster or a 3 node [Kubernetes](../examples/terraform/bootkube-install) cluster. diff --git a/Documentation/grub.md b/docs/grub.md similarity index 100% rename from Documentation/grub.md rename to docs/grub.md diff --git a/Documentation/img/ipxe.png b/docs/img/ipxe.png similarity index 100% rename from Documentation/img/ipxe.png rename to docs/img/ipxe.png diff --git a/Documentation/img/kubernetes-dashboard.png b/docs/img/kubernetes-dashboard.png similarity index 100% rename from Documentation/img/kubernetes-dashboard.png rename to docs/img/kubernetes-dashboard.png diff --git a/Documentation/img/machine-lifecycle.png b/docs/img/machine-lifecycle.png similarity index 100% rename from Documentation/img/machine-lifecycle.png rename to docs/img/machine-lifecycle.png diff --git a/Documentation/img/network-setup-flow.png b/docs/img/network-setup-flow.png similarity index 100% rename from Documentation/img/network-setup-flow.png rename to docs/img/network-setup-flow.png diff --git a/Documentation/img/overview.png b/docs/img/overview.png similarity index 100% rename from Documentation/img/overview.png rename to docs/img/overview.png diff --git a/Documentation/img/proxydhcp.png b/docs/img/proxydhcp.png similarity index 100% rename from Documentation/img/proxydhcp.png rename to docs/img/proxydhcp.png diff --git a/Documentation/img/pxelinux.png b/docs/img/pxelinux.png similarity index 100% rename from Documentation/img/pxelinux.png rename to docs/img/pxelinux.png diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..5f6c9267 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,32 @@ +# Matchbox + +Matchbox is a service that matches bare-metal machines to profiles that PXE boot and provision clusters. Machines are matched by labels like MAC or UUID during PXE and profiles specify a kernel/initrd, iPXE config, and Container Linux or Fedora CoreOS config. + +## Features + +* Chainload via iPXE and match hardware labels +* Provision Container Linux and Fedora CoreOS (powered by [Ignition](https://github.com/coreos/ignition)) +* Authenticated gRPC API for clients (e.g. Terraform) + +## Installation + +Matchbox can be installed from a binary or a container image. + +* Install Matchbox on [Kubernetes](deployment.md#kubernetes), on a [Linux](deployment.md) host, or as a [container](deployment.md#docker) +* Setup a PXE-enabled [network](network-setup.md) + +## Tutorials + +[Getting started](getting-started.md) provisioning machines with Container Linux. + +* Local QEMU/KVM + * [matchbox with Docker](getting-started-docker.md) +* Clusters + * [etcd3](getting-started-docker.md) - Install a 3-node etcd3 cluster + * [etcd3](https://github.com/poseidon/matchbox/tree/master/examples/terraform/etcd3-install) - Install a 3-node etcd3 cluster (terraform-based) + +## Related + +* [dnsmasq](https://github.com/poseidon/matchbox/tree/master/contrib/dnsmasq) - container image to run DHCP, TFTP, and DNS services +* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) - Terraform provider plugin for Matchbox +* [Typhoon](https://typhoon.psdn.io/) - minimal and free Kubernetes distribution, supporting bare-metal diff --git a/Documentation/machine-lifecycle.md b/docs/machine-lifecycle.md similarity index 100% rename from Documentation/machine-lifecycle.md rename to docs/machine-lifecycle.md diff --git a/Documentation/matchbox.md b/docs/matchbox.md similarity index 93% rename from Documentation/matchbox.md rename to docs/matchbox.md index af0fc674..3d0df1fa 100644 --- a/Documentation/matchbox.md +++ b/docs/matchbox.md @@ -18,7 +18,7 @@ See [configuration](config.md) flags and variables. ## API -* [HTTP API](api.md) +* [HTTP API](api-http.md) * [gRPC API](https://godoc.org/github.com/poseidon/matchbox/matchbox/client) ## Data @@ -76,9 +76,9 @@ Profiles reference an Ignition config, Cloud-Config, and/or generic config by na The `"boot"` settings will be used to render configs to network boot programs such as iPXE or GRUB. You may reference remote kernel and initrd assets or [local assets](#assets). -To use Ignition, set the `coreos.config.url` kernel option to reference the `matchbox` [Ignition endpoint](api.md#ignition-config), which will render the `ignition_id` file. Be sure to add the `coreos.first_boot` option as well. +To use Ignition, set the `coreos.config.url` kernel option to reference the `matchbox` [Ignition endpoint](api-http.md#ignition-config), which will render the `ignition_id` file. Be sure to add the `coreos.first_boot` option as well. -To use cloud-config, set the `cloud-config-url` kernel option to reference the `matchbox` [Cloud-Config endpoint](api.md#cloud-config), which will render the `cloud_id` file. +To use cloud-config, set the `cloud-config-url` kernel option to reference the `matchbox` [Cloud-Config endpoint](api-http.md#cloud-config), which will render the `cloud_id` file. ### Groups @@ -172,7 +172,7 @@ matchbox.foo/assets/ For example, a `Profile` might refer to a local asset `/assets/coreos/VERSION/coreos_production_pxe.vmlinuz` instead of `http://stable.release.core-os.net/amd64-usr/VERSION/coreos_production_pxe.vmlinuz`. -See the [get-coreos](../scripts/README.md#get-coreos) script to quickly download, verify, and place Container Linux assets. +See the [get-coreos](https://github.com/poseidon/matchbox/blob/master/scripts/get-coreos) script to quickly download, verify, and place Container Linux assets. ## Network @@ -181,5 +181,5 @@ See the [get-coreos](../scripts/README.md#get-coreos) script to quickly download ## Going further * [gRPC API Usage](config.md#grpc-api) -* [Metadata](api.md#metadata) -* OpenPGP [Signing](api.md#openpgp-signatures) +* [Metadata](api-http.md#metadata) +* OpenPGP [Signing](api-http.md#openpgp-signatures) diff --git a/Documentation/network-booting.md b/docs/network-booting.md similarity index 99% rename from Documentation/network-booting.md rename to docs/network-booting.md index 12cb4e86..e5cb4577 100644 --- a/Documentation/network-booting.md +++ b/docs/network-booting.md @@ -66,7 +66,7 @@ boot A TFTP server is used only to provide the `undionly.kpxe` boot program to older PXE firmware in order to bootstrap into iPXE. -CoreOS `matchbox` can render signed iPXE scripts to machines based on their hardware attributes. Setup involves configuring your DHCP server to point iPXE clients to the `matchbox` [iPXE endpoint](api.md#ipxe). +CoreOS `matchbox` can render signed iPXE scripts to machines based on their hardware attributes. Setup involves configuring your DHCP server to point iPXE clients to the `matchbox` [iPXE endpoint](api-http.md#ipxe). ## DHCP diff --git a/Documentation/network-setup.md b/docs/network-setup.md similarity index 98% rename from Documentation/network-setup.md rename to docs/network-setup.md index 14ddcd25..1de192ce 100644 --- a/Documentation/network-setup.md +++ b/docs/network-setup.md @@ -208,7 +208,7 @@ $ sudo firewall-cmd --add-service=dhcp --add-service=tftp --add-service=dns ### Development -Install the dependencies for [QEMU with UEFI](https://fedoraproject.org/wiki/Using_UEFI_with_QEMU). Walk through the [getting-started-with-docker](getting-started-with-docker.md) tutorial. Launch client VMs using `create-uefi`. +Install the dependencies for [QEMU with UEFI](https://fedoraproject.org/wiki/Using_UEFI_with_QEMU). Walk through the [getting-started-with-docker](getting-started-docker.md) tutorial. Launch client VMs using `create-uefi`. Create UEFI QEMU/KVM VMs attached to the `docker0` bridge. diff --git a/Documentation/openpgp.md b/docs/openpgp.md similarity index 100% rename from Documentation/openpgp.md rename to docs/openpgp.md diff --git a/Documentation/troubleshooting.md b/docs/troubleshooting.md similarity index 100% rename from Documentation/troubleshooting.md rename to docs/troubleshooting.md diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..5034c9ca --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,60 @@ +site_name: 'matchbox' +site_description: 'Network boot and provision bare-metal clusters' +site_author: 'Dalton Hubble' +repo_name: 'poseidon/matchbox' +repo_url: 'https://github.com/poseidon/matchbox' +theme: + name: 'material' + palette: + primary: 'red' + accent: 'orange' + font: + text: 'Roboto Slab' + code: 'Roboto Mono' +extra: + social: + - type: 'github' + link: 'https://github.com/poseidon' + - type: 'twitter' + link: 'https://twitter.com/typhoon8s' +nav: + - Home: 'index.md' + - 'Matchbox': + - 'Concepts': 'matchbox.md' + - 'Container Linux Config': 'container-linux-config.md' + - 'Cloud-Config': 'cloud-config.md' + - 'HTTP API': 'api-http.md' + - 'gRPC API': 'api-grpc.md' + - 'OpenPGP Signing': 'openpgp.md' + - 'Tutorials': + - 'getting-started.md' + - 'getting-started-docker.md' + - 'Network Boot Environment': 'network-booting.md' + - 'Machine Lifecycle': 'machine-lifecycle.md' + - 'Install': + - 'Network Setup': 'network-setup.md' + - 'Deployment': 'deployment.md' + - 'Configuration': 'config.md' + - 'Troubleshooting': 'troubleshooting.md' +markdown_extensions: + - admonition + - codehilite + - footnotes + - toc: + permalink: true + - pymdownx.arithmatex + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.critic + - pymdownx.emoji: + emoji_generator: !!python/name:pymdownx.emoji.to_svg + - pymdownx.inlinehilite + - pymdownx.magiclink + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..252fc3c5 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +mkdocs==1.0.4 +mkdocs-material==4.5.0 +pygments==2.4.2 +pymdown-extensions==6.2.0