17750: Ensure the arvados-cli gem is available in controller when creating resources
[arvados-formula.git] / arvados / controller / package / install.sls
index a1c8a4da8d63f31fe88b5fdd85ec355d371dfacc..62161ea1d57304f5befecbb1d5cef8d8adfe984a 100644 (file)
@@ -7,8 +7,37 @@
 
 {#- Get the `tplroot` from `tpldir` #}
 {%- set tplroot = tpldir.split('/')[0] %}
+{%- set sls_ruby_install = tplroot ~ '.ruby.package.install' %}
 {%- from tplroot ~ "/map.jinja" import arvados with context %}
 
+{%- if arvados.ruby.manage_ruby %}
+  {%- set ruby_dep = 'rvm' if arvados.ruby.use_rvm else 'pkg' %}
+{%- endif %}
+
+include:
+  - {{ sls_ruby_install }}
+
+arvados-controller-package-install-gems-deps-pkg-installed:
+  pkg.installed:
+    - pkgs: {{ arvados.ruby.gems_deps | unique | json }}
+    - onlyif: test "{{ arvados.ruby.manage_gems_deps | lower }}" = "true"
+
+{%- for gm in arvados.api.gem.name | unique %}
+arvados-controller-package-install-gem-{{ gm }}-installed:
+  gem.installed:
+    - name: {{ gm }}
+    {%- if arvados.ruby.use_rvm %}
+    - ruby: {{ arvados.ruby.pkg }}
+    {%- endif %}
+    - require:
+      - pkg: arvados-controller-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-controller-package-install-pkg-installed
+{%- endfor %}
+
 arvados-controller-package-install-pkg-installed:
   pkg.installed:
     - name: {{ arvados.controller.pkg.name }}