cluster-api-provider-gcp

command module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2024 License: Apache-2.0 Imports: 27 Imported by: 0

README

capicapi

Build Status Go Report Card


Kubernetes Cluster API Provider GCP

Kubernetes-native declarative infrastructure for GCP.

What is the Cluster API Provider GCP?

The Cluster API brings declarative Kubernetes-style APIs to cluster creation, configuration and management. The API itself is shared across multiple cloud providers allowing for true Google Cloud hybrid deployments of Kubernetes.

Documentation

Please see our book for in-depth documentation.

Quick Start

Checkout our Cluster API Quick Start to create your first Kubernetes cluster on Google Cloud Platform using Cluster API.


Support Policy

This provider's versions are compatible with the following versions of Cluster API:

Cluster API v1alpha3 (v0.3.x) Cluster API v1alpha4 (v0.4.x) Cluster API v1beta1 (v1.0.x)
Google Cloud Provider v0.3.x
Google Cloud Provider v0.4.x
Google Cloud Provider v1.0.x

This provider's versions are able to install and manage the following versions of Kubernetes:

Google Cloud Provider v0.3.x Google Cloud Provider v0.4.x Google Cloud Provider v1.0.x
Kubernetes 1.15
Kubernetes 1.16
Kubernetes 1.17
Kubernetes 1.18
Kubernetes 1.19
Kubernetes 1.20
Kubernetes 1.21
Kubernetes 1.22

Each version of Cluster API for Google Cloud will attempt to support at least two versions of Kubernetes e.g., Cluster API for GCP v0.1 may support Kubernetes 1.13 and Kubernetes 1.14.

NOTE: As the versioning for this project is tied to the versioning of Cluster API, future modifications to this policy may be made to more closely align with other providers in the Cluster API ecosystem.


Getting Involved and Contributing

Are you interested in contributing to cluster-api-provider-gcp? We, the maintainers and the community would love your suggestions, support and contributions! The maintainers of the project can be contacted anytime to learn about how to get involved.

Before starting with the contribution, please go through prerequisites of the project.

To set up the development environment, checkout the development guide.

In the interest of getting new people involved, we have issues marked as good first issue. Although these issues have a smaller scope but are very helpful in getting acquainted with the codebase. For more, see the issue tracker. If you're unsure where to start, feel free to reach out to discuss.

See also: Our own contributor guide and the Kubernetes community page.

We also encourage ALL active community participants to act as if they are maintainers, even if you don't have 'official' written permissions. This is a community effort and we are here to serve the Kubernetes community. If you have an active interest and you want to get involved, you have real power!

Office hours
  • Join the SIG Cluster Lifecycle Google Group for access to documents and calendars.
  • Participate in the conversations on Kubernetes Discuss
  • Provider implementers office hours (CAPI)
  • Cluster API Provider GCP office hours (CAPG)
    • Monthly on first Thursday @ 10:00pm PT / 17:00 UTC on Zoom
    • Previous meetings: [ notes|recordings ]
Other ways to communicate with the contributors

Please check in with us in the #cluster-api-gcp on Slack.

Github Issues

Bugs

If you think you have found a bug, please follow the instruction below.

  • Please give a small amount of time giving due diligence to the issue tracker. Your issue might be a duplicate.
  • Get the logs from the custom controllers and please paste them in the issue.
  • Open a bug report.
  • Remember users might be searching for the issue in the future, so please make sure to give it a meaningful title to help others.
  • Feel free to reach out to the community on slack.
Tracking new feature

We also have an issue tracker to track features. If you think you have a feature idea, that could make Cluster API provider GCP become even more awesome, then follow these steps.

  • Open a feature request.
  • Remember users might be searching for the issue in the future, so please make sure to give it a meaningful title to help others.
  • Clearly define the use case with concrete examples. Example: type this and cluster-api-provider-gcp does that.
  • Some of our larger features will require some design. If you would like to include a technical design in your feature, please go ahead.
  • After the new feature is well understood and the design is agreed upon, we can start coding the feature. We would love for you to code it. So please open up a WIP (work in progress) PR and happy coding!
Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Documentation

Overview

main is the main package for the Cluster API GCP Provider.

Directories

Path Synopsis
api
v1beta1
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Package cloud implement cloud resources lifecycle.
Package cloud implement cloud resources lifecycle.
gcperrors
Package gcperrors implements gcp errors types.
Package gcperrors implements gcp errors types.
providerid
Package providerid implements functionality for creating kubernetes provider ids for nodes.
Package providerid implements functionality for creating kubernetes provider ids for nodes.
scope
Package scope implements scope types.
Package scope implements scope types.
services/compute/firewalls
Package firewalls implements reconciler for cluster firwall components.
Package firewalls implements reconciler for cluster firwall components.
services/compute/instances
Package instances implements reconciler for machine instance components.
Package instances implements reconciler for machine instance components.
services/compute/loadbalancers
Package loadbalancers implements reconciler for cluster control-plane loadbalancer components.
Package loadbalancers implements reconciler for cluster control-plane loadbalancer components.
services/compute/networks
Package networks implements reconciler for cluster networking components.
Package networks implements reconciler for cluster networking components.
services/compute/subnets
Package subnets implements reconciler for subnetworks.
Package subnets implements reconciler for subnetworks.
services/container/clusters
Package clusters implements reconciler for GKE cluster components.
Package clusters implements reconciler for GKE cluster components.
services/container/nodepools
Package nodepools implements reconciler for GKE node pool components.
Package nodepools implements reconciler for GKE node pool components.
services/shared
Package shared implements functionality that is shared across different services.
Package shared implements functionality that is shared across different services.
Package controllers implements controller types.
Package controllers implements controller types.
exp
Package exp contains experimental functionality.
Package exp contains experimental functionality.
api/v1beta1
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
controllers
Package controllers contains experimental controllers.
Package controllers contains experimental controllers.
Package feature implements feature functionality.
Package feature implements feature functionality.
hack
boilerplate/test
Package test implements all things for testing.
Package test implements all things for testing.
util
hash
Package hash implements hashing utilities.
Package hash implements hashing utilities.
location
Package location implements location parsing utilities.
Package location implements location parsing utilities.
reconciler
Package reconciler implements the reconciler logic.
Package reconciler implements the reconciler logic.
resourceurl
Package resourceurl implements resource url parsing utilities.
Package resourceurl implements resource url parsing utilities.
Package version implements the version :).
Package version implements the version :).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL