Skip to content

Commit 734644a

Browse files
author
Adrien "ze" Urban
committed
feat(repo): install_from_repo
Allow install via package from a repository
1 parent a93523c commit 734644a

File tree

10 files changed

+60
-3
lines changed

10 files changed

+60
-3
lines changed

pillar.example

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,7 @@ vault:
143143
ZF5q4h4I33PSGDdSvGXn9UMY5Isjpg==
144144
=7pIB
145145
-----END PGP PUBLIC KEY BLOCK-----
146+
147+
install_from_repo: false # Set to True to install package rather than extract archive
148+
repo: ... # Might specify a specific repo, if not present in map
149+
package: vault # If package would have any other name

vault/config/clean.sls

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# vim: ft=sls syntax=yaml softtabstop=2 tabstop=2 shiftwidth=2 expandtab autoindent
33
{% from "vault/map.jinja" import vault with context %}
44

5+
{% if not vault.install_from_repo %}
56
vault-config-clean-file-absent:
67
file.absent:
78
- name: {{ vault.config_path }}/vault
9+
{% endif %}

vault/config/config.sls

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,15 @@
22
# vim: ft=sls syntax=yaml softtabstop=2 tabstop=2 shiftwidth=2 expandtab autoindent
33

44
{% from "vault/map.jinja" import vault with context -%}
5+
{% if not vault.install_from_repo %}
6+
{% set configfile = vault.config_path ~ '/vault/conf.d/config.json' %}
7+
{% else %}
8+
{% set configfile = vault.repo_configfile %}
9+
{% endif %}
510

611
vault-config-config-file-serialize:
712
file.serialize:
8-
- name: {{ vault.config_path }}/vault/conf.d/config.json
13+
- name: {{ configfile }}
914
- encoding: utf-8
1015
- formatter: json
1116
- dataset: {{ vault.config | json }}

vault/defaults.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,3 +144,6 @@ vault:
144144
ZF5q4h4I33PSGDdSvGXn9UMY5Isjpg==
145145
=7pIB
146146
-----END PGP PUBLIC KEY BLOCK-----
147+
148+
install_from_repo: false
149+
package: vault

vault/osfamilymap.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
---
44
Debian:
55
setcap_pkg: libcap2-bin
6+
repo: 'deb [arch={{ grains["osarch"] }}] https://apt.releases.hashicorp.com
7+
{{ grains["oscodename"] }} main'
8+
repo_key: "https://apt.releases.hashicorp.com/gpg"
9+
repo_configfile: /etc/vault.d/vault.hcl
610

711
Suse:
812
gpg_pkg: gpg2

vault/package/clean.sls

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
{% from "vault/map.jinja" import vault with context %}
55

6+
{% if not vault.install_from_repo %}
67
include:
78
- .gpg.clean
89

@@ -25,3 +26,12 @@ vault-package-clean-user-absent:
2526
vault-package-clean-group-absent:
2627
group.absent:
2728
- name: vault
29+
{% else %}
30+
vault-package-clean-pkg:
31+
pkg.removed:
32+
- name: {{ vault.package }}
33+
34+
valut-package-clean-repository:
35+
pkgrepo.absent:
36+
- name: {{ vault.repo }}
37+
{% endif %}

vault/package/init.sls

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55

66
include:
77
- .install
8-
{%- if vault.verify_download %}
8+
{%- if vault.verify_download and not vault.install_from_repo %}
99
- .gpg
1010
{%- endif %}

vault/package/install.sls

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
{% from "vault/map.jinja" import vault with context %}
55

6+
{% if not vault.install_from_repo %}
67
vault-package-install-group-present:
78
group.present:
89
- name: vault
@@ -65,7 +66,7 @@ vault-package-install-cmd-run:
6566
- pkg: vault-package-install-pkg-installed
6667
- onchanges:
6768
- archive: vault-package-install-archive-extracted
68-
{% else %}
69+
{% else %}{# FreeBSD #}
6970
vault-package-install-login-file:
7071
file.replace:
7172
- name: /etc/login.conf
@@ -83,3 +84,21 @@ vault-package-install-cmd-run:
8384
- onchanges:
8485
- file: vault-package-install-login-file
8586
{% endif %}
87+
{% else %}{# From repo #}
88+
vault-package-repository:
89+
pkgrepo.managed:
90+
- name: {{ vault.repo }}
91+
- key_url: {{ vault.repo_key }}
92+
- file: /etc/apt/sources.list.d/vault.list
93+
94+
vault-package-installed:
95+
{% if vault.version == 'latest' %}
96+
pkg.latest:
97+
- name: {{ vault.package }}
98+
{% else %}
99+
pkg.installed:
100+
- pkgs:
101+
- {{ vault.package }}{% if vault.version %}: {{ vault.version }}{% endif %}
102+
{% endif %}
103+
104+
{% endif %}

vault/service/clean.sls

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ vault-service-clean-service-dead:
88
- name: vault
99
- enable: False
1010

11+
{% if not vault.install_from_repo %}
1112
vault-service-clean-file-absent:
1213
file.absent:
1314
- name: {{ vault.service.path }}
15+
{% endif %}

vault/service/init.sls

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
{% from "vault/map.jinja" import vault with context %}
55

6+
{% if not vault.install_from_repo %}
67
vault-service-init-file-managed:
78
file.managed:
89
- name: {{ vault.service.path }}
@@ -11,17 +12,24 @@ vault-service-init-file-managed:
1112
{% if grains.os_family == "FreeBSD" %}
1213
- mode: 555
1314
{% endif %}
15+
- watch_in:
16+
- service: vault-service-init-service-running:
1417
{% if grains.get('init', '') == 'upstart' %}
1518
cmd.run:
1619
- name: initctl reload-configuration
1720
- onchanges:
1821
- file: vault-service-init-file-managed
1922
{% endif -%}
23+
{% endif %}
2024

2125
vault-service-init-service-running:
2226
service.running:
2327
- name: vault
2428
- enable: True
2529
- watch:
30+
{% if not vault.install_from_repo %}
2631
- archive: vault-package-install-archive-extracted
2732
- file: vault-service-init-file-managed
33+
{% else %}
34+
- pkg: vault-package-installed
35+
{% endif %}

0 commit comments

Comments
 (0)