1
0
mirror of https://github.com/stackrox/kube-linter-action.git synced 2026-07-04 23:51:37 +00:00

Initial commit

This commit is contained in:
Neil Carpenter
2020-12-02 14:42:20 -05:00
parent d4babd5431
commit 5a3cddb9d1
4 changed files with 101 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
name: 'kube-linter'
description: 'Scan directory with kube-linter'
inputs:
directory:
description: 'Directory to scan '
required: true
config:
description: 'Path to config file'
required: false
outputs:
lint-txt:
description: 'Output from linting'
value: ${{ steps.lint.outputs.lint-txt }}
runs:
using: "composite"
steps:
- name: Download latest kube-linter
run: |
LOCATION=$(curl -s https://api.github.com/repos/stackrox/kube-linter/releases/latest \
| grep "tag_name" \
| awk '{print "https://github.com/stackrox/kube-linter/releases/download/" substr($2, 2, length($2)-3) "/kube-linter-linux.tar.gz"}')
curl -s -L -o kube-linter-linux.tar.gz $LOCATION
tar -xf kube-linter-linux.tar.gz -C "${GITHUB_WORKSPACE}/"
shell: bash
- id: lint
run: |
cd "${GITHUB_WORKSPACE}"
if [ -z ${{ inputs.config }} ]; then
export CONFIG=""
else
export CONFIG="--config ${{ inputs.config }}"
fi
./kube-linter $CONFIG lint ${{ inputs.directory }}
shell: bash
Regular → Executable
+25 -1
View File
@@ -1 +1,25 @@
# kube-linter-action
# kube-linter-action
# kube-linter-action GitHub action
This is a GitHub action for scanning Kubernetes deployment files with [kube-linter](https://github.com/stackrox/kube-linter). This includes both the action itself (.github/actions) and sample GitHub workflow (.github/workflows) and a test YAML.
Quick deployment:
1. Create a new GitHub repo.
2. Push all files from the `sample` directory into the repo.
3. The `kube-linter.yml` workflow will run as an action every time there's a new push to this repo.
The action takes two parameters.
```
- name: Scan repo
id: kube-lint-repo
uses: stackrox/kube-linter-action@v0.0.1
with:
directory: yamls
config: .kube-linter/config.yaml
```
* `directory` is mandatory -- this is the directory of deployment files to scan.
* `config` is optional -- this is the path to a [configuration file](https://github.com/stackrox/kube-linter/blob/main/config.yaml.example) if you wish to use a non-default configuration.
+20
View File
@@ -0,0 +1,20 @@
name: Check Kubernetes YAMLs
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
scan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Scan repo
id: kube-lint-repo
uses: stackrox/kube-linter-action@v0.0.1
with:
directory: yamls
config: .kube-linter/config.yaml
+21
View File
@@ -0,0 +1,21 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
ports:
- containerPort: 80