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

This commit is contained in:
Paul 2025-08-19 10:56:59 +02:00
parent 7ab0e0692c
commit d87d0f17e0
6 changed files with 91 additions and 0 deletions

View File

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

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

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

33
states/delta/install.sls Normal file
View File

@ -0,0 +1,33 @@
---
{%- from "delta/map.jinja" import delta with context %}
{% set archive_exclude_dir = './delta-' + delta.version + '-' + delta.arch + '-unknown-' + delta.os + '-' + delta.variant %}
delta-archive-extract:
archive.extracted:
- name: {{ delta.release_dir }}/delta-v{{ delta.version }}-{{ delta.os }}-{{ delta.arch }}
- source: {{ delta.mirror }}/{{ delta.version }}/delta-{{ delta.version }}-{{ delta.arch }}-unknown-{{ delta.os|lower }}-{{ delta.variant }}.tar.gz
- skip_verify: true
- options: >
--transform 's|^\{{ archive_exclude_dir }}|/|g'
--transform 's|UNLICENSE.*||g'
--transform 's|doc||g'
--transform 's|complete||g'
--strip 1
- enforce_toplevel: false
- user: root
- group: root
- enforce_ownership_on: {{ delta.release_dir }}/delta-v{{ delta.version }}-{{ delta.os }}-{{ delta.arch }}
- if_missing: {{ delta.release_dir }}/delta-v{{ delta.version }}-{{ delta.os }}-{{ delta.arch }}/delta
delta-binary-symlink:
file.symlink:
- name: /usr/local/bin/delta
- target: {{ delta.release_dir }}/delta-v{{ delta.version }}-{{ delta.os }}-{{ delta.arch }}/delta
- force: true
- require:
- archive: delta-archive-extract
delta-cleanup:
software.cleanup:
- name: delta
- path: {{ delta.release_dir }}
- version: v{{ delta.version }}

View File

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

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

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

View File

@ -0,0 +1,29 @@
---
amd64:
arch: "x86_64"
variant: musl
x86_64:
arch: "x86_64"
variant: musl
386:
arch: "686"
variant: gnu
arm64:
arch: "aarch64"
variant: gnu
aarch64:
arch: "aarch64"
variant: gnu
armv6l:
arch: "arm"
armv7l:
arch: "arm"
armhf:
arch: "arm"