edingc / munki-enroll Goto Github PK
View Code? Open in Web Editor NEWScripts to automatically enroll clients in Munki, allowing for very flexible manifest structures.
License: MIT License
Scripts to automatically enroll clients in Munki, allowing for very flexible manifest structures.
License: MIT License
Hi,
I've just started using munki-enroll and works quite well. I do have a question about the manifest creation though.
Using the script as is for testing, when munki-enroll runs on a new client machine it creates a manifest as clients/host name. However, when i look at the manifest in Munki Admin, under the 'included manifests' tab there appears to be a blank manifest.
So far, I've only been testing on a small batch of machines and have manually removed the blank manifest. I can't work out why this is happening. Is it something you've come across before?
thanks
Tan
In my environment the manifests are being created at ../manifests/clients/client_name. If I look at ManagedInstalls.plist it lists the client identifier as /parent_manifest/clients/client_name. It seems that the $identifier_path variable used in the mkdir command on line 32 of enroll.php isn't being populated.
First of all, thanks for writing this tool. I can't wait to get it up and running.
I've installed munki-enroll into my munki_repo just like your instructions state. I've then configured and copied the munki_enroll.sh script to one of my client machines that has munki installed and configured on it. All good so far.
However, when I execute the script (sudo ./munki_enroll.sh) I get this message:
Computer manifest does not exist. Will create.
If I look inside the /Library/Preferences/ManagedInstalls file on the client machine, I can see it has updated the ClientIdentifier key as expected. However, if I look on my munki server in the manifests directory, nothing has been created. Reading through the php file, it looks like it's supposed to create a folder within the manifests directory, but it doesn't get that far.
I'm running this on 10.10.2. The munki server is served using OS X Server application (version 4.0.3)
Any idea what's causing this problem? Maybe I haven't configured something properly or the tool is no longer compatible with OS X 10.10?
Kind regards,
Morgan
Can someone please tell me how i can execute the munki enroll script through terminal or Deploy Studio.
Hello
I am attempting to use munki-enroll as per @swy's MacAdmins keynote, but I am running into the issue where it's not creating the manifest for the user at all.
Running OS X Server 10.12.5
The error occurs in the /var/log/apache2/error_log when running the munki_enroll script on a machine. The manifest fails to create.
[:error] [pid 371] [client 127.0.0.1:49373] PHP Fatal error: Uncaught exception 'DOMException' in /Library/Server/Web/Data/Sites/Default/munki_repo/munki-enroll/cfpropertylist-2.0.1/CFPropertyList.php:223\nStack trace:\n#0 /Library/Server/Web/Data/Sites/Default/munki_repo/munki-enroll/cfpropertylist-2.0.1/CFPropertyList.php(129): CFPropertyList\CFPropertyList->load()\n#1 /Library/Server/Web/Data/Sites/Default/munki_repo/munki-enroll/enroll.php(55): CFPropertyList\CFPropertyList->__construct('/Library/Server...')\n#2 {main}\n thrown in /Library/Server/Web/Data/Sites/Default/munki_repo/munki-enroll/cfpropertylist-2.0.1/CFPropertyList.php on line 223
I realize that's by design and not really a bug, but ideally it would pull the catalog from the included manifest.
Pull request forthcoming.
It just chops the second (and third, etc.) word(s) off before creating the new manifest. Pull request forthcoming...
Great script and thanks for all of the hard work. I've been testing this for the past three days and I'm running into a problem. The enroll script will work and create a new manifest if i use the "default" manifest on the root of /manifests/. If i try to give a client an identifier "IT/ITdefault" this is my output from the enroll script.
MunkiClient:Desktop administrator$ sudo ./munki_enroll.sh
Computer manifest does not exist. Will create.
Fatal error: Uncaught exception 'CFPropertyList\IOException' with message '../manifests/IT//IT/ITdefault' in /Users/Shared/munki_repo/munki-enroll/cfpropertylist-2.0.1/IOException.php:68
Stack trace:
#0 /Users/Shared/munki_repo/munki-enroll/cfpropertylist-2.0.1/CFPropertyList.php(199): CFPropertyList\IOException::notReadable('../manifests/IT...')
#1 /Users/Shared/munki_repo/munki-enroll/cfpropertylist-2.0.1/CFPropertyList.php(129): CFPropertyList\CFPropertyList->load()
#2 /Users/Shared/munki_repo/munki-enroll/enroll.php(36): CFPropertyList\CFPropertyList->__construct('../manifests/IT...')
#3 {main}
thrown in /Users/Shared/munki_repo/munki-enroll/cfpropertylist-2.0.1/IOException.php on line 68
I've checked the server and it is writing the clients folder in the correct location /manifests/IT/clients/ but no manifest will be created for the client. It also updated the client identifier for the host to the correct location as well. Any help would be greatly appreciated
First off, nice script. It does mostly everything I need to switch my manifest workflow from a few generic manifests to 1 manifest per Mac.
When I run the script, I noticed the formatting of the xml manifest is off. The enroll.php script creates a manifest that looks like:
`<
catalogsproductionincluded_manifestsstandard_apps
`>
Instead of the stand xml file structure:
`<
Are you seeing this too? The formatting I'm seeing from enroll.php makes the manifest hard to edit compared to the standard xml manifest format. Any ideas on how to correct?
I am trying to get munki-enroll working in my environment and I look forward to finally getting it down. The script seems to be running fine. I get the message "Computer manifest does not exist. Will create." like I should when I run the script. It creates the clients/ folder but no manifest is created. I could keep running the script and it never creates a manifest for the computer. I have checked to make sure the my web server has write access to the folders and everything. I don't understand how it can make the folder but not the manifest. Any input would be appreciated.
Thanks for the tool!
ps: my munki_repo is on an Ubuntu server. Also note that when the manifest already exists it states the correct message that it exists.
Hello there,
I'm running into an issue where, if I run munki_enroll.sh once, it creates the manifest as follows:
clients/computername
When I run it a second time, it makes:
clients/clients/computername
And a third:
clients/clients/clients/computername
And so on.
My understanding is that if you run it a second time, it should check to see if clients/computername exists, and to quit if it does. However this doesn't happen.
Anyone else seeing this behavior?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.