Giter Club home page Giter Club logo

kube-tools's Introduction

kube-tools

The kube-tools GitHub Action has been deprecated in favor of Arkade which offers overs 100 CLI tools.

To migrate your workflows from kube-tools to Arkade, you can use the arkade-get GitHub Action as a drop-in replacement.

Example:

    - uses: alexellis/setup-arkade@v1
    - uses: alexellis/arkade-get@master
      with:
        kubectl: latest
        kustomize: latest
        kubeconform: latest
        helm: latest
        jq: latest
        yq: latest

kube-tools's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

kube-tools's Issues

Feature: Add Kyverno CLI?

The Kyverno Command Line Interface (CLI) is designed to validate and test policy behavior to resources prior to adding them to a cluster. The CLI can be used in CI/CD pipelines to assist with the resource authoring process to ensure they conform to standards prior to them being deployed.

https://kyverno.io/docs/kyverno-cli/#cli-commands

This would be helpful for us as we begin to deploy Kyverno and policies into our cluster to check our application manifests against deployed Kyverno policies and ensure new applications/manifest comply before merging.

Would be glad to open a PR and add Kyverno.

Question: How to get the output for usage in another step?

So from according to my research this is done by creating and env and then just quote it and post it, like this:

name: CI

on: [pull_request]

jobs:
  kustomize:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: kustomize
        id: kustomize
        uses: stefanprodan/[email protected]
        continue-on-error: false
        with:
          command: kustomize build . 

      - uses: actions/[email protected]
        if: github.event_name == 'pull_request'
        env:
          kustomize: "${{ steps.kustomize.outputs.stdout }}"
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          script: |

            const output = `#### Kustomize build ::: \`${{ steps.kustomize.outcome }}\`

            <details><summary>Show Plan</summary>

            \`\`\`${process.env.kustomize}\`\`\`

            </details>

            *Pusher: @${{ github.actor }}, Action: \`${{ github.event_name }}\`*`;

            github.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body: output
            })

I mean, it looks pretty straight forward, but steps.kustomize.outputs.stdout and process.env.kustomize are always empty, maybe its something really stupid that i'm missing, here are some example that work just fine:

https://github.com/hashicorp/learn-terraform-github-actions/blob/master/.github/workflows/terraform.yml

https://www.civo.com/learn/use-the-terraform-provider-of-civo-in-github-actions-and-s3-to-save-the-state#the-action

https://github.com/ManagedKube/kubernetes-ops/blob/master/.github/workflows/terraform-eks-pipeline.yaml

hashicorp/setup-terraform#7 (comment)

https://github.com/marketplace/actions/terraform-pr-commenter

@stefanprodan would you might be able to help me out?

Provide KUBECONFIG

I want to use this action to deploy with helmv3. I have created a GitHub Secret with the contents of a my ./kubeconfig. Currently I have to paste the content of that secret into a file and then export it back to KUBECONFIG.

Is there a better way of doing this? Maybe I'm missing something obvious?

New Release/Tag should be created to match current tools

https://github.com/stefanprodan/kube-tools/blob/master/README.md
Readme includes reference to the latest tools added, but the Actions tag does not include those tools:
stefanprodan/kube-tools@v1
Also the latest release v1.5.0 does not include those tools either.
Here is the tools included with v1.5.0:
conftest helm helmv3 jq kubectl kubeval kustomize yq
The HEAD of master branch includes the following:
conftest helm helmv3 jq kubeaudit kubectl kubeseal kubeval kustomize yq

A new release/tag should be created and the Readme could be updated to include the latest tag.

Helm is giving helm 3 instead of helm 2

Hi, thanks for this actions!

I have one issue though, when using helm, I get helm 3 instead of helm 2

  run6s
version.BuildInfo***Version:"v3.1.1", GitCommit:"afe70585407b420d0097d07b21c47dc511525ac8", GitTreeState:"clean", GoVersion:"go1.13.8"***
Run helm version
version.BuildInfo***Version:"v3.1.1", GitCommit:"afe70585407b420d0097d07b21c47dc511525ac8", GitTreeState:"clean", GoVersion:"go1.13.8"***
  install helm push1s
Installed plugin: push
Run helm plugin install https://github.com/chartmuseum/helm-push.git
Downloading and installing helm-push v0.8.1 ...
https://github.com/chartmuseum/helm-push/releases/download/v0.8.1/helm-push_0.8.1_linux_amd64.tar.gz
Installed plugin: push
  Initializing client helm0s
##[error]Process completed with exit code 1.
Run helm init --client-only
Error: unknown flag: --client-only
##[error]Process completed with exit code 1.

Install script doesn't preserves package versions for yq and jq

On recent kube-tools upgrade our github pipeline break due to upgrade of yq version from 3 to 4 with this change: 642a102

We were using branch v1 in the pipiline step: uses: stefanprodan/kube-tools@v1

And now we cannot just switch to a tag to achieve proper version pin (uses: stefanprodan/[email protected]) because install script doesn't have a version pin. https://github.com/stefanprodan/kube-tools/blob/v1.5.0/src/install.sh
Basically it means that docker image rebuild is not giving reproducible result, and that's really bad.

Add KinD?

Hi,
Would you guys take a PR for adding KinD here? I could really use it alongside these other tools...

thanks!

Not working in self-hosted runners

In general, there are issues with all actions running as root in a self-hosted runner.

The details are been tracking here actions/runner#434

I'm not sure how to move forward to make this work in self-hosted runners.

Any ideas?

Supported Kubernetes Version

First, thank you for this, it does help :)

I'd like to know which kubectl version supported by this image, as we know there's might be different api representation for each releases. Especially if specific API is promoted from Alpha to Beta.

Request: Support arm64; Add git-crypt; Add Kubeseal

@stefanprodan This is a fantastic tool - I'm currently running self-hosted runners on arm64 architecture if these images could be built for arm64 as well using buildx that would allow me to use them on my own infrastructure.

Additionally adding both git-crypt and kubeseal would be good additions to add to the kube-tool eco-system

EDIT** Alternatively I'd be happy to fork and support an arm64 supported variant if this isn't something you wish to support or maintain.

[Question] Running helm in monorepo

Hey,
Im trying to use kube-tools in a monorepo and Im not running helm from the root directory.
My folder structure is
packages/packageA/helm
packages/packageB/helm

While running any helm command Im getting

helmv3 upgrade --install --atomic --namespace dev --set version=0.0.19-42e31f1  --set environmentName=dev --values ./packages/packageA/helm/values.yaml --kubeconfig .kubeconfig  ./packages/packageA/helm/ --timeout 2m0s --debug" 

Im getting

>>> Executing command <<<


Install to dev
"chartmuseum" has been added to your repositories
Error: could not find helm: stat helm: no such file or directory

Any clues ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.