Commit Graph

158 Commits

Author SHA1 Message Date
Danil Grigorev c8762be772
Introduce v1alpha2 api version
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2024-01-08 13:03:26 +01:00
Richard Case f76dff43f3
chore: update to capi v1.6.0
This bumps CAPI to v1.6.0 along with associated depenendies. The
sample templates have also been updated for docker so they are
compatible with v1.6.0, specifically using a custom LB config.

Signed-off-by: Richard Case <richard.case@outlook.com>
2023-12-07 14:32:40 +00:00
Alexandr Demicev 3cd309f909
Create bootstrap-success before setting selinux to enforcing mode
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-11-27 18:27:39 +01:00
Alexandr Demicev e1d26f6108
Fix selinux in ignition for SLE micro
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-11-22 14:46:53 +01:00
Danil Grigorev 8af997563f
Merge pull request #190 from Danil-Grigorev/arbitrary-cloud-init
Add arbitrary data field
2023-11-16 10:20:51 +01:00
Danil Grigorev f62ad18a52
Add tests for arbitrary data field
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2023-11-15 11:59:11 +01:00
Danil Grigorev 91b733692f
Add arbitrary data field
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2023-11-15 11:59:02 +01:00
Alexandr Demicev a511cdd300
Run ignition bootstrap script only once
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-11-13 14:27:12 +01:00
Danil Grigorev df0d88e916
Update files with lint fixes
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2023-10-30 16:49:54 +01:00
Danil Grigorev 71354c2218
Add test cases covering metadata propagation
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2023-10-30 16:49:54 +01:00
Danil Grigorev db08f5556f
Implement metadata propagation on the workload cluster nodes
Signed-off-by: Danil Grigorev <danil.grigorev@suse.com>
2023-10-30 16:49:53 +01:00
Alberto Morgante Medina 814a561644
Add ignition V3 support
Signed-off-by: Alberto Morgante Medina <alknopfler@gmail.com>
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-10-30 14:36:24 +01:00
Alexandr Demicev 85372d9be5
Fix breaking changes after updating dependecies
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-10-11 12:16:58 +02:00
Richard Case 6c07719274
feat: support different registration methods
This adds support for different ways to register new nodes into the
cluster.

Signed-off-by: Richard Case <richard.case@outlook.com>
2023-06-15 15:33:45 +01:00
Luis Rascao 4fe5e53aa5
fixup! chore(deps): Bump github.com/onsi/ginkgo/v2 from 2.9.1 to 2.9.4
Signed-off-by: Luis Rascao <luis.rascao@gmail.com>
2023-05-22 11:44:46 +01:00
Mohamed Belgaied Hassine 90e5619a1f
Implemented possibility to use Multus CNI, fixes #103 (#132)
improved some logging

fixed small issue related to the change in the way CNI field is handled

Fixing comments for validate func in webhook

Cleaning up multus RKE2-on-CAPD manifests

updated godoc comment on API field for rke2controlplane

