From 7f4234ef0022a317209efd797c8d6c812fec4cb7 Mon Sep 17 00:00:00 2001 From: Ettore Di Giacinto Date: Sat, 10 Dec 2022 18:15:16 +0000 Subject: [PATCH] :book: Fix mispells Signed-off-by: Ettore Di Giacinto --- .github/actions/spelling/candidate.patterns | 5 + .github/actions/spelling/expect.txt | 372 +----------------- .github/workflows/pages-releases.yml.disable | 2 +- .github/workflows/pages.yml.disable | 2 +- GOVERNANCE.md | 2 +- docs/config.toml | 2 +- .../en/docs/Reference/configuration.md | 2 +- .../content/en/docs/Reference/image_matrix.md | 2 +- docs/content/en/docs/_index.md | 2 +- docs/layouts/index.html | 2 +- 10 files changed, 22 insertions(+), 371 deletions(-) diff --git a/.github/actions/spelling/candidate.patterns b/.github/actions/spelling/candidate.patterns index d244bb891..7a73ae631 100644 --- a/.github/actions/spelling/candidate.patterns +++ b/.github/actions/spelling/candidate.patterns @@ -464,6 +464,11 @@ go install(?:\s+[a-z]+\.[-@\w/.]+)+ # posthog secrets posthog\.init\((['"])phc_[^"',]+\g{-1}, +# Documentation specific stuff + +root +mudler + # xcode # xcodeproject scenes diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index 74a51e407..a82c40a64 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -1,92 +1,51 @@ -aaad -aab -Aarea -abcde -abcdefghijklmnopqrstuvwxyz acpid addresspool -addrs Admins -aea -agetty airgap -Aissue AIsuqiw -algolia alikes -allexport Almalinux amd amont Ansible -Aopen api apk apps aquasec aquasecurity -ARegular -Arelease args asc aspnetcore -ATIME aus autoinstall -Autoload -autologin -autoprefixer autoremove aws -AWSEC azb -azuretools -bafae bak balena barametal baremetal -bashrc baz bcb -bce -bcm -bdd -bdfb BDMk -beforeahead -bfaaeb -bfe binfmt -binpath Bjcnlwd bkeymaps -blackfriday blkid blockchain blog Bma BNzd bootarg -bootcmdline -bootfile -bootstraping bootup Bpbn -bpf -bpffs -bpfilter -breadcrumb -browserconfig BTR btrfs buf -bufio bugfix bugfixes bugfixing bugreporting -bugzilla buildcontext buildx busybox @@ -94,137 +53,80 @@ BVUn BWGD BWTM Bzd -cae CAPI -Catmull catmullrom -cbb -ccb -cccd cddf -CDLABEL cdrom -cdroot cdrtools -ced -certs -cfcdfb cfg -cgi CGO -cgroup chainloaded changelog changeset -chardev chmod chown chroot -chvt cidata circleci -closemedium -cloudconfig -clusterplugin cmdline -cmds -CNAME -cncf -cni +CNCF codebase codecov CODEOWNERS comformant -commd compat config connman conntrack -CONTAINERDIR -containerrunner -controlplane -controlvm contructing -copytruncate coreos coreutils covermode coverprofile -cpuset -cratonica crd -createmedium -createvm cron crond cryptsetup -css CTEVNRGV -ctx -CTYPE -ctz cve -cvf CWTNBUVBBS -danderson datasource datastore -dba -dbpath dbus dccbf deadcode debian -debianutils debugrw -ded -denisbrodbeck deploypkg depmod deps devcontainer -dfde -dff +dflags dhcp DHT -diabling digitalocean -dirname -dirs dishomogeneous disksize distro -dmesg -dmi dmidecode -dnf dns DNSCACHESIZE DNSFORWARD DNSFORWARDSERVER dockerfile dockerhub -docsearch docsy dosfstools dotnet downloader dpkg -dracula dracut drwxr DTkt dupl -dupliate -dvd -dvddrive DWEFVREl -eaa -eab eabi -eae -earthfile -ebec +Earthfile ebs edevpn edgevpn @@ -232,134 +134,82 @@ EDGEVPNDHT EDGEVPNMAXCONNS editenv Edm -eeprom -efe efi efibootmgr EJI EJUb EKICAg -emptydrive encompassess eno enp entrypoint envrc envsubst -epel -erikgeiser -errcheck -Errored -Errorf eudev exection faillog -fakegetty -farbox -favicon -fce featureset -fedb fedoraproject ffd -Fflavor FHQ figlet -filepath filesystem findutils firefox firstboot foobarzz -fooz FOQ -forceunmount -FPV freedesktop -FRome -FRONTEND -fsck -fsdu fsprogs -func FWRTY gcc gce gcloud gcompat gcp -gcs gecos -Getenv getfedora gettext -getty -Getwd gfortran ghc ghr -ghw Giacinto -githubembed -githubusercontent gitlab gitmodules -gkas glibc goarch -goarray goconst gocyclo godot -godotenv gofmt goheader gohugo -gohugoio goimports -gojq golang golangci -goldmark golint gomega google GOPATH -gopkg goreleaser gosimple govet GPT -gptfdisk -greedly grep groupname growpart -grubcustom grubenv -grubinstall -grubmenu -gruboptions gsutil guestinfo -guestssh GVydm -haideralipunjabi hakavlad -harderning -hashicorp haveged -hdd -HDMI Hdv -hetzner +Hetzner hhvm -hiddenentry -highlighter hmac homedir homogeneus -hostiocache hostname hotfixes href @@ -368,24 +218,20 @@ htop http hudochenkov HUFN -hugetlb hvtools hwclock -hwe hypervisor +iah ICBr ICBs -iconunix IDIw IDMy IEVCMz IEZk -iface ifconf ifconfig ifenslave IFh -ifnames ifup IGlud IGp @@ -394,58 +240,39 @@ IGxlbmd IHRo IKIC img -includedir ineffassign -inet initramfs initrd -initrdefi initscripts -inittab installable -installprompt intendation -Intn -ioutil ipfs iproute iptables -iputils -IPv ipxe iqn irqbalance iscsi -iscsid -isoinfo isolinux ISOs -itchyny IVHJm -jaypipes JCNFBHNEt jdk -jetstack JIWl JJMl Jlbm -joho joliet journalctl -jpg JQTU jre json -jsondata jumpbox Jvb Jzel -kairososososos kbd kbn kcrypt kerlilow -kernelcmd keymap KICAg KSkt @@ -453,80 +280,52 @@ kube kubeadm kubeconfig kubectl -kubelet kubernetes kubesplit kubo kustomize -kvm kyverno lastlog -Lastmod -lastword LBA ldflags -len -liah libc -libexec libllvm liblzma libp libusb lifecycle -linenos -LINGUAS linux -linuxefi livecd livelayering livin llvm -loadfont localhost localy -logfile logrotate -lsblk lsscsi lts luet -Lunr lvm lzo -machineid macos -makecache Makefiles MBR mdadm MDM Mdn meetup -menuentry metadata -metaldata metallb mhta miimon mikefarah -missingok mkdir mkinitrd -MKISO mkisofs mkswap -mktemp MMj -mnt -mocaccino -modifyvm modprobe monodoc -motd -mountinfo -mountpath -mountpoint msbuild mssql MSVFj @@ -534,9 +333,7 @@ MTl mtools mudler multiarch -multierror musl -Mutex MWFBT myos mypassword @@ -546,43 +343,24 @@ Mzcy nameservers namespace nano -NArg -natpf -navbar nbd Nck ncurses NDc neednet -neetnet -neovim netboot netbooting netdev -nethogs networkd nfs -nic Njg -noclear nodejs nodepair nodeport -nodev -noexec nographic nohang -nolint -NOLOCK -nomodeset -NOPASSWD -nosuid -Noto -nowait Npem npm -Npqw -nryfng nsenter NSFVYNFZXUURRCi NTgw @@ -590,86 +368,48 @@ NTIw Nvbn nvidia Nwog -nxadm NXTj Nzc -oauth -objs occour oci octocat ODU oem -oemlabel -oemtimeout oflag Ogog -oibaf OIDC -omitempty onboards oneline -oneshot onsi openntpd openrc openssh -openstack opensuse osbuilder -OSFS OSRELEASE -ostype OTcx -otiai OTIy -outdir -outfile OVH ovmf -params passwd paynejacob -peerguard -permalinks permissionless -permsisions php -pid -pidfile -pigz pixiecore -pki -PKz -Placeholders plugin png Podman -policycoreutils -popd -portcount -postcss postgresql poweroff powershell Preboot -Printf -Println proactively -processmanager procps programmaticaly -promptkit -pterm -publicpath -pushd pwd PWj -pygments qcow -qeesung qemu -qga Qkl Qnh qrcode @@ -678,131 +418,86 @@ QUUh QVVOWUZS QVxk raccos -raspberrypi rbac rbd rbind RCblly RCi readme -realpath reccomended reconfig -recoverylabel -recoverytoken refactoring refering refrences -regex +Regex regexp regist -relatime -rels remastering -remoterecovery -renovatebot REPOFILE REPONAME resolv -respawn -restorecon retrigger rfv RHVk RKE Rlcn Rlen -rmem Rmpz rng roadmap robbot robinraju rockylinux -rootdir rootfs rpi RRk rsa -rsakey RSEEKICAg -rshared rsync -rtc +Rtc runcmd runlevels -runstage -runtimes -russross Ryb RYUk sbin -scaleway screenshot -scss scst sda sdk -selinux semver SENQWEFBU servicelb -Setenv SFEy -shlex -shortcodes -showvminfo Sidero siderolabs -SIGINT sigs sigstore -SIGTERM skopeo smartmontools smp Smx -snapd softprops -someuser specifc Spectro spectrocloud -spectrocloudcommunity +spellcheck SPOF -Sprintf squashfs -squashimg src -srv ssaa sshd sshpass -ssl -standalone -startvm -STATEDIR statereset staticcheck -stderr stdin -stdio -stdout -storageattach -storagectl strace strongpassword structcheck -subdir -subpath subvolumes suc sudo -sudoers SUSE -SUT SVFLQ -svg swapfile swapon SXNn @@ -810,10 +505,8 @@ symlink symvers Syo sys -syscall sysconfig sysctl -syset sysext sysinfo sysinit @@ -823,43 +516,30 @@ sysroot systctl systemctl systemd -sysvinit tabpane talos tcnksm -TConfig tcp templated templating -temporarly terminfo TERv testcluster testfoobar -testgist testuser -testvm -textinput -textmode TGJQ TGJt -tgz thenewstack Thu timeframe timeline timesyncd -timezone Tkx tld tmp -tmpdir -tmpfs tmpl -tmux TNS TODO -toml tonistiigi tonumber toolset @@ -870,106 +550,73 @@ TRm trunc ttl TUFVWVU -twpayne TXlkak typecheck tzdata udev UEFI uid -uint Ukl Ukp ulimit umount -umounting uname undef undeploy -unicode -unmarshal -unmarshalling -unregistervm unshallow upx -urfave uri url usb -userdata username usr -utc utils -uuid +UUID uuidgen Uxpbn varcheck vbox -vda -vdi VEdo versioning VEVHTz -vfs -vga VGhpcy vhd vhda VHM VHRXb virtio -virtserialport -Virtualbox Vlnb VLVUl vmbackup vmlinux vmlinuz -vmname VMs -vmtoolsd volid vpn -vscode -vsliveshare -vsys -vultr VUROUl VVB VVpp VXVEd VZza -webmanifest website wget -whitespaces whoami wiki -wikipedia wireguard Wmdk WNke -workaround workdir workflow wpa -WRONLY WSTRBCTNGZ -wsz WVd www Wxl WZv -XDG Xek xfsprogs XJCDU -xml xorriso -xvf -xvzf -xyproto xzcat yaml yml @@ -979,7 +626,6 @@ yourorg YWdl ZBMj zcalusic -ZCP ZERDd zfs ZGdm diff --git a/.github/workflows/pages-releases.yml.disable b/.github/workflows/pages-releases.yml.disable index 538c843b0..d9738570d 100644 --- a/.github/workflows/pages-releases.yml.disable +++ b/.github/workflows/pages-releases.yml.disable @@ -1,4 +1,4 @@ -name: Github Pages Updates +name: GitHub Pages Updates on: push: # tags: diff --git a/.github/workflows/pages.yml.disable b/.github/workflows/pages.yml.disable index 4316899c2..7f795c3c7 100644 --- a/.github/workflows/pages.yml.disable +++ b/.github/workflows/pages.yml.disable @@ -1,4 +1,4 @@ -name: Github Pages +name: GitHub Pages on: push: pull_request: diff --git a/GOVERNANCE.md b/GOVERNANCE.md index e10c28661..033683329 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -25,7 +25,7 @@ These are persons who have full access to the project, including sensitive and d | Role | Responsibilities | Requirements | Defined by | | ------------ | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| Contributors | Active contributor in the community. Reviewer of PRs | Made at least five contributions to the project and appointed by 2 approvers or maintainers. | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners), Github Org members. | +| Contributors | Active contributor in the community. Reviewer of PRs | Made at least five contributions to the project and appointed by 2 approvers or maintainers. | [CODEOWNERS](https://help.github.com/en/articles/about-code-owners), GitHub Org members. | | Approver | Assist maintainers. Review and approve contributions. | Highly experienced and active reviewer + contributor to a subproject. | Maintainers & [CODEOWNERS](https://help.github.com/en/articles/about-code-owners). | | Maintainer | Monitor project growth, set direction and priorities for a subproject. | Highly experienced and active reviewer + Voted in by Kairos maintainers. | Voted in by the Kairos maintainers, [CODEOWNERS](https://help.github.com/en/articles/about-code-owners) and repository owner. | diff --git a/docs/config.toml b/docs/config.toml index 607e9c7a1..42b6494fc 100644 --- a/docs/config.toml +++ b/docs/config.toml @@ -137,7 +137,7 @@ no = 'Oh snap! Sorry to hear that. Please
What makes Kairos different?
-
section logo
The Immutable
edge factory

