{"id":27876509,"url":"https://github.com/reddydodda/mcc-modules","last_synced_at":"2025-10-06T18:33:10.651Z","repository":{"id":247515668,"uuid":"825993847","full_name":"reddydodda/mcc-modules","owner":"reddydodda","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-09T06:19:39.000Z","size":33,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-07-10T06:39:29.503Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/reddydodda.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-08T22:52:31.000Z","updated_at":"2024-07-09T06:19:42.000Z","dependencies_parsed_at":"2024-07-09T06:55:01.555Z","dependency_job_id":null,"html_url":"https://github.com/reddydodda/mcc-modules","commit_stats":null,"previous_names":["reddydodda/mcc-modules"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddydodda%2Fmcc-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddydodda%2Fmcc-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddydodda%2Fmcc-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/reddydodda%2Fmcc-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/reddydodda","download_url":"https://codeload.github.com/reddydodda/mcc-modules/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252429954,"owners_count":21746571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-05T02:49:21.928Z","updated_at":"2025-10-06T18:33:05.631Z","avatar_url":"https://github.com/reddydodda.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MCC Host OS Configuration Modules\n\nThis repository contains Host OS Configuration Modules for Mirantis Container Cloud (MCC). These modules allow you to customize the host OS configuration in your MCC clusters.\n\n## Usage\n\n### 1. Running update_modules.sh\n\nThe `update_modules.sh` script creates tarballs for each module, generates SHA256 sums, and updates the `mcc-modules.yaml` file. To run the script:\n\n1. Ensure you have execute permissions:\n```shell\nchmod +x update_modules.sh\n```\n\n2. Run the script with your GitHub repository URL:\n```shell\n./update_modules.sh https://github.com/yourusername/yourrepo\n```\nAlternatively, you can set the `GITHUB_REPO_URL` environment variable:\n\n```shell\nexport GITHUB_REPO_URL=\"https://github.com/yourusername/yourrepo\"\n./update_modules.sh\n```\n\nThis will generate the `mcc-modules.yaml` file and create tarballs in the `files/` directory.\n\n### 2. Creating HostOSConfigurationModules in MCC Cluster\n\nTo create the HostOSConfigurationModules resource in your MCC cluster:\n\n1. Ensure you have `kubectl` configured to access your MCC cluster.\n\n2. Apply the `mcc-modules.yaml` file:\n```shell\nkubectl apply -f mcc-modules.yaml\n```\n\nThis will create a HostOSConfigurationModules resource in your cluster, making the modules available for use.\n\n### 3. Creating a HostOSConfiguration\n\nTo use a module in your cluster, create a HostOSConfiguration resource. An example is provided in the `examples/` directory.\n\n1. Review and modify the example as needed:\n```shell\nvi examples/host-multipath-configuration.yaml\n```\n\n2. Apply the HostOSConfiguration:\n```shell\nkubectl apply -f examples/host-os-configuration.yaml\n```\n\nThis will create a HostOSConfiguration resource in your cluster, which will apply the specified module configuration to the selected machines.\n\n## Example HostOSConfiguration\n\nHere's an example of how to use the multipath module in a HostOSConfiguration:\n\n```yaml\napiVersion: kaas.mirantis.com/v1alpha1\nkind: HostOSConfiguration\nmetadata:\nname: multipath-config\nnamespace: default\nspec:\nconfigs:\n- module: multipath\n moduleVersion: 1.0.0\n values:\n   install_multipath: true\n   multipath_conf:\n     defaults:\n       user_friendly_names: \"yes\"\n       find_multipaths: \"yes\"\n     devices:\n       - vendor: \"DellEMC\"\n         product: \"PowerStore\"\n         path_selector: \"queue-length 0\"\n         path_grouping_policy: \"group_by_prio\"\n         # ... other device-specific settings ...\nmachineSelector:\n matchLabels:\n   mcc-node: \"true\"\n```\n\nModify the values according to your specific multipath configuration requirements.\n\n## Updating Modules\n\nThis repository uses a git pre-commit hook to automatically update modules when changes are made. Here's the process for updating modules:\n\n1. Update the module files in the appropriate directory under `modules/`.\n2. Increment the version number in the module's `metadata.yaml` file.\n\nWhen you commit your changes, the pre-commit hook will automatically:\n\n3. Run the `update_modules.sh` script to generate new tarballs and update the `mcc-modules.yaml` file.\n4. Add the updated `mcc-modules.yaml` and new tarball files to your commit.\n\nAfter the commit:\n\n5. Push your changes to the GitHub repository.\n6. Apply the updated `mcc-modules.yaml` to your MCC cluster:\n```shell\nkubectl apply -f mcc-modules.yaml\n```\n\n### Setting up the pre-commit hook\n\nIf you haven't set up the pre-commit hook yet, follow these steps:\n\n1. Create a file named `pre-commit` in the `.git/hooks/` directory of your repository.\n2. Add the following content to the file:\n\n```bash\n#!/bin/bash\n./update_modules.sh\ngit add mcc-modules.yaml files/*.tar.gz\n```\n3. Make the hook executable:\n```shell\nchmod +x .git/hooks/pre-commit\n```\n\n   \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddydodda%2Fmcc-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freddydodda%2Fmcc-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freddydodda%2Fmcc-modules/lists"}