Skip to content

Commit 84fa93e

Browse files
authored
Add dark mode 😎 (#357)
* Add dark mode 😎 Signed-off-by: Mauro Morales <[email protected]> * Fix homepage downloads text Signed-off-by: Mauro Morales <[email protected]> --------- Signed-off-by: Mauro Morales <[email protected]>
1 parent 6b728f4 commit 84fa93e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+80
-104
lines changed

assets/js/kairos.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,11 @@ function replaceContent(distroInfo) {
9797
// Insert the new alert div above the highlight element
9898
highlightElement.parentNode.insertBefore(alertDiv, highlightElement);
9999

100-
console.log(onlyDistros[0])
101100
const availableDistro = getSelectValueFromText(onlyDistros[0].replace(/\+/g, ' '));
102-
console.log(availableDistro)
103101
newDistroInfo = availableDistro.split(';');
104102
}
105103

106-
const preTags = highlightElement.querySelectorAll('pre');
104+
const preTags = highlightElement.querySelectorAll('code');
107105
const aTags = highlightElement.querySelectorAll('a');
108106

109107
const elements = [...preTags, ...aTags];
@@ -119,8 +117,6 @@ function replaceContent(distroInfo) {
119117
metaDistroElements.forEach(e => {
120118
e.innerHTML = decodeHTML(replaceVariables(e.dataset.originalContent, newDistroInfo));
121119
});
122-
123-
Prism.highlightAll();
124120
}
125121

126122
document.addEventListener('DOMContentLoaded', () => {
@@ -133,7 +129,7 @@ document.addEventListener('DOMContentLoaded', () => {
133129
});
134130

135131
highlightElements.forEach(highlightElement => {
136-
const preElements = highlightElement.querySelectorAll('pre');
132+
const preElements = highlightElement.querySelectorAll('code');
137133
const aElements = highlightElement.querySelectorAll('a');
138134
const elements = [...preElements, ...aElements];
139135
elements.forEach((e, i) => {

assets/scss/_styles_project.scss

+2-14
Original file line numberDiff line numberDiff line change
@@ -700,6 +700,7 @@ footer {
700700
height: 100%;
701701
box-shadow: none;
702702
font-family: 'NOTO SANS';
703+
color: black;
703704
}
704705

705706
.download-cards > div > div:first-child {
@@ -1480,23 +1481,10 @@ footer {
14801481
}
14811482
}
14821483

1484+
@import 'td/code-dark';
14831485
// load variables_project
14841486
@import "variables_project";
14851487

1486-
.alert-primary {
1487-
background-color: #edf1ff;
1488-
border-color: #4c7bd7;
1489-
1490-
.alert-heading {
1491-
color: #4c7bd7;
1492-
}
1493-
}
1494-
.alert-info {
1495-
.alert-heading {
1496-
color: #71b7b1;
1497-
}
1498-
}
1499-
15001488
// center the distro select vertically
15011489
.distro-select-wrapper {
15021490
display: flex;

assets/scss/_variables_project.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ a:hover {
4242

4343
#basics-blade a {
4444
color: #EE5007;
45-
}
45+
}

content/en/docs/Advanced/after-install.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ To install [system-upgrade-controller](https://github.com/rancher/system-upgrade
3939
kubectl apply -f https://github.com/rancher/system-upgrade-controller/releases/download/{{< system-upgrade-controller-version >}}/system-upgrade-controller.yaml
4040
```
4141

42-
{{% alert title="Note" %}}
42+
{{% alert title="Note" color="success" %}}
4343

4444
Several roll-out strategies can be used with `system-upgrade-controller` which are not illustrated here in this example. For instance, it can be specified in the number of hosts which are running the upgrades, filtering by labels, and more. [Refer to the project documentation](https://github.com/rancher/system-upgrade-controller) on how to create efficient strategies to roll plans on the nodes. In the example above, the plans are applied to every host of the cluster, one-by-one in sequence.
4545

content/en/docs/Advanced/build.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linkTitle: "Build"
44
weight: 5
55
---
66

7-
{{% alert title="Note" %}}
7+
{{% alert title="Warning" color="warning" %}}
88

99
This page is a work in progress!
1010
The feature is experimental and API is likely going to be subject to changes, don't rely on it yet!

content/en/docs/Advanced/bundles.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ metallb:
8383
address_pool: 192.168.1.10-192.168.1.20
8484
```
8585

86-
{{% alert title="Warning" %}}
86+
{{% alert title="Warning" color="warning" %}}
8787
For both types of bundle installation (after installation, on first boot),
8888
the installation only happens once. Changing the bundle's configuration block
8989
after Kairos installation is complete, will not have any effect.

content/en/docs/Advanced/livelayering.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ For example, a bundle can be defined as a naked container image containing only
6868
Consider the following Dockerfile to create an extension which adds `/usr/bin/ipfs` to the system:
6969

7070

71-
{{% alert title="Note" %}}
71+
{{% alert title="Note" color="success" %}}
7272
Note that systemd extensions require an extension-release file, which can be used to validate different aspects of the system being run.
7373

7474
If you don't want to limit to a single OS, you can use the special key `_any` but keep in mind that this is only available in systemd versions 252+.

content/en/docs/Advanced/sys-extensions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ Then you can use the `systemd-repart` tool to create the sysext image:
5757
$ systemd-repart -S -s SOURCE_DIR NAME.sysext.raw --private-key=PRIVATE_KEY --certificate=CERTIFICATE
5858
```
5959

60-
{{% alert title="Warning" %}}
60+
{{% alert title="Warning" color="warning" %}}
6161
Note that the extensions MUST have a `/usr/lib/extension-release.d/extension-release.NAME` file in which the NAME needs to match the sysext NAME (extension is ignored). This is an enforcement by systemd to ensure the sysext is correctly identified and some sanity checks are done with the info in that file.
6262
{{% /alert %}}
6363

content/en/docs/Architecture/network.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ To address these challenges, Kairos provides an easy and robust solution for dep
1414

1515
In this document, we will examine the advantages of using Kairos to deploy Kubernetes clusters at the edge, and how p2p technology facilitates self-coordination for a zero-touch configuration experience. We will also explore how Kairos' highly adaptable and container-based approach, combined with an immutable OS and meta-distribution, makes it an excellent choice for edge deployments.
1616

17-
{{% alert title="Note" %}}
17+
{{% alert title="Note" color="success" %}}
1818
You can also watch our [Kairos and libp2p video]({{< relref "../media/#how-kairos-uses-libp2p" >}} "Media") in the [Media Section]({{< relref "../media" >}} "Media")
1919
{{% /alert %}}
2020

content/en/docs/Development/nvidia.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ description: This page contains a reference on how to run Kairos on Nvidia Jetso
1010
Despite the Flavor you may have selected to look into the docs. The Nvidia AGX Orin only works with Ubuntu 20.04
1111
{{% /alert %}}
1212

13-
{{% alert title="Note" %}}
13+
{{% alert title="Note" color="success" %}}
1414
Please note that the following page contains only development reference. At the time of writing, we have tried porting Kairos to Jetson Nano eMMC without success. This is due to the old kernel supported (4.9), not properly working with `EFISTUB` and `U-boot` (you can see the [issue here](https://github.com/kairos-io/kairos/issues/45)). However, the steps outlined _should_ be a good reference to port Kairos to those architecture _when_ a new kernel version is available. We have tested, and have successfully booted a Jetson Nano with the 5.15 kernel, however, due to the lack of driver support, eMMC partitions are not properly recognized.
1515
{{% /alert %}}
1616

content/en/docs/Examples/airgap.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: This section describe examples on how to use AuroraBoot and Kairos
77

88
If you want to create an [airgap K3s installation](https://docs.k3s.io/installation/airgap), Kairos provides a convenient way to do so using AuroraBoot. In this guide, we will go through the process of creating a custom ISO of Kairos that contains a configuration file and a [bundle]({{< relref "../advanced/bundles" >}}) that executes preparatory steps after installation. The bundle will overlay new files in the system and prepare the node for having an airgapped K3s installation.
99

10-
{{% alert title="Note" %}}
10+
{{% alert title="Note" color="success" %}}
1111
If you already have a Kubernetes cluster, you can use the osbuilder controller to generate container images with your additional files already inside.
1212
{{% /alert %}}
1313

content/en/docs/Examples/core.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ install:
2222
source: "docker:{{<oci variant="standard">}}"
2323
```
2424
25-
{{% alert title="Note" %}}
25+
{{% alert title="Note" color="success" %}}
2626
Looking to install from a private registry OCI image? Check the [Private registry auth]({{< relref "../Advanced/private_registry_auth" >}}) page.
2727
{{% /alert %}}
2828

content/en/docs/Examples/localai.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ And that's it! You should now have LocalAI and K3s set up on your Kairos node.
5050

5151
The first thing you want to check is which models you have available. By default, the LocalAI Kairos bundle downloads the `ggml-gpt4all-j.bin` model available from [gpt4all](https://github.com/nomic-ai/gpt4all).
5252

53-
{{% alert title="Warning" %}}
53+
{{% alert title="Warning" color="warning" %}}
5454
Remember to change the IP with your own.
5555
{{% /alert %}}
5656

content/en/docs/Examples/multi-node-p2p-ha-kubevip.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: This guide walks through the process of deploying a highly-available, P2P self-coordinated k3s cluster with KubeVIP, which provides a high available Elastic IP for the control plane.
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Warning" color="warning" %}}
1010

1111
This feature is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -71,4 +71,4 @@ When configuring the `p2p` section, start by adding your desired `network_token`
7171

7272
Next, set up an Elastic IP (`kubevip.eip`) with a free IP in your network. KubeVIP will advertise this IP, so make sure to select an IP that is available for use on your network.
7373

74-
In the VPN configuration, the create and use options are disabled, so the VPN setup is skipped and not used to route any traffic into.
74+
In the VPN configuration, the create and use options are disabled, so the VPN setup is skipped and not used to route any traffic into.

content/en/docs/Examples/multi-node-p2p-ha.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: Kairos makes it easy to configure automatic High Availability (HA) in your cluster by using cloud-config. With just a few simple steps, you can have a fully-functioning HA setup in your cluster.
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Warning" color="warning" %}}
1010

1111
This feature is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.

content/en/docs/Examples/multi-node-p2p.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: Install Kairos with p2p support, on a multi-node cluster
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Warning" color="warning" %}}
1010

1111
This feature is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -43,4 +43,4 @@ To set up a multi-node P2P scenario with non-HA in Kairos, start by adding your
4343

4444
Be sure to set `disable_dht` to true. This will ensure that coordination to discover nodes only happens on the local network.
4545

46-
Once you done with the above step, you can also customize the hostname to your liking by modifying the `hostname` field, adding your github user to the `ssh_authorized_keys` field, and adding any other necessary configurations.
46+
Once you done with the above step, you can also customize the hostname to your liking by modifying the `hostname` field, adding your github user to the `ssh_authorized_keys` field, and adding any other necessary configurations.

content/en/docs/Examples/p2p_e2e.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2023-02-15
66
description: Full end to end example to bootstrap a self-coordinated cluster with Kairos and AuroraBoot
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Note" color="success" %}}
1010

1111
The p2p feature of Kairos is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -17,7 +17,7 @@ Deploying Kubernetes at the Edge can be a complex and time-consuming process, es
1717

1818
To leverage p2p self-coordination capabilities of Kairos, you will need to configure the `network_token` under the `p2p` configuration block in your cloud-config file. Once you have set this, Kairos will handle the configuration of each node.
1919

20-
{{% alert title="Note" %}}
20+
{{% alert title="Note" color="success" %}}
2121
You can see this example live in the [Kairos and libp2p video]({{< relref "Media#how-kairos-uses-libp2p" >}} "Media") in the [Media Section]({{< relref "Media" >}} "Media")
2222
{{% /alert %}}
2323

content/en/docs/Examples/single-node-p2p.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: This documentation page provides instructions on how to install Kairos with P2P support on a single-node cluster
77
---
88

9-
{{% alert title="Note" color="warning" %}}
9+
{{% alert title="Warning" color="warning" %}}
1010

1111
This feature is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -39,7 +39,7 @@ p2p:
3939

4040
```
4141

42-
{{% alert title="Note" %}}
42+
{{% alert title="Warning" color="warning" %}}
4343

4444
One important note is that this example requires the YAML format when editing the configuration file, and that the indentation needs to be accurate, otherwise the configuration will fail.
4545

content/en/docs/Getting started/_index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ description: |
88
Step-by-step guide to deploying Kairos, the best immutable Linux distribution for edge Kubernetes clusters.
99
---
1010

11-
{{% alert title="Objective" %}}
11+
{{% alert title="Objective" color="success" %}}
1212
This guide will teach you how easy it is to deploy a Kubernetes cluster using Kairos. To make this guide quick and effective we will make some decisions for you. We will do a traditional, interactive installation, of a single node cluster on a virtual machine (VM) on x86_64 architecture. At the end of the guide we will provide you with links to do many other different setups.
1313
{{% /alert %}}
1414

content/en/docs/Getting started/building-and-upgrading.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: |
66
Kairos is an immutable OS so we cannot install new packages on a running system. Instead, adding packages is achieved by building a container image and upgrading the node with it.
77
---
88

9-
{{% alert title="Objective" %}}
9+
{{% alert title="Objective" color="success" %}}
1010
This guide will walk you through the steps to build a new Kairos container image and add additional packages. You will then use the newly built image to upgrade a Kairos node manually.
1111
{{% /alert %}}
1212

content/en/docs/Getting started/configuration.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: |
66
Learn the basics of configuring an immutable OS like Kairos
77
---
88

9-
{{% alert title="Objective" %}}
9+
{{% alert title="Objective" color="success" %}}
1010
This guide will teach you the basics about immutability and configuration in Kairos. We will achieve this by configuring the hostname of your Kairos node.
1111
{{% /alert %}}
1212

content/en/docs/Installation/automated.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ $ mkisofs -output ci.iso -volid cidata -joliet -rock user-data meta-data
6969

7070
Once the ISO is created, you can attach it to your machine and boot up as usual, along with the Kairos ISO.
7171

72-
{{% alert title="Warning" %}}
72+
{{% alert title="Warning" color="warning" %}}
7373
For security reasons, when Kairos is installed in [trusted boot mode]({{< relref "../Installation/trustedboot.md" >}}), datasources are not parsed after installation. This prevents someone from plugging a usb stick on an edge device, applying arbitrary configuration to the system post-installation. To force parsing of the datasources after installation, you can set add the `kairos.pull_datasources` option to the cmdline. This requires extending the cmdline when building the installation medium with AuroraBoot ([read more]({{< relref "../Installation/trustedboot.md#additional-efi-entries" >}})).
7474

7575
This security feature is only enabled when the system boots in trusted boot mode and only after installation (they are parsed in "live" mode). On "plain" boot mode, datasources are always parsed.
@@ -93,7 +93,7 @@ To create a custom ISO, you will need Docker installed on your machine.
9393

9494
Here's an example of how you might do this:
9595

96-
{{% alert title="Warning" %}}
96+
{{% alert title="Warning" color="warning" %}}
9797
The image passed to the auroraboot image, needs to have one of the accepted schemes: `docker`, `oci`, `file`, `dir` or `channel`.
9898

9999
If you don't pass one, we will make an attempt to read it as a web URL but depending on your URL this might throw an error.
@@ -148,7 +148,7 @@ $ docker run -v $PWD:/cOS -v /var/run/docker.sock:/var/run/docker.sock -i --rm q
148148
{{% /tab %}}
149149
{{< /tabpane >}}
150150

151-
{{% alert title="Cloud config" %}}
151+
{{% alert title="Cloud config" color="success" %}}
152152
In the case of Auroraboot, make sure that the cloud config that you are mounting in the container (`-v $PWD/cloud_init.yaml:/cloud_init.yaml`) exists. Otherwise docker will create an empty directory to mount it on the container without any warnings and you will end up with an empty cloud config.
153153
{{% /alert %}}
154154

content/en/docs/Installation/manual.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: Install Kairos manually
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Note" color="success" %}}
1010

1111
After the installation, the password login is disabled, users, and SSH keys to log in must be configured via cloud-init.
1212

content/en/docs/Installation/nvidia_agx_orin.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ docker run --privileged \
111111

112112
After running any of the commands above, the generated images files required for flashing will be inside the `bootloader` directory (`bootloader/efi.img`, `bootloader/recovery_partition.img`, `bootloader/state_partition.img`, `bootloader/oem.img`, `bootloader/persistent.img` ).
113113

114-
{{% alert title="Note" %}}
114+
{{% alert title="Note" color="success" %}}
115115
The persistent image is optional, as you can store the system persistent data rather in an SD card or an NVME disk. The default `persistent.img` is of 2GB size. To create a persistent image manually of the size you prefer instead you can run:
116116

117117
```
@@ -133,7 +133,7 @@ wget 'https://kairos.io/examples/images/flash_t234_qspi_sdmmc.xml' -O ./bootload
133133

134134
If you are editing the partition sizes and generating the images manually, use the example config file as a baseline and edit the `size` accordingly to the corresponding partitions (find the respective `filename` and compare the file size, see the notes below).
135135

136-
{{% alert title="Note on editing the parition layout manually" %}}
136+
{{% alert title="Note on editing the parition layout manually" color="success" %}}
137137

138138
If you want to use the original file, identify the `sdmmc_user` section ( e.g. `<device type="sdmmc_user" instance="3" sector_size="512" num_sectors="INT_NUM_SECTORS" >` ), inside there is an "APP" partition ( `<partition name="APP" id="1" type="data">` ), remove it , and add the following instead:
139139

@@ -192,11 +192,11 @@ Be mindful also to change the esp partition or add it if required:
192192
You can also remove the other partitions under `sdmmc_user` as not effectively used by Kairos during boot.
193193
{{% /alert %}}
194194

195-
{{% alert title="Note" %}}
195+
{{% alert title="Note" color="success" %}}
196196
The `COS_PERSISTENT` partition is optional. You can also use an SD card, or an nvme drive instead. The only requirement is to have the partition labeled as `COS_PERSISTENT`.
197197
{{% /alert %}}
198198

199-
{{% alert title="Note" %}}
199+
{{% alert title="Note" color="success" %}}
200200
If modifiying the parition sizes, you need to replace the size inside the `<size></size>` tags of each partition in the XML:
201201

202202
```

content/en/docs/Installation/p2p.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: Install Kairos with p2p support
77
---
88

9-
{{% alert title="Note" %}}
9+
{{% alert title="Note" color="success" %}}
1010

1111
This feature is crazy and experimental! Do not run in production servers.
1212
Feedback and bug reports are welcome, as we are improving the p2p aspects of Kairos.
@@ -73,7 +73,7 @@ p2p:
7373
7474
The `p2p` block is used to configure settings related to the mesh functionalities. The minimum required argument is the `network_token` and there is no need to configure `k3s` manually with the `k3s` block as it is already implied.
7575

76-
{{% alert title="Note" %}}
76+
{{% alert title="Note" color="success" %}}
7777

7878
The `k3s` block can still be used to override other `k3s` settings, e.g. `args`.
7979

content/en/docs/Installation/qrcode.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: 2022-11-13
66
description: Use the QR code displayed at boot to drive the installation
77
---
88

9-
{{% alert title="Warning" %}}
9+
{{% alert title="Warning" color="warning" %}}
1010
You will need a Standard Kairos OS image in order to use QR Code feature.
1111
{{% /alert %}}
1212

@@ -63,7 +63,7 @@ kairosctl register --reboot --device /dev/sda --config config.yaml
6363
- The `--device` flag determines the specific drive where Kairos will be installed. Replace `/dev/sda` with your drive. Any existing data will be overwritten, so please be cautious.
6464
- The `--config` flag is used to specify the config file used by the installation process.
6565

66-
{{% alert title="Note" %}}
66+
{{% alert title="Note" color="success" %}}
6767
By default, the CLI will automatically take a screenshot to get the QR code. Make sure it fits into the screen. Alternatively, an image path or a token can be supplied via arguments (e.g. `kairosctl register /img/path` or `kairosctl register <token>`).
6868
{{% /alert %}}
6969

0 commit comments

Comments
 (0)