Let's get meta:

We call Kairos a meta-Linux Distribution. Why meta? Because it sits as a container layer, turning any Linux distro into an immutable system distributed via container registries. With Kairos, the OS is the container image, which is used for new installations and upgrades.

Bring your own OS:

The Kairos 'factory' enables you to build custom bootable-OS images for your edge devices, from your choice of OS (including openSUSE, Alpine and Ubuntu), and your choice of edge Kubernetes distribution—Kairos is totally agnostic.

Repeatable, immutable:

Each node boots from the same image, so no more snowflakes in your clusters, and each system is immutable—it boots in a restricted, permissionless mode, where certain paths are not writeable. For instance, after an installation it's not possible to install additional packages in the system, and any configuration change is discarded after a reboot. This dramatically reduces the attack surface and the impact of malicious actors gaining access to the device.

section logo
Welcome to the
self-driving edge

Zero touch provisioning:

Keeping simplicity while providing complex solutions is a key factor of Kairos. Onboarding of nodes can be done via QR code, manually, remotely via SSH, interactively, or completely automated with Kubernetes, with zero touch provisioning.

Secure peer to peer mesh with VPN:

Kairos optionally supports P2P full-mesh out of the box. New devices wake up with a shared secret and distributed ledger of other nodes and clusters to look for—they form a unified overlay network that’s E2E encrypted to discover other devices, even spanning multiple networks, to bootstrap the cluster.

