Repository navigation
deploy-gke Github Action #14
Description
Activity
@zrosenbauer thanks for the suggestion. I have a few ideas around a potential action where we offer additional functionality beyond just a wrapper around
kubectl apply. Perhaps waiting for deploy to complete, easily allowing to swap in image digest etc. Did you have any other ideas?The CircleCI Orb I shared has really good examples and good API (for most part but haven't reviewed the whole thing).
Commands:
- create-or-update-resource
- delete-resource
- get-rollout-status
- install
- install-kops
- install-kubeconfig
- install-kubectl
- rollback
- update-container-image - (I used this A LOT & very similar to Cloud Run Deploy other than its only update not create)
Ideally, it would accept two types of deployments out of the box "Manifest OR update-image (
kubectl set image). You could also support Helm or Kustomize BUT with both of those tools you can generate the manifests.GKE is more complex but you could easily have multiple actions long term i.e.
deploy-gke,deploy-gke-helm,deploy-gke-kustomizeif you wanted...@bharathkkb any other thoughts on this? I'm not super familiar with the GKE APIs (I would more likely proxy via setup-gcloud) but could take a stab but would need a Google template or something set up.
Hi @zrosenbauer I'll get back to you next week regarding more concrete plans on moving forward.
I think any
install-*would be currently out of scope to fit into this repo. kubectl is preinstalled and incase of selfhosted you can control the binaries in the image. I also wary about being toolchain specific (helm, kustomize) beyond kubectl but can be companion actions after you get credentials to any cluster.update-container-imageandawait-rolloutare def useful and worth considering.I'm not super familiar with the GKE APIs
So AFAIK none of the above enhancements we discussed talk to Google APIs, they would talk directly to kubeapi. Feel free to correct me if I missed something.
What I've seen to date in all of these actions is interacting with the Google API wrappers for GKE / CloudRun etc.
I think the most salient command that would be great to add is:
update-container-imageas its similar to Cloud Run interface in the sense you pass it an image and you can deploy. It would NOT support creating the deployment.If it can just mirror the kubectl API and honestly just proxy to it with some simple reusable commands it would be a good addition.
Aka use setup-gke and run the commands based on the inputs (could be overkill for Google but I'm going to build in anycase)
- locked and limited conversation to collaborators
on Dec 17, 2022
TL;DR
Would it make sense to add in the ability to deploy / run commands similar to the CircleCI Orb: https://circleci.com/developer/orbs/orb/circleci/kubernetes#commands
I've been considering building this, but happy to do leverage this action under google-github-actions or build under https://github.com/bluenovaio. This would help me with a project we are working on so I'm going to probably build it either way...
Design
Action YAML
# Paste your proposed GitHub Actions YAML here.Resources
Additional information