Removed unnecessary comment in external AWS templates

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-05-16 15:32:54 +02:00
Alexandr Demicev 244768ff83
Use single structure and function for CP ignition generation
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-05-09 16:32:30 +02:00
Alexandr Demicev 00c1b759d2
Add tests for ignition bootstrap data
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-30 19:58:04 +02:00
Alexandr Demicev 0a8d67900a
Support using ignition format for generating user data
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-30 19:57:59 +02:00
Alexander Demicev 21892040ed
Validate/default control plane object with webhooks (#123)
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-28 22:43:30 +02:00
Alexandr Demicev 67d46fedee
Regenerate manifests
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-27 17:42:12 +02:00
Alexandr Demicev 9cf0e418d7
Change config field name when generating cloud config
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-27 17:42:12 +02:00
Alexandr Demicev 5ae37bda04
Validate ignition config using webhook
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-27 17:42:12 +02:00
Alexandr Demicev 5c1c4b745d
Add ignition format to the API
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2023-03-27 17:42:12 +02:00
Richard Case 926bea3ce2
feat: initial e2e tests
This adds initial e2e tests for the RKE2 providers. There are still lots
more e2e tests that need to be added.

Signed-off-by: Richard Case <richard.case@outlook.com>
2023-03-27 15:09:15 +01:00
Mohamed Belgaied Hassine e4d636bf64
implemented additionUserData configuration in the API (#114)
* implemented additionUserData configuration in the API

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

* implemented review feedback

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

---------

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-03-24 11:23:09 +01:00
Alexander Demicev 34cdd1518c
Merge pull request #115 from belgaied2/constants-cleanup
moved useful constants to own package
2023-03-22 15:42:38 +01:00
Mohamed Belgaied Hassine 5d9837a73b
Fixed a mistake in the description of ExtraArgs field
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-03-21 20:52:04 +00:00
Mohamed Belgaied Hassine f9f3b23cff
moved useful constants to own package
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-03-21 20:35:01 +00:00
Mohamed Belgaied Hassine a0858f8ea2
Fixed #28 CIS Profile now works and is different for v1.25+ and v1.24- (#110)
Fixes #28 and makes it possible to differenciate CIS profiles between versions
Removed snake case in util.go
Fixed Units tests for the CIS scenario

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-03-14 14:27:46 +01:00
Mohamed Belgaied Hassine fc445b63b8
fixed linting issues (first pass)
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

make generate afte minor fixes to API descriptions

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

fixed some regressions from refactoring

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

changed timeout value for golanci-lint GH action, because it was failing

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-03-10 12:58:16 +00:00
Mohamed Belgaied Hassine 2573d3b5a1
Added GH action for release
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

added Go setup to release action

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Fixed nil pointer dereference caused by NTP servers feature

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

modifying Makefile behavior to keep kustomize config files intact

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-02-24 10:31:28 +00:00
Mohamed Belgaied Hassine 09add13e83
moved cloud-init package to bootstrap/internal and did some cleanup
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Revert "code cleanup, removing unnecessary takeovers. removing some references to Kubeadm provider code"

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

change verbosity level

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

updated matching RKE2Config of the machine with new ControlPlane

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

implemented registries.yaml files for workers, cp might be problematic in this impl

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Fixing issues around registries.yaml for control plane nodes

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

implemented manifests feature, still to be tested!

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

small fixes and adding AWS sample

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

small fixes and adding AWS sample

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

testing aws -- not working providerID

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

testing aws -- not working providerID

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Fixing some AWS testing using templates

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Fixed several issues when deploying with AWS external cloud provider

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

implemented NTP configuration

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

implemented review comments

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Fixed typo on registry rewrites and endpoints

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-02-15 17:11:44 +00:00
Mohamed Belgaied Hassine e2c134c69b
Fixes for PR #60
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-17 18:52:14 +00:00
Mohamed Belgaied Hassine 9d2654a4ca
fixed issue with providerID and added handling of ClusterCIDR and ServiceCIDR
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:52:21 +00:00
Mohamed Belgaied f17429b76e
Fixed some small issues in the generation of config.yaml
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:52:19 +00:00
Mohamed Belgaied 0cb534163a
implemented air gapped installation with API Airgapped option
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:52:09 +00:00
Mohamed Belgaied 5f730da144
change search for controlplane ownerRef in bootstrap controller
Signed-off-by: Mohamed Belgaied <belgaied2@hotmail.com>
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:44 +00:00
Mohamed Belgaied 2d6bd687bf
Fixing some license and copyright issues
Signed-off-by: Mohamed Belgaied <belgaied2@hotmail.com>
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:41 +00:00
Mohamed Belgaied b575a7c0b3
Working multi-controlplane and multi-worker
Signed-off-by: Mohamed Belgaied <belgaied2@hotmail.com>
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:40 +00:00
Mohamed Belgaied Hassine 9c3e70f61e
working 1 node deployment
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:40 +00:00
Mohamed Belgaied Hassine 0141473d6b
Fixing 1 node initialization
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:39 +00:00
Mohamed Belgaied Hassine 9a1a2cc718
prepare for rebase on main
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:38 +00:00
Mohamed Belgaied Hassine 1cfab9f30a
code cleanup, removing unnecessary takeovers. removing some references to Kubeadm provider code
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2023-01-11 15:50:31 +00:00
Alexander Demicev d3056ea326
Merge pull request #51 from alexander-demicev/config
Generate config for agent and server
2022-12-20 14:14:42 +01:00
Alexandr Demicev fa4235450b
Minor API improvements
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-12-05 16:32:48 +01:00
Alexandr Demicev a3c13b9c94
Fix license year and add where its missing
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-11-24 16:52:38 +01:00
Mohamed Belgaied Hassine 85232c3a0e
fixing review feedback and removing references to kubeadm and coredns
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2022-11-24 14:38:32 +00:00
Mohamed Belgaied Hassine b3f89e96ba
improved import ordering in bootstrap/main.go
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2022-11-23 20:43:33 +00:00
Mohamed Belgaied Hassine f426825fc2
Adding Draft implementation of Bootstrap provider
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2022-11-23 20:41:14 +00:00
Alexandr Demicev 3d4ffa44b5
Improve main.go after scaffolding
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-11-14 17:29:19 +01:00
Alexandr Demicev 9d07cc986e
Remove leftovers after scaffolding
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-11-14 17:16:20 +01:00
Mohamed Belgaied Hassine 57c6795ecf
Refining the Control Plane API
Moved RKE2ServerConfig relevant parts to Control Plane API

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

standardized comment spacing to a single space

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Added ManifestsConfigMapReference to the control plane for the possibility to automatically deploy manifests

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Added NTP Field to the common node configuration

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Adding Status fields in the Control API and clarifying bootstrap import

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Adding fields from RKE2ConfigSpec to RKE2ControlPlaneSpec and removing RKE2CommonNodeConf struct

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

fixed LoadBalancerPort json name

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Removed fields for requests and limits of the control plane components from the API

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Removed some unnecessary comments generated by kubebuilder

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2022-11-14 14:22:24 +00:00
Mohamed Belgaied Hassine 915cc0b839
Refining the Bootstrap API
First commit - drafting data struct docs

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Added UML file for documenting structs

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Adding first version of RKE2Config structs

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Updating go modules because of changes in imports

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

did a go mod tidy

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

re-generated CRDs using make generate

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

fixed refactoring issue in webhook configuration

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Dot at the end of comment line

Co-authored-by: Alexander Demicev <alexandr.demicev@suse.com>
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Dot at the end of comment line

Co-authored-by: Alexander Demicev <alexandr.demicev@suse.com>
Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Adding dots in comment end of lines when necessary

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Small improvements in comment formatting

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Removed DeployRKE2Commands attribute because of duplicate usage

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Replaced SecretRef and ConfigMapRef types by the generic v1.ObjectReference type

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

fixed additional issue with webhook refactoring

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

simplified EtcdBackupConfig struct field names

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

removed Snapshotter attribute from RKE2Agent/ServerConfig

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

changed ResolvConf attribute to reference a ConfigMap instead of a string with a path

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

changed EtcdMetricsExposed to EtcdMetricsExposurePolicy to replace bool with enum

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

replaced bool fields with enums as recommended by KubeAPI best practices

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Capitalize acronym in KubeAPIServer

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Co-authored-by: Alexander Demicev <alexandr.demicev@suse.com>

Fixed small issues related to capitalization of KubeAPIServer attribute

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

fixed issue of Kubebuilder enum validation + moved validation tags to structs fields instead of types

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Changed LbServerPort to LoadBalancerPort with type int

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

capitalized some acronym attributes

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Removed some unnecessary structs and annotations from Registry struct, will use another struct for marshalling yaml

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Modify TLSConfig for registries to reference a single tls secret instead of three secrets

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

removed duplicate attributes between agent and server, and put them their own common struct

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

removed BootstrapData field in RKE2ConfigStatus struct

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Small comment changes

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

moved multiple disableXXX attributes to single DisableComponents struct

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

refactoring back to bool and adding constants

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>

Changed all Rke2Xxx structs to RKE2Xxx

Signed-off-by: Mohamed Belgaied Hassine <belgaied2@hotmail.com>
2022-11-14 14:21:54 +00:00
Alexandr Demicev 303493bcc2
Fix CRD paths in envtest setup
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-11-03 11:38:30 +01:00
Richard Case 8469f799e5
chore: readme and tailt changes
Some changes after testing with tilt. The tilt setup is dependent on a
bug being fixed upstream in capi. Added some initial instructions to the
README to get started.

Signed-off-by: Richard Case <richard.case@outlook.com>
2022-11-03 07:59:02 +00:00
Alexandr Demicev e697e283f9
Standardise API imports
Signed-off-by: Alexandr Demicev <alexandr.demicev@suse.com>
2022-11-02 15:53:10 +01:00
Richard Case e5e027de73
chore: scaffolding of the provider
This is the initial scaffolding for the RKE2 provider. It includes a
bootstrap and control plane provider,

Signed-off-by: Richard Case <richard.case@outlook.com>
2022-11-02 10:07:26 +00:00