section logo
Containerize your
lifecycle management

Treat your OS just like any app:

Each Kairos OS is created as easily as writing a Dockerfile—no custom recipes or arcane languages here. You can run and customize the container images locally with Docker, Podman, or your container engine of choice exactly how you do for apps already.

Run your pipeline to the edge:

Your built OS is a container-based, single image that is distributed via container registries, so it plugs neatly into your existing CI/CD pipelines. It makes edge scale as repeatable and portable as driving containers. Customizing, mirroring of images, scanning vulnerabilities, gating upgrades, patching CVEs are some of the endless possibilities. Updating nodes is just as easy as selecting a new version via Kubernetes. Each node will pull the update from your repo, installing on A/B partitions for zero-risk upgrades with failover.

Run K8s with K8s:

Use Kubernetes management principles to manage and provision your clusters. Kairos supports automatic node provisioning via CRDs; upgrade management via Kubernetes; node repurposing and machine auto scaling capabilities; and complete configuration management via cloud-init.

section logo

See how to get up and running with Kairos, in less than 15 minutes!

section logo

Get inside Kairos, from the factory to P2P mesh capabilities.

section logo

Stretch your wings with best practices of common tasks after installing Kairos.

+
section logo
The Immutable
edge factory

Let's get meta:

We call Kairos a meta-Linux Distribution. Why meta? Because it sits as a container layer, turning any Linux distro into an immutable system distributed via container registries. With Kairos, the OS is the container image, which is used for new installations and upgrades.

