{"action":"created","comment":{"url":"https://api.github.com/repos/opnsense/plugins/pulls/comments/211069063","pull_request_review_id":147423952,"id":211069063,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMTA2OTA2Mw==","diff_hunk":"@@ -0,0 +1,29 @@\n+Copyright (c) 2012-2013 Paul Tax <paultax@gmail.com> All rights reserved.","path":"net-mgmt/configsync/src/opnsense/scripts/VerbNetworks/ConfigSync/requestsaws/LICENSE.txt","position":1,"original_position":1,"commit_id":"fcb2f63eb84e850f15c48b6771984b8e57086997","original_commit_id":"e4500530f1f4294baa020c0e5182e597bef3c361","user":{"login":"ndejong","id":210474,"node_id":"MDQ6VXNlcjIxMDQ3NA==","avatar_url":"https://avatars2.githubusercontent.com/u/210474?v=4","gravatar_id":"","url":"https://api.github.com/users/ndejong","html_url":"https://github.com/ndejong","followers_url":"https://api.github.com/users/ndejong/followers","following_url":"https://api.github.com/users/ndejong/following{/other_user}","gists_url":"https://api.github.com/users/ndejong/gists{/gist_id}","starred_url":"https://api.github.com/users/ndejong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ndejong/subscriptions","organizations_url":"https://api.github.com/users/ndejong/orgs","repos_url":"https://api.github.com/users/ndejong/repos","events_url":"https://api.github.com/users/ndejong/events{/privacy}","received_events_url":"https://api.github.com/users/ndejong/received_events","type":"User","site_admin":false},"body":"Two new issue tickets have been opened to address this request\r\n - https://github.com/opnsense/tools/issues/88\r\n - https://github.com/opnsense/tools/issues/89\r\n","created_at":"2018-08-18T08:33:59Z","updated_at":"2018-08-18T08:33:59Z","html_url":"https://github.com/opnsense/plugins/pull/777#discussion_r211069063","pull_request_url":"https://api.github.com/repos/opnsense/plugins/pulls/777","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/comments/211069063"},"html":{"href":"https://github.com/opnsense/plugins/pull/777#discussion_r211069063"},"pull_request":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/777"}},"in_reply_to_id":209454667},"pull_request":{"url":"https://api.github.com/repos/opnsense/plugins/pulls/777","id":206353459,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA2MzUzNDU5","html_url":"https://github.com/opnsense/plugins/pull/777","diff_url":"https://github.com/opnsense/plugins/pull/777.diff","patch_url":"https://github.com/opnsense/plugins/pull/777.patch","issue_url":"https://api.github.com/repos/opnsense/plugins/issues/777","number":777,"state":"open","locked":false,"title":"Configuration Sync - Initial commit into the OPNsense-plugins repo","user":{"login":"ndejong","id":210474,"node_id":"MDQ6VXNlcjIxMDQ3NA==","avatar_url":"https://avatars2.githubusercontent.com/u/210474?v=4","gravatar_id":"","url":"https://api.github.com/users/ndejong","html_url":"https://github.com/ndejong","followers_url":"https://api.github.com/users/ndejong/followers","following_url":"https://api.github.com/users/ndejong/following{/other_user}","gists_url":"https://api.github.com/users/ndejong/gists{/gist_id}","starred_url":"https://api.github.com/users/ndejong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ndejong/subscriptions","organizations_url":"https://api.github.com/users/ndejong/orgs","repos_url":"https://api.github.com/users/ndejong/repos","events_url":"https://api.github.com/users/ndejong/events{/privacy}","received_events_url":"https://api.github.com/users/ndejong/received_events","type":"User","site_admin":false},"body":"Submitting plugin named \"Configuration Sync\" which, as per the README\r\n\r\n> Configuration Sync is a tool designed to one-way synchronize the system configuration files from the OPNsense host to S3 compatible object data storage in close to real time. While the tool has the effect of being a great configuration backup tool the intent is to provide a tool that stores the OPNsense system configuration in a location that is readily addressable using DevOps automation tools such as Terraform.\r\n> The ability to start an OPNsense instance using automation tools means OPNsense becomes a first-class choice for building and managing network infrastructure within cloud-compute providers.\r\n\r\nThe use case I am seeking to address here is the requirement to always (as best possible) have the latest configuration file stored in S3 so that an OPNsense instance can be destroyed without (much) concern for the system state and then re-create it using an automation tool (such as Terraform) - I acknowledge there is still an open question on how to deal with required plugins.\r\n\r\nI'm left wondering if we could be so very bold enough to propose a new top-level menu called \"Cloud\" under which this plugin might exist along with other components that assist in making OPNsense work in such environments live - as part of another project (see our verbnetworks git repo) we have tools to generate images suitable for AWS and Digital Ocean, these tools rely on syshook scripts to tweak the `config.xml` files at boot to make the system work in such environments - these tools should perhaps also exist as plugins and would \"fit\" nicely under such a \"Cloud\" top-level menu.\r\n\r\nFeedback, suggestions all welcome.","created_at":"2018-08-06T10:21:59Z","updated_at":"2018-08-18T08:33:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"47abbacc349ffd69aa3251c52baacf5e5fa62f37","assignee":null,"assignees":[],"requested_reviewers":[{"login":"fichtner","id":1915288,"node_id":"MDQ6VXNlcjE5MTUyODg=","avatar_url":"https://avatars3.githubusercontent.com/u/1915288?v=4","gravatar_id":"","url":"https://api.github.com/users/fichtner","html_url":"https://github.com/fichtner","followers_url":"https://api.github.com/users/fichtner/followers","following_url":"https://api.github.com/users/fichtner/following{/other_user}","gists_url":"https://api.github.com/users/fichtner/gists{/gist_id}","starred_url":"https://api.github.com/users/fichtner/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fichtner/subscriptions","organizations_url":"https://api.github.com/users/fichtner/orgs","repos_url":"https://api.github.com/users/fichtner/repos","events_url":"https://api.github.com/users/fichtner/events{/privacy}","received_events_url":"https://api.github.com/users/fichtner/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/opnsense/plugins/pulls/777/commits","review_comments_url":"https://api.github.com/repos/opnsense/plugins/pulls/777/comments","review_comment_url":"https://api.github.com/repos/opnsense/plugins/pulls/comments{/number}","comments_url":"https://api.github.com/repos/opnsense/plugins/issues/777/comments","statuses_url":"https://api.github.com/repos/opnsense/plugins/statuses/fcb2f63eb84e850f15c48b6771984b8e57086997","head":{"label":"verbnetworks:master","ref":"master","sha":"fcb2f63eb84e850f15c48b6771984b8e57086997","user":{"login":"verbnetworks","id":41035468,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDM1NDY4","avatar_url":"https://avatars1.githubusercontent.com/u/41035468?v=4","gravatar_id":"","url":"https://api.github.com/users/verbnetworks","html_url":"https://github.com/verbnetworks","followers_url":"https://api.github.com/users/verbnetworks/followers","following_url":"https://api.github.com/users/verbnetworks/following{/other_user}","gists_url":"https://api.github.com/users/verbnetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/verbnetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/verbnetworks/subscriptions","organizations_url":"https://api.github.com/users/verbnetworks/orgs","repos_url":"https://api.github.com/users/verbnetworks/repos","events_url":"https://api.github.com/users/verbnetworks/events{/privacy}","received_events_url":"https://api.github.com/users/verbnetworks/received_events","type":"Organization","site_admin":false},"repo":{"id":143685048,"node_id":"MDEwOlJlcG9zaXRvcnkxNDM2ODUwNDg=","name":"opnsense-plugins","full_name":"verbnetworks/opnsense-plugins","owner":{"login":"verbnetworks","id":41035468,"node_id":"MDEyOk9yZ2FuaXphdGlvbjQxMDM1NDY4","avatar_url":"https://avatars1.githubusercontent.com/u/41035468?v=4","gravatar_id":"","url":"https://api.github.com/users/verbnetworks","html_url":"https://github.com/verbnetworks","followers_url":"https://api.github.com/users/verbnetworks/followers","following_url":"https://api.github.com/users/verbnetworks/following{/other_user}","gists_url":"https://api.github.com/users/verbnetworks/gists{/gist_id}","starred_url":"https://api.github.com/users/verbnetworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/verbnetworks/subscriptions","organizations_url":"https://api.github.com/users/verbnetworks/orgs","repos_url":"https://api.github.com/users/verbnetworks/repos","events_url":"https://api.github.com/users/verbnetworks/events{/privacy}","received_events_url":"https://api.github.com/users/verbnetworks/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/verbnetworks/opnsense-plugins","description":"OPNsense plugin collection","fork":true,"url":"https://api.github.com/repos/verbnetworks/opnsense-plugins","forks_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/forks","keys_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/teams","hooks_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/hooks","issue_events_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/issues/events{/number}","events_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/events","assignees_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/assignees{/user}","branches_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/branches{/branch}","tags_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/tags","blobs_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/git/refs{/sha}","trees_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/statuses/{sha}","languages_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/languages","stargazers_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/stargazers","contributors_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/contributors","subscribers_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/subscribers","subscription_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/subscription","commits_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/commits{/sha}","git_commits_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/git/commits{/sha}","comments_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/comments{/number}","issue_comment_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/issues/comments{/number}","contents_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/contents/{+path}","compare_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/merges","archive_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/downloads","issues_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/issues{/number}","pulls_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/pulls{/number}","milestones_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/milestones{/number}","notifications_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/labels{/name}","releases_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/releases{/id}","deployments_url":"https://api.github.com/repos/verbnetworks/opnsense-plugins/deployments","created_at":"2018-08-06T06:22:34Z","updated_at":"2018-08-15T04:06:44Z","pushed_at":"2018-08-15T04:06:42Z","git_url":"git://github.com/verbnetworks/opnsense-plugins.git","ssh_url":"git@github.com:verbnetworks/opnsense-plugins.git","clone_url":"https://github.com/verbnetworks/opnsense-plugins.git","svn_url":"https://github.com/verbnetworks/opnsense-plugins","homepage":"https://opnsense.org/","size":5120,"stargazers_count":0,"watchers_count":0,"language":"PHP","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"opnsense:master","ref":"master","sha":"b85b33e8a9055dd90039cd7c7a1761ed356c85e6","user":{"login":"opnsense","id":9979117,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk5NzkxMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9979117?v=4","gravatar_id":"","url":"https://api.github.com/users/opnsense","html_url":"https://github.com/opnsense","followers_url":"https://api.github.com/users/opnsense/followers","following_url":"https://api.github.com/users/opnsense/following{/other_user}","gists_url":"https://api.github.com/users/opnsense/gists{/gist_id}","starred_url":"https://api.github.com/users/opnsense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opnsense/subscriptions","organizations_url":"https://api.github.com/users/opnsense/orgs","repos_url":"https://api.github.com/users/opnsense/repos","events_url":"https://api.github.com/users/opnsense/events{/privacy}","received_events_url":"https://api.github.com/users/opnsense/received_events","type":"Organization","site_admin":false},"repo":{"id":38818223,"node_id":"MDEwOlJlcG9zaXRvcnkzODgxODIyMw==","name":"plugins","full_name":"opnsense/plugins","owner":{"login":"opnsense","id":9979117,"node_id":"MDEyOk9yZ2FuaXphdGlvbjk5NzkxMTc=","avatar_url":"https://avatars3.githubusercontent.com/u/9979117?v=4","gravatar_id":"","url":"https://api.github.com/users/opnsense","html_url":"https://github.com/opnsense","followers_url":"https://api.github.com/users/opnsense/followers","following_url":"https://api.github.com/users/opnsense/following{/other_user}","gists_url":"https://api.github.com/users/opnsense/gists{/gist_id}","starred_url":"https://api.github.com/users/opnsense/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/opnsense/subscriptions","organizations_url":"https://api.github.com/users/opnsense/orgs","repos_url":"https://api.github.com/users/opnsense/repos","events_url":"https://api.github.com/users/opnsense/events{/privacy}","received_events_url":"https://api.github.com/users/opnsense/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/opnsense/plugins","description":"OPNsense plugin collection","fork":false,"url":"https://api.github.com/repos/opnsense/plugins","forks_url":"https://api.github.com/repos/opnsense/plugins/forks","keys_url":"https://api.github.com/repos/opnsense/plugins/keys{/key_id}","collaborators_url":"https://api.github.com/repos/opnsense/plugins/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/opnsense/plugins/teams","hooks_url":"https://api.github.com/repos/opnsense/plugins/hooks","issue_events_url":"https://api.github.com/repos/opnsense/plugins/issues/events{/number}","events_url":"https://api.github.com/repos/opnsense/plugins/events","assignees_url":"https://api.github.com/repos/opnsense/plugins/assignees{/user}","branches_url":"https://api.github.com/repos/opnsense/plugins/branches{/branch}","tags_url":"https://api.github.com/repos/opnsense/plugins/tags","blobs_url":"https://api.github.com/repos/opnsense/plugins/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/opnsense/plugins/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/opnsense/plugins/git/refs{/sha}","trees_url":"https://api.github.com/repos/opnsense/plugins/git/trees{/sha}","statuses_url":"https://api.github.com/repos/opnsense/plugins/statuses/{sha}","languages_url":"https://api.github.com/repos/opnsense/plugins/languages","stargazers_url":"https://api.github.com/repos/opnsense/plugins/stargazers","contributors_url":"https://api.github.com/repos/opnsense/plugins/contributors","subscribers_url":"https://api.github.com/repos/opnsense/plugins/subscribers","subscription_url":"https://api.github.com/repos/opnsense/plugins/subscription","commits_url":"https://api.github.com/repos/opnsense/plugins/commits{/sha}","git_commits_url":"https://api.github.com/repos/opnsense/plugins/git/commits{/sha}","comments_url":"https://api.github.com/repos/opnsense/plugins/comments{/number}","issue_comment_url":"https://api.github.com/repos/opnsense/plugins/issues/comments{/number}","contents_url":"https://api.github.com/repos/opnsense/plugins/contents/{+path}","compare_url":"https://api.github.com/repos/opnsense/plugins/compare/{base}...{head}","merges_url":"https://api.github.com/repos/opnsense/plugins/merges","archive_url":"https://api.github.com/repos/opnsense/plugins/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/opnsense/plugins/downloads","issues_url":"https://api.github.com/repos/opnsense/plugins/issues{/number}","pulls_url":"https://api.github.com/repos/opnsense/plugins/pulls{/number}","milestones_url":"https://api.github.com/repos/opnsense/plugins/milestones{/number}","notifications_url":"https://api.github.com/repos/opnsense/plugins/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/opnsense/plugins/labels{/name}","releases_url":"https://api.github.com/repos/opnsense/plugins/releases{/id}","deployments_url":"https://api.github.com/repos/opnsense/plugins/deployments","created_at":"2015-07-09T12:13:51Z","updated_at":"2018-08-18T07:20:47Z","pushed_at":"2018-08-18T06:27:21Z","git_url":"git://github.com/opnsense/plugins.git","ssh_url":"git@github.com:opnsense/plugins.git","clone_url":"https://github.com/opnsense/plugins.git","svn_url":"https://github.com/opnsense/plugins","homepage":"https://opnsense.org/","size":5099,"stargazers_count":83,"watchers_count":83,"language":"PHP","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":92,"mirror_url":null,"archived":false,"open_issues_count":90,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":92,"open_issues":90,"watchers":83,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/777"},"html":{"href":"https://github.com/opnsense/plugins/pull/777"},"issue":{"href":"https://api.github.com/repos/opnsense/plugins/issues/777"},"comments":{"href":"https://api.github.com/repos/opnsense/plugins/issues/777/comments"},"review_comments":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/777/comments"},"review_comment":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/opnsense/plugins/pulls/777/commits"},"statuses":{"href":"https://api.github.com/repos/opnsense/plugins/statuses/fcb2f63eb84e850f15c48b6771984b8e57086997"}},"author_association":"NONE"}}
{"actor":{"display_login":"ndejong"}}