Ansible Galaxy support (#281)

Signed-off-by: Brian Lu <me@greencappuccino.net>
This commit is contained in:
Brian Lu 2024-01-03 12:00:08 -06:00 committed by GitHub
parent 5c79470d8f
commit aa273f4b05
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 114 additions and 0 deletions

33
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,33 @@
---
name: Build
on:
push:
branches:
- master
jobs:
test:
name: Build Ansible Galaxy collection artifact.
runs-on: ubuntu-latest
steps:
- name: Check out the codebase.
uses: actions/checkout@v4
- name: Set up Python 3.
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Install test dependencies.
run: pip3 install ansible
- name: Build artifact.
run: ansible-galaxy collection build
- name: Upload artifact.
uses: actions/upload-artifact@v4
with:
name: galaxy-collection
path: k3s-orchestration-*.tar.gz

2
.gitignore vendored
View File

@ -1,3 +1,5 @@
venv
.venv
.vscode
.vagrant
inventory.yml

3
CHANGELOG.md Normal file
View File

@ -0,0 +1,3 @@
# `k3s-ansible` changelog (`k3s.orchestration`)
## 1.0.0
Initial Release

74
galaxy.yml Normal file
View File

@ -0,0 +1,74 @@
---
### 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: k3s
# The name of the collection. Has the same character restrictions as 'namespace'
name: orchestration
# 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 <email> (url)
# @nicks:irc/im.site#channel'
authors:
- Julien DOCHE <julien.doche@gmail.com>
- Derek Nola <derek.nola@suse.com>
- David Putzolu <dputzolu@gmail.com>
- Jeff Geerling <geerlingguy@mac.com>
- Staf Wagemakers <staf@wagemakers.be>
- Vincent RABAH <vincent.rabah@gmail.com>
### OPTIONAL but strongly recommended
# A short summary description of the collection
description: Build a Kubernetes cluster using K3s via Ansible
# 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:
- Apache-2.0
# 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: ['infrastructure', 'linux', 'tools']
# 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:
community.general: ">=7.0.0"
ansible.posix: ">=1.5.0"
# The URL of the originating SCM repository
repository: https://github.com/k3s-io/k3s-ansible
# The URL to any online docs
documentation: https://github.com/k3s-io/k3s-ansible/blob/master/README.md
# The URL to the homepage of the collection/project
homepage: https://github.com/k3s-io/k3s-ansible
# The URL to the collection issue tracker
issues: https://github.com/k3s-io/k3s-ansible/issues
# 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

2
meta/runtime.yml Normal file
View File

@ -0,0 +1,2 @@
---
requires_ansible: ">=2.14.0"