Chapter 26

【ルール説明】meta-incorrect

mamono210
mamono210
2022.12.25に更新

meta-incorrect

meta-incorrect は meta データが初期の値ではないか、もしくは値が設定されているかを検証します。meta データ に関しては 【ルール説明】schema に概要を載せてあります。

meta-incorrect は現在のところは Ansible galaxy role の meta データのみを検証するようです。

Roleの作成

以下のコマンドでRoleを作成します。

ansible-galaxy init <role-name>

初期化に成功すると以下のようなファイル群が生成されます。

├── README.md
├── defaults
│   └── main.yml
├── files
├── handlers
│   └── main.yml
├── meta
│   └── main.yml
├── tasks
│   └── main.yml
├── templates
├── tests
│   ├── inventory
│   └── test.yml
└── vars
    └── main.yml

meta-incorrect はこのファイルのうちmeta/main.ymlの検証を行います。

以下は初期状態のmeta/main.ymlです。

meta/main.yml
galaxy_info:
  author: your name
  description: your role description
  company: your company (optional)

  # If the issue tracker for your role is not on github, uncomment the
  # next line and provide a value
  # issue_tracker_url: http://example.com/issue/tracker

  # Choose a valid license ID from https://spdx.org - some suggested licenses:
  # - BSD-3-Clause (default)
  # - MIT
  # - GPL-2.0-or-later
  # - GPL-3.0-only
  # - Apache-2.0
  # - CC-BY-4.0
  license: license (GPL-2.0-or-later, MIT, etc)

  min_ansible_version: 2.1

  # If this a Container Enabled role, provide the minimum Ansible Container version.
  # min_ansible_container_version:

  #
  # Provide a list of supported platforms, and for each platform a list of versions.
  # If you don't wish to enumerate all versions for a particular platform, use 'all'.
  # To view available platforms and versions (or releases), visit:
  # https://galaxy.ansible.com/api/v1/platforms/
  #
  # platforms:
  # - name: Fedora
  #   versions:
  #   - all
  #   - 25
  # - name: SomePlatform
  #   versions:
  #   - all
  #   - 1.0
  #   - 7
  #   - 99.99

  galaxy_tags: []
    # List tags for your role here, one per line. A tag is a keyword that describes
    # and categorizes the role. Users find roles by searching for tags. Be sure to
    # remove the '[]' above, if you add tags to this list.
    #
    # NOTE: A tag is limited to a single word comprised of alphanumeric characters.
    #       Maximum 20 tags per role.

dependencies: []
  # List your role dependencies here, one per line. Be sure to remove the '[]' above,

問題のあるコード

meta/main.yml
---
# 値が初期値のまま
galaxy_info:
  author: your name
  description: your role description
  company: your company (optional)
  license: license (GPL-2.0-or-later, MIT, etc)

修正されたコード

meta/main.yml
---
galaxy_info:
  author: Leroy Jenkins
  description: This role will set you free.
  company: Red Hat
  license: Apache

参考サイト