{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":516230086,"defaultBranch":"main","name":"service-manager-rs","ownerLogin":"chipsenkbeil","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-07-21T04:58:43.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/2481802?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1717182629.0","currentOid":""},"activityList":{"items":[{"before":"743a9116c580139ccb030d1f5e6a0d91c540c0e6","after":"2a760172e92d39877c49364cc63860de33721460","ref":"refs/heads/main","pushedAt":"2024-05-31T19:10:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jacderida","name":"Chris O'Neil","path":"/jacderida","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1055542?s=80&v=4"},"commit":{"message":"Bump version to 0.7.0","shortMessageHtmlLink":"Bump version to 0.7.0"}},{"before":"bc95878f6f565ac2066a1c74d1a079d8df132260","after":"743a9116c580139ccb030d1f5e6a0d91c540c0e6","ref":"refs/heads/main","pushedAt":"2024-05-31T03:58:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Introduce `autostart` field on `ServiceInstallCtx` (#25)\n\n* Obtain WinSW location from environment variable\r\n\r\nIf WinSW is not at any of the locations specified by the system or user `Path` variable, check the\r\n`WINSW_PATH` variable for a potential location.\r\n\r\nThis is useful because it enables putting the WinSW binary in a location that is not on `Path`. On\r\nWindows, by default there are no locations on `Path` the user can write to without administrative\r\nprivileges. Callers of the crate can obtain the WinSW binary and put it in any location they wish,\r\nthen set `WINSW_PATH` in the same process, and not have to worry about their users not having the\r\nbinary in a `Path` location.\r\n\r\n* Introduce `autostart` field on `ServiceInstallCtx`\r\n\r\nBREAKING CHANGE: users who upgrade will need to explicitly add an `autostart` field into their\r\n`ServiceInstallCtx` definition.\r\n\r\nThis controls whether a service should automatically start upon rebooting the OS. It's an option\r\ncommon to all service managers and it's useful for developers to think about whether their services\r\nshould automatically start up, which I think justifies the breaking change. If the service is\r\nresource intensive or uses a lot of bandwidth, some users actually don't want automatic start\r\nbecause it can potentially render their machine unusable.\r\n\r\nIt could be that rc.d needs a little bit of additional work here. I am not very familiar with this\r\nsystem.","shortMessageHtmlLink":"Introduce autostart field on ServiceInstallCtx (#25)"}},{"before":"41a06af82b13e7200af58a4e19e72b23579501a7","after":"bc95878f6f565ac2066a1c74d1a079d8df132260","ref":"refs/heads/main","pushedAt":"2024-05-27T15:37:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump version to 0.6.2","shortMessageHtmlLink":"Bump version to 0.6.2"}},{"before":"2cb4ca980d4c5e31b0e8cda239490ca74d206be9","after":"41a06af82b13e7200af58a4e19e72b23579501a7","ref":"refs/heads/main","pushedAt":"2024-05-27T15:35:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update changelog to reflect 0.6.2","shortMessageHtmlLink":"Update changelog to reflect 0.6.2"}},{"before":"0329f6fa3cb177f56e3508802ce2ca8e6c178228","after":"2cb4ca980d4c5e31b0e8cda239490ca74d206be9","ref":"refs/heads/main","pushedAt":"2024-05-22T21:17:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"WinSW uninstall deletes service directories (#24)\n\nWith the WinSW service manager, each service definition has its own directory. In addition to the\nservice definition, WinSW also produces logs that get output to this directory. In our product, we\nfrequently create and delete services with the same names, so we found it problematic for these\ndirectories to remain around.\n\nThe service manager is now updated to delete the service directory upon uninstall.","shortMessageHtmlLink":"WinSW uninstall deletes service directories (#24)"}},{"before":"bcf66bda429ab77dd2917fb4646fc61357f955f0","after":"0329f6fa3cb177f56e3508802ce2ca8e6c178228","ref":"refs/heads/main","pushedAt":"2024-05-03T23:09:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump to 0.6.1","shortMessageHtmlLink":"Bump to 0.6.1"}},{"before":"60db4590725575a815b9a91ada74868bfcc72ebb","after":"bcf66bda429ab77dd2917fb4646fc61357f955f0","ref":"refs/heads/main","pushedAt":"2024-05-01T15:11:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Remove user for user level service in Systemd (#22)\n\nFor Systemd, user-mode services should not specify the user as part of their service definition. If\r\nthe user is included, the service won't actually start correctly.\r\n\r\nThe user option is for running system-level services as a non-root user.","shortMessageHtmlLink":"Remove user for user level service in Systemd (#22)"}},{"before":"2f8934c4408882a692e520a59894fb6eba2988a7","after":"60db4590725575a815b9a91ada74868bfcc72ebb","ref":"refs/heads/main","pushedAt":"2024-04-18T05:25:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"fix: remove calls to launchctl `start` and `stop` (#21)","shortMessageHtmlLink":"fix: remove calls to launchctl start and stop (#21)"}},{"before":"c79c98cb94f5c357e7360ec2ca082cf3a79f385e","after":"2f8934c4408882a692e520a59894fb6eba2988a7","ref":"refs/heads/main","pushedAt":"2024-02-20T03:30:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Disable rc.d tests until we have time to investigate the faulty environment","shortMessageHtmlLink":"Disable rc.d tests until we have time to investigate the faulty envir…"}},{"before":"64c8add3417e51cd7ce8caa45a8dbb4b9ce8e6ad","after":"c79c98cb94f5c357e7360ec2ca082cf3a79f385e","ref":"refs/heads/main","pushedAt":"2024-02-20T03:27:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update changelog and apply 'cargo fmt --all'","shortMessageHtmlLink":"Update changelog and apply 'cargo fmt --all'"}},{"before":"26671e83a97e4080cab58116fbbec8b13c577c86","after":"64c8add3417e51cd7ce8caa45a8dbb4b9ce8e6ad","ref":"refs/heads/main","pushedAt":"2024-02-20T03:24:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"fix: service start/stop on MacOS (#19)","shortMessageHtmlLink":"fix: service start/stop on MacOS (#19)"}},{"before":"01740a7c841da307587a3fbf98dd117d7ab6fecb","after":"26671e83a97e4080cab58116fbbec8b13c577c86","ref":"refs/heads/main","pushedAt":"2024-02-18T16:59:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Correct changelog links","shortMessageHtmlLink":"Correct changelog links"}},{"before":"2d28ce8280c898788681cd4c175e3f4a5e3309e2","after":"01740a7c841da307587a3fbf98dd117d7ab6fecb","ref":"refs/heads/main","pushedAt":"2024-02-18T16:58:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update changelog and bump to 0.6.0","shortMessageHtmlLink":"Update changelog and bump to 0.6.0"}},{"before":"daac2b3d69d4c9c0fe8052abd1b581bcfbd861b7","after":"2d28ce8280c898788681cd4c175e3f4a5e3309e2","ref":"refs/heads/main","pushedAt":"2024-02-18T16:55:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"chore: derive basic traits on the service context structs (#18)","shortMessageHtmlLink":"chore: derive basic traits on the service context structs (#18)"}},{"before":"04b14be03738466f7c283783e443a07363ec0a7c","after":"daac2b3d69d4c9c0fe8052abd1b581bcfbd861b7","ref":"refs/heads/main","pushedAt":"2024-02-15T05:57:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"fix(systemd): write environment variable to the service file (#17)\n\n* chore(fmt): implement clippy fixes\r\n\r\n* fix(systemd): write environment variable to the service file\r\n\r\n* chore: update CHANGELOG for the systemd env var changes","shortMessageHtmlLink":"fix(systemd): write environment variable to the service file (#17)"}},{"before":"0394e29c3a94fa12324a0786d67567a109f6d6f4","after":"04b14be03738466f7c283783e443a07363ec0a7c","ref":"refs/heads/main","pushedAt":"2023-11-22T21:15:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump version to 0.5.1","shortMessageHtmlLink":"Bump version to 0.5.1"}},{"before":"39b3c6e5833b3dbd408ffef24f94bfb70d908fdd","after":"0394e29c3a94fa12324a0786d67567a109f6d6f4","ref":"refs/heads/main","pushedAt":"2023-11-22T21:06:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump FreeBSD action to test branch","shortMessageHtmlLink":"Bump FreeBSD action to test branch"}},{"before":"76699c135c1fbe4a669b8a1d76264428e7c336f8","after":"39b3c6e5833b3dbd408ffef24f94bfb70d908fdd","ref":"refs/heads/main","pushedAt":"2023-11-22T21:01:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Provide default implementation for WinSwConfig (#14)\n\nIf this is not provided, when a new WinSW service manager is created, `service_definition_dir_path`\r\nwill be set to an empty `PathBuf`, meaning the current directory will be used to store the service\r\ndefinitions.\r\n\r\nThe intention was for the service definitions to be stored at C:\\ProgramData\\service-manager.","shortMessageHtmlLink":"Provide default implementation for WinSwConfig (#14)"}},{"before":"2b84f266e0728d2ae68665aeff81ff4cf8095b16","after":"76699c135c1fbe4a669b8a1d76264428e7c336f8","ref":"refs/heads/main","pushedAt":"2023-11-06T18:14:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Add winsw to readme","shortMessageHtmlLink":"Add winsw to readme"}},{"before":"3e09977caae9736e6e65d5d96036e5fedab3d920","after":"2b84f266e0728d2ae68665aeff81ff4cf8095b16","ref":"refs/heads/main","pushedAt":"2023-11-06T17:59:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump readme reference to 0.5.0","shortMessageHtmlLink":"Bump readme reference to 0.5.0"}},{"before":"cd8d2cc45b78de72afb5b612f8b196c5a0499ff8","after":"3e09977caae9736e6e65d5d96036e5fedab3d920","ref":"refs/heads/main","pushedAt":"2023-11-06T17:56:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update changelog to reflect release links and proper release time","shortMessageHtmlLink":"Update changelog to reflect release links and proper release time"}},{"before":"02e8968b9c40c1f15885a8f5894c831d7ed1b5ce","after":"cd8d2cc45b78de72afb5b612f8b196c5a0499ff8","ref":"refs/heads/main","pushedAt":"2023-11-06T17:52:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump to 0.5.0","shortMessageHtmlLink":"Bump to 0.5.0"}},{"before":"bf30b3002b2e63a9db83713364e49212b19cac02","after":"02e8968b9c40c1f15885a8f5894c831d7ed1b5ce","ref":"refs/heads/main","pushedAt":"2023-11-06T17:51:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Add flag to FreeBSD runner to only sync files to vm; allow run_test calls to be unused","shortMessageHtmlLink":"Add flag to FreeBSD runner to only sync files to vm; allow run_test c…"}},{"before":"2dde1a5449485e6732c8eae26431f935260c3231","after":"bf30b3002b2e63a9db83713364e49212b19cac02","ref":"refs/heads/main","pushedAt":"2023-11-05T20:07:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Provide WinSW Service Manager (#13)\n\n* Provide the WinSW service manager\n\nWinSW is a useful tool that can wrap any application as a Windows service; it provides the\nboilerplate code for interacting with the service infrastructure on Windows. You define a\nconfiguration for your application service in XML, then use WinSW, along with your configuration, as\na service controller.\n\nThe full specification for the service configuration can be found here:\nhttps://github.com/winsw/winsw/blob/v3/samples/complete.xml\n\nIn this initial implementation, we provide support for most of the available elements, with the\nexception of:\n\n* serviceaccount\n* startarguments (I don't know what the difference is between that and 'arguments')\n* workingdirectory\n* logpath and log\n* env\n* download\n* extensions\n\nSupport for workingdirectory and env will follow in subsequent commits; these fields can be added to\nthe generic `ServiceInstallCtx` since they are common options on all platforms.\n\nMost of the code here deals with building the configuration file. This code was written as a\nseparate function so that the different options could be unit tested. There is an integration/system\ntest in a similar fashion to the sc manager.\n\n* Extend `ServiceInstallCtx` with new options\n\nIt is very common to define a working directory for a service process and a list of environment\nvariables to pass to the process when it runs. The `ServiceInstallCtx` is extended for this because\nit applies to most service managers.\n\nIn this particular case, three of the managers have been extended to support the variables: Systemd,\nLaunchd and WinSW. The Windows `sc.exe` service manager does not support specifying either. The\nother two unix-based service managers might, but I am not familiar with those at the present time.\nIt should be easy enough to extend them with a further PR.\n\n* Update CHANGELOG for WinSW and `ServiceInstallCtx` changes","shortMessageHtmlLink":"Provide WinSW Service Manager (#13)"}},{"before":"dfdf0fa85278894a2ca340a00ebd89dbb61b11ff","after":"2dde1a5449485e6732c8eae26431f935260c3231","ref":"refs/heads/main","pushedAt":"2023-10-19T05:50:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Bump to 0.4.0","shortMessageHtmlLink":"Bump to 0.4.0"}},{"before":"f84a52a5e5a69c8cd8a975728795f94079d87b0a","after":"dfdf0fa85278894a2ca340a00ebd89dbb61b11ff","ref":"refs/heads/main","pushedAt":"2023-10-19T05:45:47.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Attempt to re-enable FreeBSD tests","shortMessageHtmlLink":"Attempt to re-enable FreeBSD tests"}},{"before":"771a92f0bbd0a4b15122a07f8a35725030d17218","after":"f84a52a5e5a69c8cd8a975728795f94079d87b0a","ref":"refs/heads/main","pushedAt":"2023-10-19T05:41:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Attempt to re-enable FreeBSD tests","shortMessageHtmlLink":"Attempt to re-enable FreeBSD tests"}},{"before":"f00ce865966f69cd11b279ca950dd69088735c99","after":"771a92f0bbd0a4b15122a07f8a35725030d17218","ref":"refs/heads/main","pushedAt":"2023-10-19T05:38:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update readme and add unit tests to github ci","shortMessageHtmlLink":"Update readme and add unit tests to github ci"}},{"before":"1c6e01eae56f431b03ddd0fc6321b93539714d07","after":"f00ce865966f69cd11b279ca950dd69088735c99","ref":"refs/heads/main","pushedAt":"2023-10-19T05:37:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Update readme and add unit tests to github ci","shortMessageHtmlLink":"Update readme and add unit tests to github ci"}},{"before":"74037f4a59784fdbb015098571139f3b77e22a11","after":"1c6e01eae56f431b03ddd0fc6321b93539714d07","ref":"refs/heads/main","pushedAt":"2023-10-19T02:43:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chipsenkbeil","name":"Chip Senkbeil","path":"/chipsenkbeil","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/2481802?s=80&v=4"},"commit":{"message":"Provide new changelog entry for username support (#12)\n\nBumps the version to 0.4.0 with a breaking change because users would need to provide an extra field\r\non the `ServiceInstallCtx`.","shortMessageHtmlLink":"Provide new changelog entry for username support (#12)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWVO3DAA","startCursor":null,"endCursor":null}},"title":"Activity · chipsenkbeil/service-manager-rs"}