kubernetes-sigs / cluster-api-provider-gcp

The GCP provider implementation for Cluster API
Apache License 2.0
173 stars 191 forks source link

Support additional fields for GKE #906

Closed akshay196 closed 4 weeks ago

akshay196 commented 1 year ago

/kind feature

Describe the solution you'd like

CAPG initial support for Managed Cluster (GKE) has added few basic configurations. GCP does support lot more fields for example private cluster, enable workload identity, just to name a few. This is a request to add support for more fields than just basics.

This spreadsheet enlists all important GKE configuration we can support in GCPManaged* kinds.

All additional GKE fields are documented in the spreadsheet linked above. The structure in spreadsheet can be used for defining GCPManaged API specs. Feel free to comment to discuss more about any fields.

Anything else you would like to add:

There are other open issues those requested for additional fields too:

Such requests can be tackled by the complete list (spreadsheet) attached here.

If this sounds good then, I am happy to take this forward and decide sub-tasks for better collaboration.

looping @poornima-rafay @niravparikh05

Progress

### Tasks - PR1
- [x] GCPManagedMachinePool changes (@akshay196) - https://github.com/kubernetes-sigs/cluster-api-provider-gcp/pull/944
### Tasks - PR2
- [ ] GCPManagedControlPlane changes - part 1 (Description, ClusterNetwork, DefaultNodeLocation, DefaultMaxPodsPerNode) - ~`PR#936` by Anniruddha~ (@akshay196) - https://github.com/kubernetes-sigs/cluster-api-provider-gcp/pull/1186
### Tasks - PR3
- [ ] GCPManagedControlPlane changes - part 2 (ClusterSecurity, AddonsConfig, LoggingConfig, MonitoringConfig) (@akshay196) - https://github.com/kubernetes-sigs/cluster-api-provider-gcp/pull/1186
### Tasks - PR4
- [ ] Update relevant documentation if any
aniruddha2000 commented 1 year ago

@akshay196 I am happy to get involved in the dividing task discussion and take some of them.

richardcase commented 1 year ago

That spreadsheet is really helpful @akshay196 :+1:

It would be good to split the work into smaller chunks to make the review easier and also the addition of e2e tests.

akshay196 commented 1 year ago

Updated spreadsheet with more details. Added task list above.

aniruddha2000 commented 1 year ago

Thanks for the update @akshay196 , have you started working on anything? If not I will start adding fields one by one and open a tracking PR.

aniruddha2000 commented 1 year ago

/assign

akshay196 commented 1 year ago

@aniruddha2000 Started adding username in tasks list for taking ownership of tasks.

aniruddha2000 commented 1 year ago

@akshay196 I have created the PR for my first task https://github.com/kubernetes-sigs/cluster-api-provider-gcp/pull/936 feel free to link it with the description tasks. Also, could you have a look into it? I officially cannot make you a reviewer because you are not in the k8s-sig org.

aniruddha2000 commented 1 year ago

I have started looking in the Reconciliation loop of the same, could you update the description by adding my name beside reconciliation loop for GCPManagedControlPlane @akshay196 ?

jayesh-srivastava commented 1 year ago

Hi @aniruddha2000 @akshay196 If there's room for more, would like to contribute as well.

aniruddha2000 commented 1 year ago

@jayesh-srivastava Sure, you can look into the webhooks part of GCPManagedControlPlane maybe, I think we need to discuss what kind of webhooks are required after all of the fields are up.

jayesh-srivastava commented 1 year ago

Sounds good @aniruddha2000. @akshay196 Can you please update the description and assign the webhook tasks to me?

sayantani11 commented 1 year ago

Hello @aniruddha2000 @jayesh-srivastava long time no see!!! Would also like to help in the implementation!!! Lemme know if anything is there.

aniruddha2000 commented 1 year ago

@sayantani11 yes definitely, you can have a look at other webhook

liticer commented 1 year ago

@aniruddha2000 @jayesh-srivastava How are the latest developments? We want to use these features, and if they could not be ready soon, we would like to build further implementations based on the current code.

akshay196 commented 11 months ago

Updated tasks above as per discussion here. We have divided GCPManagedControlPlane additional fields into two. We will raise PR that includes set of new fields, respective reconciliation loop changes, webhooks and e2e if any. cc @aniruddha2000 You will need to update your PR.

Task 3 is up for anyone interested.

akshay196 commented 8 months ago

Tagging Tasks - PR3 to myself and start working on it.

akshay196 commented 8 months ago

/assign

akshay196 commented 7 months ago

Aniruddha is not working on Tasks - PR2. It is open for anyone interested.

k8s-triage-robot commented 4 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

akshay196 commented 4 months ago

/remove-lifecycle stale

k8s-triage-robot commented 1 month ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale