{"id":19325909,"url":"https://github.com/linkorb/repo-ansible","last_synced_at":"2025-02-24T06:18:03.891Z","repository":{"id":221529520,"uuid":"613564450","full_name":"linkorb/repo-ansible","owner":"linkorb","description":"Ansible playbooks with templated configuration to apply to all LinkORB code repositories.","archived":false,"fork":false,"pushed_at":"2025-02-12T14:37:22.000Z","size":413,"stargazers_count":1,"open_issues_count":1,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-02-20T00:36:58.945Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://engineering.linkorb.com","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linkorb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-13T20:23:56.000Z","updated_at":"2025-02-12T14:36:42.000Z","dependencies_parsed_at":"2024-03-13T22:47:20.965Z","dependency_job_id":"6eb1cf6e-d963-443a-9abf-e4aee2ffa7e9","html_url":"https://github.com/linkorb/repo-ansible","commit_stats":null,"previous_names":["linkorb/repo-ansible"],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Frepo-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Frepo-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Frepo-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linkorb%2Frepo-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linkorb","download_url":"https://codeload.github.com/linkorb/repo-ansible/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240427316,"owners_count":19799471,"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":"2024-11-10T02:11:50.710Z","updated_at":"2025-02-24T06:18:03.838Z","avatar_url":"https://github.com/linkorb.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- Managed by https://github.com/linkorb/repo-ansible. Manual changes will be overwritten. --\u003e\n\nAnsible playbooks with templated configuration to apply to all LinkORB code repositories.\n\nWhat benefits do you get from using repo-ansible for your repository?\n\n - **CodeSpace devcontainers**\u003cbr\u003e\n   LAMP-based devcontainer with Apache, MariaDB and a phpMyAdmin.\n - **automated security and dependency updates via Dependabot**\u003cbr\u003e\n   Organization-wide settings ensure security alerts and pull requests are enabled for all repositories,\n   and repo-ansible, doubles down on this configuration, makes sure that security and minor version updates\n   created by Dependabot will automatically get merged.\n - **Contributors support**\u003cbr\u003e\n   Community guidelines, contributing notes, git hooks, codeowners for automated PR assignment, QA tooling/configuration,\n   and the standardized LinkORB pull request template.\n - **Standardized repository files, GitHub repository management, and much more to come!**\n\n\n## Quick start\n\nEnsure that Docker is installed on your system and you are using either Linux, MacOS, or WSL under Windows.\n\nCreate and configure a  `repo.yaml` file for your repository. Reference the\n[configuration table below](#short-reference-configuration) and the associated repo.schema.yaml file.\n\nRun repo-ansible for your project via docker:\n\n```shell\n# always pull latest version first\ndocker pull ghcr.io/linkorb/repo-ansible:latest\ndocker run --rm -v \"$PWD\":/app ghcr.io/linkorb/repo-ansible:latest\n```\n\n\u003e This command will execute the repo-ansible apply.yaml in your current directory and report on the tasks\n\u003e that reported changes throughout the execution.\n\n\n\u003e [!NOTE]\n\u003e During execution your repository's' **README.md will be overwritten** with the generation rules used in repo-ansible.\n\u003e If you're running the playbook for the first time on your repository, be sure to\n\u003e review [Readme file auto-generation](#readme-file-auto-generation)\n\n### Running repo-ansible playbooks manually\n\nAnsible is required.\n[How do I install Ansible on my system?](./docs/AnsibleInstallation.md)\n[Encountered issues with Ansible execution?](./docs/AnsibleInstallation.md#Debugging-Ansible-issues)\n\nGrab the latest version of the repository and its dependencies.\n\n```shell\n$ git clone https://github.com/linkorb/repo-ansible.git /tmp/repo-ansible\n\n$ pip3 install jsonschema\n```\n\n**Run the playbook**\n\n\n```shell\n/your-repository $ ansible-playbook /tmp/repo-ansible/apply.yaml\n\nPLAY [localhost] **************************************************************************\n\nTASK [Gathering Facts] ********************************************************************\nok: [localhost]\n\n...\n```\n\nThe playbook will load and validate `repo.yaml` according to the schema; then proceed to apply templates and checks to\nyour repository.\n\n - [Looking for a way to apply repo-ansible across multiple repositories?](./docs/BulkOperations.md)\n\n\n### Short reference configuration\n\n\u003e Required properties are **bolded**. YAML hierarchies are represented by newlines in the property column.\n\u003e The table is not exhaustive, only the most common properties and groups are documented in here. Refer to the\n\u003e repo.schema.yaml file for a complete overview of properties.\n\n| Property | Default | Description |\n| --- | --- | --- |\n| version `string` |-| Version of compatible repo-ansible release. Automatically updated during repo-ansible runs.|\n| **name** `string` |-| The git repository name.|\n| **description** `string` |-| Repository description that shows up in the sidebar on GitHub, and as the first line of the README after the repository name.|\n| **type** `string` |-| Classification of repository type. Influences what additional files repo-ansible will generate when run.\u003cbr\u003eThe last 3 listed types have been deprecated and should not be used on new projects.\u0026nbsp; Accepted values:`php-web`,`php-library`,`php-cli`,`nodejs-web`,`nodejs-library`,`nodejs-cli`,`other`,`application`,`library`,`symfony-bundle`,||\n| **codeowners** `array` |-| Each array item contains a file/directory pattern and an array of individuals or teams responsible for reviewing and maintaining files/directories that match the specified pattern. For a list of allowed patterns, refer to [CODEOWNERS syntax](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners).|\n| license `string` |proprietary| Repository license\u0026nbsp; Accepted values:`mit`,`gpl-v3`,`proprietary`,||\n| license_year `number` |-| Year when the license was applied to the repository. Used with the MIT license, as it includes the year as part of the generated LICENSE file. Defaults to current year if not set.|\n| visibility `string` |private| GitHub repository visibility.\u0026nbsp; Accepted values:`public`,`private`,||\n| lifecycle `string` |-| Project lifecycle stage.\u0026nbsp; Accepted values:`dev-research`,`dev-prod-bound`,`dev-prod`,`dev-maintenance`,`deprecated-prod`,`archived`,||\n| user_scope `array` |-| Additional project classification in terms of users served.\u0026nbsp; Accepted values:`external-customer-facing-app`,`internal-team-facing-app`,`enables-external-customer-facing-apps`,`enables-internal-team-facing-apps`,`internal-devops-tooling`,||\n| github\u003cbr\u003etopics `array` |-| GitHub topics. An array of strings.|\n| github\u003cbr\u003edefault_branch `string` |main| Default branch configuration in GitHub (default main). Override for older repositories that still use master branch. Consider updating your repository to include a main branch and remove this option.|\n| github\u003cbr\u003eworkflows\u003cbr\u003ereview `boolean` |true| The review workflow will trigger for pull requests and will check if the commit messages conform with conventional commits, and if cards are referenced as part of the commit message.|\n| github\u003cbr\u003efeatures\u003cbr\u003edependabot_auto_merge `boolean` |true| Generate workflow that automatically merges Dependabot PRs for patch and minor version releases.\u003cbr\u003e *Note that merging the PR won't automatically trigger other followup workflows.*|\n| github\u003cbr\u003efeatures\u003cbr\u003edownloads `boolean` |true| Enable repository downloads.|\n| github\u003cbr\u003efeatures\u003cbr\u003esquash_merge `boolean` |true| Allow squash-merging pull requests.|\n| github\u003cbr\u003efeatures\u003cbr\u003emerge_commit `boolean` |true| Allow merging pull requests with merge commit.|\n| github\u003cbr\u003efeatures\u003cbr\u003erebase_merge `boolean` |true| Allow rebase-merging pull requests.|\n| github\u003cbr\u003efeatures\u003cbr\u003esdlc_workflows `boolean` |false| **EXPERIMENTAL** Software Development Lifecycle Workflows. Property will likely be removed in the future, and enabled by default, when workflows have been stabilized.|\n| github\u003cbr\u003efeatures\u003cbr\u003ewiki `boolean` |false| Enable Wiki tab.|\n| github\u003cbr\u003efeatures\u003cbr\u003eissues `boolean` |false| Enable issues tab.|\n| github\u003cbr\u003efeatures\u003cbr\u003eprojects `boolean` |false| Enable projects tab.|\n| github_workflows\u003cbr\u003ebuild\u003cbr\u003eextra_docker_build_args `object` |{}| Key-value pairs to use as build args during the docker build step of build and release workflow|\n| reviewdog\u003cbr\u003eplatforms `array` |[]| A broad way to categorize programming languages, libraries, and frameworks, and for which we have an external tool we can use to assure code quality during review.\u0026nbsp; Accepted values:`php`,`twig`,||\n| devcontainer\u003cbr\u003ecustom_docker_compose_yaml `boolean` |false| When enabled the compose file located at .devcontainer/docker-compose.yaml will no longer get automatically updated. Allowing users to customize their docker-compose setup.|\n| devcontainer\u003cbr\u003epostCreateCommand `string` |-| Additional (shell) commands to run when the containers is created. For a typical project you would specify commands that only need to run once when the project is setup. For example you might add a command in here to load database fixtures for your project.|\n| devcontainer\u003cbr\u003epostStartCommand `string` |-| Additional (shell) commands to run when the container is started. This event takes place after the create event, but opposed to the create event it's triggered every time the container is started (including when it's resumed from a suspended state). In a typical JavaScript application you might set it to run a `npm run dev` or equivalent step.|\n| devcontainer\u003cbr\u003ecustomizations_vscode\u003cbr\u003eextensions `array` |-| Additional extensions to install. Refer to the [group_vars/all.yaml](group_vars/all.yaml) file for extensions installed by default.|\n| devcontainer\u003cbr\u003ecustomizations_vscode\u003cbr\u003esettings `object` |-| Settings overrides for VSCode and installed extensions. Refer to the [group_vars/all.yaml](group_vars/all.yaml) file regarding proper format and default values.|\n| devcontainer\u003cbr\u003eprivate_packagist `boolean` |true| Repository requires private packagist access. Property is ignored is not of type php-*, or the other (deprecated) types: application, library, symfony-bundle.|\n| devcontainer\u003cbr\u003erepository `string` |ghcr.io/linkorb/php-docker-base| Image to use for devcontainer (registry image URL)|\n| devcontainer\u003cbr\u003etag `string` |php8-review| Image tag|\n| helm_charts `boolean` |false| Enable generation of Helm charts.|\n| archived `boolean` |false| Setting this option to `true` will cause the repository to be archived. Once archived, it can only be unarchived manually.|\n| omit_files `array` |[]| **EXPERIMENTAL** A list of files to skip during file generation.|\n - [Looking for repo.yaml schema integration within your IDE?](./docs/SchemaIDESupport.md)\n\n### Readme file auto-generation\n\nThe content for each section of this README was either retrieved from `repo.yaml` or Markdown partials stored in the\n`docs/partials` folder. Managing content in this way allows you to define repo-specific content in\n`repo.yaml` and within the `/docs/partials` folder as Markdown partials.\n\nFor example, if you define `readme.usage.content` in `repo.yaml`, but a Markdown file named `readme.usage.md` exists\nin the `/docs` folder, the dynamic README inserts the Markdown content.\n\nTo make this possible, tasks defined in `retrieve-docs-data.yaml` retrieve the docs files data such as the filename\nand path for each Markdown file so `README.md.j2` can check for the presence of Markdown files for each README section\nand insert Markdown content if there is a match.\n\n\n## Contributing\n\nWe welcome contributions to make this repository even better. Whether it's fixing a bug, adding a feature, or improving documentation, your help is highly appreciated. To get started, fork this repository then clone your fork.\n\nBe sure to familiarize yourself with LinkORB's [Contribution Guidelines](/CONTRIBUTING.md) for our standards around commits, branches, and pull requests, as well as our [code of conduct](/.github/CODE_OF_CONDUCT.md) before submitting any changes.\n\nIf you are unable to implement changes you like yourself, don't hesitate to open a new issue report so that we or others may take care of it.\n## Brought to you by the LinkORB Engineering team\n\n\u003cimg src=\"http://www.linkorb.com/d/meta/tier1/images/linkorbengineering-logo.png\" width=\"200px\" /\u003e\u003cbr /\u003e\nCheck out our other projects at [linkorb.com/engineering](http://www.linkorb.com/engineering).\nBy the way, we're hiring!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Frepo-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinkorb%2Frepo-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinkorb%2Frepo-ansible/lists"}