Bring your own OS:

The Kairos 'factory' enables you to build custom bootable-OS images for your edge devices, from your choice of OS (including openSUSE, Alpine and Ubuntu), and your choice of edge Kubernetes distribution—Kairos is totally agnostic.

Repeatable, immutable:

Each node boots from the same image, so no more snowflakes in your clusters, and each system is immutable—it boots in a restricted, permissionless mode, where certain paths are not writeable. For instance, after an installation it's not possible to install additional packages in the system, and any configuration change is discarded after a reboot. This dramatically reduces the attack surface and the impact of malicious actors gaining access to the device.

section logo
Welcome to the
self-driving edge

Zero touch provisioning:

Keeping simplicity while providing complex solutions is a key factor of Kairos. Onboarding of nodes can be done via QR code, manually, remotely via SSH, interactively, or completely automated with Kubernetes, with zero touch provisioning.

Secure peer to peer mesh with VPN:

Kairos optionally supports P2P full-mesh out of the box. New devices wake up with a shared secret and distributed ledger of other nodes and clusters to look for—they form a unified overlay network that’s E2E encrypted to discover other devices, even spanning multiple networks, to bootstrap the cluster.

section logo
Containerize your
lifecycle management

Treat your OS just like any app:

Each Kairos OS is created as easily as writing a Dockerfile—no custom recipes or arcane languages here. You can run and customize the container images locally with Docker, Podman, or your container engine of choice exactly how you do for apps already.

