mirror of
https://github.com/siderolabs/talos.git
synced 2026-05-05 04:16:21 +02:00
chore: fix markdown linting issues
This fixes random markdown linting issues. The previous `sentences-per-line` library seems to be broken now, and unmaintained. This moves to using `textlint` instead. Signed-off-by: Andrew Rynhard <andrew@andrewrynhard.com>
This commit is contained in:
parent
d91628ac3d
commit
37a7906f09
@ -3,7 +3,6 @@
|
||||
!cmd
|
||||
!docs
|
||||
!hack
|
||||
!_out/images/*.tar
|
||||
!internal
|
||||
!pkg
|
||||
!vendor
|
||||
@ -13,3 +12,5 @@
|
||||
!go.mod
|
||||
!go.sum
|
||||
!prototool.yaml
|
||||
!README.md
|
||||
!CONTRIBUTING.md
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
{
|
||||
"default": true,
|
||||
"MD013": false
|
||||
"MD013": false,
|
||||
"MD033": false
|
||||
}
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
First of all, thank you!
|
||||
We value your time and interest in making Talos a successful open source project.
|
||||
|
||||
## What can I do to help?
|
||||
## What We Need
|
||||
|
||||
There are a number of ways you can help!
|
||||
We are in need of both technical and non-technical contributions.
|
||||
@ -31,14 +31,12 @@ EOF
|
||||
chmod +x .git/hooks/commit-msg
|
||||
```
|
||||
|
||||
In addition, all commits should be signed by the committer using `git commit -s` which should produce a commit
|
||||
message with `Signed-off-by: Your Name <your@email>`. It is not necessary to cryptographically sign commits
|
||||
with GPG.
|
||||
In addition, all commits should be signed by the committer using `git commit -s`, which should produce a commit message with `Signed-off-by: Your Name <your@email>`.
|
||||
It is not necessary to cryptographically sign commits with GPG.
|
||||
|
||||
### Pull Requests
|
||||
|
||||
To avoid multiples CI runs, please ensure that you are running a full build before submitting your PR, and
|
||||
branches should be squashed to a single commit.
|
||||
To avoid multiples CI runs, please ensure that you are running a full build before submitting your PR, and branches should be squashed to a single commit.
|
||||
|
||||
## Developing
|
||||
|
||||
@ -51,7 +49,7 @@ GO111MODULE=on go get
|
||||
make ci
|
||||
```
|
||||
|
||||
# Make Targets
|
||||
## Make Targets
|
||||
|
||||
In the `Makefile` there are a variety of targets, the most common are:
|
||||
|
||||
@ -61,11 +59,10 @@ In the `Makefile` there are a variety of targets, the most common are:
|
||||
- `talosctl-linux-amd64` and `talosctl-darwin-amd64` make the `talosctl` CLI tool for Linux & OSX respectively.
|
||||
- `rootfs` creates an archive of the root filesystem preloaded with all the components needed to launch Talos & Kubernetes.
|
||||
|
||||
# Buildkit
|
||||
## Buildkit
|
||||
|
||||
Talos uses Moby [buildkit](https://github.com/moby/buildkit) for concurrent and cache-efficient builds.
|
||||
By default, a buildkit service is started locally, but if you want to offload the builds to another server,
|
||||
you can start a buildkit service with the following command:
|
||||
By default, a buildkit service is started locally, but if you want to offload the builds to another server, you can start a buildkit service with the following command:
|
||||
|
||||
```bash
|
||||
docker run --detach --privileged --restart always --publish 1234:1234 moby/buildkit --addr tcp://0.0.0.0:1234
|
||||
|
||||
10
Dockerfile
10
Dockerfile
@ -493,12 +493,14 @@ RUN prototool lint --protoc-bin-path=/toolchain/bin/protoc --protoc-wkt-path=/to
|
||||
# The markdownlint target performs linting on Markdown files.
|
||||
|
||||
FROM node:8.16.1-alpine AS lint-markdown
|
||||
RUN npm install -g markdownlint-cli
|
||||
RUN npm i sentences-per-line
|
||||
RUN npm i -g markdownlint-cli
|
||||
RUN npm i -g textlint
|
||||
RUN npm i -g textlint-rule-one-sentence-per-line
|
||||
WORKDIR /src
|
||||
COPY .markdownlint.json .
|
||||
COPY docs .
|
||||
RUN markdownlint --rules /node_modules/sentences-per-line/index.js .
|
||||
COPY . .
|
||||
RUN markdownlint --ignore "**/node_modules/**" --ignore '**/hack/chglog/**' .
|
||||
RUN find . -name '*.md' -not -path '*/node_modules/*' -not -path '*/docs/talosctl/*' | xargs textlint --rule one-sentence-per-line --stdin-filename
|
||||
|
||||
# The docs target generates documentation.
|
||||
|
||||
|
||||
15
README.md
15
README.md
@ -1,3 +1,5 @@
|
||||
<!-- markdownlint-disable MD041 MD034 -->
|
||||
|
||||
<p align="center">
|
||||
<h1 align="center">Talos</h1>
|
||||
<p align="center">A modern OS for Kubernetes.</p>
|
||||
@ -13,7 +15,9 @@
|
||||
|
||||
---
|
||||
|
||||
**Talos** is a modern OS designed to be secure, immutable, and minimal. All system management is done via an API, and there is no shell or interactive console. Some of the capabilities and benefits provided by Talos include:
|
||||
**Talos** is a modern OS designed to be secure, immutable, and minimal.
|
||||
All system management is done via an API, and there is no shell or interactive console.
|
||||
Some of the capabilities and benefits provided by Talos include:
|
||||
|
||||
- **Security**: Talos reduces your attack surface by practicing the Principle of Least Privilege (PoLP) and by securing the API with mutual TLS (mTLS) authentication.
|
||||
- **Predictability**: Talos eliminates unneeded variables and reduces unknown factors in your environment by employing immutable infrastructure ideology.
|
||||
@ -40,7 +44,8 @@ We hold two weekly meetings targeted for different audiences.
|
||||
|
||||
### Maintainers and Contributors
|
||||
|
||||
When attending this meeting, please add yourself to the [meeting notes](https://docs.google.com/document/d/1xBhfYg2TK8gtXtaMe3ojXeDS1qRN6MJ-Wo7IjNJSCwQ/edit#) as an attendee. If you would like to discuss a specific topic, we encourage you to add it to the agenda.
|
||||
When attending this meeting, please add yourself to the [meeting notes](https://docs.google.com/document/d/1xBhfYg2TK8gtXtaMe3ojXeDS1qRN6MJ-Wo7IjNJSCwQ/edit#) as an attendee.
|
||||
If you would like to discuss a specific topic, we encourage you to add it to the agenda.
|
||||
|
||||
- When: Thursdays at 17:00 UTC.
|
||||
- Where: [zoom](https://zoom.us/j/3595189922).
|
||||
@ -51,8 +56,10 @@ You can subscribe to these meetings by joining the community forum above.
|
||||
|
||||
## Contributing
|
||||
|
||||
Contributions are welcomed and appreciated! See [Contributing](CONTRIBUTING.md) for our guidelines.
|
||||
Contributions are welcomed and appreciated!
|
||||
See [Contributing](CONTRIBUTING.md) for our guidelines.
|
||||
|
||||
## License
|
||||
|
||||
[](https://github.com/talos-systems/talos/blob/master/LICENSE)
|
||||
[!
|
||||
[license](https://img.shields.io/github/license/talos-systems/talos.svg?style=flat-square)](https://github.com/talos-systems/talos/blob/master/LICENSE)
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
# Project Layout Standards
|
||||
|
||||
In this document we will cover our official layout standards.
|
||||
You will find that the project is a monolithic repository that contains
|
||||
everything required to build and run Talos.
|
||||
You will find that the project is a monolithic repository that contains everything required to build and run Talos.
|
||||
|
||||
```bash
|
||||
$ tree .
|
||||
@ -27,8 +26,7 @@ $ tree .
|
||||
|
||||
## Internal Applications
|
||||
|
||||
Talos is comprised of applications designed to handle the various domains of
|
||||
an operating system.
|
||||
Talos is comprised of applications designed to handle the various domains of an operating system.
|
||||
The following requirements must be adhered to by an `app`:
|
||||
|
||||
- anything ran as a service, that is maintained by us, should live under `internal/app`
|
||||
@ -36,8 +34,7 @@ The following requirements must be adhered to by an `app`:
|
||||
|
||||
## Internal Packages
|
||||
|
||||
There are a number of packages we will need to maintain that are strongly
|
||||
coupled with Talos business logic.
|
||||
There are a number of packages we will need to maintain that are strongly coupled with Talos business logic.
|
||||
These package should be housed within the `internal/pkg` directory.
|
||||
The criteria for deciding if a package should be housed here are as follows:
|
||||
|
||||
@ -46,16 +43,14 @@ The criteria for deciding if a package should be housed here are as follows:
|
||||
|
||||
## Public Packages
|
||||
|
||||
In building higher level abstractions, we should strive to create generic,
|
||||
general use packages that can be used independent of Talos.
|
||||
In building higher level abstractions, we should strive to create generic, general use packages that can be used independent of Talos.
|
||||
The following rules apply to public packages:
|
||||
|
||||
- a `pkg` should _never_ contain `internal` code
|
||||
|
||||
### Graduation Criteria
|
||||
|
||||
In deciding if a package should be moved to an external repository, the
|
||||
following should be taken into consideration:
|
||||
In deciding if a package should be moved to an external repository, the following should be taken into consideration:
|
||||
|
||||
- are there requests for exposing the package?
|
||||
- are there people willing to maintain the package?
|
||||
|
||||
@ -1,14 +0,0 @@
|
||||
# networkd
|
||||
|
||||
Networkd handles the addressing and interface configuration in Talos.
|
||||
|
||||
The general workflow is:
|
||||
|
||||
- Discover all network interfaces ( `networkd.Discover()` )
|
||||
- Create an abstract representation of the network interface configuration ( `nic.NetworkInterface` )
|
||||
- Merge userdata configuration options on top of the `nic.NetworkInterface` representation
|
||||
- Configure the network interfaces based on the abstract representation ( `networkd.Configure(...)` )
|
||||
- - Bring interface up
|
||||
- - Begin address configuration method ( `address.DHCP`, `address.Static` )
|
||||
- - Create rtnetlink message to set address based on config method
|
||||
- - Create rtnetlink message to set any routes defined by the address method
|
||||
@ -1,26 +0,0 @@
|
||||
# Firecracker Talos Provisioner
|
||||
|
||||
This code is experimental for now.
|
||||
|
||||
Due to CNI, it requires `talosctl` to be running with at least
|
||||
`CAP_SYS_ADMIN` and `CAP_NET_ADMIN` Linux capabilities
|
||||
(in order to have the ability to create and configure network namespaces).
|
||||
|
||||
In any case, it requires `/dev/kvm` to be accessible for the user
|
||||
running `talosctl`: https://github.com/firecracker-microvm/firecracker/blob/master/docs/getting-started.md#prerequisites
|
||||
|
||||
CNI configuration directory (could be overridden with `talosctl` flags) should
|
||||
exist, default location is `/etc/cni/conf.d`.
|
||||
|
||||
Network namespace default mountpoint should be created as well: `/var/run/netns`.
|
||||
|
||||
Following CNI plugins should be installed to the CNI binary path (default is `/opt/cni/bin`):
|
||||
|
||||
- `bridge`
|
||||
- `firewall`
|
||||
- `tc-redirect-tap`
|
||||
|
||||
First two CNI plugins are part of [Standard CNI plugins](https://github.com/containernetworking/cni),
|
||||
last one can be built from [Firecracker Go SDK](https://github.com/firecracker-microvm/firecracker-go-sdk/tree/master/cni).
|
||||
|
||||
Provisioner creates bridge interface with format `talos<8 hex chars>` and never deletes it (bug).
|
||||
Loading…
x
Reference in New Issue
Block a user