Skip to content

Commit 46fb834

Browse files
authored
Merge pull request #267461 from GabstaMSFT/main
Adding Salt-Minion Extension Publisher
2 parents 9096a0f + 1d99a6c commit 46fb834

File tree

3 files changed

+144
-1
lines changed

3 files changed

+144
-1
lines changed

articles/virtual-machines/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1083,6 +1083,8 @@
10831083
items:
10841084
- name: Chef
10851085
href: ./extensions/chef.md
1086+
- name: Salt Minion
1087+
href: ./extensions/salt-minion.md
10861088
- name: Stackify Retrace
10871089
href: ./extensions/stackify-retrace-linux.md
10881090
- name: Tenable

articles/virtual-machines/extensions/custom-script-linux.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Use Version 2 for new and existing deployments. The new version is a drop-in rep
4141
| Azure Linux | 2.x | 2.x |
4242
| openSUSE | 12.3+ | Not Supported |
4343
| Oracle Linux | 6.4+, 7.x+, 8.x+ | Not Supported |
44-
| Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+ | 8.6+, 9.0+ |
44+
| Red Hat Enterprise Linux | 6.7+, 7.x+, 8.x+, 9.x+ | 8.6+, 9.x+ |
4545
| Rocky Linux | 9.x+ | 9.x+ |
4646
| SLES | 12.x+, 15.x+ | 15.x SP4+ |
4747
| Ubuntu | 18.04+, 20.04+, 22.04+ | 20.04+, 22.04+ |
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-premises 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 supported OS:
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), an issue can be filed 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, for example `3006.1` (`latest` by default)
47+
48+
## Install Salt Minion using the Azure portal
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 template
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 TerraForm 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)