machinery-tool 1.23.1 → 1.24.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. checksums.yaml +5 -5
  2. data/.git_revision +1 -1
  3. data/NEWS +11 -0
  4. data/export_helpers/kiwi_export_readme.md +3 -3
  5. data/export_helpers/merge_users_and_groups.pl.erb +1 -1
  6. data/lib/build_task.rb +5 -3
  7. data/lib/deploy_task.rb +0 -1
  8. data/lib/exceptions.rb +13 -0
  9. data/lib/kiwi_config.rb +3 -9
  10. data/lib/machinery_helper.rb +15 -1
  11. data/lib/remote_system.rb +4 -2
  12. data/lib/system_description.rb +0 -9
  13. data/lib/version.rb +1 -1
  14. data/machinery-helper/version.go +1 -1
  15. data/man/generated/machinery.1.gz +0 -0
  16. data/manual/docs/index.html +2 -8
  17. data/manual/docs/machinery.ymp +10 -10
  18. data/manual/mkdocs.yml +3 -1
  19. data/manual/site/404.html +145 -0
  20. data/manual/site/css/base.css +324 -0
  21. data/manual/site/css/bootstrap-custom.min.css +1 -0
  22. data/manual/site/css/fixed-positioning.css +0 -0
  23. data/manual/site/css/font-awesome.min.css +4 -0
  24. data/manual/site/docs/index.html +25 -70
  25. data/manual/site/fonts/fontawesome-webfont.eot +0 -0
  26. data/manual/site/fonts/fontawesome-webfont.svg +2671 -0
  27. data/manual/site/fonts/fontawesome-webfont.ttf +0 -0
  28. data/manual/site/fonts/fontawesome-webfont.woff +0 -0
  29. data/manual/site/fonts/fontawesome-webfont.woff2 +0 -0
  30. data/manual/site/fonts/glyphicons-halflings-regular.eot +0 -0
  31. data/manual/site/fonts/glyphicons-halflings-regular.svg +288 -0
  32. data/manual/site/fonts/glyphicons-halflings-regular.ttf +0 -0
  33. data/manual/site/fonts/glyphicons-halflings-regular.woff +0 -0
  34. data/manual/site/fonts/glyphicons-halflings-regular.woff2 +0 -0
  35. data/manual/site/img/favicon.ico +0 -0
  36. data/manual/site/img/grid.png +0 -0
  37. data/manual/site/index.html +135 -396
  38. data/manual/site/js/base.js +216 -0
  39. data/manual/site/js/bootstrap-3.0.3.min.js +7 -0
  40. data/manual/site/js/jquery-1.10.2.min.js +6 -0
  41. data/manual/site/js/jquery.nicescroll.min.js +0 -0
  42. data/manual/site/js/jquery.pageslide.min.js +0 -0
  43. data/manual/site/js/parallaxImg.js +0 -0
  44. data/manual/site/machinery-analyze.1/index.html +25 -54
  45. data/manual/site/machinery-build.1/index.html +25 -85
  46. data/manual/site/machinery-compare.1/index.html +25 -87
  47. data/manual/site/machinery-config.1/index.html +25 -62
  48. data/manual/site/machinery-copy.1/index.html +25 -50
  49. data/manual/site/machinery-deploy.1/index.html +25 -87
  50. data/manual/site/machinery-export-autoyast.1/index.html +25 -74
  51. data/manual/site/machinery-export-html.1/index.html +25 -55
  52. data/manual/site/machinery-export-kiwi.1/index.html +25 -56
  53. data/manual/site/machinery-inspect-container.1/index.html +25 -129
  54. data/manual/site/machinery-inspect.1/index.html +25 -172
  55. data/manual/site/machinery-list.1/index.html +25 -67
  56. data/manual/site/machinery-man.1/index.html +25 -34
  57. data/manual/site/machinery-move.1/index.html +25 -49
  58. data/manual/site/machinery-remove.1/index.html +25 -62
  59. data/manual/site/machinery-serve.1/index.html +25 -61
  60. data/manual/site/machinery-show.1/index.html +25 -86
  61. data/manual/site/machinery-upgrade-format.1/index.html +25 -60
  62. data/manual/site/machinery-validate.1/index.html +25 -48
  63. data/manual/site/machinery.ymp +10 -10
  64. data/manual/site/machinery_main_general.1/index.html +25 -133
  65. data/manual/site/machinery_main_scopes.1/index.html +25 -129
  66. data/manual/site/machinery_main_security_implications.1/index.html +25 -108
  67. data/manual/site/machinery_main_usecases.1/index.html +25 -44
  68. data/manual/site/search/lunr.js +2986 -0
  69. data/manual/site/search/main.js +96 -0
  70. data/manual/site/search/search_index.json +1 -0
  71. data/manual/site/search/worker.js +128 -0
  72. data/manual/site/sitemap.xml +48 -87
  73. data/manual/site/sitemap.xml.gz +0 -0
  74. data/plugins/os/os_model.rb +0 -29
  75. data/tools/go.rb +14 -20
  76. metadata +32 -17
  77. data/manual/site/mkdocs/js/lunr.min.js +0 -7
  78. data/manual/site/mkdocs/js/mustache.min.js +0 -1
  79. data/manual/site/mkdocs/js/require.js +0 -36
  80. data/manual/site/mkdocs/js/search-results-template.mustache +0 -4
  81. data/manual/site/mkdocs/js/search.js +0 -88
  82. data/manual/site/mkdocs/js/text.js +0 -390
  83. data/manual/site/mkdocs/search_index.json +0 -869