Run your pipeline to the edge:

Your built OS is a container-based, single image that is distributed via container registries, so it plugs neatly into your existing CI/CD pipelines. It makes edge scale as repeatable and portable as driving containers. Customizing, mirroring of images, scanning vulnerabilities, gating upgrades, patching CVEs are some of the endless possibilities. Updating nodes is just as easy as selecting a new version via Kubernetes. Each node will pull the update from your repo, installing on A/B partitions for zero-risk upgrades with failover.

Run K8s with K8s:

Use Kubernetes management principles to manage and provision your clusters. Kairos supports automatic node provisioning via CRDs; upgrade management via Kubernetes; node repurposing and machine auto scaling capabilities; and complete configuration management via cloud-init.

section logo
A community soul

On the shoulders of giants:

Kairos draws on the strength of the cloud-native ecosystem, not just for principles and approaches, but components. Cluster API is optionally supported as well, and can be used to manage Kubernetes clusters using native Kubernetes APIs with zero touch provisioning.

Extensively tested:

We move fast, but we try not to break stuff—particularly your nodes. Every change in the Kairos codebase runs through highly engineered automated testing before release to catch bugs earlier.

Designed for everyone:

While Kairos has been engineered for large-scale use by DevOps and IT Engineering teams working in cloud, bare metal, edge and embedded systems environments, we welcome makers, hobbyists, and anyone in the community to participate in driving forward our vision of the immutable, decentralized, and containerized edge.

Backed by Spectro Cloud:

Kairos is a vibrant, active project with time and financial backing from Spectro Cloud, a Kubernetes management platform provider with a strong commitment to the open source community. It is a silver member of the CNCF and LF Edge, a Certified Kubernetes Service Provider, and a contributor to projects such as Cluster API. Find more about Spectro Cloud here.

section logo

See how to get up and running with Kairos, in less than 15 minutes!

section logo

Get inside Kairos, from the factory to P2P mesh capabilities.

section logo

Stretch your wings with best practices of common tasks after installing Kairos.