Serge Logvinov
750949124b
fix: csr dns name check
...
The certificate’s DNS name cannot be set to kubernetes,
because that name is reserved for the default service (kubernetes.default.svc) and is already used by the kube-api server daemons.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-09-16 13:06:58 +07:00
Serge Logvinov
4b4c7587eb
fix: service account name
...
Redefine the default service account name using environment variables.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-09-16 07:03:17 +07:00
Serge Logvinov
9c000cf546
chore: bump deps
...
Update deps
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-07-29 14:38:53 +07:00
Serge Logvinov
95b4c4be60
fix: ipv6 small subnets
...
Additionally, check the subnet mask — it should not be set as /128
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-05-15 11:08:37 +07:00
Serge Logvinov
a0e8169dd2
chore: bump deps
...
Update deps
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-05-06 19:43:53 +07:00
Serge Logvinov
094360a00b
fix: hostname in transformation rules
...
The hostname is very important for transformation rules.
It should be set if the metaserver returns an empty string.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-03-25 10:29:57 +07:00
Serge Logvinov
2c0bd2f3d7
feat: add special transformer func
...
As in helm, these functions are very useful.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-02-17 12:19:21 +02:00
Serge Logvinov
5a31bb2874
feat: add system information for transformer
...
Add SystemInformation resource values to transformer templater.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-02-14 12:17:26 +02:00
Serge Logvinov
82c154a238
feat: add taints capabilities
...
Add the capability to taint nodes during the initialization stage.
It applies only once, as other controllers may later untaint the node.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2025-02-02 12:05:17 +02:00
Serge Logvinov
2cfa7c64ac
chore: bump deps
...
Update talos deps to 1.8.3
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-11-25 20:58:47 +02:00
Serge Logvinov
82009ed898
feat: ipv6 small subnets
...
Set a limit of 32 pods per node in your Kubernetes cluster.
Some cloud providers offer a /123 IPv6 subnet for nodes, which is typically sufficient for most use cases.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-10-21 18:47:21 +03:00
Serge Logvinov
68d41338b1
fix: node allocator
...
If a node has a large subnet, such as a /56 or larger, we need to allocate a /64 subnet for each individual node.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-10-14 16:57:01 +03:00
Serge Logvinov
8350f49123
chore: bump deps
...
Update talos deps to 1.8.0
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-09-24 09:41:56 +03:00
Serge Logvinov
01145da4f4
docs: update deploy documentation
...
Add example of deployment.
Clean up unused params.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-08-29 13:48:57 +03:00
Serge Logvinov
09a5b9e24d
refactor: csr approval controller
...
Move CSR Approval to separate controller.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-08-28 17:12:08 +03:00
Serge Logvinov
326fc53c84
feat: gcp spot instances
...
Remove node kubernetes resource on spot node eviction event.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-07-11 14:45:01 +03:00
Serge Logvinov
e1a0e0e5a4
feat: node ipam controller
...
Add node IPAM controller.
It supports two modes:
* RangeAllocator - classic mode (kubernetes does the same)
* CloudAllocator - Talos is responsible for setting PodCIDRs
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-07-05 11:27:03 +03:00
Serge Logvinov
3b20bb0d45
refactor: contextual logging
...
Migrate to contextual logging.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-06-18 16:41:31 +03:00
Serge Logvinov
3a4ae03854
feat: prefer permanent ipv6
...
In ipDiscovery() we prefer permanent ipv6 addresses over temporary ones.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-06-17 09:31:31 +03:00
Serge Logvinov
53034c8151
chore: clean flag
...
Since the introduction of transformation rules, this logic is no longer necessary.
The skipForeignNode flag was undocumented before, making its removal straightforward.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-16 14:53:29 +03:00
Serge Logvinov
9dde8aa331
fix: empty terms
...
We crush if terms is empty.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-13 13:50:22 +03:00
Serge Logvinov
749a01d538
fix: make possible mutate provider-id
...
We should allow changing the Provider ID string in CCM.
And add label key/value validation.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-09 10:08:42 +03:00
Serge Logvinov
386958d6af
feat: transformer functions
...
Add functions to template executer.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-08 13:58:11 +03:00
Serge Logvinov
0e8728c11d
feat: expose metrics
...
Expose API call metrics and node CSR approve statistics.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-06 10:48:29 +03:00
Serge Logvinov
0faf0ae2b4
fix: refresh talos token
...
Due to the failover process, we also need to refresh the Talos token.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-06 08:47:54 +03:00
Serge Logvinov
85e2022f1e
feat: node transformer feature flags
...
Introduce feature flags:
* PublicIPDiscovery enables the Cloud Controller Manager (CCM) to identify global/public IPs on the node.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-06 08:42:29 +03:00
Serge Logvinov
22e398449c
feat: node transformer
...
Node transformer allows you to add extra labels/annotations and modify platform metadata.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-05-03 00:11:26 +03:00
Serge Logvinov
9403bc592a
fix: refresh talos tls certs
...
Addressing the short lifetime of Talos certificates by implementing a routine for regular recreation of the Talos client.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-02-05 18:30:21 +02:00
Serge Logvinov
b4e136b781
feat: support CloudDualStackNodeIPs
...
Talos CCM now supports the `CloudDualStackNodeIPs` feature gate. This feature
allows the user(cloud) to specify a list of IPv4 and IPv6 addresses for each node in
the cluster. https://github.com/kubernetes/kubernetes/pull/120275
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-02-05 16:53:02 +02:00
Serge Logvinov
33faa60ccb
chore: bump deps
...
Update:
K8s to 0.29.1
Github Actions deps
Talos 1.6.4
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2024-02-05 10:51:04 +02:00
Serge Logvinov
5d41626e75
fix: azure providerID
...
Set resourceGroup name to low case.
It helps azure-node-autoscaller to find the node.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-11-16 09:54:11 +02:00
Serge Logvinov
b3d55f0810
test: add basic tests
...
Tests:
* cloud-config
* helper funcs
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-05-29 12:23:40 +03:00
Serge Logvinov
5d65b1d694
fix: csr keyusage check
...
DeepEqual sees different in unsorted slices.
We will check allowed keyUsage options,
and makes chore that it has two important flags.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-05-08 10:23:49 +03:00
Serge Logvinov
2b53c2b9e7
feat: add node certificate approval
...
TalosCCM now can verify node CSR, and approve it if it OK.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-04-21 12:03:07 +03:00
Serge Logvinov
7a039d9f13
fix: node spec ip
...
Always update the node IPs.
Network ip/hostname can change after node eviction (spot instance).
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-04-06 16:26:56 +03:00
Serge Logvinov
8583f5959f
chore: bump deps
...
Update golang to 1.20.3 and bump deps.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-04-05 22:34:32 +03:00
Serge Logvinov
c80d5520ae
feat: label spot instanses
...
Set label `node.cloudprovider.kubernetes.io/lifecycle=spot` to spot instance.
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2023-03-11 20:35:01 +02:00
Serge Logvinov
345c59f4e9
feat: init ccm
...
* Add base function of CCM
* Helm-chart deployment
Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev >
2022-11-18 07:49:54 +02:00