added k9s state
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Paul 2025-02-19 18:16:43 +01:00
parent 6b122c5e55
commit 63878c352b
6 changed files with 76 additions and 0 deletions

9
states/k9s/defaults.yaml Normal file
View File

@ -0,0 +1,9 @@
---
k9s:
enabled: true
install_dir: /usr/local/apps
release_dir: /usr/local/apps/releases
mirror: https://github.com/derailed/k9s/releases/download
version: 0.40.5
os: linux
arch: amd64

3
states/k9s/init.sls Normal file
View File

@ -0,0 +1,3 @@
---
include:
- .install

23
states/k9s/install.sls Normal file
View File

@ -0,0 +1,23 @@
---
{%- from "k9s/map.jinja" import k9s with context %}
k9s-archive-extract:
archive.extracted:
- name: {{ k9s.release_dir }}
- source: {{ k9s.mirror }}/v{{ k9s.version }}/k9s_{{ k9s.os }}_{{ k9s.arch }}.tar.gz
- skip_verify: true
- enforce_toplevel: false
- if_missing: {{ k9s.release_dir }}/k9s-v{{ k9s.version }}-{{ k9s.os }}-{{ k9s.arch }}/k9s
k9s-binary-symlink:
file.symlink:
- name: /usr/local/bin/k9s
- target: {{ k9s.release_dir }}/k9s-v{{ k9s.version }}-{{ k9s.os }}-{{ k9s.arch }}/k9s
- force: true
- require:
- archive: k9s-archive-extract
k9s-cleanup:
software.cleanup:
- name: k9s
- path: {{ k9s.release_dir }}
- version: "v{{ k9s.version }}"

View File

@ -0,0 +1,3 @@
---
Linux:
os: "linux"

14
states/k9s/map.jinja Normal file
View File

@ -0,0 +1,14 @@
{%- import_yaml "k9s/defaults.yaml" as default_settings -%}
{%- import_yaml "k9s/kernelmap.yaml" as kernelmap -%}
{%- import_yaml "k9s/osarchmap.yaml" as osarchmap -%}
{%- set defaults = salt['grains.filter_by'](default_settings,
default='k9s',
merge=salt['grains.filter_by'](osarchmap, grain='osarch',
merge=salt['grains.filter_by'](kernelmap, grain='kernel')
)
)
-%}
{%- set k9s = salt['pillar.get']('k9s', default=defaults, merge=True) -%}

24
states/k9s/osarchmap.yaml Normal file
View File

@ -0,0 +1,24 @@
---
amd64:
arch: "amd64"
x86_64:
arch: "amd64"
386:
arch: "386"
arm64:
arch: "arm64"
aarch64:
arch: "arm64"
armv6l:
arch: "arm"
armv7l:
arch: "arm"
armhf:
arch: "arm"