Skip to content

reclaim-the-stack/k-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

k Github Action

Installs and configures k inside GitHub actions.

Configuration

Required

gitops-repository-url - The URL for your GitOps repository. Include a Personal Access Token in the userinfo part of the URL. Eg. https://<personal-access-token>@github.com/<organization>/<repository>.

kube-config - A Base64 encoded string containing a full kubectl configuration YAML payload with access to the Kubernetes repository you want k to interact with. Eg. Linux: cat ~/.kube/config | base64 (on Linux add the --wrap 0 argument to avoid newlines).

Optional

kube-config - The name of the kubectl context to use. Defaults to the current context as set in kube-config.

registry - The host of the Docker registry. Eg. docker.io, ghcr.io etc. Note: If you're running commands relying on docker, you might want to use another Github action to login to your registry.

registry-namespace - The namespace (aka. user / organisation) on the Docker registry. Ie. the path that goes in between the registry host and the repository name of your Docker images.

Example usage

Example of running k deploy to deploy the current git-sha of the checked out repository to <application-name>.

Assumes you have a GITOPS_REPOSITORY_URL secret containing your GitOps repo URL (including a personal access token as basic auth) and a KUBE_CONFIG secret containing a Base64 encoded dump of a kubectl config file with access to your Kubernetes cluster.

on: push

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: reclaim-the-stack/k-action@master
        with:
          gitops-repository-url: ${{ secrets.GITOPS_REPOSITORY_URL }}
          kube-config: ${{ secrets.KUBE_CONFIG }}
      - uses: actions/checkout@v3
      - run: k deploy <application-name> --disable-image-verification