# -*- coding: utf-8 -*-
# vim: ft=sls
+# Copyright (C) The Arvados Authors. All rights reserved.
+#
+# SPDX-License-Identifier: Apache-2.0
+
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split('/')[0] %}
{%- set sls_config_file = tplroot ~ '.config.file' %}
+{%- set sls_ruby_install = tplroot ~ '.ruby.package.install' %}
{%- from tplroot ~ "/map.jinja" import arvados with context %}
-# The API server requires a valid config BEFORE installing...
+{%- if arvados.ruby.manage_ruby %}
+ {%- set ruby_dep = 'rvm' if arvados.ruby.use_rvm else 'pkg' %}
+{%- endif %}
+
include:
+ # The API server requires a valid config BEFORE installing...
- {{ sls_config_file }}
-
-arvados-api-package-install-ruby-pkg-installed:
- pkg.installed:
- - name: {{ arvados.ruby.pkg }}
- - only_if: {{ arvados.ruby.manage_ruby }}
+ - {{ sls_ruby_install }}
arvados-api-package-install-gems-deps-pkg-installed:
pkg.installed:
- - pkgs: {{ arvados.ruby.gems_deps | json }}
- - only_if: {{ arvados.ruby.manage_gems_deps }}
+ - pkgs: {{ arvados.ruby.gems_deps | unique | json }}
+ - onlyif: test "{{ arvados.ruby.manage_gems_deps | lower }}" = "true"
-{% for gm in arvados.api.gem.name %}
+{%- for gm in arvados.api.gem.name | unique %}
arvados-api-package-install-gem-{{ gm }}-installed:
gem.installed:
- name: {{ gm }}
+ {%- if arvados.ruby.use_rvm %}
+ - ruby: {{ arvados.ruby.pkg }}
+ {%- endif %}
- require:
- pkg: arvados-api-package-install-gems-deps-pkg-installed
+ {%- if arvados.ruby.manage_ruby %}
+ - {{ ruby_dep }}: arvados-ruby-package-install-ruby-{{ ruby_dep }}-installed
+ {%- endif %}
- require_in:
- pkg: arvados-api-package-install-pkg-installed
-{% endfor %}
+{%- endfor %}
arvados-api-package-install-pkg-installed:
pkg.installed:
- - pkgs: {{ arvados.api.pkg.name | json }}
+ - name: {{ arvados.api.pkg.name }}
+ - version: {{ arvados.version }}
+ - refresh: true
- require:
- sls: {{ sls_config_file }}