{"id":15022700,"url":"https://github.com/puppetlabs/puppet-rfc","last_synced_at":"2025-04-07T08:20:56.841Z","repository":{"id":7044016,"uuid":"8322114","full_name":"puppetlabs/puppet-rfc","owner":"puppetlabs","description":"Puppet RFC Repository","archived":false,"fork":false,"pushed_at":"2025-02-04T02:07:37.000Z","size":929,"stargazers_count":54,"open_issues_count":1,"forks_count":24,"subscribers_count":174,"default_branch":"master","last_synced_at":"2025-03-31T06:08:29.001Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/puppetlabs.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-20T21:02:36.000Z","updated_at":"2024-10-14T10:05:13.000Z","dependencies_parsed_at":"2025-03-24T04:15:44.649Z","dependency_job_id":"31539528-a6d3-48b4-a348-f83059978c22","html_url":"https://github.com/puppetlabs/puppet-rfc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-rfc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-rfc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-rfc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/puppetlabs%2Fpuppet-rfc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/puppetlabs","download_url":"https://codeload.github.com/puppetlabs/puppet-rfc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615385,"owners_count":20967184,"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-09-24T19:58:17.164Z","updated_at":"2025-04-07T08:20:56.808Z","avatar_url":"https://github.com/puppetlabs.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"Puppet RFC\n===\n\nPuppet RFC Repository\n---------------------\n\nThis repository contains Puppet RFCs, which are \"Requests For Comments\" in the tradition of the IETF\nRFC process. They are proposals to enhance / add features to Puppet or something in the Puppet\necosystem. This is a community-focused process intended to improve openness and transparency in both\nPuppet Labs-funded and contributor efforts. For details, please read [PRFC-0](prfc-0.prfc/index.md),\nwhich describes the rationale and process.\n\nHistorical note\n---------------\n\nFrom their introduction in 2013 until a renaming/reboot in mid-2015, the process and artifacts were\ncalled \"Armatures\", abbreviated to \"ARMs\". While the git repository and all current documentation\nare updated, it's possible you will see references to the old name in immutable artifacts like\nmailing list threads, bug tracker tickets, etc.\n\nIndex of PRFCs\n-------------\n\u003ctable\u003e\n\u003ctr\u003e\n  \u003cth\u003ePRFC\u003c/th\u003e\n  \u003cth\u003eTitle\u003c/th\u003e\n  \u003cth\u003eDescription\u003c/th\u003e\n  \u003cth\u003eRevision\u003c/th\u003e\n  \u003cth\u003eDate\u003c/th\u003e\n  \u003cth\u003eState\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n  \u003ctd\u003e0\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-0.prfc/prfc.md\"\u003eMeta-RFC\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eDescribes the Puppet RFC process itself\u003c/td\u003e\n  \u003ctd\u003e1.0.0\u003c/td\u003e\n  \u003ctd\u003eMarch 26, 2013\u003c/td\u003e\n  \u003ctd\u003eCompleted\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e1\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-1.templates/templates\"\u003eTemplates\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eTemplates for creating a new Puppet RFC\u003c/td\u003e\n  \u003ctd\u003e1.0.0\u003c/td\u003e\n  \u003ctd\u003eMarch 26, 2013\u003c/td\u003e\n  \u003ctd\u003eCompleted\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e2\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-2.iteration/index.md\"\u003eIteration\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eAdd iteration to the Puppet Language\u003c/td\u003e\n  \u003ctd\u003e2.0.0\u003c/td\u003e\n  \u003ctd\u003eOct 24, 2013\u003c/td\u003e\n  \u003ctd\u003eCompleted\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e3\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-3.puppet_templates/index.md\"\u003ePuppet Templates\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eAdd support to write templates in the Puppet Language\u003c/td\u003e\n  \u003ctd\u003e1.0.0\u003c/td\u003e\n  \u003ctd\u003eMay 1, 2013\u003c/td\u003e\n  \u003ctd\u003eSubmitted\u003cbr/\u003e\u003ca href=\"https://groups.google.com/d/topic/puppet-dev/HZXt_G0nZLE\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e4\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-4.heredoc/index.md\"\u003eHeredoc\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eAdd support for Heredoc feature to Puppet Language\u003c/td\u003e\n  \u003ctd\u003e2.0.0\u003c/td\u003e\n  \u003ctd\u003eApril 23, 2013\u003c/td\u003e\n  \u003ctd\u003eSubmitted\u003cbr\u003e\u003ca href=\"https://groups.google.com/d/topic/puppet-dev/mrYmTa_2L6M\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e5\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-5.structured_facts/index.md\"\u003eStructured Facts\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eImplementation of structured facts in Facter\u003c/td\u003e\n  \u003ctd\u003e0.0.1\u003c/td\u003e\n  \u003ctd\u003eFebruary 25, 2013\u003c/td\u003e\n  \u003ctd\u003eDraft\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e6\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-6.capabilities/index.md\"\u003ePuppet Capabilities\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eSupport cross-host application management and monitoring\u003c/td\u003e\n  \u003ctd\u003e1.0.0\u003c/td\u003e\n  \u003ctd\u003eFebruary 20, 2013\u003c/td\u003e\n  \u003ctd\u003eDraft\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e7\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-7.puppet_types/index.md\"\u003ePuppet Types\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eExpress Puppet Types in the Puppet DSL\u003c/td\u003e\n  \u003ctd\u003e0.0.0\u003c/td\u003e\n  \u003ctd\u003eFebruary 26, 2013\u003c/td\u003e\n  \u003ctd\u003eDraft\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e8\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-8.puppet_bindings/index.md\"\u003ePuppet Bindings\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eUnified dependency injection framework for Puppet\u003c/td\u003e\n  \u003ctd\u003e0.0.1\u003c/td\u003e\n  \u003ctd\u003eJune 1, 2013\u003c/td\u003e\n  \u003ctd\u003eDraft\u003cbr\u003e\u003ca href=\"https://groups.google.com/d/topic/puppet-dev/ITIqQrEY9ZY/discussion\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e9\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-9.data_in_modules/index.md\"\u003eData in Modules\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eFocused specification for providing Hiera data in Puppet Modules\u003c/td\u003e\n  \u003ctd\u003e0.0.2\u003c/td\u003e\n  \u003ctd\u003eAug 16, 2013\u003c/td\u003e\n  \u003ctd\u003eDraft\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e10\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-10.additional_node_scope/index.md\"\u003eAdditional Node Scope\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eAdd a level of scope for nodes\u003c/td\u003e\n  \u003ctd\u003e0.0.0\u003c/td\u003e\n  \u003ctd\u003eMarch 1, 2013\u003c/td\u003e\n  \u003ctd\u003eNew\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e11\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-11.execution_model/index.md\"\u003eExecution Model\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eDescribe a next-gen execution model for Puppet\u003c/td\u003e\n  \u003ctd\u003e0.0.2\u003c/td\u003e\n  \u003ctd\u003eMarch 22, 2013\u003c/td\u003e\n  \u003ctd\u003eNew\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e12\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-12.star_resource_data_type/index.md\"\u003eStar Resource Data Format\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eAdds new resource data format to describe a resource without automatically declaring it\u003c/td\u003e\n  \u003ctd\u003e0.0.1\u003c/td\u003e\n  \u003ctd\u003eApril 1, 2013\u003c/td\u003e\n  \u003ctd\u003eNew\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e13\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-13.ssl_behaviour/index.md\"\u003eSSL Behaviour\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eDescribe Puppet's use of SSL, configuration options, and best practices.\u003c/td\u003e\n  \u003ctd\u003e0.0.1\u003c/td\u003e\n  \u003ctd\u003eApril 17, 2013\u003c/td\u003e\n  \u003ctd\u003eNew\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n  \u003ctd\u003e14\u003c/td\u003e\n  \u003ctd\u003e\u003ca href=\"prfc-14.reboot/index.md\"\u003eManaging System Reboots\u003c/a\u003e\u003c/td\u003e\n  \u003ctd\u003eDescribe Puppet's ability for managing system reboots.\u003c/td\u003e\n  \u003ctd\u003e0.0.1\u003c/td\u003e\n  \u003ctd\u003eApril 17, 2013\u003c/td\u003e\n  \u003ctd\u003eNew - \u003ca href=\"https://groups.google.com/forum/?fromgroups=#!topic/puppet-dev/5QFelBbbAMw\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e15\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-15.master_status/index.md\"\u003eMaster to Produce Meaningful Status Messages\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eAllow administrators and/or the master process itself to update the status response when\n    /production/status/no_key is hit so that proper load balancer support can be achieved.\u003c/td\u003e\n    \u003ctd\u003e0.0.1\u003c/td\u003e\n    \u003ctd\u003eAugust 21, 2013\u003c/td\u003e\n    \u003ctd\u003eNew - \u003ca\n    href=\"https://groups.google.com/forum/?fromgroups=#!topic/puppet-dev/5QFelBbbAMw\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e16\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-16.acls/index.md\"\u003eManaging ACLs (Access Control Lists)\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eDescribe Puppet's ability for managing access control lists.  \u003c/td\u003e\n    \u003ctd\u003e0.0.1\u003c/td\u003e\n    \u003ctd\u003eOctober 25, 2013\u003c/td\u003e\n    \u003ctd\u003eNew - \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/9xq-oFWSqXo\"\u003eDiscuss\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e17\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-17.lambda_in_case/index.md\"\u003eLambda Case Option\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eAdd ability to use a lambda as case option for advanced matching. (See \u003ca href=\"https://tickets.puppetlabs.com/browse/PUP-4193\"\u003ePUP-4193\u003c/a\u003e)\u003c/td\u003e\n    \u003ctd\u003e0.0.0\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003eNew. \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/\"\u003eDiscuss TBD\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e18\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-18.ignored_parameter/index.md\"\u003eIgnored Parameter\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eThe work is to compare how variables like this is used in other languages and how this can be applied/made useful in the Puppet Language. (See \u003ca href=\"https://tickets.puppetlabs.com/browse/PUP-4193\"\u003ePUP-4193\u003c/a\u003e)\u003c/td\u003e\n    \u003ctd\u003e0.0.0\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003eNew. \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/\"\u003eDiscuss TBD\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e19\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-19.direct_eval/index.md\"\u003eDirect Evaluation of Resource Instantiation\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eCurrent behavior makes it very difficult for users to reason about evaluation order; this work aims to fix that.\u003c/td\u003e\n    \u003ctd\u003e0.0.1\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003eNew. \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/\"\u003eDiscuss TBD\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e20\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-20.iteration_control/index.md\"\u003eIteration Control\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eThe idea is to specify the semantics for two functions: break(val = undef), and next(val=undef) that enables control of iteration.\u003c/td\u003e\n    \u003ctd\u003e0.0.1\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003eNew. \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/\"\u003eDiscuss TBD\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e21\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-21.dsc/index.md\"\u003ePowerShell Desired State Configuration (DSC)\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003ePuppet should support integration with PowerShell DSC as a supported module. LINK EPIC \u003c/td\u003e\n    \u003ctd\u003e0.0.1\u003c/td\u003e\n    \u003ctd\u003e-\u003c/td\u003e\n    \u003ctd\u003eNew. \u003ca href=\"https://groups.google.com/forum/#!topic/puppet-dev/\"\u003eDiscuss TBD\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e22\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-22.http_auth/index.md\"\u003eHTTP Authorization Framework\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://docs.google.com/document/d/1XIsGAg0Dm_aF5YWzvzZwkYaGQ15XoLVONCgYiBv9RpI/edit\"\u003eClojure-based\n    implementation of HTTP Authorization system\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e1.0\u003c/td\u003e\n    \u003ctd\u003e2015-09-15\u003c/td\u003e\n    \u003ctd\u003ePosted - \u003ca href=\"https://groups.google.com/d/topic/puppet-dev/I4GVsA46C5g/discussion\"\u003epuppet-dev\n    thread\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e23\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-23.xpp/index.md\"\u003eXPP - Exchangeable Puppet Files\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003eXPP eXchangeable puPPet defines now the native parser can parse and validate PP files for evaluation by the Ruby runtime\u003c/td\u003e\n    \u003ctd\u003e1.0\u003c/td\u003e\n    \u003ctd\u003e2016-05-25\u003c/td\u003e\n    \u003ctd\u003ePosted - \u003ca href=\"https://groups.google.com/d/topic/puppet-dev/ve0IdegWQck/discussion\"\u003epuppet-dev thread\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\u003ctr\u003e\n    \u003ctd\u003e24\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"prfc-24.facter-conf/index.md\"\u003eFacter Config File\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://docs.google.com/document/d/1xlj0NYESLHNv5ZO_NJ-1fCssAWzaHsTZIhyaK3uzHQY/edit?usp=sharing\"\u003eA config file for facter, providing runtime settings\u003c/a\u003e\u003c/td\u003e\n    \u003ctd\u003e1.0\u003c/td\u003e\n    \u003ctd\u003e2016-05-24\u003c/td\u003e\n    \u003ctd\u003ePosted - \u003ca href=\"https://groups.google.com/d/topic/puppet-dev/bebmBUyRETg/discussion\"\u003epuppet-dev thread\u003c/a\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/table\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppet-rfc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpuppetlabs%2Fpuppet-rfc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpuppetlabs%2Fpuppet-rfc/lists"}