added arduinocli state
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
2f072e3441
commit
b74838419e
7
states/arduinocli/defaults.yaml
Normal file
7
states/arduinocli/defaults.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
arduinocli:
|
||||||
|
enabled: true
|
||||||
|
mirror: "https://github.com/arduino/arduino-cli/releases/download"
|
||||||
|
install_dir: "/usr/local/apps"
|
||||||
|
release_dir: "/usr/local/apps/releases"
|
||||||
|
version: "1.2.2"
|
3
states/arduinocli/init.sls
Normal file
3
states/arduinocli/init.sls
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
include:
|
||||||
|
- .install
|
34
states/arduinocli/install.sls
Normal file
34
states/arduinocli/install.sls
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
---
|
||||||
|
{%- from "arduinocli/map.jinja" import arduinocli with context %}
|
||||||
|
arduinocli-archive-extract:
|
||||||
|
archive.extracted:
|
||||||
|
- name: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}
|
||||||
|
- source: {{ arduinocli.mirror }}/v{{ arduinocli.version }}/arduino-cli_{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}.tar.gz
|
||||||
|
- options: --exclude LICENSE.txt
|
||||||
|
- skip_verify: true
|
||||||
|
- archive_format: tar
|
||||||
|
- enforce_toplevel: false
|
||||||
|
- keep: true
|
||||||
|
- if_missing: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}/arduino-cli
|
||||||
|
|
||||||
|
arduinocli-symlink:
|
||||||
|
file.symlink:
|
||||||
|
- name: {{ arduinocli.install_dir }}/arduino-cli
|
||||||
|
- target: {{ arduinocli.release_dir }}/arduino-cli-{{ arduinocli.version }}_{{ arduinocli.os }}_{{ arduinocli.arch }}
|
||||||
|
- force: true
|
||||||
|
- require:
|
||||||
|
- archive: arduinocli-archive-extract
|
||||||
|
|
||||||
|
arduinocli-bin-symlink:
|
||||||
|
file.symlink:
|
||||||
|
- name: /usr/bin/arduino-cli
|
||||||
|
- target: {{ arduinocli.install_dir }}/arduino-cli/arduino-cli
|
||||||
|
- force: true
|
||||||
|
- require:
|
||||||
|
- archive: arduinocli-archive-extract
|
||||||
|
|
||||||
|
arduinocli-cleanup:
|
||||||
|
software.cleanup:
|
||||||
|
- name: arduino-cli
|
||||||
|
- path: {{ arduinocli.release_dir }}
|
||||||
|
- version: "{{ arduinocli.version }}"
|
9
states/arduinocli/kernelmap.yaml
Normal file
9
states/arduinocli/kernelmap.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
Linux:
|
||||||
|
os: "Linux"
|
||||||
|
|
||||||
|
macOS:
|
||||||
|
os: "macOS"
|
||||||
|
|
||||||
|
Windows:
|
||||||
|
os: "Windows"
|
14
states/arduinocli/map.jinja
Normal file
14
states/arduinocli/map.jinja
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{%- import_yaml "arduinocli/defaults.yaml" as default_settings -%}
|
||||||
|
|
||||||
|
{%- import_yaml "arduinocli/kernelmap.yaml" as kernelmap -%}
|
||||||
|
{%- import_yaml "arduinocli/osarchmap.yaml" as osarchmap -%}
|
||||||
|
|
||||||
|
{%- set defaults = salt['grains.filter_by'](default_settings,
|
||||||
|
default='arduinocli',
|
||||||
|
merge=salt['grains.filter_by'](osarchmap, grain='osarch',
|
||||||
|
merge=salt['grains.filter_by'](kernelmap, grain='kernel')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
-%}
|
||||||
|
|
||||||
|
{%- set arduinocli = salt['pillar.get']('arduinocli', default=defaults, merge=True) -%}
|
24
states/arduinocli/osarchmap.yaml
Normal file
24
states/arduinocli/osarchmap.yaml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
amd64:
|
||||||
|
arch: "64bit"
|
||||||
|
|
||||||
|
x86_64:
|
||||||
|
arch: "64bit"
|
||||||
|
|
||||||
|
386:
|
||||||
|
arch: "32bit"
|
||||||
|
|
||||||
|
arm64:
|
||||||
|
arch: "ARM64"
|
||||||
|
|
||||||
|
aarch64:
|
||||||
|
arch: "ARM64"
|
||||||
|
|
||||||
|
armv6l:
|
||||||
|
arch: "ARMv6"
|
||||||
|
|
||||||
|
armv7l:
|
||||||
|
arch: "ARMv7"
|
||||||
|
|
||||||
|
armhf:
|
||||||
|
arch: "ARMv7"
|
Loading…
Reference in New Issue
Block a user