Skip to content

Commit a5af5e4

Browse files
committed
release(v0.4.0-beta.0): prepare release
This is the official v0.4.0-beta.0 release. Signed-off-by: Artem Chernyshev <[email protected]>
1 parent 80b24a0 commit a5af5e4

File tree

4 files changed

+111
-79
lines changed

4 files changed

+111
-79
lines changed

CHANGELOG.md

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,96 @@
1+
## [CAPI Control Plane Provider Talos 0.4.0-beta.0](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/releases/tag/v0.4.0-beta.0) (2021-11-29)
2+
3+
Welcome to the v0.4.0-beta.0 release of CAPI Control Plane Provider Talos!
4+
*This is a pre-release of CAPI Control Plane Provider Talos*
5+
6+
7+
8+
Please try out the release binaries and report any issues at
9+
https://github.com/talos-systems/cluster-api-control-plane-provider-talos/issues.
10+
11+
### `init` nodes deprecation
12+
13+
Starting from this release CACPPT no longer relies on init nodes to bootstrap the cluster.
14+
Instead, it is now issues bootstrap and keeps bootstrap status information in the `TalosControlPlane` resource.
15+
Bootstrap state can also be retrieved from the conditions.
16+
17+
18+
### CAPI v1beta1
19+
20+
This release of CACPPT brings compatibility with CAPI v1beta1.
21+
22+
23+
### Contributors
24+
25+
* Artem Chernyshev
26+
* Andrey Smirnov
27+
* Spencer Smith
28+
29+
### Changes
30+
<details><summary>5 commits</summary>
31+
<p>
32+
33+
* [`a24dad3`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/a24dad3328d52a3744f685ddde913d66dd17b176) fix: do not allow scaling down controlplane to zero
34+
* [`8a73e6a`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/8a73e6a26e52151b1dd4604c4d0737036f119c30) feat: get rid of init nodes and use bootstrap API to setup cluster
35+
* [`205f4be`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/205f4be2057b3ea81c4dcf47004db6864ff31801) release(v0.4.0-alpha.0): prepare release
36+
* [`b8db449`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/b8db4492d55f910e8a7d2a3b69ab08740963683e) fix: properly pick talos client configuration
37+
* [`61fb582`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/61fb5826391e4434b64619f0590683f7fa7b82b6) feat: support clusterapi v1beta1
38+
</p>
39+
</details>
40+
41+
### Changes since v0.4.0-alpha.0
42+
<details><summary>2 commits</summary>
43+
<p>
44+
45+
* [`a24dad3`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/a24dad3328d52a3744f685ddde913d66dd17b176) fix: do not allow scaling down controlplane to zero
46+
* [`8a73e6a`](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/commit/8a73e6a26e52151b1dd4604c4d0737036f119c30) feat: get rid of init nodes and use bootstrap API to setup cluster
47+
</p>
48+
</details>
49+
50+
### Changes from talos-systems/capi-utils
51+
<details><summary>6 commits</summary>
52+
<p>
53+
54+
* [`e8c3bf9`](https://github.com/talos-systems/capi-utils/commit/e8c3bf93e75fd46232ed6ac7df2cc7d0ad3cc8b3) feat: pass through an option to wait for providers to be set up
55+
* [`144451c`](https://github.com/talos-systems/capi-utils/commit/144451cdef39bf6aed0cf1395ff69f9ce0496243) feat: switch to CAPI v1beta1
56+
* [`151aac2`](https://github.com/talos-systems/capi-utils/commit/151aac243655ecf5ac82fde99db1d11795f4c14c) fix: properly define calico version
57+
* [`658f48a`](https://github.com/talos-systems/capi-utils/commit/658f48a2034f991278ba7eeebccb3519dc1ee30a) feat: support getting cluster template files by http urls
58+
* [`e0cadf5`](https://github.com/talos-systems/capi-utils/commit/e0cadf51e3dec7f7af7acfc533233365e01860a1) feat: add method to fetch a k8s client
59+
* [`b018ea2`](https://github.com/talos-systems/capi-utils/commit/b018ea29c13a09ae2fdb2a071c5b7c8bd626bb50) feat: add ability to pass custom `Proxy` implementation in clusterapi
60+
</p>
61+
</details>
62+
63+
### Changes from talos-systems/cluster-api-bootstrap-provider-talos
64+
<details><summary>8 commits</summary>
65+
<p>
66+
67+
* [`6d27c57`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/6d27c57584b99ac9aab5313191c701ccd780bc5d) release(v0.5.0): prepare release
68+
* [`f6dc0a3`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/f6dc0a3372dba82306a4abc9b2a064f1e337421c) fix: regenerate manifests
69+
* [`2a4115f`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/2a4115f1211a20e5058a7b0430c4dc4081acfcfe) release(v0.5.0-alpha.0): prepare release
70+
* [`d124c07`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/d124c072c9db8d402b353a73646d2d197bae76a4) docs: update README with usage and compatibility matrix
71+
* [`20792f3`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/20792f345b7ff3c8ffa9d65c9ca8dcab1932f49e) feat: generate talosconfig as a secret with proper endpoints
72+
* [`abd206f`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/abd206fd8a98f5478f8ffd0f8686e32be3b7defe) feat: update to CAPI v1.0.x contract (v1beta1)
73+
* [`b7faf9e`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/b7faf9e730b7c9f50ffa94be194ddcf908708a2c) feat: update Talos machinery to 0.13.0
74+
* [`04742b9`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/04742b96bf757413c88d0f15bee91679644f0337) feat: import fixes/updates from kubeadm bootstrap provider
75+
</p>
76+
</details>
77+
78+
### Dependency Changes
79+
80+
* **github.com/onsi/gomega** v1.15.0 -> v1.16.0
81+
* **github.com/talos-systems/capi-utils** b2f8f83d3df6 -> e8c3bf93e75f
82+
* **github.com/talos-systems/cluster-api-bootstrap-provider-talos** v0.4.0-alpha.0 -> v0.5.0
83+
* **google.golang.org/grpc** v1.40.0 -> v1.41.0
84+
* **k8s.io/api** v0.22.1 -> v0.22.2
85+
* **k8s.io/apimachinery** v0.22.1 -> v0.22.2
86+
* **k8s.io/apiserver** v0.22.1 -> v0.22.2
87+
* **k8s.io/client-go** v0.22.1 -> v0.22.2
88+
* **k8s.io/utils** bdf08cb9a70a -> cb0fa318a74b
89+
* **sigs.k8s.io/cluster-api** v0.4.3 -> v1.0.0
90+
* **sigs.k8s.io/controller-runtime** v0.9.7 -> v0.10.2
91+
92+
Previous release can be found at [v0.3.1](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/releases/tag/v0.3.1)
93+
194
## [CAPI Control Plane Provider Talos 0.4.0-alpha.0](https://github.com/talos-systems/cluster-api-control-plane-provider-talos/releases/tag/v0.4.0-alpha.0) (2021-11-10)
295

396
Welcome to the v0.4.0-alpha.0 release of CAPI Control Plane Provider Talos!

README.md

Lines changed: 8 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -42,20 +42,11 @@ This provider's versions are compatible with the following versions of Talos:
4242

4343
## Building and Installing
4444

45-
This control plane provider can be installed with clusterctl.
46-
Add the following to your clusterctl.yaml:
47-
48-
```yaml
49-
providers:
50-
- name: "talos"
51-
url: "https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/releases/latest/bootstrap-components.yaml"
52-
type: "BootstrapProvider"
53-
- name: "talos"
54-
url: "https://github.com/rsmitty/cluster-api-control-plane-provider-talos/releases/latest/controlplane-components.yaml"
55-
type: "ControlPlaneProvider"
56-
```
45+
This control plane provider can be installed with clusterctl:
5746

58-
You can then install with `clusterctl init --control-plane "talos" --bootstrap "talos" ...`.
47+
```bash
48+
clusterctl init -c talos -b talos
49+
```
5950

6051
This project can be built simply by running `make release` from the root directory.
6152
Doing so will create a file called `_out/control-plane-components.yaml`.
@@ -67,68 +58,8 @@ You will need at least the upstream CAPI components, the Talos bootstrap provide
6758

6859
## Usage
6960

70-
CACPPT supports a single API type, a TalosControlPlane.
71-
You can create YAML definitions of a TalosControlPlane and `kubectl apply` them as part of a larger CAPI cluster deployment.
72-
Below is a bare-minimum example.
73-
74-
A basic config:
75-
76-
```yaml
77-
apiVersion: controlplane.cluster.x-k8s.io/v1alpha3
78-
kind: TalosControlPlane
79-
metadata:
80-
name: talos-cp
81-
spec:
82-
version: v1.18.1
83-
replicas: 1
84-
infrastructureTemplate:
85-
kind: MetalMachineTemplate
86-
apiVersion: infrastructure.cluster.x-k8s.io/v1alpha3
87-
name: talos-cp
88-
controlPlaneConfig:
89-
init:
90-
generateType: init
91-
controlplane:
92-
generateType: controlplane
93-
```
94-
95-
Note you must provide an infrastructure template for your control plane.
96-
See your infrastructure provider for how to craft that.
97-
98-
Note the generateType mentioned above.
99-
This is a required value in the spec for both init and controlplane nodes.
100-
For a no-frills control plane config, you can simply specify `controlplane` depending on each config section.
101-
When creating a TalosControlPlane this way, you can then retrieve the talosconfig file that allows for osctl interaction with your nodes by doing something like `kubectl get talosconfig -o yaml talos-cp-xxxx -o jsonpath='{.status.talosConfig}'` after creation.
102-
103-
If you wish to do something more complex, we allow for the ability to supply an entire Talos config file to the resource.
104-
This can be done by setting the generateType to `none` and specifying a `data` field.
105-
This config file can be generated with `talosctl config generate` and the edited to supply the various options you may desire.
106-
This full config is blindly copied from the `data` section of the spec and presented under `.status.controlPlaneData` so that the upstream CAPI controllers can see it and make use.
107-
108-
An example of a more complex config:
109-
110-
```yaml
111-
apiVersion: control-plane.cluster.x-k8s.io/v1alpha2
112-
kind: TalosControlPlane
113-
metadata:
114-
name: talos-0
115-
labels:
116-
cluster.x-k8s.io/cluster-name: talos
117-
spec:
118-
controlPlaneConfig:
119-
init:
120-
generateType: none
121-
data: |
122-
version: v1alpha1
123-
machine:
124-
type: init
125-
token: xxxxxx
126-
...
127-
...
128-
...
129-
...
130-
...
131-
```
61+
You can use recommended [Cluster API templates](https://github.com/talos-systems/cluster-api-templates) provided by Sidero Labs.
62+
It contains templates for `AWS` and `GCP`, which are verified by the integration tests.
13263

133-
Note that specifying the full config above removes the ability for our control plane provider to generate a talosconfig for use.
134-
As such, you should keep track of the talosconfig that's generated when running `talosctl config generate`.
64+
If you are going to use this provider as part of Sidero management plane, please refer to [Sidero Docs](https://www.sidero.dev/docs/v0.4/getting-started/install-clusterapi/)
65+
on how to install and configure it.

config/crd/bases/controlplane.cluster.x-k8s.io_taloscontrolplanes.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ spec:
158158
description: TalosControlPlaneStatus defines the observed state of TalosControlPlane
159159
properties:
160160
bootstrapped:
161-
description: Bootstrapped denotes wheither any nodes recieved bootstrap request which is required to start etcd and Kubernetes components in Talos.
161+
description: Bootstrapped denotes whether any nodes received bootstrap request which is required to start etcd and Kubernetes components in Talos.
162162
type: boolean
163163
conditions:
164164
description: Conditions defines current service state of the KubeadmControlPlane.

hack/release.toml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ github_repo = "talos-systems/cluster-api-control-plane-provider-talos"
66
match_deps = "^github.com/(talos-systems/[a-zA-Z0-9-]+)$"
77

88
# previous release
9-
previous = "v0.3.0"
9+
previous = "v0.3.1"
1010

1111
pre_release = true
1212

@@ -19,4 +19,12 @@ preface = """\
1919
title = "CAPI v1beta1"
2020
description = """\
2121
This release of CACPPT brings compatibility with CAPI v1beta1.
22+
"""
23+
24+
[notes.bootstrap]
25+
title = "`init` nodes deprecation"
26+
description = """\
27+
Starting from this release CACPPT no longer relies on init nodes to bootstrap the cluster.
28+
Instead, it is now issues bootstrap and keeps bootstrap status information in the `TalosControlPlane` resource.
29+
Bootstrap state can also be retrieved from the conditions.
2230
"""

0 commit comments

Comments
 (0)