From c0fbf388ba506ec26510aa97f5eddd61bb7617b6 Mon Sep 17 00:00:00 2001 From: Justin Ryburn Date: Mon, 5 Feb 2024 18:44:36 -0600 Subject: [PATCH] Merge in files from ansible collection --- README.md | 151 +--------------------------------------------- galaxy.yml | 86 ++++++++++++++++++++------ meta/runtime.yml | 52 +++++++++++++++- plugins/README.md | 31 ++++++++++ 4 files changed, 150 insertions(+), 170 deletions(-) create mode 100644 plugins/README.md diff --git a/README.md b/README.md index eb2694b..072f5ce 100644 --- a/README.md +++ b/README.md @@ -1,150 +1,3 @@ -# collection_template -You can build a new repository for an Ansible Collection using this template by following [Creating a repository from a template](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template). This README.md contains recommended headings for your collection README.md, with comments describing what each section should contain. Once you have created your collection repository, delete this paragraph and the title above it from your README.md. +# Ansible Collection - kentik.ansible_eda -# Foo Collection for Ansible - -[![CI](https://github.com/ansible-collections/REPONAMEHERE/workflows/CI/badge.svg?event=push)](https://github.com/ansible-collections/REPONAMEHERE/actions) [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/REPONAMEHERE)](https://codecov.io/gh/ansible-collections/REPONAMEHERE) - - - -## Our mission - - - -## Code of Conduct - -We follow the [Ansible Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html) in all our interactions within this project. - -If you encounter abusive behavior, please refer to the [policy violations](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html#policy-violations) section of the Code for information on how to raise a complaint. - -## Communication - - - -We announce important development changes and releases through Ansible's [The Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn). If you are a collection developer, be sure you are subscribed. - -Join us on: -* The Ansible forum: - * [News & Announcements](https://forum.ansible.com/c/news/5/none) - * [Get Help](https://forum.ansible.com/c/help/6/none) - * [Social Spaces](https://forum.ansible.com/c/chat/4) -* Matrix chat rooms: - * [#users:ansible.com](https://matrix.to/#/#users:ansible.com): general use questions and support - * [#community:ansible.com](https://matrix.to/#/#community:ansible.com): community and collection development questions - * [#social:ansible.com](https://matrix.to/#/#social:ansible.com): to say "Good morning, community!" - -We take part in the global [Ansible contributor summit](https://github.com/ansible/community/wiki/Contributor-Summit) virtually or in-person. Track [The Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn) and join us. - -For more information about communication, refer to the [Ansible communication guide](https://docs.ansible.com/ansible/devel/community/communication.html). - -## Contributing to this collection - - - -The content of this collection is made by people like you, a community of individuals collaborating on making the world better through developing automation software. - -We are actively accepting new contributors and all types of contributions are very welcome. - -Don't know how to start? Refer to the [Ansible community guide](https://docs.ansible.com/ansible/devel/community/index.html)! - -Want to submit code changes? Take a look at the [Quick-start development guide](https://docs.ansible.com/ansible/devel/community/create_pr_quick_start.html). - -We also use the following guidelines: - -* [Collection review checklist](https://docs.ansible.com/ansible/devel/community/collection_contributors/collection_reviewing.html) -* [Ansible development guide](https://docs.ansible.com/ansible/devel/dev_guide/index.html) -* [Ansible collection development guide](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections) - -## Collection maintenance - -The current maintainers are listed in the [MAINTAINERS](MAINTAINERS) file. If you have questions or need help, feel free to mention them in the proposals. - -To learn how to maintain/become a maintainer of this collection, refer to the [Maintainer guidelines](https://docs.ansible.com/ansible/devel/community/maintainers.html). - -It is necessary for maintainers of this collection to be subscribed to: - -* The collection itself (the `Watch` button -> `All Activity` in the upper right corner of the repository's homepage). -* The [news-for-maintainers repository](https://github.com/ansible-collections/news-for-maintainers). - -They also should be subscribed to Ansible's [The Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn). - -## Governance - - - -The process of decision making in this collection is based on discussing and finding consensus among participants. - -Every voice is important. If you have something on your mind, create an issue or dedicated discussion and let's discuss it! - -## Tested with Ansible - - - -## External requirements - - - -### Supported connections - - -## Included content - - - -## Using this collection - - - -### Installing the Collection from Ansible Galaxy - -Before using this collection, you need to install it with the Ansible Galaxy command-line tool: -```bash -ansible-galaxy collection install NAMESPACE.COLLECTION_NAME -``` - -You can also include it in a `requirements.yml` file and install it with `ansible-galaxy collection install -r requirements.yml`, using the format: -```yaml ---- -collections: - - name: NAMESPACE.COLLECTION_NAME -``` - -Note that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the `ansible` package. To upgrade the collection to the latest available version, run the following command: -```bash -ansible-galaxy collection install NAMESPACE.COLLECTION_NAME --upgrade -``` - -You can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version `0.1.0`: - -```bash -ansible-galaxy collection install NAMESPACE.COLLECTION_NAME:==0.1.0 -``` - -See [using Ansible collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details. - -## Release notes - -See the [changelog](https://github.com/ansible-collections/REPONAMEHERE/tree/main/CHANGELOG.rst). - -## Roadmap - - - -## More information - - - -- [Ansible user guide](https://docs.ansible.com/ansible/devel/user_guide/index.html) -- [Ansible developer guide](https://docs.ansible.com/ansible/devel/dev_guide/index.html) -- [Ansible collections requirements](https://docs.ansible.com/ansible/devel/community/collection_contributors/collection_requirements.html) -- [Ansible community Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html) -- [The Bullhorn (the Ansible contributor newsletter)](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn) -- [Important announcements for maintainers](https://github.com/ansible-collections/news-for-maintainers) - -## Licensing - - - -GNU General Public License v3.0 or later. - -See [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text. +Documentation for the collection. diff --git a/galaxy.yml b/galaxy.yml index 782a43b..1d1accd 100644 --- a/galaxy.yml +++ b/galaxy.yml @@ -1,23 +1,69 @@ -# See https://docs.ansible.com/ansible/latest/dev_guide/collections_galaxy_meta.html +### REQUIRED +# The namespace of the collection. This can be a company/brand/organization or product namespace under which all +# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with +# underscores or numbers and cannot contain consecutive underscores +namespace: kentik -namespace: community -name: FIXME -version: 0.1.0 +# The name of the collection. Has the same character restrictions as 'namespace' +name: ansible_eda + +# The version of the collection. Must be compatible with semantic versioning +version: 1.0.0 + +# The path to the Markdown (.md) readme file. This path is relative to the root of the collection readme: README.md + +# A list of the collection's content authors. Can be just the name or in the format 'Full Name (url) +# @nicks:irc/im.site#channel' authors: - - YOUR NAME (github.com/YOURGITHUB) -description: null -license_file: LICENSE -tags: -# tags so people can search for collections https://galaxy.ansible.com/search -# tags are all lower-case, no spaces, no dashes. - - example1 - - example2 -repository: https://github.com/ansible-collections/community.REPO_NAME -#documentation: https://github.com/ansible-collection-migration/community.REPO_NAME/tree/main/docs -homepage: https://github.com/ansible-collections/community.REPO_NAME -issues: https://github.com/ansible-collections/community.REPO_NAME/issues -build_ignore: -# https://docs.ansible.com/ansible/devel/dev_guide/developing_collections_distributing.html#ignoring-files-and-folders - - .gitignore - - changelogs/.plugin-cache.yaml +- your name + + +### OPTIONAL but strongly recommended +# A short summary description of the collection +description: your collection description + +# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only +# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file' +license: +- GPL-2.0-or-later + +# The path to the license file for the collection. This path is relative to the root of the collection. This key is +# mutually exclusive with 'license' +license_file: '' + +# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character +# requirements as 'namespace' and 'name' +tags: [] + +# Collections that this collection requires to be installed for it to be usable. The key of the dict is the +# collection label 'namespace.name'. The value is a version range +# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version +# range specifiers can be set and are separated by ',' +dependencies: {} + +# The URL of the originating SCM repository +repository: http://example.com/repository + +# The URL to any online docs +documentation: http://docs.example.com + +# The URL to the homepage of the collection/project +homepage: http://example.com + +# The URL to the collection issue tracker +issues: http://example.com/issue/tracker + +# A list of file glob-like patterns used to filter any files or directories that should not be included in the build +# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This +# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry', +# and '.git' are always filtered. Mutually exclusive with 'manifest' +build_ignore: [] + +# A dict controlling use of manifest directives used in building the collection artifact. The key 'directives' is a +# list of MANIFEST.in style +# L(directives,https://packaging.python.org/en/latest/guides/using-manifest-in/#manifest-in-commands). The key +# 'omit_default_directives' is a boolean that controls whether the default directives are used. Mutually exclusive +# with 'build_ignore' +# manifest: null + diff --git a/meta/runtime.yml b/meta/runtime.yml index e882125..20f709e 100644 --- a/meta/runtime.yml +++ b/meta/runtime.yml @@ -1,2 +1,52 @@ --- -requires_ansible: '>=2.11.0' # Use '>=2.9.10' instead, if needed +# Collections must specify a minimum required ansible version to upload +# to galaxy +# requires_ansible: '>=2.9.10' + +# Content that Ansible needs to load from another location or that has +# been deprecated/removed +# plugin_routing: +# action: +# redirected_plugin_name: +# redirect: ns.col.new_location +# deprecated_plugin_name: +# deprecation: +# removal_version: "4.0.0" +# warning_text: | +# See the porting guide on how to update your playbook to +# use ns.col.another_plugin instead. +# removed_plugin_name: +# tombstone: +# removal_version: "2.0.0" +# warning_text: | +# See the porting guide on how to update your playbook to +# use ns.col.another_plugin instead. +# become: +# cache: +# callback: +# cliconf: +# connection: +# doc_fragments: +# filter: +# httpapi: +# inventory: +# lookup: +# module_utils: +# modules: +# netconf: +# shell: +# strategy: +# terminal: +# test: +# vars: + +# Python import statements that Ansible needs to load from another location +# import_redirection: +# ansible_collections.ns.col.plugins.module_utils.old_location: +# redirect: ansible_collections.ns.col.plugins.module_utils.new_location + +# Groups of actions/modules that take a common set of options +# action_groups: +# group_name: +# - module1 +# - module2 diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 0000000..34cd30a --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,31 @@ +# Collections Plugins Directory + +This directory can be used to ship various plugins inside an Ansible collection. Each plugin is placed in a folder that +is named after the type of plugin it is in. It can also include the `module_utils` and `modules` directory that +would contain module utils and modules respectively. + +Here is an example directory of the majority of plugins currently supported by Ansible: + +``` +└── plugins + ├── action + ├── become + ├── cache + ├── callback + ├── cliconf + ├── connection + ├── filter + ├── httpapi + ├── inventory + ├── lookup + ├── module_utils + ├── modules + ├── netconf + ├── shell + ├── strategy + ├── terminal + ├── test + └── vars +``` + +A full list of plugin types can be found at [Working With Plugins](https://docs.ansible.com/ansible-core/2.14/plugins/plugins.html).