kubernetes-sigs / cluster-api-provider-ibmcloud

Cluster API Provider for IBM Cloud
https://cluster-api-ibmcloud.sigs.k8s.io
Apache License 2.0
62 stars 77 forks source link

Push latest image to quay.io via CI process #116

Closed gyliu513 closed 5 years ago

gyliu513 commented 5 years ago

/kind bug /sig ibmcloud

We should always push controller and clusterctl to quay.io via CI process.

Controller

quay.io/cluster-api-provider-ibmcloud/controller

Clusterctl

quay.io/cluster-api-provider-ibmcloud/clusterctl

@morvencao

xunpan commented 5 years ago

@gyliu513 as we already under account cluster-api-provider-ibmcloud, shall we use names controller and clusterctl for simple. Especially for clusterctl, I think it is better descriptive in docker run quay.io/cluster-api-provider-ibmcloud/clusterctl ...

gyliu513 commented 5 years ago

@xunpan +1 to use simple name, you can create PR to fix this.

jichenjc commented 5 years ago

+1 to the simple naming given the namespace we added

gyliu513 commented 5 years ago

@xunpan can you help check how federation v2 push the latest image to quay.io? We can follow same way for ibmcloud.

/assign @xunpan

xunpan commented 5 years ago

federation push image to quay.io when CI succeed. It pushes images for kubernetes-multicluster/federation-v2 with canary, latest and tag version, e.g. v0.0.9.

gyliu513 commented 5 years ago

@xunpan Yes, shall we follow same logic for ibmcloud images?

xunpan commented 5 years ago

@gyliu513 I'm trying to understand how to set credential to access quay.io in travis. After that, I will fix this issue.

gyliu513 commented 5 years ago

how to set credential to access quay.io

Yes, this is exactly what we should do.

morvencao commented 5 years ago

@xunpan I think we need to put the credential in k8s secret that prow jobs can access.

jichenjc commented 5 years ago

only want to make sure my understanding, we will push the image when CI passed and merged into master or just CI passed and push to registry for test purpose? both works for me but I want to make sure I understand the correct way, thank you @morvencao @gyliu513 @xunpan

xunpan commented 5 years ago

The logic is pushing image after CI passed for canary image. The code at the moment is not merged yet. CI is prerequisite for merge but not do code merge automatically.

For release versioned and latest (latest release one), they are only push by a tag (for release).

xunpan commented 5 years ago

@morvencao I guess it is not for this case to pass credential manually by k8s secret. It is better to set it in security place and follow up existing practise.

xunpan commented 5 years ago

federation v2 uses travis ci but ibmcloud cluster api uses test-infra.

xunpan commented 5 years ago

I think it has no existing ways to push image automatically to cloud and keep security private in test-infra.

I'm still thinking is it necessary to make automatically pushed.

Any comments? @gyliu513

gyliu513 commented 5 years ago

@xunpan +1 for this, let me close this issue.