ce0004e676807d68a68e9ff5c182befb90e48176
[arvados-formula.git] / arvados / api / package / install.sls
1 # -*- coding: utf-8 -*-
2 # vim: ft=sls
3
4 # Copyright (C) The Arvados Authors. All rights reserved.
5 #
6 # SPDX-License-Identifier: Apache-2.0
7
8 {#- Get the `tplroot` from `tpldir` #}
9 {%- set tplroot = tpldir.split('/')[0] %}
10 {%- set sls_config_file = tplroot ~ '.config.file' %}
11 {%- set sls_ruby_install = tplroot ~ '.ruby.package.install' %}
12 {%- from tplroot ~ "/map.jinja" import arvados with context %}
13
14 {%- if arvados.ruby.manage_ruby %}
15   {%- set ruby_dep = 'rvm' if arvados.ruby.use_rvm else 'pkg' %}
16 {%- endif %}
17
18 include:
19   # The API server requires a valid config BEFORE installing...
20   - {{ sls_config_file }}
21   - {{ sls_ruby_install }}
22
23 arvados-api-package-install-gems-deps-pkg-installed:
24   pkg.installed:
25     - pkgs: {{ arvados.ruby.gems_deps | unique | json }}
26     - onlyif: test "{{ arvados.ruby.manage_gems_deps | lower }}" = "true"
27
28 {%- for gm in arvados.api.gem.name | unique %}
29 arvados-api-package-install-gem-{{ gm }}-installed:
30   gem.installed:
31     - name: {{ gm }}
32     {%- if arvados.ruby.use_rvm %}
33     - ruby: {{ arvados.ruby.pkg }}
34     {%- endif %}
35     - require:
36       - pkg: arvados-api-package-install-gems-deps-pkg-installed
37       {%- if arvados.ruby.manage_ruby %}
38       - {{ ruby_dep }}: arvados-ruby-package-install-ruby-{{ ruby_dep }}-installed
39       {%- endif %}
40     - require_in:
41       - pkg: arvados-api-package-install-pkg-installed
42 {%- endfor %}
43
44 arvados-api-package-install-pkg-installed:
45   pkg.installed:
46     - name: {{ arvados.api.pkg.name }}
47     - version: {{ arvados.version }}
48     - require:
49       - sls: {{ sls_config_file }}