{"action":"opened","issue":{"url":"https://api.github.com/repos/juju/docs/issues/290","labels_url":"https://api.github.com/repos/juju/docs/issues/290/labels{/name}","comments_url":"https://api.github.com/repos/juju/docs/issues/290/comments","events_url":"https://api.github.com/repos/juju/docs/issues/290/events","html_url":"https://github.com/juju/docs/issues/290","id":61151876,"number":290,"title":"Tech preview - windows workloads","user":{"login":"evilnick","id":115290,"avatar_url":"https://avatars.githubusercontent.com/u/115290?v=3","gravatar_id":"","url":"https://api.github.com/users/evilnick","html_url":"https://github.com/evilnick","followers_url":"https://api.github.com/users/evilnick/followers","following_url":"https://api.github.com/users/evilnick/following{/other_user}","gists_url":"https://api.github.com/users/evilnick/gists{/gist_id}","starred_url":"https://api.github.com/users/evilnick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilnick/subscriptions","organizations_url":"https://api.github.com/users/evilnick/orgs","repos_url":"https://api.github.com/users/evilnick/repos","events_url":"https://api.github.com/users/evilnick/events{/privacy}","received_events_url":"https://api.github.com/users/evilnick/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/juju/docs/labels/1.21","name":"1.21","color":"0052dd"}],"state":"open","locked":false,"assignee":{"login":"evilnick","id":115290,"avatar_url":"https://avatars.githubusercontent.com/u/115290?v=3","gravatar_id":"","url":"https://api.github.com/users/evilnick","html_url":"https://github.com/evilnick","followers_url":"https://api.github.com/users/evilnick/followers","following_url":"https://api.github.com/users/evilnick/following{/other_user}","gists_url":"https://api.github.com/users/evilnick/gists{/gist_id}","starred_url":"https://api.github.com/users/evilnick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilnick/subscriptions","organizations_url":"https://api.github.com/users/evilnick/orgs","repos_url":"https://api.github.com/users/evilnick/repos","events_url":"https://api.github.com/users/evilnick/events{/privacy}","received_events_url":"https://api.github.com/users/evilnick/received_events","type":"User","site_admin":false},"milestone":null,"comments":0,"created_at":"2015-03-13T17:34:18Z","updated_at":"2015-03-13T17:34:18Z","closed_at":null,"body":"Summary:\r\n\r\n* Windows workloads are now possible as a preview\r\n\r\nDescription:\r\n\r\n## Windows workloads are now possible as a preview\r\n\r\nStarting with 1.21 there is initial windows workload support in juju.\r\nThis is BETA at the moment, and will be improved in the following releases.\r\n\r\nA juju charm boilerplate has been created and is available here:\r\nhttps://github.com/cloudbase/windows-charms-boilerplate\r\n\r\nWe encourage you to use powershell as the language of choice when\r\nwriting juju charms for windows, as it is tightly coupled to Windows\r\nautomation, but feel free to use any language you see fit.\r\n\r\nWe tried to keep juju charms on Windows as close to their counterparts\r\non Ubuntu as much as possible, but there are a few notable differences\r\nbetween charms running on Ubuntu and charms running on Windows:\r\n\r\n* All charm hooks must have one of the following extensions: .ps1, .cmd,\r\n.bat, .exe. The extensions will be searched in order, with powershell\r\nbeing default.\r\n* All juju files/charms are located in: C:\\juju . The folder structure\r\nshould be the same as on ubuntu, with C:\\juju as the root.\r\n* Cloudbase-init installs a local copy of python 2.7 (soon to switch to\r\n3.X). If you wish, you can write python code to deploy your\r\napplications, but keep in mind you would have to wrap the execution of\r\nyour script in one of the filetypes above (.ps1, .cmd, .bat, .exe).\r\n* If the machine reboots for whatever reason, juju machine agents and\r\nunit agents will have a delayed start. This means that juju services\r\nwill start 2 minutes after the last windows service is started. So if\r\nthe juju services are listed as \"Stopped\" immediately after reboot,\r\ndon't panic.\r\n* all juju services (and therefor charms) will run under an\r\nadministrator account called: jujud. This will allow charms to use\r\ninstallers that require a real user, and not just the \"system\" user.\r\n\r\nYou can deploy windows workloads on any of the available providers\r\n(except manual and local) that offer Windows images, bundled with\r\nCloudbase-init.\r\n\r\nCurrent limitations:\r\n\r\n* Windows cannot be used as a bootstrap machine. Only machine agents are\r\nsupported.\r\n* juju ssh currently does not work with windows. That implementation is\r\ntightly coupled with *nix systems, and having OpenSSH deployed on\r\nwindows machines might later become a security risk due to the fact that\r\nit is not part of normal windows update systems. Work is being done to\r\nintegrate WinRM support into juju. This will allow us to offer the same\r\nlevel of integration using powershell remoting\r\n(http://msdn.microsoft.com/en-us/library/dd357801.aspx)\r\n* manual provider is not supported. Manual provider requires SSH to\r\ndeploy. See above mention.\r\n* local provider is not supported. At the moment, local provider relies\r\non LXC to work. also, it will deploy a bootstrap machine locally, which\r\nis currently not supported on windows.\r\n* debug hooks are not yet supported. The current implementation requires\r\nSSH and tmux to work, which is very platform specific. This is high\r\npriority and we will try to get this implemented for windows as well, as\r\nsoon as possible.\r\n"}}