https://github.com/redhat-cop/edge.microshift
Microshift Management and Automation Collection
https://github.com/redhat-cop/edge.microshift
validated-content
Last synced: 11 months ago
JSON representation
Microshift Management and Automation Collection
- Host: GitHub
- URL: https://github.com/redhat-cop/edge.microshift
- Owner: redhat-cop
- License: gpl-3.0
- Created: 2023-01-26T20:48:36.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T15:43:08.000Z (over 1 year ago)
- Last Synced: 2025-01-13T12:43:33.481Z (12 months ago)
- Topics: validated-content
- Language: Jinja
- Homepage:
- Size: 122 KB
- Stars: 13
- Watchers: 22
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Microshift management and automation Collection
[](https://bestpractices.coreinfrastructure.org/projects/7481)
[Ansible Collection](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html)
for management and automation of [microshift](https://microshift.io/)
to build [rpm-ostree](https://rpm-ostree.readthedocs.io/en/latest/) based images to run microshift,
configure microshift, upgrade microshift, deploy [kubernetes](https://kubernetes.io/) workloads on
microshift, and much more.
## Installing
To install this collection and its dependencies, you will need to use the [Ansible](https://github.com/ansible/ansible) `ansible-galaxy` command:
```shell
ansible-galaxy collection install edge.microshift
```
## Development Environment
To use this while developing, run the following commands from within your local directory you pulled to this git repo to in order to symlink this git repo to the appropriate [Ansible Collection path](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths).
```shell
mkdir -p ~/.ansible/collections/ansible_collections/edge
ln -s $(pwd) ~/.ansible/collections/ansible_collections/edge/microshift
```
## How to use
You will need a RHEL 9.2 system
### RPM based install
The RHEL 9.2 system will act as the microshift node.
Run the example playbook to install latest V4.13 microshift on the RHEL system.
The example uses inventory group `all`, so be sure to setup your ansible inventory correctly.
```bash
ansible-playbook playbooks/microshift_rpm_install.yml -e rpm_install_version=4.13.*
```
If you just want to try out on the local host, use
```bash
ansible-playbook -i localhost, playbooks/microshift_rpm_install.yml -e rpm_install_version=4.13.*
```
This requires the current user to ssh into localhost.
### RPM-Ostree based install
The RHEL 9.2 system will act as the image build server to create the Microshift image.
Run the playbook to create an image with the microshift package and configurations on the RHEL system:
```bash
ansible-playbook playbook/microshift_image_build.yml
```
### Deploy application
To deploy an application on a running microshift system refer to the app role [README](https://github.com/redhat-cop/edge.microshift/blob/main/roles/app/README.md)
## Communication
Join the Ansible forum to ask questions, get help, and interact with us.
- [Get Help](https://forum.ansible.com/c/help/6): get help or help others.
Please add appropriate tags if you start new discussions; for example,
use the [`edge`](https://forum.ansible.com/tags/c/help/6/none/edge) tag.
- [Social Spaces](https://forum.ansible.com/c/chat/4): meet and interact with
fellow enthusiasts.
- [News & Announcements](https://forum.ansible.com/c/news/5): track project-wide
announcements including social events.
We announce releases and important changes through Ansible's [Bullhorn newsletter](https://docs.ansible.com/ansible/devel/community/communication.html#the-bullhorn).
We also take part in the global quarterly [Ansible Contributor Summit](https://github.com/ansible/community/wiki/Contributor-Summit) virtually or in-person.
For more information about communication, refer to the [Ansible Communication guide](https://docs.ansible.com/ansible/devel/community/communication.html).
## 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!
## Supported Versions of Ansible
## Ansible version compatibility
This collection has been tested against following Ansible versions: **>=2.12**.
Plugins and modules within a collection may be tested with only specific
Ansible versions. A collection may contain metadata that identifies these versions.
PEP440 is the schema used to describe the versions of Ansible.
## Tested with Ansible
- ansible-core (devel)
- ansible-core 2.14 (stable)
- ansible-core 2.13 (stable)
- ansible-core 2.12 (stable)
## Included content
Roles:
- image_builder
- app
- rpm_install
## Using this collection
### Installing the Collection from Ansible Galaxy
> NOTE: This collection is not yet in Ansible Galaxy as it is under heavy development and has not been released
Before using this collection, you need to install it with the Ansible Galaxy command-line tool:
```bash
ansible-galaxy collection install edge.microshift
```
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: edge.microshift
```
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 edge.microshift --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 edge.microshift:==0.1.0
```
See [Ansible Using collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details.
## 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.
## 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.
Any kind of contribution is very welcome.
You don't know how to start? Refer to our [contribution guide](https://docs.ansible.com/ansible/devel/community/contributor_path.html)!
We use the following guidelines:
- [CONTRIBUTING](https://docs.ansible.com/ansible/devel/community/contributor_path.html#making-your-first-contribution)
- [REVIEW_CHECKLIST](https://docs.ansible.com/ansible/devel/community/collection_contributors/collection_reviewing.html)
- [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.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).
See [Ansible Using collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details.
## Release notes
See the [changelog](https://github.com/redhat-cop/edge.microshift/blob/main/CHANGELOG.rst).
## More information
- [Ansible Collection overview](https://github.com/ansible-collections/overview)
- [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 Checklist](https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst)
- [Ansible Community code of conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html)
- [News for Maintainers](https://forum.ansible.com/tag/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.