Skip to content
Snippets Groups Projects
Select Git revision
  • 272a1ae4ae4929b2f321e0c389e60bdfd193f02f
  • master default
  • v0.52.5
  • v0.52.4
  • v0.52.3
  • v0.52.2
  • v0.52.1
  • v0.52.0
  • v0.51.0
  • v0.50.0
  • v0.49.0
11 results

repo.sls

Blame
  • repo.sls 2.11 KiB
    include:
      - .config
    
    {% from tpldir ~ "/map.jinja" import mysql with context %}
    
    # Completely ignore non-RHEL based systems
    # TODO: Add Debian and Suse systems.
    # TODO: Allow user to specify MySQL version and alter yum repo file accordingly.
    {% if grains['os_family'] == 'RedHat' and 'osmajorrelease' in grains %}
      {% if grains['osmajorrelease']|int == 5 %}
      {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el5.rpm" %}
      {% elif grains['osmajorrelease']|int == 6 %}
      {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el6.rpm" %}
      {% elif grains['osmajorrelease']|int == 7 %}
      {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el7.rpm" %}
      {% endif %}
    {% endif %}
    
    {% set mysql57_community_release = salt['pillar.get']('mysql:release', false) %}
    # A lookup table for MySQL Repo GPG keys & RPM URLs for various RedHat releases
      {% set pkg = {
        'key': 'http://repo.mysql.com/RPM-GPG-KEY-mysql',
        'key_hash': 'md5=162ec8cb41add661b357e926a083b0cc',
        'rpm': rpm_source
     } %}
    
    
    install_pubkey_mysql:
      file.managed:
        - name: /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
        - source: {{ salt['pillar.get']('mysql:pubkey', pkg.key) }}
        - source_hash:  {{ salt['pillar.get']('mysql:pubkey_hash', pkg.key_hash) }}
    
    mysql57_community_release:
      pkg.installed:
        - sources:
          - mysql57-community-release: {{ salt['pillar.get']('mysql:repo_rpm', pkg.rpm) }}
        - require:
          - file: install_pubkey_mysql
        - require_in:
          {% if "server_config" in mysql %}
          - pkg: {{ mysql.serverpkg }}
          {% endif %}
          {% if "clients_config" in mysql %}
          - pkg: {{ mysql.clientpkg }}
          {% endif %}
    
    set_pubkey_mysql:
      file.replace:
        - append_if_not_found: True
        - name: /etc/yum.repos.d/mysql-community.repo
        - pattern: '^gpgkey=.*'
        - repl: 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'
        - require:
          - pkg: mysql57_community_release
    
    set_gpg_mysql:
      file.replace:
        - append_if_not_found: True
        - name: /etc/yum.repos.d/mysql-community.repo
        - pattern: 'gpgcheck=.*'
        - repl: 'gpgcheck=1'
        - require:
          - pkg: mysql57_community_release