{"id":19871894,"url":"https://github.com/saltstack-formulas/openvpn-formula","last_synced_at":"2025-07-24T13:09:57.826Z","repository":{"id":28083446,"uuid":"31581044","full_name":"saltstack-formulas/openvpn-formula","owner":"saltstack-formulas","description":"Setup and configure openvpn server and client.","archived":false,"fork":false,"pushed_at":"2025-04-07T20:02:18.000Z","size":648,"stargazers_count":35,"open_issues_count":14,"forks_count":114,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-04-07T21:22:30.489Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","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":"2015-03-03T05:25:49.000Z","updated_at":"2024-11-15T20:15:03.000Z","dependencies_parsed_at":"2025-01-07T04:15:39.543Z","dependency_job_id":null,"html_url":"https://github.com/saltstack-formulas/openvpn-formula","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/saltstack-formulas/openvpn-formula","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fopenvpn-formula","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fopenvpn-formula/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fopenvpn-formula/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fopenvpn-formula/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saltstack-formulas","download_url":"https://codeload.github.com/saltstack-formulas/openvpn-formula/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack-formulas%2Fopenvpn-formula/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266845403,"owners_count":23994062,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-12T16:13:56.277Z","updated_at":"2025-07-24T13:09:57.799Z","avatar_url":"https://github.com/saltstack-formulas.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"openvpn-formula\n===============\n\n\n|img_travis| |img_sr|\n\n.. |img_travis| image:: https://travis-ci.com/saltstack-formulas/openvpn-formula.svg?branch=master\n   :alt: Travis CI Build Status\n   :scale: 100%\n   :target: https://travis-ci.com/saltstack-formulas/openvpn-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 install and configure openvpn server and client.\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\nIf you need (non-default) configuration, please refer to:\n\n- `how to configure the formula with map.jinja \u003cmap.jinja.rst\u003e`_\n- the ``pillar.example`` file\n\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\n\nAvailable states\n----------------\n\n.. contents::\n    :local:\n\n``openvpn``\n^^^^^^^^^^^\n\nInstalls OpenVPN.\n\n``openvpn.config``\n^^^^^^^^^^^^^^^^^^\n\nConfigures OpenVPN client and server. Multiple clients and servers are possible.\n\n``openvpn.gui``\n^^^^^^^^^^^^^^^\n\nConfigures OpenVPN GUI (Windows only). Sets global registry settings as described `here \u003chttps://github.com/OpenVPN/openvpn-gui/#registry-values-affecting-the-openvpn-gui-operation\u003e`_.\n\n``openvpn.adapters``\n^^^^^^^^^^^^^^^^^^^^\n\nManages TAP-Windows device adapters (Windows only). Ensures that any devices specified with ``dev_node`` in pillar exist.\n\n``openvpn.ifconfig_pool_persist``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nInstalls and configures an ifconfig_pool_persist file. Used to assign host IPs.\n\n``openvpn.network_manager_networks``\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nDon't setup a OpenVPN client service, but add ready-to-use NetworkManager configurations.\n\nExamples\n--------\n\nSee *openvpn/pillar.example*.\n\nNotes\n-----\n\nThis formula does can optionally deploy certificates and keys, but does not generate them. This must be done manually or with another formula.\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 ``openvpn`` 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\nTesting with Vagrant\n--------------------\n\nWindows/FreeBSD/OpenBSD testing is done with ``kitchen-salt``.\n\nRequirements\n^^^^^^^^^^^^\n\n* Ruby\n* Virtualbox\n* Vagrant\n\nSetup\n^^^^^\n\n.. code-block:: bash\n\n   $ gem install bundler\n   $ bundle install --with=vagrant\n   $ bin/kitchen test [platform]\n\nWhere ``[platform]`` is the platform name defined in ``kitchen.vagrant.yml``,\ne.g. ``windows-81-latest-py3``.\n\nNote\n^^^^\n\nWhen testing using Vagrant you must set the environment variable ``KITCHEN_LOCAL_YAML`` to ``kitchen.vagrant.yml``.  For example:\n\n.. code-block:: bash\n\n   $ KITCHEN_LOCAL_YAML=kitchen.vagrant.yml bin/kitchen test      # Alternatively,\n   $ export KITCHEN_LOCAL_YAML=kitchen.vagrant.yml\n   $ bin/kitchen test\n\nThen run the following commands as needed.\n\n``bin/kitchen converge``\n^^^^^^^^^^^^^^^^^^^^^^^^\n\nCreates the Vagrant instance and runs the ``openvpn`` 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 Vagrant 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 RDP/SSH access to the instance for manual testing.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack-formulas%2Fopenvpn-formula","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaltstack-formulas%2Fopenvpn-formula","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack-formulas%2Fopenvpn-formula/lists"}