@@ -1,869 +0,0 @@
1
- {
2
- "docs": [
3
- {
4
- "location": "/docs/",
5
- "text": "Machinery Documentation\n\n\nWelcome! The Machinary documentation is a reference aimed at system administrators.\nIt will give you an overview of Machinery itself, its subcommands, and usage examples.\n\n\nWhat is Machinery?\n\n\nMachinery is a systems management toolkit for Linux. It supports configuration\ndiscovery, system validation, and service migration. Machinery is based on the\nidea of a universal system description. Machinery has a set of commands which\nwork with this system description. These commands can be combined to form work\nflows. Machinery is targeted at the system administrator of the data center.\n\n\nWork Flow Examples\n\n\nInspect a System and Show Results\n\n\n\n\nmachinery inspect --extract-files --name=NAME HOSTNAME\n\n\nmachinery show NAME\n\n\n\n\nExport System Description as HTML\n\n\n\n\nmachinery export-html --html-dir=tmp NAME\n\n\n\n\nInspect Two Systems and Compare Them\n\n\n\n\nmachinery inspect HOSTNAME1\n\n\nmachinery inspect HOSTNAME2\n\n\nmachinery compare HOSTNAME1 HOSTNAME2\n\n\n\n\nFully Inspect a System and Export a Kiwi Description\n\n\n\n\nmachinery inspect --extract-files HOSTNAME\n\n\nmachinery export-kiwi --kiwi-dir=~/kiwi HOSTNAME\n\n\n\n\nFully Inspect a System and Export an AutoYaST Profile\n\n\n\n\nmachinery inspect --extract-files HOSTNAME\n\n\nmachinery export-autoyast --autoyast-dir=~/autoyast HOSTNAME\n\n\n\n\nFully Inspect a System and Deploy a Replicate to the Cloud\n\n\n\n\nmachinery inspect --extract-files HOSTNAME\n\n\nmachinery deploy --cloud-config=~/openrc.sh HOSTNAME\n\n\n\n\nHow to upgrade a SLES 11 SP3 system to SLES 12\n\n\n\n\nMachinery can help you to upgrade without affecting the original system.\n For more details please read the Wiki Page: \nHow to upgrade a SLES 11 SP3 system to SLES 12\n.\n\n\n\n\nFor a more detailed overview see \nGeneral Overview\n.",
6
- "title": "Welcome"
7
- },
8
- {
9
- "location": "/docs/#machinery-documentation",
10
- "text": "Welcome! The Machinary documentation is a reference aimed at system administrators.\nIt will give you an overview of Machinery itself, its subcommands, and usage examples.",
11
- "title": "Machinery Documentation"
12
- },
13
- {
14
- "location": "/docs/#what-is-machinery",
15
- "text": "Machinery is a systems management toolkit for Linux. It supports configuration\ndiscovery, system validation, and service migration. Machinery is based on the\nidea of a universal system description. Machinery has a set of commands which\nwork with this system description. These commands can be combined to form work\nflows. Machinery is targeted at the system administrator of the data center.",
16
- "title": "What is Machinery?"
17
- },
18
- {
19
- "location": "/docs/#work-flow-examples",
20
- "text": "",
21
- "title": "Work Flow Examples"
22
- },
23
- {
24
- "location": "/docs/#inspect-a-system-and-show-results",
25
- "text": "machinery inspect --extract-files --name=NAME HOSTNAME machinery show NAME",
26
- "title": "Inspect a System and Show Results"
27
- },
28
- {
29
- "location": "/docs/#export-system-description-as-html",
30
- "text": "machinery export-html --html-dir=tmp NAME",
31
- "title": "Export System Description as HTML"
32
- },
33
- {
34
- "location": "/docs/#inspect-two-systems-and-compare-them",
35
- "text": "machinery inspect HOSTNAME1 machinery inspect HOSTNAME2 machinery compare HOSTNAME1 HOSTNAME2",
36
- "title": "Inspect Two Systems and Compare Them"
37
- },
38
- {
39
- "location": "/docs/#fully-inspect-a-system-and-export-a-kiwi-description",
40
- "text": "machinery inspect --extract-files HOSTNAME machinery export-kiwi --kiwi-dir=~/kiwi HOSTNAME",
41
- "title": "Fully Inspect a System and Export a Kiwi Description"
42
- },
43
- {
44
- "location": "/docs/#fully-inspect-a-system-and-export-an-autoyast-profile",
45
- "text": "machinery inspect --extract-files HOSTNAME machinery export-autoyast --autoyast-dir=~/autoyast HOSTNAME",
46
- "title": "Fully Inspect a System and Export an AutoYaST Profile"
47
- },
48
- {
49
- "location": "/docs/#fully-inspect-a-system-and-deploy-a-replicate-to-the-cloud",
50
- "text": "machinery inspect --extract-files HOSTNAME machinery deploy --cloud-config=~/openrc.sh HOSTNAME",
51
- "title": "Fully Inspect a System and Deploy a Replicate to the Cloud"
52
- },
53
- {
54
- "location": "/docs/#how-to-upgrade-a-sles-11-sp3-system-to-sles-12",
55
- "text": "Machinery can help you to upgrade without affecting the original system.\n For more details please read the Wiki Page: How to upgrade a SLES 11 SP3 system to SLES 12 . For a more detailed overview see General Overview .",
56
- "title": "How to upgrade a SLES 11 SP3 system to SLES 12"
57
- },
58
- {
59
- "location": "/machinery_main_general.1/",
60
- "text": "Machinery \u2014 A Systems Management Toolkit for Linux\n\n\nSynopsis\n\n\nmachinery\n SUBCOMMAND [options] \n\n\nmachinery\n help [SUBCOMMAND]\n\n\nConceptual Overview\n\n\nMachinery's core concept is the complete representation of a system by a\nuniversal system description.\nSystem descriptions are managed independently of the described\nsystems which allows for system state conservation and offline preparation of\nmodifications.\n\n\nMachinery's subcommands work on the system description as the connecting\nelement.\nSystem descriptions are obtained by inspecting systems, importing from other\nformats, manual creation or merging existing descriptions.\nMachinery can store and modify system descriptions to allow changes to\ndescribed state of the system.\nSystem descriptions can be compared to find similarities and differences\nbetween them or analyzed to deepen the knowledge about particular aspects of\nthe system.\nSystem descriptions may be exported to other formats and can be used to\nmigrate or replicate systems.\n\n\nSubcommands can be combined in different ways to accommodate higher-level work\nflows and use cases.\nThese are some implemented and planned use cases:\n\n\nMigrate a physical system to a virtual environment:\n\n\n\n\nInspect a system to obtain a system description\n\n\nExport the system description to a Kiwi configuration\n\n\nBuild a cloud image from the configuration\n\n\nDeploy the image to the cloud\n\n\n\n\nMigrate a system while changing the configuration:\n\n\n\n\nInspect a system to obtain a system description\n\n\nModify the system description\n\n\nBuild image for deployment\n\n\n\n\nUsing Machinery as an extension from other formats:\n\n\n\n\nImport AutoYaST profile as system description\n\n\nBuild image for deployment\n\n\n\n\nMachinery provides an extensible set of tools which can be combined to create\nhigher-level work flows.\nIt is designed for environments which focus on automation, integration\nof diverse tools and accountable management.\nMachinery integrates with existing configuration management solutions to\naddress use cases currently not covered by them.\n\n\nThe machinery Command\n\n\nMachinery is implemented as a command line tool named \nmachinery\n. The\n\nmachinery\n command has several subcommands for specific tasks. All\nsubcommands work with the same system description identified by an optional\nname which can be used by all subcommands.\n\n\nSystem Description\n\n\nThe System Description format and file structure is documented in the machinery\nwiki: \nSystem Description Format\n.\n\n\nMachinery validates descriptions on load. It checks that the JSON structure of\nthe manifest file, which contains the primary and meta data of a description, is \ncorrect and it adheres to the schema. Validation errors are reported as warnings.\nIt also checks that the information about extracted files is consistent. Missing\nfiles or extra files without reference in the manifest are treated also as\nwarnings. All other issues are errors which need to be fixed so that Machinery\ncan use the description.\nTo manually validate a description use the \nmachinery validate\n command.\n\n\nScopes\n\n\nThe system description is structured into \"scopes\". A scope covers a specific\npart of the configuration of the inspected system such as installed packages,\nrepositories, or changed configuration files.\n\n\nFor example, if you are only interested in the installed packages, limit the\nscope to \npackages\n. This will output only the requested information.\n\n\nSee the \nScopes documentation\n for a list of all supported scopes.\n\n\nOptions for All Subcommands\n\n\n\n\n\n\n\n\n\n--version\n:\n Displays version of \nmachinery\n tool. Exit when done.\n\n\n\n\n\n\n--debug\n:\n Enable debug mode. Machinery writes additional information into the log\n file which can be useful to track down problems.\n\n\n\n\n\n\nFiles and Devices\n\n\n\n\n\n\n~/.machinery/machinery.config\n:\n\n\nConfiguration file.\n\n\n\n\n\n\n~/.machinery/machinery.log\n:\n\n\nCentral log file, in the format date, time, process id, and log message.\n\n\n\n\n\n\nem1 (openSUSE 13.2 / openSUSE leap)\n, \neth0\n (SLE11) and \nlan0\n (SLE12):\n\n\nFirst network device is used when DHCP in built image is enabled.\n\n\n\n\n\n\nEnvironment\n\n\n\n\n\n\nMACHINERY_LOG_FILE\n:\n\n\nLocation of Machinery's log file (defaults to \n~/.machinery/machinery.log\n).\n\n\n\n\n\n\nCopyright\n\n\nCopyright (c) 2013-2016 \nSUSE LLC",
61
- "title": "General Overview"
62
- },
63
- {
64
- "location": "/machinery_main_general.1/#machinery-a-systems-management-toolkit-for-linux",
65
- "text": "",
66
- "title": "Machinery \u2014 A Systems Management Toolkit for Linux"
67
- },
68
- {
69
- "location": "/machinery_main_general.1/#synopsis",
70
- "text": "machinery SUBCOMMAND [options] machinery help [SUBCOMMAND]",
71
- "title": "Synopsis"
72
- },
73
- {
74
- "location": "/machinery_main_general.1/#conceptual-overview",
75
- "text": "Machinery's core concept is the complete representation of a system by a\nuniversal system description.\nSystem descriptions are managed independently of the described\nsystems which allows for system state conservation and offline preparation of\nmodifications. Machinery's subcommands work on the system description as the connecting\nelement.\nSystem descriptions are obtained by inspecting systems, importing from other\nformats, manual creation or merging existing descriptions.\nMachinery can store and modify system descriptions to allow changes to\ndescribed state of the system.\nSystem descriptions can be compared to find similarities and differences\nbetween them or analyzed to deepen the knowledge about particular aspects of\nthe system.\nSystem descriptions may be exported to other formats and can be used to\nmigrate or replicate systems. Subcommands can be combined in different ways to accommodate higher-level work\nflows and use cases.\nThese are some implemented and planned use cases: Migrate a physical system to a virtual environment: Inspect a system to obtain a system description Export the system description to a Kiwi configuration Build a cloud image from the configuration Deploy the image to the cloud Migrate a system while changing the configuration: Inspect a system to obtain a system description Modify the system description Build image for deployment Using Machinery as an extension from other formats: Import AutoYaST profile as system description Build image for deployment Machinery provides an extensible set of tools which can be combined to create\nhigher-level work flows.\nIt is designed for environments which focus on automation, integration\nof diverse tools and accountable management.\nMachinery integrates with existing configuration management solutions to\naddress use cases currently not covered by them.",
76
- "title": "Conceptual Overview"
77
- },
78
- {
79
- "location": "/machinery_main_general.1/#the-machinery-command",
80
- "text": "Machinery is implemented as a command line tool named machinery . The machinery command has several subcommands for specific tasks. All\nsubcommands work with the same system description identified by an optional\nname which can be used by all subcommands.",
81
- "title": "The machinery Command"
82
- },
83
- {
84
- "location": "/machinery_main_general.1/#system-description",
85
- "text": "The System Description format and file structure is documented in the machinery\nwiki: System Description Format . Machinery validates descriptions on load. It checks that the JSON structure of\nthe manifest file, which contains the primary and meta data of a description, is \ncorrect and it adheres to the schema. Validation errors are reported as warnings.\nIt also checks that the information about extracted files is consistent. Missing\nfiles or extra files without reference in the manifest are treated also as\nwarnings. All other issues are errors which need to be fixed so that Machinery\ncan use the description.\nTo manually validate a description use the machinery validate command.",
86
- "title": "System Description"
87
- },
88
- {
89
- "location": "/machinery_main_general.1/#scopes",
90
- "text": "The system description is structured into \"scopes\". A scope covers a specific\npart of the configuration of the inspected system such as installed packages,\nrepositories, or changed configuration files. For example, if you are only interested in the installed packages, limit the\nscope to packages . This will output only the requested information. See the Scopes documentation for a list of all supported scopes.",
91
- "title": "Scopes"
92
- },
93
- {
94
- "location": "/machinery_main_general.1/#options-for-all-subcommands",
95
- "text": "--version :\n Displays version of machinery tool. Exit when done. --debug :\n Enable debug mode. Machinery writes additional information into the log\n file which can be useful to track down problems.",
96
- "title": "Options for All Subcommands"
97
- },
98
- {
99
- "location": "/machinery_main_general.1/#files-and-devices",
100
- "text": "~/.machinery/machinery.config : Configuration file. ~/.machinery/machinery.log : Central log file, in the format date, time, process id, and log message. em1 (openSUSE 13.2 / openSUSE leap) , eth0 (SLE11) and lan0 (SLE12): First network device is used when DHCP in built image is enabled.",
101
- "title": "Files and Devices"
102
- },
103
- {
104
- "location": "/machinery_main_general.1/#environment",
105
- "text": "MACHINERY_LOG_FILE : Location of Machinery's log file (defaults to ~/.machinery/machinery.log ).",
106
- "title": "Environment"
107
- },
108
- {
109
- "location": "/machinery_main_general.1/#copyright",
110
- "text": "Copyright (c) 2013-2016 SUSE LLC",
111
- "title": "Copyright"
112
- },
113
- {
114
- "location": "/machinery_main_scopes.1/",
115
- "text": "Scopes\n\n\n\n\nos\n\n\n\n\nContains information about the operating system, name, version, and\narchitecture of the inspected system.\n\n\n\n\npackages\n\n\n\n\nContains information on all installed packages installed on the\ninspected system.\n\n\n\n\npatterns\n\n\n\n\nContains all patterns or tasks installed on the inspected system. A pattern is a\ncollection of software packages, similar to the idea of tasks on Debian/Ubuntu-\nlike systems. The meaning of software patterns depends on the package manager of the\ndistribution.\n\n\n\n\nrepositories\n\n\n\n\nContains all information about software repositories configured on the\ninspected system. The information about repositories depends on the package\nmanager of the distribution. Machinery collects the following information\nfrom each configured repository:\n\n\n\n\n\n\nThe alias name of the repository.\n\n\n\n\n\n\nThe repository type, rpm-md and YaST types that are used on SUSE systems.\n\n\n\n\n\n\nThe path to the repository. This could be a local path, a remote location,\n a device, or a file.\n\n\n\n\n\n\nA boolean flag that indicates if this repository is in use or not.\n\n\n\n\n\n\nA boolean flag that indicates if this repository should update the locally\n stored metadata files with metadata files from the origin automatically or\n not.\n\n\n\n\n\n\nA boolean flag that indicates if packages which would be installed from\n this repository should be checked by their gpg key or not.\n\n\n\n\n\n\nA numeric value for a priority. The priority of a repository is compared\n to the priorities of all other activated repositories. Values can\n range from 1 (highest) to 99 (lowest, default).\n\n\n\n\n\n\nusers\n\n\n\n\n\n\nContains information about the system users including user and group ids,\nlogin information, such as password hashes and - if available - additional\npassword properties.\n\n\n\n\ngroups\n\n\n\n\nContains information about the system groups such as group attributes and the\nlist of group members.\n\n\n\n\nservices\n\n\n\n\nServices are applications running in the background doing continuous work\nor waiting for requests to do work.\nThe scope determines which services are configured to be started in which\nrunlevel. It uses the \nchkconfig\n command to obtain that information.\nThe xinetd services that are also displayed by \nchkconfig\n are switched\non/off by editing configuration files and are ignored in this context.\n\n\n\n\nchanged-config-files\n\n\n\n\nContains all configuration files which have been changed since they were\ninstalled.\nChanged configuration files are all those files which are marked as such in the\npackage which has installed them. A configuration file change is reported\nif its content or its attributes like Linux permission bits or ownership\nhave changed.\n\n\n\n\nchanged-managed-files\n\n\n\n\nContains the names and contents of all non-configuration files which have\nbeen changed compared to the files in the package. A file change is reported\nif its content or its attributes like Linux permission bits or ownership\nhave changed.\n\n\n\n\nunmanaged-files\n\n\n\n\nContains the names and contents of all files which are not part of any package.\nThe list of unmanaged files contains only plain files and\ndirectories. Special files like device nodes, named pipes and Unix domain\nsockets are ignored. The directories \n/tmp\n, \n/var/tmp\n, \n/.snapshots/\n,\n\n/var/run\n and special mounts like procfs and sysfs are ignored, too.\nIf a directory is in this list, no file or directory below it belongs to a\npackage.\n\n\nMeta data information of unmanaged files is only available if the files were\nextracted during inspection.\n\n\nUsing the \n--extract-unmanaged-files\n option, the files are transferred from\nthe system and stored in the system description. Depending on the content of\nthe inspected system, the amount of data stored may be huge.",
116
- "title": "Scopes"
117
- },
118
- {
119
- "location": "/machinery_main_scopes.1/#scopes",
120
- "text": "os Contains information about the operating system, name, version, and\narchitecture of the inspected system. packages Contains information on all installed packages installed on the\ninspected system. patterns Contains all patterns or tasks installed on the inspected system. A pattern is a\ncollection of software packages, similar to the idea of tasks on Debian/Ubuntu-\nlike systems. The meaning of software patterns depends on the package manager of the\ndistribution. repositories Contains all information about software repositories configured on the\ninspected system. The information about repositories depends on the package\nmanager of the distribution. Machinery collects the following information\nfrom each configured repository: The alias name of the repository. The repository type, rpm-md and YaST types that are used on SUSE systems. The path to the repository. This could be a local path, a remote location,\n a device, or a file. A boolean flag that indicates if this repository is in use or not. A boolean flag that indicates if this repository should update the locally\n stored metadata files with metadata files from the origin automatically or\n not. A boolean flag that indicates if packages which would be installed from\n this repository should be checked by their gpg key or not. A numeric value for a priority. The priority of a repository is compared\n to the priorities of all other activated repositories. Values can\n range from 1 (highest) to 99 (lowest, default). users Contains information about the system users including user and group ids,\nlogin information, such as password hashes and - if available - additional\npassword properties. groups Contains information about the system groups such as group attributes and the\nlist of group members. services Services are applications running in the background doing continuous work\nor waiting for requests to do work.\nThe scope determines which services are configured to be started in which\nrunlevel. It uses the chkconfig command to obtain that information.\nThe xinetd services that are also displayed by chkconfig are switched\non/off by editing configuration files and are ignored in this context. changed-config-files Contains all configuration files which have been changed since they were\ninstalled.\nChanged configuration files are all those files which are marked as such in the\npackage which has installed them. A configuration file change is reported\nif its content or its attributes like Linux permission bits or ownership\nhave changed. changed-managed-files Contains the names and contents of all non-configuration files which have\nbeen changed compared to the files in the package. A file change is reported\nif its content or its attributes like Linux permission bits or ownership\nhave changed. unmanaged-files Contains the names and contents of all files which are not part of any package.\nThe list of unmanaged files contains only plain files and\ndirectories. Special files like device nodes, named pipes and Unix domain\nsockets are ignored. The directories /tmp , /var/tmp , /.snapshots/ , /var/run and special mounts like procfs and sysfs are ignored, too.\nIf a directory is in this list, no file or directory below it belongs to a\npackage. Meta data information of unmanaged files is only available if the files were\nextracted during inspection. Using the --extract-unmanaged-files option, the files are transferred from\nthe system and stored in the system description. Depending on the content of\nthe inspected system, the amount of data stored may be huge.",
121
- "title": "Scopes"
122
- },
123
- {
124
- "location": "/machinery_main_usecases.1/",
125
- "text": "Use Cases\n\n\nSome of the important use cases of Machinery are:\n\n\n\n\nInspecting a System and Collecting Information\n\n\n\n\nCollecting a variety of information. Limit the gathered\n information with scopes (see section about scopes). Each inspection step\n updates the system description.\n\n\n\n\nReviewing System Description\n\n\n\n\nAfter a successful inspection, the system description can be displayed on\n the console or the output can be fed into other tools.\n\n\n\n\nCloning a System\n\n\n\n\nAn inspected system can be cloned. The inspection step returns a system\n description which is used as the basis for cloning physical or virtual\n instances. Machinery can build a system image from the description, which\n can then for example be deployed to a cloud environment.",
126
- "title": "Use cases"
127
- },
128
- {
129
- "location": "/machinery_main_usecases.1/#use-cases",
130
- "text": "Some of the important use cases of Machinery are: Inspecting a System and Collecting Information Collecting a variety of information. Limit the gathered\n information with scopes (see section about scopes). Each inspection step\n updates the system description. Reviewing System Description After a successful inspection, the system description can be displayed on\n the console or the output can be fed into other tools. Cloning a System An inspected system can be cloned. The inspection step returns a system\n description which is used as the basis for cloning physical or virtual\n instances. Machinery can build a system image from the description, which\n can then for example be deployed to a cloud environment.",
131
- "title": "Use Cases"
132
- },
133
- {
134
- "location": "/machinery_main_security_implications.1/",
135
- "text": "Security Implications\n\n\nThis document describes security related issues administrators need to be aware of when using\nMachinery.\n\n\nInspection\n\n\nMachinery inspects several parts of a system which are covered by Machinery's scopes.\nInformation about scopes is listed \nhere\n.\n\n\nUsers of Machinery who inspect systems need to be aware of the security implications\nto take the right decisions on how to protect the retrieved data.\n\n\nRetrieval of Data\n\n\nMachinery transfers data from one end point to another via SSH (Secure Shell, using public key authentication).\n\n\nDepending on the scope, Machinery \ncollects information\n\nabout files on the system. Additionally, when the \n--extract-files\n option is given for the\n\ninspect\n command, not only the meta data about the files (e.g. permission bits, owner, group etc\n.) but also the file content is extracted. Machinery does not distinguish between sensitive\ndata (such as private keys or password files). That means that everyone with access to the system\ndescription has automatically access to \nall\n extracted files and contained sensitive data.\n\n\nroot/sudo Privileges\n\n\nAn inspection can only be done, when the user on the inspected system is either root or has\nsudo privileges. Information about the required sudo configuration can be found\n\nhere\n.\n\n\nStorage of Data\n\n\nAccess Restrictions\n\n\nAfter an inspection has been completed, the directory where the description is stored is made\nreadable only for the user. The data is not encrypted by Machinery.\n\n\nUsed Permission Bits\n\n\nWhen Machinery extracts data, it sets permission bits for files and directories as follows:\n\n\n\n\n\n\n\n\nPermission Bits\n\n\nUsed for ...\n\n\n\n\n\n\n\n\n\n\n0700\n\n\n... directories inside the description directory\n\n\n\n\n\n\n0600\n\n\n... for files inside the description directory\n\n\n\n\n\n\n\n\nAccessing System Descriptions\n\n\nBy default, all system descriptions are stored in the directory \n.machinery\n in the home directory\nof the user running Machinery. The directory can be redefined by the environment variable\n\n$MACHINERY_DIR\n. Each description has its own subdirectory. There is a \nmanifest.json\n file in\neach description directory which contains the data of the inspection. Extracted files are stored in\nseparate subdirectories inside the same description directory.\n\n\nPresentation of Data\n\n\nThere are several ways how data can be presented to one or more users. The user has the option to\neither start a web server and view descriptions or view the descriptions only in the console.\n\n\nThe following commands are used to present data to users:\n\n\n\n\nshow\n\n\ncompare\n\n\nserve\n\n\nlist\n\n\n\n\nAll of the commands listed above also have a \n--html\n option. When this option is used, Machinery\nstarts a web server what will listen on the IP address \n127.0.0.1\n. The \nserve\n command\noffers also a \n--public\n option which makes the server listen on all configured IP addresses.\n\n\nWARNING:\n When making the server reachable from the outside, users can modify the link to\naccess also other descriptions. There is currently no way to restrict the access to only one\ndescription.\n\n\nThe \nserve\n command also allows the user to specify a port via the \n--port\n option. When no port\nis specified, the default port which is configured in the machinery config file in\n\n~/.machinery/machinery.config\n) will be taken.\n\n\nExport of Data\n\n\nexport-autoyast\n\n\nThe \nexport-autoyast\n command creates an AutoYaST profile for an automated installation. This will result\nin tar balls containing the extracted files from the system description. These files\npotentially contain sensitive data (e.g. passwords). This fact needs to be kept in mind, especially\nif these files are copied to a web server for an AutoYaST installation via HTTP.\n\n\nexport-kiwi\n\n\nThe program \nkiwi\n allows you to build OS images for deployment. Machinery gives\nyou the opportunity to export a KIWI description. This description can be used to build an image via Kiwi.\nThe \nexport-kiwi\n command creates a directory, where it stores the Kiwi configuration and the files\nof a system description. These files potentially contain sensitive data (e.g. passwords).\n\n\nbuild\n\n\nThe created image potentially contains sensitive data (e.g. passwords) from extracted files.\n\n\ndeploy\n\n\nThe uploaded image potentially contains sensitive data (e.g. passwords) from extracted files.",
136
- "title": "Security Implications"
137
- },
138
- {
139
- "location": "/machinery_main_security_implications.1/#security-implications",
140
- "text": "This document describes security related issues administrators need to be aware of when using\nMachinery.",
141
- "title": "Security Implications"
142
- },
143
- {
144
- "location": "/machinery_main_security_implications.1/#inspection",
145
- "text": "Machinery inspects several parts of a system which are covered by Machinery's scopes.\nInformation about scopes is listed here . Users of Machinery who inspect systems need to be aware of the security implications\nto take the right decisions on how to protect the retrieved data.",
146
- "title": "Inspection"
147
- },
148
- {
149
- "location": "/machinery_main_security_implications.1/#retrieval-of-data",
150
- "text": "Machinery transfers data from one end point to another via SSH (Secure Shell, using public key authentication). Depending on the scope, Machinery collects information \nabout files on the system. Additionally, when the --extract-files option is given for the inspect command, not only the meta data about the files (e.g. permission bits, owner, group etc\n.) but also the file content is extracted. Machinery does not distinguish between sensitive\ndata (such as private keys or password files). That means that everyone with access to the system\ndescription has automatically access to all extracted files and contained sensitive data.",
151
- "title": "Retrieval of Data"
152
- },
153
- {
154
- "location": "/machinery_main_security_implications.1/#rootsudo-privileges",
155
- "text": "An inspection can only be done, when the user on the inspected system is either root or has\nsudo privileges. Information about the required sudo configuration can be found here .",
156
- "title": "root/sudo Privileges"
157
- },
158
- {
159
- "location": "/machinery_main_security_implications.1/#storage-of-data",
160
- "text": "",
161
- "title": "Storage of Data"
162
- },
163
- {
164
- "location": "/machinery_main_security_implications.1/#access-restrictions",
165
- "text": "After an inspection has been completed, the directory where the description is stored is made\nreadable only for the user. The data is not encrypted by Machinery.",
166
- "title": "Access Restrictions"
167
- },
168
- {
169
- "location": "/machinery_main_security_implications.1/#used-permission-bits",
170
- "text": "When Machinery extracts data, it sets permission bits for files and directories as follows: Permission Bits Used for ... 0700 ... directories inside the description directory 0600 ... for files inside the description directory",
171
- "title": "Used Permission Bits"
172
- },
173
- {
174
- "location": "/machinery_main_security_implications.1/#accessing-system-descriptions",
175
- "text": "By default, all system descriptions are stored in the directory .machinery in the home directory\nof the user running Machinery. The directory can be redefined by the environment variable $MACHINERY_DIR . Each description has its own subdirectory. There is a manifest.json file in\neach description directory which contains the data of the inspection. Extracted files are stored in\nseparate subdirectories inside the same description directory.",
176
- "title": "Accessing System Descriptions"
177
- },
178
- {
179
- "location": "/machinery_main_security_implications.1/#presentation-of-data",
180
- "text": "There are several ways how data can be presented to one or more users. The user has the option to\neither start a web server and view descriptions or view the descriptions only in the console. The following commands are used to present data to users: show compare serve list All of the commands listed above also have a --html option. When this option is used, Machinery\nstarts a web server what will listen on the IP address 127.0.0.1 . The serve command\noffers also a --public option which makes the server listen on all configured IP addresses. WARNING: When making the server reachable from the outside, users can modify the link to\naccess also other descriptions. There is currently no way to restrict the access to only one\ndescription. The serve command also allows the user to specify a port via the --port option. When no port\nis specified, the default port which is configured in the machinery config file in ~/.machinery/machinery.config ) will be taken.",
181
- "title": "Presentation of Data"
182
- },
183
- {
184
- "location": "/machinery_main_security_implications.1/#export-of-data",
185
- "text": "",
186
- "title": "Export of Data"
187
- },
188
- {
189
- "location": "/machinery_main_security_implications.1/#export-autoyast",
190
- "text": "The export-autoyast command creates an AutoYaST profile for an automated installation. This will result\nin tar balls containing the extracted files from the system description. These files\npotentially contain sensitive data (e.g. passwords). This fact needs to be kept in mind, especially\nif these files are copied to a web server for an AutoYaST installation via HTTP.",
191
- "title": "export-autoyast"
192
- },
193
- {
194
- "location": "/machinery_main_security_implications.1/#export-kiwi",
195
- "text": "The program kiwi allows you to build OS images for deployment. Machinery gives\nyou the opportunity to export a KIWI description. This description can be used to build an image via Kiwi.\nThe export-kiwi command creates a directory, where it stores the Kiwi configuration and the files\nof a system description. These files potentially contain sensitive data (e.g. passwords).",
196
- "title": "export-kiwi"
197
- },
198
- {
199
- "location": "/machinery_main_security_implications.1/#build",
200
- "text": "The created image potentially contains sensitive data (e.g. passwords) from extracted files.",
201
- "title": "build"
202
- },
203
- {
204
- "location": "/machinery_main_security_implications.1/#deploy",
205
- "text": "The uploaded image potentially contains sensitive data (e.g. passwords) from extracted files.",
206
- "title": "deploy"
207
- },
208
- {
209
- "location": "/machinery-analyze.1/",
210
- "text": "analyze \u2014 Analyze System Description\n\n\nSynopsis\n\n\nmachinery analyze\n NAME -o | --operation=OPERATION\n\n\nmachinery\n help analyze\n\n\nDescription\n\n\nThe \nanalyze\n subcommand analyzes an existing system description and enriches\nit with additional information. Supported operations are:\n\n\n\n\nchanged-config-files-diffs\n:\n Generates the diffs between the extracted changed configuration files from the\n system and the original versions from the packages.\n The diffs can be shown using \nmachinery show --show-diffs\n\n\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nOptions\n\n\n\n\n-o OPERATION\n, \n--operation=OPERATION\n (required):\n The analyze operation to perform.\n\n\n\n\nExamples\n\n\n\n\n\n\nAnalyze the config file diffs for the \nmyhost\n system description:\n\n\n$ \nmachinery\n analyze myhost --operation=changed-config-files-diffs",
211
- "title": "Analyze"
212
- },
213
- {
214
- "location": "/machinery-analyze.1/#analyze-analyze-system-description",
215
- "text": "",
216
- "title": "analyze \u2014 Analyze System Description"
217
- },
218
- {
219
- "location": "/machinery-analyze.1/#synopsis",
220
- "text": "machinery analyze NAME -o | --operation=OPERATION machinery help analyze",
221
- "title": "Synopsis"
222
- },
223
- {
224
- "location": "/machinery-analyze.1/#description",
225
- "text": "The analyze subcommand analyzes an existing system description and enriches\nit with additional information. Supported operations are: changed-config-files-diffs :\n Generates the diffs between the extracted changed configuration files from the\n system and the original versions from the packages.\n The diffs can be shown using machinery show --show-diffs",
226
- "title": "Description"
227
- },
228
- {
229
- "location": "/machinery-analyze.1/#arguments",
230
- "text": "NAME (required):\n Name of the system description.",
231
- "title": "Arguments"
232
- },
233
- {
234
- "location": "/machinery-analyze.1/#options",
235
- "text": "-o OPERATION , --operation=OPERATION (required):\n The analyze operation to perform.",
236
- "title": "Options"
237
- },
238
- {
239
- "location": "/machinery-analyze.1/#examples",
240
- "text": "Analyze the config file diffs for the myhost system description: $ machinery analyze myhost --operation=changed-config-files-diffs",
241
- "title": "Examples"
242
- },
243
- {
244
- "location": "/machinery-build.1/",
245
- "text": "build \u2014 Build Image from System Description\n\n\nSynopsis\n\n\nmachinery build\n NAME -i IMAGE-DIR | --image-dir=IMAGE-DIR\n\n\nmachinery\n help build\n\n\nDescription\n\n\nThe \nbuild\n command builds an image from a system description. The image is a\nsystem image in the qcow2 format, which can be used with the KVM hypervisor.\nIt can be run locally or deployed to a cloud environment.\n\n\nmachinery\n uses the image building command line tool\n\nKIWI\n to perform the actual build. KIWI\ndata is stored to a temporary directory and cleaned up after the build. The KIWI\nlog is shown as output of the \nbuild\n command format for showing progress and\ndiagnosing errors.\n\n\nWhen building an image, Machinery filters out some files which would break the\nbuilt image. The list of filters is shown at the beginning of the build.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Use specified system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-i IMAGE-DIR\n, \n--image-dir=IMAGE-DIR\n (required):\n Save image file under specified path.\n\n\n\n\n\n\n-d\n, \n--enable-dhcp\n (optional):\n Enable DHCP client on first network card of built image\n\n\n\n\n\n\n-s\n, \n--enable-ssh\n (optional):\n Enable SSH service in built image\n\n\n\n\n\n\nPrerequisites\n\n\n\n\n\n\nThe \nbuild\n command requires the packages \nkiwi\n and \nkiwi-desc-vmxboot\n.\n\n\n\n\n\n\nThe necessary vmxboot template for the machinery being built must be\n installed (i.e. if you want to build an openSUSE Leap machine then the\n template \n/usr/share/kiwi/image/vmxboot/suse-leap42.1\n is required)\n\n\n\n\n\n\nAll repositories in the system description must be accessible from the\n build machine on which \nmachinery build\n is called.\n\n\n\n\n\n\nMachinery can only build x86_64 images on x86_64 systems at the moment.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nTo build an image from the system description named \"tux\" and to save the\n image under the \n/tmp/tux/\n directory:\n\n\n$ \nmachinery\n build tux -i /tmp/tux/",
246
- "title": "Build"
247
- },
248
- {
249
- "location": "/machinery-build.1/#build-build-image-from-system-description",
250
- "text": "",
251
- "title": "build \u2014 Build Image from System Description"
252
- },
253
- {
254
- "location": "/machinery-build.1/#synopsis",
255
- "text": "machinery build NAME -i IMAGE-DIR | --image-dir=IMAGE-DIR machinery help build",
256
- "title": "Synopsis"
257
- },
258
- {
259
- "location": "/machinery-build.1/#description",
260
- "text": "The build command builds an image from a system description. The image is a\nsystem image in the qcow2 format, which can be used with the KVM hypervisor.\nIt can be run locally or deployed to a cloud environment. machinery uses the image building command line tool KIWI to perform the actual build. KIWI\ndata is stored to a temporary directory and cleaned up after the build. The KIWI\nlog is shown as output of the build command format for showing progress and\ndiagnosing errors. When building an image, Machinery filters out some files which would break the\nbuilt image. The list of filters is shown at the beginning of the build.",
261
- "title": "Description"
262
- },
263
- {
264
- "location": "/machinery-build.1/#arguments",
265
- "text": "NAME (required):\n Use specified system description.",
266
- "title": "Arguments"
267
- },
268
- {
269
- "location": "/machinery-build.1/#options",
270
- "text": "-i IMAGE-DIR , --image-dir=IMAGE-DIR (required):\n Save image file under specified path. -d , --enable-dhcp (optional):\n Enable DHCP client on first network card of built image -s , --enable-ssh (optional):\n Enable SSH service in built image",
271
- "title": "Options"
272
- },
273
- {
274
- "location": "/machinery-build.1/#prerequisites",
275
- "text": "The build command requires the packages kiwi and kiwi-desc-vmxboot . The necessary vmxboot template for the machinery being built must be\n installed (i.e. if you want to build an openSUSE Leap machine then the\n template /usr/share/kiwi/image/vmxboot/suse-leap42.1 is required) All repositories in the system description must be accessible from the\n build machine on which machinery build is called. Machinery can only build x86_64 images on x86_64 systems at the moment.",
276
- "title": "Prerequisites"
277
- },
278
- {
279
- "location": "/machinery-build.1/#examples",
280
- "text": "To build an image from the system description named \"tux\" and to save the\n image under the /tmp/tux/ directory: $ machinery build tux -i /tmp/tux/",
281
- "title": "Examples"
282
- },
283
- {
284
- "location": "/machinery-compare.1/",
285
- "text": "compare \u2014 Compare System Descriptions\n\n\nSynopsis\n\n\nmachinery compare\n [-s SCOPE | --scope=SCOPE] [-e IGNORE-SCOPE | --ignore-scope=IGNORE-SCOPE] [--no-pager] [--show-all] [--html] NAME1 NAME2\n\n\nmachinery\n help compare\n\n\nDescription\n\n\nThe \ncompare\n command compares stored system descriptions. The scope option can\nbe used to limit the output to the given scopes.\n\n\nArguments\n\n\n\n\n\n\nNAME1\n (required):\n First system description to compare.\n\n\n\n\n\n\nNAME2\n (required):\n Second system description to compare.\n\n\n\n\n\n\nOptions\n\n\n\n\n\n\n-s SCOPE\n, \n--scope=SCOPE\n (optional):\n Limit output to the specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n-e SCOPE\n, \n--ignore-scope=IGNORE-SCOPE\n (optional):\n Skip output of the specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n--no-pager\n (optional):\n Do not pipe output into a pager.\n\n\n\n\n\n\n--show-all\n (optional):\n Show also common properties of the descriptions (not only the differences).\n\n\n\n\n\n\n--html\n (optional):\n Shows the comparison of two system descriptions in the web browser.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nCompare system descriptions saved as \nearth\n and \nmoon\n:\n\n\n$ \nmachinery\n compare earth moon\n\n\n\n\n\n\nCompare system descriptions, but limit the scope to repositories only:\n\n\n$ \nmachinery\n compare earth moon -s repositories\n\n\n\n\n\n\nCompare lists of changed managed files and include the common ones in the\n list:\n\n\n$ \nmachinery\n compare earth moon --scope=changed-managed-files --show-all\n\n\n\n\n\n\nCompares system descriptions and shows the result in HTML format in your web browser:\n\n\n$ \nmachinery\n compare --html earth moon",
286
- "title": "Compare"
287
- },
288
- {
289
- "location": "/machinery-compare.1/#compare-compare-system-descriptions",
290
- "text": "",
291
- "title": "compare \u2014 Compare System Descriptions"
292
- },
293
- {
294
- "location": "/machinery-compare.1/#synopsis",
295
- "text": "machinery compare [-s SCOPE | --scope=SCOPE] [-e IGNORE-SCOPE | --ignore-scope=IGNORE-SCOPE] [--no-pager] [--show-all] [--html] NAME1 NAME2 machinery help compare",
296
- "title": "Synopsis"
297
- },
298
- {
299
- "location": "/machinery-compare.1/#description",
300
- "text": "The compare command compares stored system descriptions. The scope option can\nbe used to limit the output to the given scopes.",
301
- "title": "Description"
302
- },
303
- {
304
- "location": "/machinery-compare.1/#arguments",
305
- "text": "NAME1 (required):\n First system description to compare. NAME2 (required):\n Second system description to compare.",
306
- "title": "Arguments"
307
- },
308
- {
309
- "location": "/machinery-compare.1/#options",
310
- "text": "-s SCOPE , --scope=SCOPE (optional):\n Limit output to the specified scope.\n See the Scope section for more information. -e SCOPE , --ignore-scope=IGNORE-SCOPE (optional):\n Skip output of the specified scope.\n See the Scope section for more information. --no-pager (optional):\n Do not pipe output into a pager. --show-all (optional):\n Show also common properties of the descriptions (not only the differences). --html (optional):\n Shows the comparison of two system descriptions in the web browser.",
311
- "title": "Options"
312
- },
313
- {
314
- "location": "/machinery-compare.1/#examples",
315
- "text": "Compare system descriptions saved as earth and moon : $ machinery compare earth moon Compare system descriptions, but limit the scope to repositories only: $ machinery compare earth moon -s repositories Compare lists of changed managed files and include the common ones in the\n list: $ machinery compare earth moon --scope=changed-managed-files --show-all Compares system descriptions and shows the result in HTML format in your web browser: $ machinery compare --html earth moon",
316
- "title": "Examples"
317
- },
318
- {
319
- "location": "/machinery-config.1/",
320
- "text": "config \u2014 Configure Machinery\n\n\nSynopsis\n\n\nmachinery config\n\n\nmachinery config\n KEY\n\n\nmachinery config\n KEY=VALUE\n\n\nmachinery\n help config\n\n\nDescription\n\n\nThe \nconfig\n command shows or changes machinery's configuration.\n\n\nIf no arguments are passed the \nconfig\n command lists all configuration\nentries and their values. If only the key is provided its value is shown.\nIf key and value are specified this configuration entry is set accordingly.\n\n\nThe configuration is stored in \n~/.machinery/machinery.config\n.\n\n\nArguments\n\n\n\n\n\n\nKEY\n:\n Name of the configuration entry.\n\n\n\n\n\n\nVALUE\n:\n Value of the configuration entry.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nTurn off hints:\n\n\n$ \nmachinery\n config hints=off\n\n\n\n\n\n\nShow current configuration of hints:\n\n\n$ \nmachinery\n config hints\n\n\n\n\n\n\nList all configuration entries and their values:\n\n\n$ \nmachinery\n config",
321
- "title": "Config"
322
- },
323
- {
324
- "location": "/machinery-config.1/#config-configure-machinery",
325
- "text": "",
326
- "title": "config \u2014 Configure Machinery"
327
- },
328
- {
329
- "location": "/machinery-config.1/#synopsis",
330
- "text": "machinery config machinery config KEY machinery config KEY=VALUE machinery help config",
331
- "title": "Synopsis"
332
- },
333
- {
334
- "location": "/machinery-config.1/#description",
335
- "text": "The config command shows or changes machinery's configuration. If no arguments are passed the config command lists all configuration\nentries and their values. If only the key is provided its value is shown.\nIf key and value are specified this configuration entry is set accordingly. The configuration is stored in ~/.machinery/machinery.config .",
336
- "title": "Description"
337
- },
338
- {
339
- "location": "/machinery-config.1/#arguments",
340
- "text": "KEY :\n Name of the configuration entry. VALUE :\n Value of the configuration entry.",
341
- "title": "Arguments"
342
- },
343
- {
344
- "location": "/machinery-config.1/#examples",
345
- "text": "Turn off hints: $ machinery config hints=off Show current configuration of hints: $ machinery config hints List all configuration entries and their values: $ machinery config",
346
- "title": "Examples"
347
- },
348
- {
349
- "location": "/machinery-copy.1/",
350
- "text": "copy \u2014 Copy System Description\n\n\nSynopsis\n\n\nmachinery copy\n FROM_NAME TO_NAME\n\n\nmachinery\n help copy\n\n\nDescription\n\n\nThe \ncopy\n command copies a stored system description. It creates a new\ndescription named TO_NAME containing the same content as the description\nFROM_NAME.\n\n\nArguments\n\n\n\n\n\n\nFROM_NAME\n (required):\n Name of the source system description.\n\n\n\n\n\n\nTO_NAME\n (required):\n Name of the target system description.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nCreate a copy of the system description \nearth\n under the name \nmoon\n:\n\n\n$ \nmachinery\n copy earth moon",
351
- "title": "Copy"
352
- },
353
- {
354
- "location": "/machinery-copy.1/#copy-copy-system-description",
355
- "text": "",
356
- "title": "copy \u2014 Copy System Description"
357
- },
358
- {
359
- "location": "/machinery-copy.1/#synopsis",
360
- "text": "machinery copy FROM_NAME TO_NAME machinery help copy",
361
- "title": "Synopsis"
362
- },
363
- {
364
- "location": "/machinery-copy.1/#description",
365
- "text": "The copy command copies a stored system description. It creates a new\ndescription named TO_NAME containing the same content as the description\nFROM_NAME.",
366
- "title": "Description"
367
- },
368
- {
369
- "location": "/machinery-copy.1/#arguments",
370
- "text": "FROM_NAME (required):\n Name of the source system description. TO_NAME (required):\n Name of the target system description.",
371
- "title": "Arguments"
372
- },
373
- {
374
- "location": "/machinery-copy.1/#examples",
375
- "text": "Create a copy of the system description earth under the name moon : $ machinery copy earth moon",
376
- "title": "Examples"
377
- },
378
- {
379
- "location": "/machinery-deploy.1/",
380
- "text": "deploy \u2014 Deploy Image to OpenStack Cloud\n\n\nSynopsis\n\n\nmachinery deploy\n NAME -c CONFIG_FILE | --cloud-config=CONFIG_FILE\n [-i IMAGE_DIR | --image-dir=IMAGE_DIR]\n [-n CLOUD_IMAGE_NAME | --cloud-image-name=CLOUD_IMAGE_NAME]\n [-s | --insecure ]\n\n\nmachinery\n help [deploy]\n\n\nDescription\n\n\nThe \ndeploy\n command builds and deploys an image to an OpenStack cloud.\nThis command is particularly useful for testing, debugging, or validation.\n\n\n\n\nNOTE: Set Password for Unattended Work\n\n\nMachinery asks for a password when sourcing the configuration\nfile. This interrupts the work flow and the user has to enter\nthis password.\nIf you prefer to leave it uninterrupted and unattented, remove\nthe following line in your cloud configuration file (see the \n-c\n option):\n\n\nread -s OS_PASSWORD_INPUT\n\n\nand set the password in the \nOS_PASSWORD\n variable:\n\n\nexport OS_PASSWORD=YOUR_PASSWORD\n\n\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-c CONFIG_FILE\n, \n--cloud-config=CONFIG_FILE\n (required):\n Path to file where the cloud config (openrc.sh) is located.\n The configuration file is sourced by Machinery.\n\n\n\n\n\n\n-i IMAGE_DIR\n, \n--image-dir=IMAGE_DIR\n (optional):\n Image file under specific path.\n\n\n\n\n\n\n-n CLOUD_IMAGE_NAME\n, \n--cloud-image-name=CLOUD_IMAGE_NAME\n (required):\n Name of the image in the cloud.\n\n\n\n\n\n\n-s\n, \n--insecure\n (optional):\n Allow to make \"insecure\" HTTPS requests, without checking the SSL\n certificate when uploading to the cloud.\n\n\n\n\n\n\nPrerequisites\n\n\n\n\nThe \ndeploy\n command requires the packages \nkiwi\n for building the image\n and \npython-glanceclient\n for uploading the image to the cloud.\n\n\n\n\nSupported Architectures\n\n\nMachinery only supports deploying x86_64 images on x86_64 systems.\n\n\nExamples\n\n\n\n\n\n\nBuild an image under the system description named \njeos\n.\n Deploy it to the OpenStack cloud name \ntux-cloud\n by using the\n configuration file \nopenrc.sh\n in directory \ntux\n:\n\n\n$ \nmachinery\n deploy jeos -n tux-cloud -c tux/openrc.sh",
381
- "title": "Deploy"
382
- },
383
- {
384
- "location": "/machinery-deploy.1/#deploy-deploy-image-to-openstack-cloud",
385
- "text": "",
386
- "title": "deploy \u2014 Deploy Image to OpenStack Cloud"
387
- },
388
- {
389
- "location": "/machinery-deploy.1/#synopsis",
390
- "text": "machinery deploy NAME -c CONFIG_FILE | --cloud-config=CONFIG_FILE\n [-i IMAGE_DIR | --image-dir=IMAGE_DIR]\n [-n CLOUD_IMAGE_NAME | --cloud-image-name=CLOUD_IMAGE_NAME]\n [-s | --insecure ] machinery help [deploy]",
391
- "title": "Synopsis"
392
- },
393
- {
394
- "location": "/machinery-deploy.1/#description",
395
- "text": "The deploy command builds and deploys an image to an OpenStack cloud.\nThis command is particularly useful for testing, debugging, or validation.",
396
- "title": "Description"
397
- },
398
- {
399
- "location": "/machinery-deploy.1/#note-set-password-for-unattended-work",
400
- "text": "Machinery asks for a password when sourcing the configuration\nfile. This interrupts the work flow and the user has to enter\nthis password.\nIf you prefer to leave it uninterrupted and unattented, remove\nthe following line in your cloud configuration file (see the -c option): read -s OS_PASSWORD_INPUT and set the password in the OS_PASSWORD variable: export OS_PASSWORD=YOUR_PASSWORD",
401
- "title": "NOTE: Set Password for Unattended Work"
402
- },
403
- {
404
- "location": "/machinery-deploy.1/#arguments",
405
- "text": "NAME (required):\n Name of the system description.",
406
- "title": "Arguments"
407
- },
408
- {
409
- "location": "/machinery-deploy.1/#options",
410
- "text": "-c CONFIG_FILE , --cloud-config=CONFIG_FILE (required):\n Path to file where the cloud config (openrc.sh) is located.\n The configuration file is sourced by Machinery. -i IMAGE_DIR , --image-dir=IMAGE_DIR (optional):\n Image file under specific path. -n CLOUD_IMAGE_NAME , --cloud-image-name=CLOUD_IMAGE_NAME (required):\n Name of the image in the cloud. -s , --insecure (optional):\n Allow to make \"insecure\" HTTPS requests, without checking the SSL\n certificate when uploading to the cloud.",
411
- "title": "Options"
412
- },
413
- {
414
- "location": "/machinery-deploy.1/#prerequisites",
415
- "text": "The deploy command requires the packages kiwi for building the image\n and python-glanceclient for uploading the image to the cloud.",
416
- "title": "Prerequisites"
417
- },
418
- {
419
- "location": "/machinery-deploy.1/#supported-architectures",
420
- "text": "Machinery only supports deploying x86_64 images on x86_64 systems.",
421
- "title": "Supported Architectures"
422
- },
423
- {
424
- "location": "/machinery-deploy.1/#examples",
425
- "text": "Build an image under the system description named jeos .\n Deploy it to the OpenStack cloud name tux-cloud by using the\n configuration file openrc.sh in directory tux : $ machinery deploy jeos -n tux-cloud -c tux/openrc.sh",
426
- "title": "Examples"
427
- },
428
- {
429
- "location": "/machinery-export-autoyast.1/",
430
- "text": "export-autoyast \u2014 Export System Description as AutoYasST profile\n\n\nSynopsis\n\n\nmachinery export-autoyast\n -a | --autoyast-dir=DIRECTORY NAME\n --force\n\n\nmachinery\n help export-autoyast\n\n\nDescription\n\n\nThe \nexport-autoyast\n subcommand exports a stored system description as an AutoYaST\nprofile.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-a AUTOYAST_DIR\n, \n--autoyast-dir=AUTOYAST_DIR\n (required):\n Write the AutoYaST profile to a subdirectory at the specified directory. The directory\n will be created if it does not exist yet.\n\n\n\n\n\n\n--force\n (optional):\n Overwrite an existing output directory.\n\n\n\n\n\n\nSystem Registration\n\n\n\n\nTo register a SLES 12 system automatically with AutoYaST, it is required to\n edit the generated profile. The following example registers the system with\n the SUSE Customer Center.\n\n\n\n\nsuse_register\n\n \ndo_registration config:type=\nboolean\ntrue\n/do_registration\n\n \nemail\ntux@example.com\n/email\n\n \nreg_code\nMY_SECRET_REGCODE\n/reg_code\n\n \ninstall_updates config:type=\nboolean\ntrue\n/install_updates\n\n \nslp_discovery config:type=\nboolean\nfalse\n/slp_discovery\n\n\n/suse_register\n\n\n\n\n\n\n\nMore information can be found at the \nSUSE AutoYaST documentation\n.\n\n\n\n\nExamples\n\n\n\n\n\n\nExport the \nmyhost\n system description to \n/tmp/myhost-autoyast\n:\n\n\n$ \nmachinery\n export-autoyast myhost --autoyast-dir=/tmp",
431
- "title": "Export AutoYaST"
432
- },
433
- {
434
- "location": "/machinery-export-autoyast.1/#export-autoyast-export-system-description-as-autoyasst-profile",
435
- "text": "",
436
- "title": "export-autoyast \u2014 Export System Description as AutoYasST profile"
437
- },
438
- {
439
- "location": "/machinery-export-autoyast.1/#synopsis",
440
- "text": "machinery export-autoyast -a | --autoyast-dir=DIRECTORY NAME\n --force machinery help export-autoyast",
441
- "title": "Synopsis"
442
- },
443
- {
444
- "location": "/machinery-export-autoyast.1/#description",
445
- "text": "The export-autoyast subcommand exports a stored system description as an AutoYaST\nprofile.",
446
- "title": "Description"
447
- },
448
- {
449
- "location": "/machinery-export-autoyast.1/#arguments",
450
- "text": "NAME (required):\n Name of the system description.",
451
- "title": "Arguments"
452
- },
453
- {
454
- "location": "/machinery-export-autoyast.1/#options",
455
- "text": "-a AUTOYAST_DIR , --autoyast-dir=AUTOYAST_DIR (required):\n Write the AutoYaST profile to a subdirectory at the specified directory. The directory\n will be created if it does not exist yet. --force (optional):\n Overwrite an existing output directory.",
456
- "title": "Options"
457
- },
458
- {
459
- "location": "/machinery-export-autoyast.1/#system-registration",
460
- "text": "To register a SLES 12 system automatically with AutoYaST, it is required to\n edit the generated profile. The following example registers the system with\n the SUSE Customer Center. suse_register \n do_registration config:type= boolean true /do_registration \n email tux@example.com /email \n reg_code MY_SECRET_REGCODE /reg_code \n install_updates config:type= boolean true /install_updates \n slp_discovery config:type= boolean false /slp_discovery /suse_register More information can be found at the SUSE AutoYaST documentation .",
461
- "title": "System Registration"
462
- },
463
- {
464
- "location": "/machinery-export-autoyast.1/#examples",
465
- "text": "Export the myhost system description to /tmp/myhost-autoyast : $ machinery export-autoyast myhost --autoyast-dir=/tmp",
466
- "title": "Examples"
467
- },
468
- {
469
- "location": "/machinery-export-kiwi.1/",
470
- "text": "export-kiwi \u2014 Export System Description as KIWI Image Description\n\n\nSynopsis\n\n\nmachinery export-kiwi\n -k | --kiwi-dir=DIRECTORY NAME\n --force\n\n\nmachinery\n help export-kiwi\n\n\nDescription\n\n\nThe \nexport-kiwi\n subcommand exports a stored system description as a KIWI\nimage description.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-k KIWI_DIR\n, \n--kiwi-dir=KIWI_DIR\n (required):\n Write the KIWI image description to a subdirectory at the specified directory. The directory\n will be created if it does not exist yet.\n\n\n\n\n\n\n--force\n (optional):\n Overwrite an existing output directory.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nExport the \nmyhost\n system description to \n/tmp/myhost-kiwi\n:\n\n\n$ \nmachinery\n export-kiwi myhost --kiwi-dir=/tmp",
471
- "title": "Export Kiwi"
472
- },
473
- {
474
- "location": "/machinery-export-kiwi.1/#export-kiwi-export-system-description-as-kiwi-image-description",
475
- "text": "",
476
- "title": "export-kiwi \u2014 Export System Description as KIWI Image Description"
477
- },
478
- {
479
- "location": "/machinery-export-kiwi.1/#synopsis",
480
- "text": "machinery export-kiwi -k | --kiwi-dir=DIRECTORY NAME\n --force machinery help export-kiwi",
481
- "title": "Synopsis"
482
- },
483
- {
484
- "location": "/machinery-export-kiwi.1/#description",
485
- "text": "The export-kiwi subcommand exports a stored system description as a KIWI\nimage description.",
486
- "title": "Description"
487
- },
488
- {
489
- "location": "/machinery-export-kiwi.1/#arguments",
490
- "text": "NAME (required):\n Name of the system description.",
491
- "title": "Arguments"
492
- },
493
- {
494
- "location": "/machinery-export-kiwi.1/#options",
495
- "text": "-k KIWI_DIR , --kiwi-dir=KIWI_DIR (required):\n Write the KIWI image description to a subdirectory at the specified directory. The directory\n will be created if it does not exist yet. --force (optional):\n Overwrite an existing output directory.",
496
- "title": "Options"
497
- },
498
- {
499
- "location": "/machinery-export-kiwi.1/#examples",
500
- "text": "Export the myhost system description to /tmp/myhost-kiwi : $ machinery export-kiwi myhost --kiwi-dir=/tmp",
501
- "title": "Examples"
502
- },
503
- {
504
- "location": "/machinery-export-html.1/",
505
- "text": "export-html \u2014 Export System Description as HTML\n\n\nSynopsis\n\n\nmachinery export-html\n -d | --html-dir=DIRECTORY NAME\n --force\n\n\nmachinery\n help export-html\n\n\nDescription\n\n\nThe \nexport-html\n subcommand exports a stored system description as HTML.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-d DIRECTORY\n, \n--html-dir=DIRECTORY\n (required):\n Write the HTML page and assets to this directory. The directory will\n be created if it does not exist yet.\n\n\n\n\n\n\n--force\n (optional):\n Delete the directory if it exists and recreate it.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nExport the \nmyhost\n system description to \n/tmp/myhost-html\n:\n\n\n$ \nmachinery\n export-html --html-dir=/tmp myhost",
506
- "title": "Export HTML"
507
- },
508
- {
509
- "location": "/machinery-export-html.1/#export-html-export-system-description-as-html",
510
- "text": "",
511
- "title": "export-html \u2014 Export System Description as HTML"
512
- },
513
- {
514
- "location": "/machinery-export-html.1/#synopsis",
515
- "text": "machinery export-html -d | --html-dir=DIRECTORY NAME\n --force machinery help export-html",
516
- "title": "Synopsis"
517
- },
518
- {
519
- "location": "/machinery-export-html.1/#description",
520
- "text": "The export-html subcommand exports a stored system description as HTML.",
521
- "title": "Description"
522
- },
523
- {
524
- "location": "/machinery-export-html.1/#arguments",
525
- "text": "NAME (required):\n Name of the system description.",
526
- "title": "Arguments"
527
- },
528
- {
529
- "location": "/machinery-export-html.1/#options",
530
- "text": "-d DIRECTORY , --html-dir=DIRECTORY (required):\n Write the HTML page and assets to this directory. The directory will\n be created if it does not exist yet. --force (optional):\n Delete the directory if it exists and recreate it.",
531
- "title": "Options"
532
- },
533
- {
534
- "location": "/machinery-export-html.1/#examples",
535
- "text": "Export the myhost system description to /tmp/myhost-html : $ machinery export-html --html-dir=/tmp myhost",
536
- "title": "Examples"
537
- },
538
- {
539
- "location": "/machinery-inspect.1/",
540
- "text": "inspect \u2014 Inspect Running System\n\n\nSynopsis\n\n\nmachinery inspect\n [OPTIONS] HOSTNAME\n\n\nmachinery\n help inspect\n\n\nDescription\n\n\nThe \ninspect\n command inspects a running system and generates a system\ndescription from the gathered data.\n\n\nThe system data is structured into scopes, controlled by the\n\n--scope\n option.\n\n\nNote\n:\nMachinery will always inspect all specified scopes, and skip scopes which\ntrigger errors.\n\n\nNote\n:\nTasks on Debian-like systems are treated as patterns.\n\n\nArguments\n\n\n\n\nHOSTNAME\n (required):\n The host name of the system to be inspected. The host name will also be\n used as the name of the stored system description unless another name is\n provided with the \n--name\n option.\n\n\n\n\nOptions\n\n\n\n\n\n\n-n NAME\n, \n--name=NAME\n (optional):\n Store the system description under the specified name.\n\n\n\n\n\n\n-s SCOPE\n, \n--scope=SCOPE\n (optional):\n Inspect system for specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n-e SCOPE\n, \n--ignore-scope=IGNORE-SCOPE\n (optional):\n Inspect system for all scopes except the specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n-r USER\n, \n--remote-user=USER\n (optional):\n Defines the user which is used to access the inspected system via SSH.\n This user needs to be allowed to run certain commands using sudo (see\n Prerequisites for more information).\n To change the default-user use \nmachinery config remote-user=USER\n\n\n\n\n\n\n-p SSH-PORT\n, \n--ssh-port SSH-PORT\n (optional):\n Specifies the SSH port of the remote SSH server.\n\n\n\n\n\n\n-i SSH-IDENTITY-FILE\n, \n--ssh-identity-file SSH-IDENTITY-FILE\n (optional):\n Specifies the SSH private key what should be used to authenticate with the\n remote SSH server. Keys with a passphrase are not allowed here. Use the ssh-agent\n instead.\n\n\n\n\n\n\n-x\n, \n--extract-files\n (optional):\n Extract changed configuration and unmanaged files from the inspected system.\n Shortcut for the combination of \n--extract-changed-config-files\n,\n \n--extract-unmanaged-files\n, and \n--extract-changed-managed-files\n\n\n\n\n\n\n--extract-changed-config-files\n (optional):\n Extract changed configuration files from the inspected system.\n\n\n\n\n\n\n--extract-unmanaged-files\n (optional):\n Extract unmanaged files from the inspected system.\n\n\n\n\n\n\n--extract-changed-managed-files\n (optional):\n Extract changed managed files from inspected system.\n\n\n\n\n\n\n--skip-files\n (optional):\n Do not consider given files or directories during inspection. Either provide\n one file or directory name or a list of names separated by commas. You can\n also point to a file which contains a list of files to filter (one per line)\n by adding an '@' before the path, e.g.\n\n\n$ \nmachinery\n inspect --skip-files=@/path/to/filter_file myhost\n\n\nIf a filename contains a comma it needs to be escaped, e.g.\n\n\n$ \nmachinery\n inspect --skip-files=/file\\,with_comma myhost\n\n\nNote\n: File or directory names are not expanded, e.g. '../path' is taken\n literally and not expanded.\n\n\n\n\n\n\n--verbose\n (optional):\n Display the filters which are used during inspection.\n\n\n\n\n\n\nPrerequisites\n\n\n\n\n\n\nInspecting a local system requires running \nmachinery\n as root.\n\n\n\n\n\n\nInspecting a remote system requires passwordless SSH login as root on the\n inspected system.\n Use \nssh-agent\n or asymmetric keys (you can transfer the current SSH key\n via \nssh-copy-id\n to the inspected host, e.g.: \nssh-copy-id root@HOSTNAME\n).\n\n\n\n\n\n\nThe system to be inspected needs to have the following commands:\n\n\n\n\nrpm\n or \ndpkg\n\n\nzypper\n, \nyum\n, or \napt-cache\n\n\nrsync\n\n\nchkconfig\n, \ninitctl\n, or \nsystemctl\n\n\ncat\n\n\nsed\n\n\nfind\n\n\ntar\n\n\n\n\n\n\n\n\nWhen inspecting as non-root the user needs passwordless sudo rights.\n The following entry in the sudoers file would allow the user \nmachinery\n\n to run sudo without password input:\n\n\nmachinery ALL=(ALL) NOPASSWD: ALL\n\n\n\n\n\n\nTo add a remote \nmachinery\n user run as root:\n\n\n# \nuseradd\n -m machinery -c \"remote user for machinery\"\n\n\nTo configure a password for the new user run:\n\n\n# \npasswd\n machinery\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nInspect remote system \nmyhost\n and save system description under name\n 'MySystem':\n\n\n$ \nmachinery\n inspect --name=MySystem myhost\n\n\n\n\n\n\nInspect the installed packages of your local system and save system description\n under the name 'localhost' (you need to become root):\n\n\n# \nmachinery\n inspect --scope=\"packages\" localhost\n\n\n\n\n\n\nExtracts changed managed files and saves them in the same way as changed\n configuration files are saved:\n\n\n$ \nmachinery\n inspect --scope=changed-managed-files --extract-files myhost\n\n\n\n\n\n\nTo inspect the remote system \nmyhost\n with the user \nmachinery\n:\n\n\n$ \nmachinery\n inspect --remote-user machinery myhost",
541
- "title": "Inspect"
542
- },
543
- {
544
- "location": "/machinery-inspect.1/#inspect-inspect-running-system",
545
- "text": "",
546
- "title": "inspect \u2014 Inspect Running System"
547
- },
548
- {
549
- "location": "/machinery-inspect.1/#synopsis",
550
- "text": "machinery inspect [OPTIONS] HOSTNAME machinery help inspect",
551
- "title": "Synopsis"
552
- },
553
- {
554
- "location": "/machinery-inspect.1/#description",
555
- "text": "The inspect command inspects a running system and generates a system\ndescription from the gathered data. The system data is structured into scopes, controlled by the --scope option. Note :\nMachinery will always inspect all specified scopes, and skip scopes which\ntrigger errors. Note :\nTasks on Debian-like systems are treated as patterns.",
556
- "title": "Description"
557
- },
558
- {
559
- "location": "/machinery-inspect.1/#arguments",
560
- "text": "HOSTNAME (required):\n The host name of the system to be inspected. The host name will also be\n used as the name of the stored system description unless another name is\n provided with the --name option.",
561
- "title": "Arguments"
562
- },
563
- {
564
- "location": "/machinery-inspect.1/#options",
565
- "text": "-n NAME , --name=NAME (optional):\n Store the system description under the specified name. -s SCOPE , --scope=SCOPE (optional):\n Inspect system for specified scope.\n See the Scope section for more information. -e SCOPE , --ignore-scope=IGNORE-SCOPE (optional):\n Inspect system for all scopes except the specified scope.\n See the Scope section for more information. -r USER , --remote-user=USER (optional):\n Defines the user which is used to access the inspected system via SSH.\n This user needs to be allowed to run certain commands using sudo (see\n Prerequisites for more information).\n To change the default-user use machinery config remote-user=USER -p SSH-PORT , --ssh-port SSH-PORT (optional):\n Specifies the SSH port of the remote SSH server. -i SSH-IDENTITY-FILE , --ssh-identity-file SSH-IDENTITY-FILE (optional):\n Specifies the SSH private key what should be used to authenticate with the\n remote SSH server. Keys with a passphrase are not allowed here. Use the ssh-agent\n instead. -x , --extract-files (optional):\n Extract changed configuration and unmanaged files from the inspected system.\n Shortcut for the combination of --extract-changed-config-files ,\n --extract-unmanaged-files , and --extract-changed-managed-files --extract-changed-config-files (optional):\n Extract changed configuration files from the inspected system. --extract-unmanaged-files (optional):\n Extract unmanaged files from the inspected system. --extract-changed-managed-files (optional):\n Extract changed managed files from inspected system. --skip-files (optional):\n Do not consider given files or directories during inspection. Either provide\n one file or directory name or a list of names separated by commas. You can\n also point to a file which contains a list of files to filter (one per line)\n by adding an '@' before the path, e.g. $ machinery inspect --skip-files=@/path/to/filter_file myhost If a filename contains a comma it needs to be escaped, e.g. $ machinery inspect --skip-files=/file\\,with_comma myhost Note : File or directory names are not expanded, e.g. '../path' is taken\n literally and not expanded. --verbose (optional):\n Display the filters which are used during inspection.",
566
- "title": "Options"
567
- },
568
- {
569
- "location": "/machinery-inspect.1/#prerequisites",
570
- "text": "Inspecting a local system requires running machinery as root. Inspecting a remote system requires passwordless SSH login as root on the\n inspected system.\n Use ssh-agent or asymmetric keys (you can transfer the current SSH key\n via ssh-copy-id to the inspected host, e.g.: ssh-copy-id root@HOSTNAME ). The system to be inspected needs to have the following commands: rpm or dpkg zypper , yum , or apt-cache rsync chkconfig , initctl , or systemctl cat sed find tar When inspecting as non-root the user needs passwordless sudo rights.\n The following entry in the sudoers file would allow the user machinery \n to run sudo without password input: machinery ALL=(ALL) NOPASSWD: ALL To add a remote machinery user run as root: # useradd -m machinery -c \"remote user for machinery\" To configure a password for the new user run: # passwd machinery",
571
- "title": "Prerequisites"
572
- },
573
- {
574
- "location": "/machinery-inspect.1/#examples",
575
- "text": "Inspect remote system myhost and save system description under name\n 'MySystem': $ machinery inspect --name=MySystem myhost Inspect the installed packages of your local system and save system description\n under the name 'localhost' (you need to become root): # machinery inspect --scope=\"packages\" localhost Extracts changed managed files and saves them in the same way as changed\n configuration files are saved: $ machinery inspect --scope=changed-managed-files --extract-files myhost To inspect the remote system myhost with the user machinery : $ machinery inspect --remote-user machinery myhost",
576
- "title": "Examples"
577
- },
578
- {
579
- "location": "/machinery-inspect-container.1/",
580
- "text": "inspect-container \u2014 Inspect Container\n\n\nSynopsis\n\n\nmachinery inspect-container\n [OPTIONS] IMAGENAME\n\n\nmachinery inspect-container\n [OPTIONS] IMAGEID\n\n\nmachinery\n help inspect-container\n\n\nDescription\n\n\nThe \ninspect-container\n command inspects a container image. It creates and starts the container from the provided image before inspection\nand generates a system description from the gathered data. After the inspection the container will be killed and removed again.\nThis approach ensures that no containers and images are affected by the inspection.\n\n\nRight now the container inspection only supports Docker images.\n\n\nThe system data is structured into scopes, controlled by the\n\n--scope\n option.\n\n\nNote\n:\nMachinery will always inspect all specified scopes, and skip scopes which\ntrigger errors.\n\n\nArguments\n\n\n\n\nIMAGENAME / IMAGEID\n (required):\n The name or ID of the image to be inspected. The provided name or ID will also be\n used as the name of the stored system description unless another name is\n provided with the \n--name\n option.\n\n\n\n\nOptions\n\n\n\n\n\n\n-n NAME\n, \n--name=NAME\n (optional):\n Store the system description under the specified name.\n\n\n\n\n\n\n-s SCOPE\n, \n--scope=SCOPE\n (optional):\n Inspect image for specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n-e SCOPE\n, \n--ignore-scope=IGNORE-SCOPE\n (optional):\n Inspect image for all scopes except the specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n-x\n, \n--extract-files\n (optional):\n Extract changed configuration and unmanaged files from the inspected container.\n Shortcut for the combination of \n--extract-changed-config-files\n,\n \n--extract-unmanaged-files\n, and \n--extract-changed-managed-files\n\n\n\n\n\n\n--extract-changed-config-files\n (optional):\n Extract changed configuration files from the inspected image.\n\n\n\n\n\n\n--extract-unmanaged-files\n (optional):\n Extract unmanaged files from the inspected image.\n\n\n\n\n\n\n--extract-changed-managed-files\n (optional):\n Extract changed managed files from inspected image.\n\n\n\n\n\n\n--skip-files\n (optional):\n Do not consider given files or directories during inspection. Either provide\n one file or directory name or a list of names separated by commas. You can\n also point to a file which contains a list of files to filter (one per line)\n by adding an '@' before the path, e.g.\n\n\n$ \nmachinery\n inspect-container --skip-files=@/path/to/filter_file myimage\n\n\nIf a filename contains a comma it needs to be escaped, e.g.\n\n\n$ \nmachinery\n inspect-container --skip-files=/file\\,with_comma myimage\n\n\nNote\n: File or directory names are not expanded, e.g. '../path' is taken\n literally and not expanded.\n\n\n\n\n\n\n--verbose\n (optional):\n Display the filters which are used during inspection.\n\n\n\n\n\n\nPrerequisites\n\n\n\n\n\n\nInspecting a container requires an image specified by the name or ID.\n\n\n\n\n\n\nThe image to be inspected needs to have the following commands:\n\n\n\n\nrpm\n or \ndpkg\n\n\nzypper\n, \nyum\n or \napt-cache\n\n\nrsync\n\n\ncat\n\n\nsed\n\n\nfind\n\n\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nInspect Docker container \nmyimage\n and save system description under name 'MyContainer':\n\n\n$ \nmachinery\n inspect-container --name=MyContainer myimage\n\n\n\n\n\n\nInspect Docker container \n076f46c1bef1\n and save system description under name 'MySecondContainer':\n\n\n$ \nmachinery\n inspect-container --name=MySecondContainer 076f46c1bef1\n\n\n\n\n\n\nExtract changed managed files and save them:\n\n\n$ \nmachinery\n inspect-container --scope=changed-managed-files --extract-files myimage",
581
- "title": "Inspect Container"
582
- },
583
- {
584
- "location": "/machinery-inspect-container.1/#inspect-container-inspect-container",
585
- "text": "",
586
- "title": "inspect-container \u2014 Inspect Container"
587
- },
588
- {
589
- "location": "/machinery-inspect-container.1/#synopsis",
590
- "text": "machinery inspect-container [OPTIONS] IMAGENAME machinery inspect-container [OPTIONS] IMAGEID machinery help inspect-container",
591
- "title": "Synopsis"
592
- },
593
- {
594
- "location": "/machinery-inspect-container.1/#description",
595
- "text": "The inspect-container command inspects a container image. It creates and starts the container from the provided image before inspection\nand generates a system description from the gathered data. After the inspection the container will be killed and removed again.\nThis approach ensures that no containers and images are affected by the inspection. Right now the container inspection only supports Docker images. The system data is structured into scopes, controlled by the --scope option. Note :\nMachinery will always inspect all specified scopes, and skip scopes which\ntrigger errors.",
596
- "title": "Description"
597
- },
598
- {
599
- "location": "/machinery-inspect-container.1/#arguments",
600
- "text": "IMAGENAME / IMAGEID (required):\n The name or ID of the image to be inspected. The provided name or ID will also be\n used as the name of the stored system description unless another name is\n provided with the --name option.",
601
- "title": "Arguments"
602
- },
603
- {
604
- "location": "/machinery-inspect-container.1/#options",
605
- "text": "-n NAME , --name=NAME (optional):\n Store the system description under the specified name. -s SCOPE , --scope=SCOPE (optional):\n Inspect image for specified scope.\n See the Scope section for more information. -e SCOPE , --ignore-scope=IGNORE-SCOPE (optional):\n Inspect image for all scopes except the specified scope.\n See the Scope section for more information. -x , --extract-files (optional):\n Extract changed configuration and unmanaged files from the inspected container.\n Shortcut for the combination of --extract-changed-config-files ,\n --extract-unmanaged-files , and --extract-changed-managed-files --extract-changed-config-files (optional):\n Extract changed configuration files from the inspected image. --extract-unmanaged-files (optional):\n Extract unmanaged files from the inspected image. --extract-changed-managed-files (optional):\n Extract changed managed files from inspected image. --skip-files (optional):\n Do not consider given files or directories during inspection. Either provide\n one file or directory name or a list of names separated by commas. You can\n also point to a file which contains a list of files to filter (one per line)\n by adding an '@' before the path, e.g. $ machinery inspect-container --skip-files=@/path/to/filter_file myimage If a filename contains a comma it needs to be escaped, e.g. $ machinery inspect-container --skip-files=/file\\,with_comma myimage Note : File or directory names are not expanded, e.g. '../path' is taken\n literally and not expanded. --verbose (optional):\n Display the filters which are used during inspection.",
606
- "title": "Options"
607
- },
608
- {
609
- "location": "/machinery-inspect-container.1/#prerequisites",
610
- "text": "Inspecting a container requires an image specified by the name or ID. The image to be inspected needs to have the following commands: rpm or dpkg zypper , yum or apt-cache rsync cat sed find",
611
- "title": "Prerequisites"
612
- },
613
- {
614
- "location": "/machinery-inspect-container.1/#examples",
615
- "text": "Inspect Docker container myimage and save system description under name 'MyContainer': $ machinery inspect-container --name=MyContainer myimage Inspect Docker container 076f46c1bef1 and save system description under name 'MySecondContainer': $ machinery inspect-container --name=MySecondContainer 076f46c1bef1 Extract changed managed files and save them: $ machinery inspect-container --scope=changed-managed-files --extract-files myimage",
616
- "title": "Examples"
617
- },
618
- {
619
- "location": "/machinery-list.1/",
620
- "text": "list \u2014 List System Descriptions\n\n\nSynopsis\n\n\nmachinery list\n [OPTIONS] [NAME[,NAME2[,NAME3]]]\n\n\nmachinery\n help list\n\n\nDescription\n\n\nList the specified system descriptions if parameter name is given.\nList all available system descriptions in the internal database if no name parameter is given.\nThe list is sorted alphabetically and contains a name and the\nscopes for each system.\n\n\nOptions\n\n\n\n\n--verbose\n (optional):\n Print additional information about the origin of scopes.\n Currently displays [HOSTNAME] and (DATE).\n\n\n--short\n (optional):\n List only descripton names.\n\n\n--html\n (optional):\n Run a web server and open the list of system descriptions in HTML format in\n your web browser using the \nxdg-open\n command.\n\n\n\n\nExamples\n\n\n\n\n\n\nLists the two specified system descriptions \na\n and \nb\n:\n\n\n$ \nmachinery\n list a b\n\n\n\n\n\n\nLists all available system descriptions:\n\n\n$ \nmachinery\n list\n\n\n\n\n\n\nSame as previous command, but additionally prints the date of each scope:\n\n\n$ \nmachinery\n list --verbose\n\n\n\n\n\n\nLists all available system description names without any additional details:\n\n\n$ \nmachinery\n list --short\n\n\n\n\n\n\nOpens HTML view of list of all available system descriptions in web browser:\n\n\n$ \nmachinery\n list --html",
621
- "title": "List"
622
- },
623
- {
624
- "location": "/machinery-list.1/#list-list-system-descriptions",
625
- "text": "",
626
- "title": "list \u2014 List System Descriptions"
627
- },
628
- {
629
- "location": "/machinery-list.1/#synopsis",
630
- "text": "machinery list [OPTIONS] [NAME[,NAME2[,NAME3]]] machinery help list",
631
- "title": "Synopsis"
632
- },
633
- {
634
- "location": "/machinery-list.1/#description",
635
- "text": "List the specified system descriptions if parameter name is given.\nList all available system descriptions in the internal database if no name parameter is given.\nThe list is sorted alphabetically and contains a name and the\nscopes for each system.",
636
- "title": "Description"
637
- },
638
- {
639
- "location": "/machinery-list.1/#options",
640
- "text": "--verbose (optional):\n Print additional information about the origin of scopes.\n Currently displays [HOSTNAME] and (DATE). --short (optional):\n List only descripton names. --html (optional):\n Run a web server and open the list of system descriptions in HTML format in\n your web browser using the xdg-open command.",
641
- "title": "Options"
642
- },
643
- {
644
- "location": "/machinery-list.1/#examples",
645
- "text": "Lists the two specified system descriptions a and b : $ machinery list a b Lists all available system descriptions: $ machinery list Same as previous command, but additionally prints the date of each scope: $ machinery list --verbose Lists all available system description names without any additional details: $ machinery list --short Opens HTML view of list of all available system descriptions in web browser: $ machinery list --html",
646
- "title": "Examples"
647
- },
648
- {
649
- "location": "/machinery-man.1/",
650
- "text": "man \u2014 Shows Man Page\n\n\nSynopsis\n\n\nmachinery man\n [OPTIONS]\n\n\nOptions\n\n\n\n\n--html\n (optional):\n Run a web server and open the documentation in HTML format in your web browser.\n\n\n\n\nDescription\n\n\nThe \nman\n command shows the Machinery man page.",
651
- "title": "Man"
652
- },
653
- {
654
- "location": "/machinery-man.1/#man-shows-man-page",
655
- "text": "",
656
- "title": "man \u2014 Shows Man Page"
657
- },
658
- {
659
- "location": "/machinery-man.1/#synopsis",
660
- "text": "machinery man [OPTIONS]",
661
- "title": "Synopsis"
662
- },
663
- {
664
- "location": "/machinery-man.1/#options",
665
- "text": "--html (optional):\n Run a web server and open the documentation in HTML format in your web browser.",
666
- "title": "Options"
667
- },
668
- {
669
- "location": "/machinery-man.1/#description",
670
- "text": "The man command shows the Machinery man page.",
671
- "title": "Description"
672
- },
673
- {
674
- "location": "/machinery-move.1/",
675
- "text": "move \u2014 Move System Description\n\n\nSynopsis\n\n\nmachinery move\n\n FROM_NAME TO_NAME\n\n\nmachinery\n help move\n\n\nDescription\n\n\nThe \nmove\n command renames a stored system description from \nFROM_NAME\n to \nTO_NAME\n.\n\n\nArguments\n\n\n\n\n\n\nFROM_NAME\n (required):\n Current name of the system description.\n\n\n\n\n\n\nTO_NAME\n (required):\n New name of the system description.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nRename the system description \nearth\n to \nmoon\n:\n\n\n$ \nmachinery\n move earth moon",
676
- "title": "Move"
677
- },
678
- {
679
- "location": "/machinery-move.1/#move-move-system-description",
680
- "text": "",
681
- "title": "move \u2014 Move System Description"
682
- },
683
- {
684
- "location": "/machinery-move.1/#synopsis",
685
- "text": "machinery move \n FROM_NAME TO_NAME machinery help move",
686
- "title": "Synopsis"
687
- },
688
- {
689
- "location": "/machinery-move.1/#description",
690
- "text": "The move command renames a stored system description from FROM_NAME to TO_NAME .",
691
- "title": "Description"
692
- },
693
- {
694
- "location": "/machinery-move.1/#arguments",
695
- "text": "FROM_NAME (required):\n Current name of the system description. TO_NAME (required):\n New name of the system description.",
696
- "title": "Arguments"
697
- },
698
- {
699
- "location": "/machinery-move.1/#examples",
700
- "text": "Rename the system description earth to moon : $ machinery move earth moon",
701
- "title": "Examples"
702
- },
703
- {
704
- "location": "/machinery-remove.1/",
705
- "text": "remove \u2014 Remove System Descriptions\n\n\nSynopsis\n\n\nmachinery remove\n [--all]\n [NAME[,NAME2[,NAME3]]]\n\n\nmachinery\n help remove\n\n\nDescription\n\n\nThe \nremove\n command removes all specified system descriptions.\n\n\nOptions\n\n\n\n\n\n\n--all\n (optional):\n Remove all stored system descriptions.\n\n\n\n\n\n\n--verbose\n (optional):\n Explain what is being done.\n\n\n\n\n\n\nArguments\n\n\n\n\nNAME...\n (required):\n Remove specified system descriptions.\n\n\n\n\nExamples\n\n\n\n\n\n\nRemove the system description stored as \nearth\n:\n\n\n$ \nmachinery\n remove earth\n\n\n\n\n\n\nRemove the system descriptions stored as \nearth\n and \nmoon\n:\n\n\n$ \nmachinery\n remove earth moon\n\n\n\n\n\n\nRemove all stored system descriptions:\n\n\n$ \nmachinery\n remove --all",
706
- "title": "Remove"
707
- },
708
- {
709
- "location": "/machinery-remove.1/#remove-remove-system-descriptions",
710
- "text": "",
711
- "title": "remove \u2014 Remove System Descriptions"
712
- },
713
- {
714
- "location": "/machinery-remove.1/#synopsis",
715
- "text": "machinery remove [--all]\n [NAME[,NAME2[,NAME3]]] machinery help remove",
716
- "title": "Synopsis"
717
- },
718
- {
719
- "location": "/machinery-remove.1/#description",
720
- "text": "The remove command removes all specified system descriptions.",
721
- "title": "Description"
722
- },
723
- {
724
- "location": "/machinery-remove.1/#options",
725
- "text": "--all (optional):\n Remove all stored system descriptions. --verbose (optional):\n Explain what is being done.",
726
- "title": "Options"
727
- },
728
- {
729
- "location": "/machinery-remove.1/#arguments",
730
- "text": "NAME... (required):\n Remove specified system descriptions.",
731
- "title": "Arguments"
732
- },
733
- {
734
- "location": "/machinery-remove.1/#examples",
735
- "text": "Remove the system description stored as earth : $ machinery remove earth Remove the system descriptions stored as earth and moon : $ machinery remove earth moon Remove all stored system descriptions: $ machinery remove --all",
736
- "title": "Examples"
737
- },
738
- {
739
- "location": "/machinery-serve.1/",
740
- "text": "serve \u2014 Serve System Descriptions Using a Web Server\n\n\nSynopsis\n\n\nmachinery serve\n [-p PORT | --port=PORT] [--public]\n\n\nmachinery\n help serve\n\n\nDescription\n\n\nThe \nserve\n command spawns a web server to view system descriptions as an HTML\nview.\n\n\nBy default the server is available from http://127.0.0.1:7585 but both the\nIP address and the port can be configured using the according options.\n\n\nSpecific descriptions are available from http://127.0.0.1:7585/NAME, where NAME\nis the name of the system description. If no name is specified in the URL an\noverview of all descriptions is served.\n\n\nOptions\n\n\n\n\n\n\n-p PORT\n, \n--port=PORT\n (optional):\n Specify the port on which the web server will serve the HTML view: Default: 7585\n\n\nPorts can be selected in a range between 2-65535. Ports between 2 and 1023 can only be\nchosen when \nmachinery\n will be executed as \nroot\n user.\n\n\n\n\n\n\n--public\n (optional):\n Specifying this option, lets the server listen on each configured IP address. By default\n the server will only listen on the localhost IP address 127.0.0.1\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nStart the server with default options:\n\n\n$ \nmachinery\n serve\n\n\n\n\n\n\nMake the server available to other machines on the network on port 3000:\n\n\n$ \nmachinery\n serve --public --port 3000",
741
- "title": "Serve"
742
- },
743
- {
744
- "location": "/machinery-serve.1/#serve-serve-system-descriptions-using-a-web-server",
745
- "text": "",
746
- "title": "serve \u2014 Serve System Descriptions Using a Web Server"
747
- },
748
- {
749
- "location": "/machinery-serve.1/#synopsis",
750
- "text": "machinery serve [-p PORT | --port=PORT] [--public] machinery help serve",
751
- "title": "Synopsis"
752
- },
753
- {
754
- "location": "/machinery-serve.1/#description",
755
- "text": "The serve command spawns a web server to view system descriptions as an HTML\nview. By default the server is available from http://127.0.0.1:7585 but both the\nIP address and the port can be configured using the according options. Specific descriptions are available from http://127.0.0.1:7585/NAME, where NAME\nis the name of the system description. If no name is specified in the URL an\noverview of all descriptions is served.",
756
- "title": "Description"
757
- },
758
- {
759
- "location": "/machinery-serve.1/#options",
760
- "text": "-p PORT , --port=PORT (optional):\n Specify the port on which the web server will serve the HTML view: Default: 7585 Ports can be selected in a range between 2-65535. Ports between 2 and 1023 can only be\nchosen when machinery will be executed as root user. --public (optional):\n Specifying this option, lets the server listen on each configured IP address. By default\n the server will only listen on the localhost IP address 127.0.0.1",
761
- "title": "Options"
762
- },
763
- {
764
- "location": "/machinery-serve.1/#examples",
765
- "text": "Start the server with default options: $ machinery serve Make the server available to other machines on the network on port 3000: $ machinery serve --public --port 3000",
766
- "title": "Examples"
767
- },
768
- {
769
- "location": "/machinery-show.1/",
770
- "text": "show \u2014 Show System Description\n\n\nSynopsis\n\n\nmachinery show\n [-s SCOPE | --scope=SCOPE] [-e IGNORE-SCOPE | --ignore-scope=IGNORE-SCOPE] [--no-pager] [--show-diffs] [--html] NAME\n\n\nmachinery\n help show\n\n\nDescription\n\n\nThe \nshow\n command displays a stored system description.\nScopes are supported and limit the output to the given scope.\nThe hostname of the inspected system and the last modification\nin local time are shown in the title of each scope section.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Use specified system description.\n\n\n\n\nOptions\n\n\n\n\n\n\n-s SCOPE\n, \n--scope=SCOPE\n (optional):\n Limit output to the specified scope.\n See the \nScope section\n for more information.\n If displaying information related to a scope fails, \nshow\n will print an error message what has failed.\n In case of an error, no content is displayed.\n\n\n\n\n\n\n-e IGNORE-SCOPE\n, \n--ignore-scope=IGNORE-SCOPE\n (optional):\n Skip output of the specified scope.\n See the \nScope section\n for more information.\n\n\n\n\n\n\n--no-pager\n (optional):\n Do not pipe output into a pager.\n\n\n\n\n\n\n--show-diffs\n (optional):\n Include the generated diffs in the output if available (see \nmachinery help analyze\n\n for more information).\n\n\n\n\n\n\n--html\n (optional):\n Run a web server and open the system description in HTML format in your web browser using the\n \nxdg-open\n command.\n\n\n\n\n\n\n--verbose\n (optional):\n Display the filters which were applied before showing the system description.\n\n\n\n\n\n\nExamples\n\n\n\n\n\n\nShow the system description taken from the last inspection, saved as \nearth\n:\n\n\n$ \nmachinery\n show earth\n\n\n\n\n\n\nShow the system description, but limit the scope to repositories only:\n\n\n$ \nmachinery\n show earth -s repositories\n\n\n\n\n\n\nShow the list of changed managed files:\n\n\n$ \nmachinery\n show earth --scope=changed-managed-files",
771
- "title": "Show"
772
- },
773
- {
774
- "location": "/machinery-show.1/#show-show-system-description",
775
- "text": "",
776
- "title": "show \u2014 Show System Description"
777
- },
778
- {
779
- "location": "/machinery-show.1/#synopsis",
780
- "text": "machinery show [-s SCOPE | --scope=SCOPE] [-e IGNORE-SCOPE | --ignore-scope=IGNORE-SCOPE] [--no-pager] [--show-diffs] [--html] NAME machinery help show",
781
- "title": "Synopsis"
782
- },
783
- {
784
- "location": "/machinery-show.1/#description",
785
- "text": "The show command displays a stored system description.\nScopes are supported and limit the output to the given scope.\nThe hostname of the inspected system and the last modification\nin local time are shown in the title of each scope section.",
786
- "title": "Description"
787
- },
788
- {
789
- "location": "/machinery-show.1/#arguments",
790
- "text": "NAME (required):\n Use specified system description.",
791
- "title": "Arguments"
792
- },
793
- {
794
- "location": "/machinery-show.1/#options",
795
- "text": "-s SCOPE , --scope=SCOPE (optional):\n Limit output to the specified scope.\n See the Scope section for more information.\n If displaying information related to a scope fails, show will print an error message what has failed.\n In case of an error, no content is displayed. -e IGNORE-SCOPE , --ignore-scope=IGNORE-SCOPE (optional):\n Skip output of the specified scope.\n See the Scope section for more information. --no-pager (optional):\n Do not pipe output into a pager. --show-diffs (optional):\n Include the generated diffs in the output if available (see machinery help analyze \n for more information). --html (optional):\n Run a web server and open the system description in HTML format in your web browser using the\n xdg-open command. --verbose (optional):\n Display the filters which were applied before showing the system description.",
796
- "title": "Options"
797
- },
798
- {
799
- "location": "/machinery-show.1/#examples",
800
- "text": "Show the system description taken from the last inspection, saved as earth : $ machinery show earth Show the system description, but limit the scope to repositories only: $ machinery show earth -s repositories Show the list of changed managed files: $ machinery show earth --scope=changed-managed-files",
801
- "title": "Examples"
802
- },
803
- {
804
- "location": "/machinery-upgrade-format.1/",
805
- "text": "upgrade-format \u2014 Upgrade System Description\n\n\nSynopsis\n\n\nmachinery upgrade-format\n --all\n\n\nmachinery upgrade-format\n NAME\n\n\nmachinery\n help upgrade-format\n\n\nDescription\n\n\nThe \nupgrade-format\n command upgrades a system description to the latest format\nversion.\n\n\nThe \nformat\n in this context is the structure of the internal system description\ndata. If the format version of a system description does not match the current\n\nmachinery\n format version, \nmachinery\n is no longer able to work with the data\nuntil it is upgraded. The current format version can be retrieved using\n\nmachinery --version\n. The format version of a system description can be found\nin the \nmeta\n section of the according \nmanifest.json\n file.\n\n\nIf the \n--all\n switch is given all local descriptions will be upgraded.\n\n\nOptions\n\n\n\n\n--all\n (optional):\n Upgrade all stored system descriptions.\n\n\n\n\nArguments\n\n\n\n\nNAME\n (optional):\n Upgrade specified system description.\n\n\n\n\nExamples\n\n\n\n\n\n\nUpgrade the system description stored as \nearth\n:\n\n\n$ \nmachinery\n upgrade-format earth\n\n\n\n\n\n\nUpgrade all stored system descriptions:\n\n\n$ \nmachinery\n upgrade-format --all",
806
- "title": "Upgrade Format"
807
- },
808
- {
809
- "location": "/machinery-upgrade-format.1/#upgrade-format-upgrade-system-description",
810
- "text": "",
811
- "title": "upgrade-format \u2014 Upgrade System Description"
812
- },
813
- {
814
- "location": "/machinery-upgrade-format.1/#synopsis",
815
- "text": "machinery upgrade-format --all machinery upgrade-format NAME machinery help upgrade-format",
816
- "title": "Synopsis"
817
- },
818
- {
819
- "location": "/machinery-upgrade-format.1/#description",
820
- "text": "The upgrade-format command upgrades a system description to the latest format\nversion. The format in this context is the structure of the internal system description\ndata. If the format version of a system description does not match the current machinery format version, machinery is no longer able to work with the data\nuntil it is upgraded. The current format version can be retrieved using machinery --version . The format version of a system description can be found\nin the meta section of the according manifest.json file. If the --all switch is given all local descriptions will be upgraded.",
821
- "title": "Description"
822
- },
823
- {
824
- "location": "/machinery-upgrade-format.1/#options",
825
- "text": "--all (optional):\n Upgrade all stored system descriptions.",
826
- "title": "Options"
827
- },
828
- {
829
- "location": "/machinery-upgrade-format.1/#arguments",
830
- "text": "NAME (optional):\n Upgrade specified system description.",
831
- "title": "Arguments"
832
- },
833
- {
834
- "location": "/machinery-upgrade-format.1/#examples",
835
- "text": "Upgrade the system description stored as earth : $ machinery upgrade-format earth Upgrade all stored system descriptions: $ machinery upgrade-format --all",
836
- "title": "Examples"
837
- },
838
- {
839
- "location": "/machinery-validate.1/",
840
- "text": "validate \u2014 Validate System Description\n\n\nSynopsis\n\n\nmachinery validate\n NAME\n\n\nmachinery\n help validate\n\n\nDescription\n\n\nThe \nvalidate\n subcommand validates an existing system description.\nIt checks, that the description has the correct structure and the data stored\nthere conforms to the required schema. It also verifies that all extracted files\nare present on disk and that all files have meta information.\n\n\nIn case of issues errors are shown with additional information.\n\n\nThe main purpose of this command is to verify the system description after\nmanually editing it.\n\n\nArguments\n\n\n\n\nNAME\n (required):\n Name of the system description.\n\n\n\n\nExamples\n\n\n\n\n\n\nValidate the system description with the name \nmyhost\n:\n\n\n$ \nmachinery\n validate myhost",
841
- "title": "Validate"
842
- },
843
- {
844
- "location": "/machinery-validate.1/#validate-validate-system-description",
845
- "text": "",
846
- "title": "validate \u2014 Validate System Description"
847
- },
848
- {
849
- "location": "/machinery-validate.1/#synopsis",
850
- "text": "machinery validate NAME machinery help validate",
851
- "title": "Synopsis"
852
- },
853
- {
854
- "location": "/machinery-validate.1/#description",
855
- "text": "The validate subcommand validates an existing system description.\nIt checks, that the description has the correct structure and the data stored\nthere conforms to the required schema. It also verifies that all extracted files\nare present on disk and that all files have meta information. In case of issues errors are shown with additional information. The main purpose of this command is to verify the system description after\nmanually editing it.",
856
- "title": "Description"
857
- },
858
- {
859
- "location": "/machinery-validate.1/#arguments",
860
- "text": "NAME (required):\n Name of the system description.",
861
- "title": "Arguments"
862
- },
863
- {
864
- "location": "/machinery-validate.1/#examples",
865
- "text": "Validate the system description with the name myhost : $ machinery validate myhost",
866
- "title": "Examples"
867
- }
868
- ]
869
- }