Текущие доработки talos/alt-orchestra Fork от https://git.altlinux.org/people/shaba/packages/?p=talos.git;a=summary
Go to file
Andrey Smirnov dc6ea74c35 fix: random failures in cluster health checks
The problem was that some of the health checks sort the list of the
nodes in place (via `sort.Strings()`). If cluster info provider returns
original slice, it might be mutated in such a way that it gets
corrupted.

We never noticed it before CAPI clusters, as in our tests IPs are
assigned sequentially, and sort operation is a no-op.

Specifically, the problem was with the `Nodes()` function, it returns
`append(controlPlaneNodes, workerNodes...)` slice, which by definition
might share memory with `controlPlaneNodes` slice. For example,
if control plane nodes were `4, 5, 6` and worker nodes were `3`, the
returned slice will be `4, 5, 6, 3`, and it shares memory with
`controlPlaneNodes` slice (firs three items). If we apply `sort` to the
returned slice, it re-orders it as `3, 4, 5, 6`, but as it is done
in-place, the `controlPlaneNodes` slice is now `3, 4, 5`, which is
obviously wrong.

Fix that by always returning a copy of the slice from the functions
implementing `ClusterInfo` interface.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
2020-10-08 07:13:24 -07:00
.github chore: add bug report issue template 2020-04-21 10:28:22 -07:00
api feat: add etcd API 2020-10-06 11:30:04 -07:00
cmd fix: random failures in cluster health checks 2020-10-08 07:13:24 -07:00
docs feat: allow disabling NoSchedule on master nodes 2020-10-06 10:52:37 -07:00
hack chore: publish list of images to release notes 2020-10-07 09:59:35 -07:00
internal fix: random failures in cluster health checks 2020-10-08 07:13:24 -07:00
pkg feat: implement talos.shutdown=[halt|poweroff] kernel argument 2020-10-08 01:34:44 +03:00
.codecov.yml test: run e2e-firecracker-short for default pipeline only 2020-07-01 13:16:25 -07:00
.conform.yaml release(v0.7.0-alpha.0): prepare release 2020-08-17 10:29:14 -07:00
.dockerignore chore: fix markdown linting issues 2020-04-26 20:38:03 -07:00
.drone.jsonnet chore: attempt to fix image pushing for GitHub 2020-10-02 09:39:06 -07:00
.gitignore feat: generate kubeconfig on the fly on request 2020-02-28 21:00:52 +03:00
.golangci.yml chore: enable 'testpackage' linter 2020-06-30 16:42:28 -07:00
.markdownlint.json chore: fix markdown linting issues 2020-04-26 20:38:03 -07:00
CHANGELOG.md release(v0.7.0-alpha.4): prepare release 2020-10-06 11:49:49 -07:00
CODE_OF_CONDUCT.md chore: add CONTRIBUTING.md (#337) 2019-02-14 20:55:47 -08:00
CONTRIBUTING.md docs: extend contribution doc 2020-06-18 08:17:09 -04:00
Dockerfile fix: make Flannel CNI image follow $PKGS version 2020-09-28 12:28:48 -07:00
go.mod feat: colorize output of cluster health checks 2020-10-06 07:59:30 -07:00
go.sum refactor: extract blockdevice library 2020-10-05 11:18:43 -07:00
LICENSE Initial commit 2017-11-03 16:19:12 -07:00
Makefile chore: bump pkgs version 2020-10-07 13:50:44 -07:00
netlify.toml docs: add documentation website 2019-10-18 21:28:40 -07:00
prototool.yaml chore: lint protobuf definitions 2019-08-27 18:12:36 -07:00
README.md docs: remove second meeting from README 2020-09-28 11:10:24 -07:00

Talos

A modern OS for Kubernetes.

Release Pre-release


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.
  • Evolvability: Talos simplifies your architecture and increases your ability to easily accommodate future changes.

Documentation

For instructions on deploying and managing Talos, see the Documentation.

Community

If you're interested in this project and would like to help in engineering efforts, or have general usage questions, we are happy to have you! We hold a weekly meeting that all audiences are welcome to attend.

Office Hours

You can subscribe to this meeting by joining the community forum above.

Note: You can convert the meeting hours to your local time.

Contributing

Contributions are welcomed and appreciated! See Contributing for our guidelines.

License

GitHub