You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
throw"Certificate '$($CertificatePath)' failed to import with the provided CertificatePassword. Please ensure the Certificate Path and Password are correct."
To deploy the Chocolatey for Business Ansible Environment, first, clone the repository to your chosen Ansible environment, make the following modifications, and deploy the `c4b-environment.yml` playbook.
6
+
7
+
Create hosts. Depending on your chosen configuration, you may not need to create all of them:
You will be prompted for any values you have not provided in `--extra-vars` or another fashion. An example of passing a variable on the command-line is as follows:
You can also define variables in AWX, or within a file. For further details, see [Defining variables at runtime](https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_variables.html#passing-variables-on-the-command-line).
35
+
36
+
For further information on deploying this environment, see [the docs page](https://docs.chocolatey.org/en-us/c4b-environments/ansible/).
37
+
38
+
## Hardware Recommendations
39
+
40
+
We recommend the following configuration if deploying to a single Ansible host:
41
+
42
+
- Windows Server 2019+
43
+
- 4+ CPU cores
44
+
- 16 GB+ RAM (8GB as a bare minimum; 4GB of RAM is reserved specifically for Nexus)
45
+
- 500 GB+ of free space for local NuGet package artifact storage
46
+
47
+
If deploying to multiple hosts, please refer to the recommended specifications for:
48
+
49
+
-[Chocolatey Central Management](https://docs.chocolatey.org/en-us/central-management/setup/#high-level-requirements)
-[SQL Server Express](https://www.microsoft.com/en-us/download/details.aspx?id=104781)
53
+
54
+
## Offline Installation
55
+
56
+
To install in an air-gapped environment, you can download this repository to a local machine and run the `OfflineInstallPreparation.ps1` script.
57
+
58
+
This script downloads all the required files and packages to ensure a successful installation. Please note that you will require a Windows machine with a licensed copy of Chocolatey, as it utilises the Package Internalizer feature.
59
+
60
+
After the script has run, copy the directory to your Ansible environment and deploy it.
61
+
62
+
## Storing Secrets
63
+
64
+
After the playbook has run, various secrets will have been created and stored in the `/credentials` directory. To keep these secure, you should use [Ansible Vault](https://docs.ansible.com/ansible/latest/vault_guide/index.html) or something similar to store and inject them instead of the password lookup files, as `lookup('ansible.builtin.password'` does not support encryption or Ansible Vault. To do so, follow these steps for each secret (using `ccm_client_salt` as the example):
65
+
66
+
- In a terminal on your Ansible machine, run `ansible-vault encrypt /path/to/repository/credentials/ccm_client_salt`.
67
+
- Open the `/path/to/repository/credentials/ccm_client_salt` file and copy the new contents of the file.
68
+
- Open the `./group_vars/all.yml` file and overwrite the value of `ccm_client_salt` with the vaulted value.
69
+
70
+
This will result in re-deployment of the environment using this secret, going forward.
71
+
72
+
If you want to re-deploy the environment having changed your passwords, or initially deploy it using your own generated values, you can use `ansible-vault` and the `all.yml` file to deploy using those values.
73
+
74
+
- In a terminal on your Ansible machine, run `ansible-vault encrypt_string 'some-secure-password-here' --name 'ccm_client_salt'`.
75
+
- Open the `./group_vars/all.yml` file and overwrite the line beginning `ccm_client_salt:` with the output of the `ansible-vault` command.
0 commit comments