K8s-config-connector: Open Source Config Connector

Created on 1 Nov 2019  路  21Comments  路  Source: GoogleCloudPlatform/k8s-config-connector

are there any plans to release source code for config connector?

enhancement

Most helpful comment

@spew Yep that would be great! I'm building an operator at the moment and want to leverage google connector CRs instead of using the google cloud SDK directly. I think that will save me a lot of effort. Without a google connector SDK it makes it sort of hard though as I'll need to resort to unstructured.

All 21 comments

@redbaron , at this time we have no plans to release the source code.

@AlexBulankou , why is that? Given that official way is to run it on our own nodes, it feels a bit off not to be able to fix bugs or make necessary customisations

@redbaron could you clarify what you mean by release source code? do you mean the ability to get you the binaries so that you can inspect them for security/etc. or do you want config connector to be open source so that you can contribute to the code?

Wouldn't it be useful to be able to depend on the golang types in our own controllers so we can easily manipulate them? Or are we expected to use Unstructured for all of the config-connector types?

By golang types, are you referring to the GO structs for resource CRDs? config-connector resource CRDs are generated from the underlying API schema; we don't define specific GO struct for each CRD.

@jsravn would it be helpful if we made available a golang SDK which had structs and clients for each of the Config Connector CRDs?

If so, would that solve all of your needs or would there be more?

@spew Yep that would be great! I'm building an operator at the moment and want to leverage google connector CRs instead of using the google cloud SDK directly. I think that will save me a lot of effort. Without a google connector SDK it makes it sort of hard though as I'll need to resort to unstructured.

related to #64 cc @whizard

could you clarify what you mean by release source code? do you mean the ability to get you the binaries so that you can inspect them for security/etc. or do you want config connector to be open source so that you can contribute to the code?

Both - inspect the code for security issues and potentially contribute too. It seems strange that the code is not open. I'm wondering what is the barrier to making it open?

could you clarify what you mean by release source code? do you mean the ability to get you the binaries so that you can inspect them for security/etc. or do you want config connector to be open source so that you can contribute to the code?

Both - inspect the code for security issues and potentially contribute too. It seems strange that the code is not open. I'm wondering what is the barrier to making it open?

@ash2k thanks thats is helpful and good to know. We can make the code available for static/dynamic security analysis if security is a concern to adoption. We are currently heads down increasing functionality and coverage (of GCP services) for Config Connector and as such making it open source right now introduces additional tax without a ready community of contributors. We are always looking to adapt and get feedback do you have specific areas you were thinking of contributing to?

@mountainsaxena ,

We are always looking to adapt and get feedback do you have specific areas you were thinking of contributing to?

I'd definitely had a go at #101

Adding my voice to this, it's extremely useful to be able to see the source-code to understand why things are failing. Examples of this include trying to debug this error message from configuring a dead letter topic on a subscription:

Warning  UpdateFailed  3s (x243 over 2d18h)  pubsubsubscription-controller  Update call failed: error fetching live state: error converting resource config: error resolving value of target field of referenced resource: referenced resource's target field name is unsupported

I don't have enough context to understand this error without looking at the code, and trying to parse the intent.

Hi @lawrencejones could you please open up an issue for the problem you are having with a PubSubSubscription ?

Hey, sorry about this, totally missed your response. Issue opened here: https://github.com/GoogleCloudPlatform/k8s-config-connector/issues/281

@AlexBulankou @mountainsaxena and the rest of the Config Connector team:

If we had access to source code, there would not be a need for prolonged back-and-forth trying to understand how exactly things work and when changes/fixed are made. Please see #153 for an example

The release notes for Config Connector are way too high level. They don't even have CC version numbers.

Hi @sryabkov I understand your frustration. At this time we do not have plans to open source config connector, but that could change.

We do have more granular notes that tie more directly to the github issues available here: https://github.com/GoogleCloudPlatform/k8s-config-connector/releases

@spew I understand. Thank you for pointing me to the release notes.

I look at the config connector as a form of SDK. You could imagine that other forms of managing configuration as code could benefit from the work done on this project. For example: https://github.com/crossplane/provider-gcp/

@spew I would like to contribute or fork the project for modifications to suit my needs. One specific use case is that I want to set up a new SQLInstance that is cloned from an existing cloud SQL instance: https://cloud.google.com/sql/docs/postgres/clone-instance

My use case is creating copies of my database for testing and preview apps.

Hi @justinr1234, I'm sorry we don't yet support cloning an existing SQLInstance. I think your request might be separate from this thread -- would you mind opening a separate enhancement issue requesting this feature? Doing so will help give us more data on the urgency/impact of the issue for you and can help us reprioritize the request accordingly.

Was this page helpful?
0 / 5 - 0 ratings