Config Connector is a Kubernetes add-on that allows customers to manage GCP resources, such as Cloud Spanner or Cloud Storage, through your cluster's API.
With Config Connector, now you can describe GCP resources declaratively using Kubernetes-style configuration. Config Connector will create any new GCP resources and update any existing ones to the state specified by your configuration, and continuously makes sure GCP is kept in sync. The same resource model is the basis of Istio, Knative, Kubernetes, and the Google Cloud Services Platform.
As a result, developers can manage their whole application, including both its Kubernetes components as well as any GCP dependencies, using the same configuration, and -- more importantly -- tooling. For example, the same customization or templating tool can be used to manage test vs. production versions of an application across both Kubernetes and GCP.
This repository contains full Config Connector source code. This inlcudes controllers, CRDs, install bundles, and sample resource configurations.
See https://cloud.google.com/config-connector/docs/overview.
For simple starter examples, see the Resource reference and Cloud Foundation Toolkit Config Connector Solutions.
- Ubuntu (18.04/20.04)
- Debian (9/10/11)
-
Create an Ubuntu 20.04 VM on Google Cloud.
-
Open an SSH connection to the VM.
-
Create a new directory for GoogleCloudPlatform open source projects if it does not exist.
mkdir -p ~/go/src/github.com/GoogleCloudPlatform
-
Update apt and install build-essential.
sudo apt-get update sudo apt install build-essential
-
Clone the source code.
cd ~/go/src/github.com/GoogleCloudPlatform git clone https://github.com/GoogleCloudPlatform/k8s-config-connector
-
Change to environment-setup directory.
cd ~/go/src/github.com/GoogleCloudPlatform/k8s-config-connector/scripts/environment-setup
-
Install Golang.
./golang-setup.sh source ~/.profile
-
Install other build dependencies.
./repo-setup.sh source ~/.profile
-
Install all required dependencies
-
Add all required dependencies to your
$PATH
. -
Set up a GOPATH.
-
Add
$GOPATH/bin
to your$PATH
. -
Clone the repository:
cd $GOPATH/src/github.com/GoogleCloudPlatform git clone https://github.com/GoogleCloudPlatform/k8s-config-connector
-
Enter the source code directory:
cd $GOPATH/src/github.com/GoogleCloudPlatform/k8s-config-connector
-
Build the controller:
make manager
-
Build the CRDs:
make manifests
-
Build the config-connector CLI tool:
make config-connector
Please refer to our contribution guide for more details.