{"id":15227841,"url":"https://github.com/swisscom/puppet-package_verifiable","last_synced_at":"2025-10-31T02:30:57.944Z","repository":{"id":57670401,"uuid":"62375827","full_name":"swisscom/puppet-package_verifiable","owner":"swisscom","description":"The idea is that we have a way to check within the catalog whether a package currently installed matches the one we want to install.","archived":false,"fork":false,"pushed_at":"2023-04-07T12:26:01.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-05-22T14:03:56.150Z","etag":null,"topics":["package","puppet","puppet-module"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/swisscom.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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":"2016-07-01T08:02:08.000Z","updated_at":"2020-06-18T07:50:43.000Z","dependencies_parsed_at":"2024-09-28T23:06:27.189Z","dependency_job_id":"ff85d50c-c788-40bd-838b-4f2b28fddf8c","html_url":"https://github.com/swisscom/puppet-package_verifiable","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fpuppet-package_verifiable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fpuppet-package_verifiable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fpuppet-package_verifiable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swisscom%2Fpuppet-package_verifiable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swisscom","download_url":"https://codeload.github.com/swisscom/puppet-package_verifiable/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239092740,"owners_count":19580214,"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":["package","puppet","puppet-module"],"created_at":"2024-09-28T23:06:23.668Z","updated_at":"2025-10-31T02:30:57.583Z","avatar_url":"https://github.com/swisscom.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003e [!NOTE]\n\u003e DEPRECATED - no longer maintained!\n\n# package_verifiable\n\n[![Build Status](https://travis-ci.org/swisscom/puppet-package_verifiable.svg?branch=master)](https://travis-ci.org/swisscom/puppet-package_verifiable)\n\nThis is the package_verifiable module.\n\nThe idea is that we have a way to check within the catalog whether a package\ncurrently installed matches the one we want to install.\n\nFor that we place a custom fact that records the installed version and then we\ncan use a function to verify whether there will be a change.\n\n\n## Table of contents\n\n1. [Parameters](#parameters)\n1. [Usage](#usage)\n1. [Support](#support)\n\n\n## Parameters\n\n### Main class (`package_verifiable`)\n\n**`package_verifiable::version`** (Optional)\n* Description: Set the package version\n* Type: String\n* Default value: `installed`\n\n**`package_verifiable::epoch`** (Optional)\n* Description: Set the package epoch\n* Type: String\n* Default value: ` `\n\n**`package_verifiable::manage_package`** (Optional)\n* Description: Wether to ensure the package version with Puppet\n* Type: Boolean\n* Default value: `true`\n\n**`package_verifiable::manage_dependency`** (Optional)\n* Description: Wether to manage the package dependencies too\n* Type: Boolean\n* Default value: `true`\n\n### Yum versionlock class (`package_verifiable::yum::versionlock`)\n\n**`package_verifiable::yum::versionlock::ensure`** (Mandatory)\n* Description: Wether to ensure the versionlock or not\n* Type: String\n* Default value: `n/a`\n\n**`package_verifiable::yum::versionlock::epoch`** (Optional)\n* Description: Package epoch to ensure\n* Type: String\n* Default value: ` `\n\n\n## Usage\n\n```puppet\n$pkg_version = lookup('some_package_version','1.0-1')\n\npackage_verifiable {'some-package':\n  version =\u003e $pkg_version,\n}\n\nif $package_some_package_version and !verify_package_versions('some-package',$pkg_version) {\n  exec {'systemctl stop some-service \u0026\u0026 rm -rf /opt/my_package/service':\n    before =\u003e Package['some-package'],\n  }\n}\n```\nIf the current deployed package does not match the version on the system the\nexec will be included into the catalog and hence triggered. By playing with\nbefore/require you will be able to add pre-/post-hooks to the package\nmanagement.\nNote: The fact is `undef` if the package is not yet installed.\n\nIf the package itself is managed in another module that should not be using the\npackage module, we can simply add the wrapper here, without managing the\npackage itself:\n```puppet\n$pkg_version = lookup('some_package_version','1.0-1')\n\npackage_verifiable {'some-package':\n  version        =\u003e $pkg_version,\n  manage_package =\u003e false,\n}\n```\n\nYou can manage multiple packages if they share the same version.\n```puppet\n$packages = ['myapp', 'myapp-common', 'myapp-libs']\n\npackage_verifiable {$packages:\n  version =\u003e $pkg_version,\n}\n```\n\n## Support\n\nPlease log tickets and issues at our\n[Projects site](https://github.com/swisscom/puppet-package_verifiable/issues)\n\nMIT license, see [LICENSE.md](LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fpuppet-package_verifiable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswisscom%2Fpuppet-package_verifiable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswisscom%2Fpuppet-package_verifiable/lists"}