{"id":1315,"date":"2023-03-08T13:19:01","date_gmt":"2023-03-08T12:19:01","guid":{"rendered":"https:\/\/thomas-kopton.de\/vblog\/?p=1315"},"modified":"2023-03-08T13:19:01","modified_gmt":"2023-03-08T12:19:01","slug":"how-to-provision-local-saltstack-master-to-work-with-vmware-aria-automation-config-cloud-aka-saltstack-config","status":"publish","type":"post","link":"https:\/\/thomas-kopton.de\/vblog\/?p=1315","title":{"rendered":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config)"},"content":{"rendered":"\n<p>Recently I had to install and configure a <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">SaltStack Master<\/mark> in my home lab and connect this master to my <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Aria Automation Config Cloud <\/mark>(aka SaltStack Config, i will use both names in this post) instance.<\/p>\n\n\n\n<p>Even if the official documentation improved a lot, there are still some pitfalls, especially if you are not experienced with the Salt setup.<\/p>\n\n\n\n<p>In this blog post you will see, step by step, the entire process of preparing CentOS 8, installing Salt components and configuring the master to join the Cloud RaaS instance. <\/p>\n\n\n\n<p>My new SaltStack Master will run on a CentOS 8 box:<\/p>\n\n\n\n<p><code>4.18.0-348.2.1.el8_5.x86_64 #1 SMP <\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 1 &#8211; Prepare CentOS 8<\/h4>\n\n\n\n<p>The first thing you need to ensure is, that the <strong>firewall<\/strong> is not blocking the Salt master ports.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[root@saltmaster02 ~]# firewall-cmd --permanent --add-port=4505-4506\/tcp success\n[root@saltmaster02 ~]# firewall-cmd --reload success<\/pre>\n\n\n\n<p>You can find the details on the official page of the salt project: <a href=\"https:\/\/docs.saltproject.io\/en\/latest\/topics\/tutorials\/firewall.html\">https:\/\/docs.saltproject.io\/en\/latest\/topics\/tutorials\/firewall.html<\/a><\/p>\n\n\n\n<p>You also need to ensure that the <code>gcc<\/code> package is installed, if it is not available, simply run:<\/p>\n\n\n\n<p><code>sudo yum install gcc python3-devel<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 2 &#8211; Install Salt on your Salt master<\/h4>\n\n\n\n<p>You must install the Salt master service and Salt minion service plus some few more packages if needed on the Salt master. The following instructions install the latest Salt release on CentOS 8 (RHEL 8).<\/p>\n\n\n\n<p>In the Salt master&#8217;s terminal, run the following commands to install the Salt Project repository and key:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo rpm --import https:\/\/repo.saltproject.io\/py3\/redhat\/8\/x86_64\/latest\/SALTSTACK-GPG-KEY.pub\ncurl -fsSL https:\/\/repo.saltproject.io\/py3\/redhat\/8\/x86_64\/latest.repo | sudo tee \/etc\/yum.repos.d\/salt.repo<\/pre>\n\n\n\n<p>Run <code>sudo yum clean expire-cache<\/code>. Install the salt-minion service and salt-master service on your Salt master: <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo yum install salt-master\nsudo yum install salt-minion\n\n# Optional packages\nsudo yum install salt-ssh\nsudo yum install salt-syndic\nsudo yum install salt-cloud\nsudo yum install salt-api<\/pre>\n\n\n\n<p>Enable and start service for salt-minion, salt-master, or other Salt components:<\/p>\n\n\n\n<pre id=\"codecell7\" class=\"wp-block-preformatted\">sudo systemctl enable salt-master &amp;&amp; sudo systemctl start salt-master\nsudo systemctl enable salt-minion &amp;&amp; sudo systemctl start salt-minion\nsudo systemctl enable salt-syndic &amp;&amp; sudo systemctl start salt-syndic\nsudo systemctl enable salt-api &amp;&amp; sudo systemctl start salt-api\n<\/pre>\n\n\n\n<p>See the <a rel=\"noreferrer noopener\" href=\"https:\/\/docs.saltproject.io\/salt\/install-guide\/en\/latest\/topics\/install-by-operating-system\/index.html\" target=\"_blank\">Salt Install guide<\/a> for information about installing Salt on other operating systems.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 3 &#8211; Create initial master configuration<\/h4>\n\n\n\n<p>Create a <code>master.conf<\/code> file in the <code>\/etc\/salt\/minion.d<\/code> directory. In this file, set the Salt master\u2019s IP address to point to itself:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">master: localhost<\/pre>\n\n\n\n<p>Restart the Salt master service and Salt minion service (the services have been enabled in the previous step):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo systemctl restart salt-master\nsudo systemctl restart salt-minion<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Step 4 &#8211; Install and configure the Master Plugin<\/h4>\n\n\n\n<p>After you install Salt on your om-premises infrastructure, you must install and configure the <strong>Master SSEAPE Plugin<\/strong>, which enables your Salt masters to communicate with Aria Automation Config (SaltStack Config) Cloud.<\/p>\n\n\n\n<p>To install and configure the Master PSSEAPE Plugin you first need to install the required Python libraries. Login to your local master and run:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo pip3 install pyjwt\nsudo pip3 install pika<\/pre>\n\n\n\n<p>Download the <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">latest Master Plugin<\/mark><\/strong> wheel from Customer Connect. You will find the file in the package highlighted in the following picture.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27-695x1024.png\" alt=\"\" class=\"wp-image-1322\" width=\"521\" height=\"768\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27-695x1024.png 695w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27-204x300.png 204w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27-768x1131.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27-1043x1536.png 1043w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-27.png 1366w\" sizes=\"auto, (max-width: 521px) 100vw, 521px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Figure 01: Package containing the SSEAPE Plugin.<\/em><\/figcaption><\/figure>\n\n\n\n<p id=\"GUID-421CE306-A96B-458E-A19B-FCF01A6899C5__P_E2C671B2-AFB4-455A-A394-2052B74ACC43\">The Master Plugin is included in the Automated Installer .tar.gz file. After you download and extract the .tar.gz file, you can find the Master Plugin in the <code>sse-installer\/salt\/sse\/eapi_plugin\/files<\/code> directory.<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Put the wheel file into your<\/mark><\/strong> <code>\/root<\/code> <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">directory<\/mark><\/strong> and install the Master Plugin by manually installing the Python wheel. Use the following example commands, replacing the exact name of the wheel file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo pip3 install SSEAPE-file-name.whl --prefix \/usr<\/pre>\n\n\n\n<p>Verify that the <code>\/etc\/salt\/master.d<\/code> directory exists, create it if needed.<\/p>\n\n\n\n<p>Run the following command to generate the master configuration file.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo sseapi-config --all &gt; \/etc\/salt\/master.d\/raas.conf<\/pre>\n\n\n\n<p>If running this command causes an error, see <a href=\"https:\/\/docs.vmware.com\/en\/VMware-vRealize-Automation-SaltStack-Config\/SaaS\/getting-started-saltstack-config-cloud\/GUID-E0CA48F2-4FEF-4BB8-B8C1-4E089B290FB6.html#GUID-E0CA48F2-4FEF-4BB8-B8C1-4E089B290FB6\">Troubleshooting SaltStack Config Cloud<\/a>.        <\/p>\n\n\n\n<p>Restart the Salt master service.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo systemctl restart salt-master<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Step 5 &#8211; Generate an API token<\/h4>\n\n\n\n<p>Before you can connect your Salt master to Aria Automation Config Cloud, you must generate an API token using the Cloud Services Console. This token is used to authenticate your Salt master with VMware Cloud Services.<\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">NOTE:<\/mark><\/strong> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">You must have the same role(s) as the role(s) you are configuring for the token.<\/mark> So for example if you are assigning the Organization-Administrator role to the new token you must be Organization-Administrator as well! Please also see: <a href=\"https:\/\/docs.vmware.com\/en\/VMware-Cloud-services\/services\/Using-VMware-Cloud-Services\/GUID-E2A3B1C1-E9AD-4B00-A6B6-88D31FCDDF7C.html\">https:\/\/docs.vmware.com\/en\/VMware-Cloud-services\/services\/Using-VMware-Cloud-Services\/GUID-E2A3B1C1-E9AD-4B00-A6B6-88D31FCDDF7C.html<\/a><\/p>\n\n\n\n<p>To generate an API token:<\/p>\n\n\n\n<p>On the Cloud Services Console toolbar, click your user name and select My Account &gt; API Tokens.<\/p>\n\n\n\n<p>Click Generate Token.<a href=\"https:\/\/docs.vmware.com\/en\/VMware-vRealize-Automation-SaltStack-Config\/SaaS\/getting-started-saltstack-config-cloud\/images\/GUID-BA5AD57A-C54C-4D21-BA2D-C46CA8CA97D3-low.png\"><\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"597\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-1024x597.png\" alt=\"\" class=\"wp-image-1369\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-1024x597.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-300x175.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-768x448.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-1536x895.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-29-2048x1194.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Figure 02: Generate new API token.<\/em><\/figcaption><\/figure>\n\n\n\n<p>Enter a name for the token.<\/p>\n\n\n\n<p>Select the token&#8217;s Time to Live (TTL). The default duration is six months. Note: A non-expiring token can be a security risk if compromised. If this happens, you must revoke the token.<\/p>\n\n\n\n<p><strong>Define scopes for the token.<\/strong> To access the Aria Automation Config Cloud service, you must select the <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">Organization Admin<\/mark> or <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">Organization Owner roles <\/mark>as well as the <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\">Salt Master Service Role<\/mark>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"794\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-1024x794.png\" alt=\"\" class=\"wp-image-1373\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-1024x794.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-300x233.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-768x595.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-1536x1191.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-31-2048x1588.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Figure 03: Specify the Organization and Service Roles.<\/em><\/figcaption><\/figure>\n\n\n\n<p>(Optional) Set an email preference to receive a reminder when your token is about to expire.<\/p>\n\n\n\n<p>Click Generate and the newly generated API token will appear in the Token Generated window.<\/p>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">Save the token value to a secure location.<\/mark> <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">After you generate the token, you will only be able to see the token&#8217;s name on the API Tokens page, not the token value itself.<\/mark> To regenerate the token, click Regenerate.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Step 6 &#8211; Connect your Salt master to Aria Automation Config (SaltStack Config) Cloud<\/h4>\n\n\n\n<p>After you generated an API token, you use it to connect your Salt master to Aria Automation Config Cloud.<\/p>\n\n\n\n<p>To connect your Salt master first set a env variable to store the API token you have created in the previous step:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">export CSP_API_TOKEN=&lt;api token value&gt;<\/pre>\n\n\n\n<p>Run the <code>sseapi-config join<\/code> command to connect your Salt master to Aria Automation Config Cloud. You have to replace the <code>ssc-url<\/code> and <code>csp-url<\/code> values with your region-specific URLs. See the following table for the region-specific URLs.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td>Region name<\/td><td>SSC URL<\/td><td>CSP URL<\/td><\/tr><tr><td>US<\/td><td>https:\/\/ssc-gateway.mgmt.cloud.vmware.com<\/td><td>https:\/\/console.cloud.vmware.com<\/td><\/tr><tr><td>DE (Germany)<\/td><td>https:\/\/de.ssc-gateway.mgmt.cloud.vmware.com<\/td><td>https:\/\/console.cloud.vmware.com<\/td><\/tr><tr><td>IN (India)<\/td><td>https:\/\/in.ssc-gateway.mgmt.cloud.vmware.com<\/td><td>https:\/\/console.cloud.vmware.com<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Region-specific URLs<\/figcaption><\/figure>\n\n\n\n<p>Run the <code>sseapi-config join<\/code> command:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo sseapi-config join --ssc-url &lt;SSC URL&gt; --csp-url &lt;CSP URL&gt;<\/pre>\n\n\n\n<p>In my example the command will be:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sseapi-config join --ssc-url https:\/\/ssc-gateway.mgmt.cloud.vmware.com --csp-url https:\/\/console.cloud.vmware.com<\/pre>\n\n\n\n<p>If you need to redo the joining process, re-run the <code>sseapi-config join<\/code> command and pass the flag <code>--override-oauth-app<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sseapi-config join --ssc-url &lt;SSC URL&gt; --csp-url &lt;CSP URL&gt; --override-oauth-app<\/pre>\n\n\n\n<p id=\"GUID-02E70461-24D1-4DD6-B7AB-0C221471684F__P_86802D6C-7E10-4E3A-AE06-FF4211391328\">The <code>--override-oauth-app<\/code> flag deletes the OAuth app used to get an access token and recreates it.<\/p>\n\n\n\n<p>Restart the Salt master service.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">systemctl restart salt-master<\/pre>\n\n\n\n<p>&#8220;<em>Repeat this process for each Salt master. Note: After you connect each Salt master to Aria Automation Config Cloud, you can delete the API token. It is only required for connecting your Salt masters.<\/em><\/p>\n\n\n\n<p><em>After you run the <code>sseapi-config<\/code> command, an OAuth app is created in your Organization for each Salt master. Salt masters use the OAuth app to get an access token which is appended to every request to Aria Automation Config Cloud. You can view the details of the OAuth app by selecting Organization &gt; OAuth Apps.<\/em><\/p>\n\n\n\n<p><em>The command also creates pillar data called <code>CSP_AUTH_TOKEN<\/code> on the Salt master. Pillars are structures of data stored on the Salt master and passed through to one or more minions that have been authorized to access that data. The pillar data is stored in <code>\/srv\/pillar\/csp.sls<\/code> and contains the client ID, the secret, your organization ID, and CSP URL. If you need to rotate your secret, you can re-run the <code>sseapi-config join<\/code> command.<\/em>&#8220;<\/p>\n\n\n\n<p>Example pillar data:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">  CSP_AUTH_TOKEN:\n   csp_client_id: kH8wIvNxMJEGGmk7uCx4MBfPswEw7PpLaDh\n   csp_client_secret: ebH9iuXnZqUOkuWKwfHXPjyYc5Umpa00mI9Wx3dpEMlrUWNy95\n   csp_org_id: 6bh70973-b1g2-716c-6i21-i9974a6gdc85\n   csp_url: https:\/\/console.cloud.vmware.com<\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"GUID-02E70461-24D1-4DD6-B7AB-0C221471684F__GUID-66DBBD7E-B8DB-4D88-8FC9-F4E73B604E6E\">Step 7 &#8211; Accept Salt master keys<\/h4>\n\n\n\n<p>After you connected your Salt master(s) to Aria Automation Config Cloud, you must accept the Salt master&#8217;s key in the Aria Automation Config Cloud user interface.<\/p>\n\n\n\n<p id=\"GUID-11E79279-F3D8-464E-8DE4-C4F7ED04A7BE__P_B635984A-696D-4A17-8CCB-027AD0FF972F\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\">You must have the Superuser role in SaltStack Config Cloud to accept the Salt master&#8217;s key.<\/mark><\/p>\n\n\n\n<p>To accept the Salt master&#8217;s key:<\/p>\n\n\n\n<ol class=\"wp-block-list\" id=\"GUID-11E79279-F3D8-464E-8DE4-C4F7ED04A7BE__GUID-34F47A37-998D-4BAB-9D42-5B07FAE097C3\">\n<li>Log in to the SaltStack Config Cloud user interface.<\/li>\n\n\n\n<li>From the top left navigation bar, click the Menu, then select Administration to access the Administration workspace. Click the Master Keys tab.<\/li>\n\n\n\n<li>Check the box next to the master key to select it. Then, click Accept Key.<\/li>\n\n\n\n<li>If you already connected your Salt minions to your Salt master, an alert appears indicating that you have pending minion keys to accept. To accept these minion keys, go to Minion Keys &gt; Pending.<ol type=\"a\"><li>Check the boxes next to your minions to select them. Then, click Accept Key.<\/li><\/ol>The key is now accepted. After several seconds, the minion appears under the Accepted tab and in the Targets workspace.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"457\" src=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-1024x457.png\" alt=\"\" class=\"wp-image-1388\" srcset=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-1024x457.png 1024w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-300x134.png 300w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-768x343.png 768w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-1536x686.png 1536w, https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32-2048x914.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\"><em>Figure 04: Accepted master keys.<\/em><\/figcaption><\/figure>\n\n\n\n<p>You can verify that your Salt master and Salt minions are communicating by running a test.ping command in the Aria Automation Config Cloud user interface. <\/p>\n\n\n\n<p><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">Stay<\/mark><\/strong> <strong><mark style=\"background-color:rgba(0, 0, 0, 0);color:#f5d800\" class=\"has-inline-color\">safe<\/mark><\/strong>.<\/p>\n\n\n\n<p>Thomas \u2013&nbsp;<a href=\"https:\/\/twitter.com\/ThomasKopton\">https:\/\/twitter.com\/ThomasKopton<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently I had to install and configure a SaltStack Master in my home lab and connect this master to my Aria Automation Config Cloud (aka SaltStack Config, i will use both names in this post) instance. Even if the official documentation improved a lot, there are still some pitfalls, especially if you are not experienced &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1388,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[63,53,64],"tags":[66,55,65],"class_list":["post-1315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aria-automation-config","category-saltstack","category-saltstack-config","tag-aria-automation-config","tag-saltstack","tag-saltstack-config"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps\" \/>\n<meta property=\"og:description\" content=\"Recently I had to install and configure a SaltStack Master in my home lab and connect this master to my Aria Automation Config Cloud (aka SaltStack Config, i will use both names in this post) instance. Even if the official documentation improved a lot, there are still some pitfalls, especially if you are not experienced ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\" \/>\n<meta property=\"og:site_name\" content=\"TOMsOps\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-08T12:19:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2796\" \/>\n\t<meta property=\"og:image:height\" content=\"1248\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Thomas Kopton\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Kopton\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#article\",\"isPartOf\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\"},\"author\":{\"name\":\"Thomas Kopton\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"headline\":\"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config)\",\"datePublished\":\"2023-03-08T12:19:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\"},\"wordCount\":1336,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\",\"keywords\":[\"aria automation config\",\"saltstack\",\"saltstack config\"],\"articleSection\":[\"Aria Automation Config\",\"SaltStack\",\"SaltStack Config\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\",\"name\":\"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps\",\"isPartOf\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage\"},\"image\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage\"},\"thumbnailUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\",\"datePublished\":\"2023-03-08T12:19:01+00:00\",\"author\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\"},\"breadcrumb\":{\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thomas-kopton.de\/vblog\/?p=1315\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\",\"contentUrl\":\"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png\",\"width\":2796,\"height\":1248},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/?p=1315#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/thomas-kopton.de\/vblog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#website\",\"url\":\"https:\/\/thomas-kopton.de\/vblog\/\",\"name\":\"TOMsOps\",\"description\":\"Just another VMware Cloud Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82\",\"name\":\"Thomas Kopton\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g\",\"caption\":\"Thomas Kopton\"},\"url\":\"https:\/\/thomas-kopton.de\/vblog\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thomas-kopton.de\/vblog\/?p=1315","og_locale":"en_US","og_type":"article","og_title":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps","og_description":"Recently I had to install and configure a SaltStack Master in my home lab and connect this master to my Aria Automation Config Cloud (aka SaltStack Config, i will use both names in this post) instance. Even if the official documentation improved a lot, there are still some pitfalls, especially if you are not experienced ...","og_url":"https:\/\/thomas-kopton.de\/vblog\/?p=1315","og_site_name":"TOMsOps","article_published_time":"2023-03-08T12:19:01+00:00","og_image":[{"width":2796,"height":1248,"url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png","type":"image\/png"}],"author":"Thomas Kopton","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Kopton","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#article","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315"},"author":{"name":"Thomas Kopton","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"headline":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config)","datePublished":"2023-03-08T12:19:01+00:00","mainEntityOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315"},"wordCount":1336,"commentCount":0,"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png","keywords":["aria automation config","saltstack","saltstack config"],"articleSection":["Aria Automation Config","SaltStack","SaltStack Config"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thomas-kopton.de\/vblog\/?p=1315#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315","url":"https:\/\/thomas-kopton.de\/vblog\/?p=1315","name":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config) - TOMsOps","isPartOf":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage"},"image":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage"},"thumbnailUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png","datePublished":"2023-03-08T12:19:01+00:00","author":{"@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82"},"breadcrumb":{"@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thomas-kopton.de\/vblog\/?p=1315"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#primaryimage","url":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png","contentUrl":"https:\/\/thomas-kopton.de\/vblog\/wp-content\/uploads\/2023\/03\/image-32.png","width":2796,"height":1248},{"@type":"BreadcrumbList","@id":"https:\/\/thomas-kopton.de\/vblog\/?p=1315#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thomas-kopton.de\/vblog"},{"@type":"ListItem","position":2,"name":"How to provision local SaltStack Master to work with VMware Aria Automation Config Cloud (aka SaltStack Config)"}]},{"@type":"WebSite","@id":"https:\/\/thomas-kopton.de\/vblog\/#website","url":"https:\/\/thomas-kopton.de\/vblog\/","name":"TOMsOps","description":"Just another VMware Cloud Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thomas-kopton.de\/vblog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/892d6b96c66b1dd4b75c6e32fdbfea82","name":"Thomas Kopton","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thomas-kopton.de\/vblog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/e746aafbd3733172ceb4d600ba1feda61bc87cd3b70f5a9dfb581907cc7973b1?s=96&d=mm&r=g","caption":"Thomas Kopton"},"url":"https:\/\/thomas-kopton.de\/vblog\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/1315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1315"}],"version-history":[{"count":58,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/1315\/revisions"}],"predecessor-version":[{"id":1389,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/posts\/1315\/revisions\/1389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=\/wp\/v2\/media\/1388"}],"wp:attachment":[{"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thomas-kopton.de\/vblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}