1
1
# Packer Plugin for VMware
2
2
3
- The Packer Plugin for VMware is a multi-component plugin that can be used with
4
- [ Packer] [ packer ] to create virtual machine images for use with
5
- [ VMware vSphere Hypervisor] [ vsphere-hypervisor ] and
6
- [ desktop hypervisor products] [ desktop-hypervisors ] such as VMware Fusion Pro,
7
- VMware Workstation Pro, and VMware Workstation Player,
8
-
9
- The plugin includes two builders which are able to create images, depending on
10
- your desired strategy:
11
-
12
- - [ ` vmware-iso ` ] [ docs-vmware-iso ] - This builder creates a virtual machine,
13
- installs an operating system from an ISO, provisions software within the
14
- operating system, and then exports the virtual machine as an image. This is
15
- best for those who want to start by creating a base image.
16
-
17
- - [ ` vmware-vmx ` ] [ docs-vmware-vmx ] - This builder imports an existing virtual
18
- machine (from a` .vmx ` file), runs provisioners on the virtual machine, and
19
- then exports the virtual machine as an image. This is best for those who want
20
- to start from an existing virtual machine as the source. You can feed the
21
- artifact of this builder back into Packer to iterate on a machine image.
22
-
23
- ## Differences from the Packer Plugin for VMware vSphere
24
-
25
- While both this plugin and the ` packer-plugin-vsphere ` are designed to create
26
- virtual machine images, there are some key differences:
27
-
28
- - ** Platforms** : This plugin facilitates the creation of virtual machine images
29
- by integrating with VMware vSphere Hypervisor and desktop virtualization
30
- products such as VMware Fusion Pro, VMware Workstation Pro, and VMware
31
- Workstation Player; without using the VMware vSphere API. On the other hand,
32
- ` packer-plugin-vsphere ` is specifically developed to utilize the VMware
33
- vSphere API, facilitating the creation of virtual machine images by
34
- integrating with VMware vCenter Server and the VMware vSphere Hypervisor.
35
-
36
- - ** Focus** : This plugin is purpose-built with a focus on VMware vSphere
37
- Hypervisor and desktop virtualization products such as VMware Fusion Pro,
38
- VMware Workstation Pro, and VMware Workstation Player. In contrast,
39
- ` packer-plugin-vsphere ` , includes builders and post-processors with a focus on
40
- VMware vSphere, offering capabilities such as creating virtual machine images,
41
- cloning and modifying base virtual machine images, and exporting artifacts in
42
- specified locations and formats.
43
-
44
- Please refer to the documentation for each plugin to understand the specific
45
- capabilities and configuration options.
3
+ The Packer Plugin for VMware is a plugin that can be used to create virtual machine images for use
4
+ with VMware [ desktop hypervisors] [ desktop-hypervisors ] ( VMware Fusion Pro, VMware Workstation Pro,
5
+ and VMware Workstation Player[ ^ 1 ] ) and [ VMware vSphere Hypervisor] [ vsphere-hypervisor ] [ ^ 2 ] .
46
6
47
- ## Requirements
7
+ The plugin includes two builders which are able to create images, depending on your desired
8
+ strategy:
9
+
10
+ - [ ` vmware-iso ` ] [ docs-vmware-iso ] - This builder creates a virtual machine, installs an operating
11
+ system from an ISO, provisions software within the operating system, and then exports the virtual
12
+ machine as an image. This is best for those who want to start by creating an image.
13
+
14
+ - [ ` vmware-vmx ` ] [ docs-vmware-vmx ] - This builder imports an existing virtual machine (from a` .vmx `
15
+ file), runs provisioners on the virtual machine, and then exports the virtual machine as an image.
16
+ This is best for those who want to start from an existing virtual machine as the source. You can
17
+ feed the artifact of this builder back into Packer to iterate on an image.
18
+
19
+ ## Supported Hypervisors
20
+
21
+ The following hypervisors are supported by this plugin.
48
22
49
23
** Desktop Hypervisor** :
50
24
51
25
- VMware Fusion Pro (macOS)
52
26
- VMware Workstation Pro (Linux and Windows)
53
- - VMware Workstation Player (Linux)
27
+ - VMware Workstation Player (Linux and Windows) [ ^ 1 ]
54
28
55
29
** Bare Metal Hypervisor** :
56
30
57
- - VMware vSphere Hypervisor
31
+ - VMware vSphere Hypervisor [ ^ 2 ]
32
+
33
+ The plugin supports versions in accordance with the [ Broadcom Product Lifecycle] [ product-lifecycle ] .
58
34
59
- The plugin supports versions in accordance with the
60
- [ Broadcom Product Lifecycle] [ product-lifecycle ] .
35
+ ## Requirements
61
36
62
37
** Go** :
63
38
64
39
- [ Go 1.21] [ golang-install ]
65
40
66
- Required if building the plugin.
41
+ Required if building the plugin.
67
42
68
43
## Usage
69
44
70
- For a few examples on how to use this plugin with Packer refer to the
71
- [ example ] ( example/ ) template directory .
45
+ For a examples on how to use this plugin with Packer refer to the [ example ] ( example/ ) directory of
46
+ the repository .
72
47
73
48
## Installation
74
49
75
50
### Using Pre-built Releases
76
51
77
52
#### Automatic Installation
78
53
79
- Packer v1.7.0 and later supports the ` packer init ` command which enables the
80
- automatic installation of Packer plugins. For more information, see the
81
- [ Packer documentation] [ docs-packer-init ] .
54
+ Packer v1.7.0 and later supports the ` packer init ` command which enables the automatic installation
55
+ of Packer plugins. For more information, see the [ Packer documentation] [ docs-packer-init ] .
82
56
83
- To install this plugin, copy and paste this code (HCL2) into your Packer
84
- configuration and run ` packer init ` .
57
+ To install this plugin, copy and paste this code (HCL2) into your Packer configuration and run
58
+ ` packer init ` .
85
59
86
60
``` hcl
87
61
packer {
@@ -97,50 +71,70 @@ packer {
97
71
98
72
#### Manual Installation
99
73
100
- You can download [ pre-built binary releases] [ releases-vmware-plugin ] of the
101
- plugin on GitHub. Once you have downloaded the latest release archive for your
102
- target operating system and architecture, extract the release archive to
103
- retrieve the plugin binary file for your platform.
74
+ You can download the plugin from the GitHub [ releases] [ releases-vmware-plugin ] . Once you have
75
+ downloaded the latest release archive for your target operating system and architecture, extract the
76
+ release archive to retrieve the plugin binary file for your platform.
104
77
105
78
To install the downloaded plugin, please follow the Packer documentation on
106
79
[ installing a plugin] [ docs-packer-plugin-install ] .
107
80
108
81
### Using the Source
109
82
110
- If you prefer to build the plugin from sources, clone the GitHub repository
111
- locally and run the command ` go build ` from the repository root directory. Upon
112
- successful compilation, a ` packer-plugin-vmware ` plugin binary file can be found
113
- in the root directory.
83
+ If you prefer to build the plugin from sources, clone the GitHub repository locally and run the
84
+ command ` go build ` from the repository root directory. Upon successful compilation, a
85
+ ` packer-plugin-vmware ` plugin binary file can be found in the root directory.
114
86
115
87
To install the compiled plugin, please follow the Packer documentation on
116
88
[ installing a plugin] [ docs-packer-plugin-install ] .
117
89
118
90
### Configuration
119
91
120
- For more information on how to configure the plugin, please see the plugin
121
- documentation.
92
+ For more information on how to configure the plugin, please see the plugin documentation.
122
93
123
94
- ` vmware-iso ` [ builder documentation] [ docs-vmware-iso ]
124
95
- ` vmware-vmx ` [ builder documentation] [ docs-vmware-vmx ]
125
96
126
97
## Contributing
127
98
128
- - If you think you've found a bug in the code or you have a question regarding
129
- the usage of this software, please reach out to us by opening an issue in this
130
- GitHub repository.
99
+ If you discover a bug or would like to suggest a feature or an enhancement, please use the GitHub
100
+ [ issues] [ issues ] . Issues are monitored by the maintainers and are prioritized based on the
101
+ criticality and community reactions.
102
+
103
+ Before opening an issue, please check existing open or recently closed issues to avoid duplicates.
104
+
105
+ When opening an issue, please include as much information as possible, such as:
106
+
107
+ - A minimal reproducible example or a series of reproduction steps.
108
+ - Details about your environment or deployment that might be unusual.
109
+
110
+ Please review the [ contribution guidelines] [ contributing ] before submitting a pull request.
111
+
112
+ For enhancements or features, please open an issue to discuss before submitting.
113
+
114
+ For comprehensive details on contributing, refer to the [ contribution guidelines] [ contributing ] .
115
+
116
+ [ ^ 1 ] :
117
+ Support for VMware Workstation Player is deprecated and will be removed in a future release.
118
+ Read more about [ discontinuation of VMware Workstation Player] [ footnote-player-discontinuation ] .
119
+ The project will continue to provide bug fixes; however, enhancements for this platform will
120
+ no longer be addressed.
131
121
132
- - Contributions to this project are welcome: if you want to add a feature or a
133
- fix a bug, please do so by opening a pull request in this GitHub repository.
134
- In case of feature contribution, we kindly ask you to open an issue to discuss
135
- it beforehand.
122
+ [ ^ 2 ] :
123
+ Support for VMware vSphere Hypervisor (ESXi) is deprecated and will be removed in a future release.
124
+ Please transition to using the [ Packer Plugin for VMware vSphere] [ footnote-packer-plugin-vsphere ] .
125
+ The project will continue to provide bug fixes; however, enhancements for this platform will
126
+ no longer be addressed.
136
127
128
+ [ contributing ] : .github/CONTRIBUTING.md
129
+ [ issues ] : https://github.com/hashicorp/packer-plugin-vmware/issues
137
130
[ vsphere-hypervisor ] : https://www.vmware.com/products/vsphere-hypervisor.html
138
131
[ desktop-hypervisors ] : https://www.vmware.com/products/desktop-hypervisor.html
139
132
[ docs-packer-init ] : https://developer.hashicorp.com/packer/docs/commands/init
140
133
[ docs-packer-plugin-install ] : https://developer.hashicorp.com/packer/docs/plugins/install-plugins
141
134
[ docs-vmware-iso ] : https://developer.hashicorp.com/packer/plugins/builders/vmware/iso
142
135
[ docs-vmware-vmx ] : https://developer.hashicorp.com/packer/plugins/builders/vmware/vmx
143
136
[ golang-install ] : https://golang.org/doc/install
144
- [ packer ] : https://www.packer.io
145
137
[ releases-vmware-plugin ] : https://github.com/hashicorp/packer-plugin-vmware/releases
146
138
[ product-lifecycle ] : https://support.broadcom.com/group/ecx/productlifecycle
139
+ [ footnote-player-discontinuation ] : https://blogs.vmware.com/workstation/2024/05/vmware-workstation-pro-now-available-free-for-personal-use.html
140
+ [ footnote-packer-plugin-vsphere ] : https://developer.hashicorp.com/packer/integrations/hashicorp/vsphere
0 commit comments