• Stars
    star
    210
  • Rank 187,585 (Top 4 %)
  • Language
    Shell
  • License
    MIT License
  • Created over 5 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Github action for kubectl, the Kubernetes CLI

GitHub Action for Kubernetes CLI

This action provides kubectl for GitHub Actions.

Upgrading from v1 to v2

If you upgrade from v1 to v2, note that you need to specify new variables via with, namely version, config, and command. See below for an example.

Usage

.github/workflows/push.yml

on: push
name: deploy
jobs:
  deploy:
    name: deploy to cluster
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - name: deploy to cluster
      uses: steebchen/[email protected]
      with: # defaults to latest kubectl binary version
        config: ${{ secrets.KUBE_CONFIG_DATA }}
        command: set image --record deployment/my-app container=${{ github.repository }}:${{ github.sha }}
    - name: verify deployment
      uses: steebchen/[email protected]
      with:
        config: ${{ secrets.KUBE_CONFIG_DATA }}
        version: v1.21.0 # specify kubectl binary version explicitly
        binaries-url: "https://dl.k8s.io/release/v1.21.0/bin/linux/amd64/kubectl" # specify the download url explicitly
        command: rollout status deployment/my-app

Arguments

command – required: The command you want to run, without kubectl, e.g. get pods

config – required: A base64-encoded kubeconfig file with credentials for Kubernetes to access the cluster. You can get it by running the following command:

cat $HOME/.kube/config | base64

version: The kubectl version with a 'v' prefix, e.g. v1.21.0. It defaults to the latest kubectl binary version available.

binaries-url: The url to download the binaries from. It defaults to the official release page if empty.

Note: Do not use kubectl config view as this will hide the certificate-authority-data.