Skip to content

Commit 4f3bf40

Browse files
committed
Adding publisher Salt-Minion
1 parent a041b29 commit 4f3bf40

File tree

2 files changed

+143
-0
lines changed

2 files changed

+143
-0
lines changed

articles/virtual-machines/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,6 +1081,8 @@
10811081
items:
10821082
- name: Chef
10831083
href: ./extensions/chef.md
1084+
- name: Salt-Minion
1085+
href: ./extensions/salt-minion.md
10841086
- name: Stackify Retrace
10851087
href: ./extensions/stackify-retrace-linux.md
10861088
- name: Tenable
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
title: Salt Minion for Linux or Windows Azure VMs
3+
description: Install Salt Minion on Linux or Windows VMs using the VM Extension.
4+
ms.topic: article
5+
ms.service: virtual-machines
6+
ms.subservice: extensions
7+
ms.author: gabsta
8+
author: GabstaMSFT
9+
ms.date: 01/24/2024
10+
---
11+
# Install Salt Minion on Linux or Windows VMs using the VM Extension
12+
13+
## Prerequisites
14+
15+
* A Microsoft Azure account with one (or more) Windows or Linux VMs
16+
* A Salt Master (either on-prem or in a cloud) that can accept connections from Salt minions hosted on Azure
17+
* The Salt Minion VM Extension requires that the target VM is connected to the internet in order to fetch Salt packages
18+
19+
## Supported Platforms
20+
21+
Azure VM running any of the following:
22+
23+
* Ubuntu 20.04, 22.04 (x86_64)
24+
* Debian 10, 11 (x86_64)
25+
* Oracle Linux 7, 8, 9 (x86_64)
26+
* RHEL 7, 8, 9 (x86_64)
27+
* Microsoft Windows 10, 11 Pro (x86_64)
28+
* Microsoft Windows Server 2012 R2, 2016, 2019, 2022 Datacenter (x86_64)
29+
30+
If you want another distro to be supported (assuming Salt [supports](https://docs.saltproject.io/salt/install-guide/en/latest/topics/salt-supported-operating-systems.html) it), please file an issue on [Gitlab](https://gitlab.com/turtletraction-oss/azure-salt-vm-extensions/-/issues).
31+
32+
## Supported Salt Minion versions
33+
34+
* 3006 and up (onedir)
35+
36+
## Extension details
37+
38+
* Publisher name: `turtletraction.oss`
39+
* Linux extension name: `salt-minion.linux`
40+
* Windows extension name: `salt-minion.windows`
41+
42+
## Salt Minion settings
43+
44+
* `master_address` - Salt Master address to connect to (`localhost` by default)
45+
* `minion_id` - Minion ID (hostname by default)
46+
* `salt_version` - Salt Minion version to install, e.g. `3006.1` (`latest` by default)
47+
48+
## Install Salt Minion using the Azure Portal UI
49+
50+
1. Select one of your VMs
51+
2. In the left menu click **Extensions + applications**
52+
3. Click **+ Add**
53+
4. In the gallery, type **salt minion** in the search bar
54+
5. Select the **Salt Minion** tile and click **Next**
55+
6. Enter configuration parameters in the provided form (see [Salt Minion settings](#salt-minion-settings))
56+
7. Click **Review + create**
57+
58+
## Install Salt Minion using the Azure CLI
59+
60+
```shell
61+
az vm extension set --resource-group my-group --vm-name vm-ubuntu22 --name salt-minion.linux --publisher turtletraction.oss --settings '{"master_address": "10.x.x.x"}'
62+
az vm extension set --resource-group my-group --vm-name vm-windows11 --name salt-minion.windows --publisher turtletraction.oss --settings '{"master_address": "10.x.x.x"}'
63+
```
64+
65+
To uninstall it:
66+
67+
```shell
68+
az vm extension delete --resource-group my-group --vm-name vm-ubuntu22 --name salt-minion.linux
69+
az vm extension delete --resource-group my-group --vm-name vm-windows11 --name salt-minion.windows
70+
```
71+
72+
## Install Salt Minion using the Azure ARM tempate
73+
74+
```json
75+
{
76+
"$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
77+
"contentVersion": "1.0.0.0",
78+
"parameters": {
79+
"vmName": {
80+
"type": "string"
81+
},
82+
"master_address": {
83+
"type": "string"
84+
},
85+
"salt_version": {
86+
"type": "string"
87+
},
88+
"minion_id": {
89+
"type": "string"
90+
}
91+
},
92+
"resources": [
93+
{
94+
"name": "[concat(parameters('vmName'),'/salt-minion.linux')]",
95+
"type": "Microsoft.Compute/virtualMachines/extensions",
96+
"location": "[resourceGroup().location]",
97+
"apiVersion": "2015-06-15",
98+
"properties": {
99+
"publisher": "turtletraction.oss",
100+
"type": "salt-minion.linux",
101+
"typeHandlerVersion": "1.0",
102+
"autoUpgradeMinorVersion": true,
103+
"settings": {
104+
"master_address": "[parameters('master_address')]",
105+
"salt_version": "[parameters('salt_version')]",
106+
"minion_id": "[parameters('minion_id')]"
107+
}
108+
}
109+
}
110+
]
111+
}
112+
```
113+
114+
## Install Salt Minion using Terraform
115+
116+
Assuming that you have defined a VM resource in TF named `vm_ubuntu`, then use something like this to install the extension on it:
117+
118+
```hcl
119+
resource "azurerm_virtual_machine_extension" "vmext_ubuntu" {
120+
name = "vmext_ubuntu"
121+
virtual_machine_id = azurerm_linux_virtual_machine.vm_ubuntu.id
122+
publisher = "turtletraction.oss"
123+
type = "salt-minion.linux"
124+
type_handler_version = "1.0"
125+
126+
settings = <<SETTINGS
127+
{
128+
"salt_version": "3006.1",
129+
"master_address": "x.x.x.x",
130+
"minion_id": "ubuntu22"
131+
}
132+
SETTINGS
133+
}
134+
```
135+
136+
## Support
137+
138+
* For commercial support or assistance with Salt you can visit the extension creator, [TurtleTraction](https://turtletraction.com/salt-open-support)
139+
* The source code of this extension is available on [Gitlab](https://gitlab.com/turtletraction-oss/azure-salt-vm-extensions/)
140+
* For Azure related issues you can file an Azure support incident. Go to the [Azure support site](https://azure.microsoft.com/support/options/) and select Get support
141+

0 commit comments

Comments
 (0)