{"id":14965351,"url":"https://github.com/saltstack-formulas/systemd-formula","last_synced_at":"2025-04-10T01:09:34.812Z","repository":{"id":30150381,"uuid":"123162077","full_name":"saltstack-formulas/systemd-formula","owner":"saltstack-formulas","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-07T20:03:14.000Z","size":443,"stargazers_count":22,"open_issues_count":7,"forks_count":37,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-10T01:09:28.215Z","etag":null,"topics":["saltstack","systemd","systemd-networkd","systemd-service","systemd-timer","systemd-unit"],"latest_commit_sha":null,"homepage":null,"language":"SaltStack","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saltstack-formulas.png","metadata":{"files":{"readme":"docs/README.rst","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-02-27T17:12:09.000Z","updated_at":"2024-12-14T15:58:49.000Z","dependencies_parsed_at":"2024-09-02T17:41:22.677Z","dependency_job_id":"24f08ea8-e440-4e65-8afe-59dbdb8ecfe8","html_url":"https://github.com/saltstack-formulas/systemd-formula","commit_stats":{"total_commits":322,"total_committers":17,"mean_commits":"18.941176470588236","dds":"0.48757763975155277","last_synced_commit":"5211aba42c0fd8f6adcfb29fd30505eb4c40bc38"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fsystemd-formula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fsystemd-formula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fsystemd-formula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fsystemd-formula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saltstack-formulas","download_url":"https://codeload.github.com/saltstack-formulas/systemd-formula/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"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":["saltstack","systemd","systemd-networkd","systemd-service","systemd-timer","systemd-unit"],"created_at":"2024-09-24T13:34:37.704Z","updated_at":"2025-04-10T01:09:34.794Z","avatar_url":"https://github.com/saltstack-formulas.png","language":"SaltStack","readme":".. _readme:\n\nsystemd-formula\n===============\n\n|img_travis| |img_sr|\n\n.. |img_travis| image:: https://travis-ci.com/saltstack-formulas/systemd-formula.svg?branch=master\n   :alt: Travis CI Build Status\n   :scale: 100%\n   :target: https://travis-ci.com/saltstack-formulas/systemd-formula\n.. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\n   :alt: Semantic Release\n   :scale: 100%\n   :target: https://github.com/semantic-release/semantic-release\n\nFormula to set up and configure systemd including\n  * units\n  * networkd\n  * timesyncd\n  * resolved\n  * journald\n\n.. contents:: **Table of Contents**\n\nGeneral notes\n-------------\n\nSee the full `SaltStack Formulas installation and usage instructions\n\u003chttps://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html\u003e`_.\n\nIf you are interested in writing or contributing to formulas, please pay attention to the `Writing Formula Section\n\u003chttps://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#writing-formulas\u003e`_.\n\nIf you want to use this formula, please pay attention to the ``FORMULA`` file and/or ``git tag``,\nwhich contains the currently released version. This formula is versioned according to `Semantic Versioning \u003chttp://semver.org/\u003e`_.\n\nSee `Formula Versioning Section \u003chttps://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#versioning\u003e`_ for more details.\n\nContributing to this repo\n-------------------------\n\n**Commit message formatting is significant!!**\n\nPlease see `How to contribute \u003chttps://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst\u003e`_ for more details.\n\nGeneral customization strategies\n--------------------------------\n\nBecause systemd config files aren't easy to recreate in jinja based on multiple\nkeys and different needs, I'm using TOFS.\n\n`Template Override and Files Switch` (TOFS) pattern as described in the\ndocumentation file `TOFS_pattern.md`.\n\n.. note::\n    See the full `Salt Formulas\n    \u003chttp://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html\u003e`_ doc.\n\nAvailable states\n----------------\n\n.. contents::\n    :local:\n\n``systemd``\n^^^^^^^^^^^\n\nInstalls the systemd packages and libraries.\n\n``systemd.journald``\n^^^^^^^^^^^^^^^^^^^^^\nThis state manages systemd-journald configuration\n\n``systemd.timesyncd``\n^^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-timesyncd and configures both NTP and timezone\n\n``systemd.timesyncd.config``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-timesyncd and adds the timesyncd.conf from pillar\n(see pillar.example)\n\n``systemd.networkd``\n^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-networkd and recursively adds files per os_family/minion_id\n\n``systemd.networkd.profiles``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-networkd profile files from pillar (see pillar.example)\n\n``systemd.resolved``\n^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-resolved and recursively adds files per os_family/minion_id\n\n``systemd.resolved.config``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^\nThis state installs systemd-resolved and adds the resolved.conf from pillar (see pillar.example)\n\n``systemd.units``\n^^^^^^^^^^^^^^^^^\nThis formula provides a state to configure systemd units\n\nTesting\n-------\n\nLinux testing is done with ``kitchen-salt``.\n\nRequirements\n^^^^^^^^^^^^\n\n* Ruby\n* Docker\n\n.. code-block:: bash\n\n   $ gem install bundler\n   $ bundle install\n   $ bin/kitchen test [platform]\n\nWhere ``[platform]`` is the platform name defined in ``kitchen.yml``,\ne.g. ``debian-9-2019-2-py3``.\n\n``bin/kitchen converge``\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nCreates the docker instance and runs the ``systemd`` main state, ready for testing.\n\n``bin/kitchen verify``\n^^^^^^^^^^^^^^^^^^^^^^\n\nRuns the ``inspec`` tests on the actual instance.\n\n``bin/kitchen destroy``\n^^^^^^^^^^^^^^^^^^^^^^^\n\nRemoves the docker instance.\n\n``bin/kitchen test``\n^^^^^^^^^^^^^^^^^^^^\n\nRuns all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``.\n\n``bin/kitchen login``\n^^^^^^^^^^^^^^^^^^^^^\n\nGives you SSH access to the instance for manual testing.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack-formulas%2Fsystemd-formula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaltstack-formulas%2Fsystemd-formula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack-formulas%2Fsystemd-formula/lists"}