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
Copy file name to clipboardExpand all lines: src/pages/docs/infrastructure/deployment-targets/linux/ssh-requirements.md
+2-78Lines changed: 2 additions & 78 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,10 +27,9 @@ See the Bash Reference Manual, section [6.2 Bash Startup Files](http://www.gnu.o
27
27
28
28
## .NET {#dotnet}
29
29
30
-
[Calamari](/docs/octopus-rest-api/calamari) is the command-line tool that is invoked to perform the deployment steps on the deployment target. Calamari runs on .NET. SSH targets can be configured to use either:
30
+
[Calamari](/docs/octopus-rest-api/calamari) is the command-line tool that is invoked to perform the deployment steps on the deployment target. It runs on .NET and is built as a [.NET Core self-contained distributable](https://docs.microsoft.com/en-us/dotnet/core/deploying/#self-contained-deployments-scd).
31
31
32
-
-[Self-contained Calamari](#self-contained-calamari) built against .NET Core (recommended).
33
-
-[Calamari on Mono](#mono-calamari) built against the full .NET framework.
32
+
Since it is self-contained, .NET Core does not need to be installed on the target server. However, there are still some [pre-requisite dependencies](https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#dependencies) required for .NET Core itself that must be installed.
34
33
35
34
## Python
36
35
Octopus can execute Python scripts on SSH targets provided the following criteria are met:
@@ -39,81 +38,6 @@ Octopus can execute Python scripts on SSH targets provided the following criteri
39
38
- Python3 is on the path for the SSH user executing the deployment
40
39
- pip is installed or the pycryptodome python package is installed
41
40
42
-
## ScriptCS and F#
43
-
44
-
Support for ScriptCS and F# scripts are only available with **Mono 4** and above. While they require mono installed, they will still execute with the self-contained Calamari.
45
-
46
-
ScriptCS has not been ported for .NET Core ([GitHub issue](https://github.com/scriptcs/scriptcs/issues/1183)).
47
-
48
-
Similarly, the F# interpreter has also not yet been ported for .NET Core ([GitHub issue](https://github.com/Microsoft/visualfsharp/issues/2407)).
49
-
50
-
:::div{.warning}
51
-
52
-
ScriptCS does not work on Mono **5.16** and higher. We recommend using Mono **5.14.x**.
When using the self-contained option, neither .NET Core nor Mono need to be installed on the target server (there are still some [pre-requisite dependencies](#self-contained-net-core-dependencies)).
58
-
59
-
Self-contained Calamari is built as a [.NET Core self-contained distributable](https://docs.microsoft.com/en-us/dotnet/core/deploying/#self-contained-deployments-scd).
[.NET Core has some dependencies](https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#dependencies) which must be installed on the target server.
64
-
65
-
## Calamari on Mono {#mono-calamari}
66
-
67
-
:::div{.warning}
68
-
69
-
Mono is [being deprecated](https://octopus.com/blog/deprecating-mono) and may no longer be available in future versions of Octopus Server. We recommend upgrading your SSH Target to make use of [Self-contained Calamari](#self-contained-calamari)
70
-
71
-
:::
72
-
73
-
[Calamari](/docs/octopus-rest-api/calamari/) can execute on the [Mono framework](http://www.mono-project.com).
74
-
75
-
Version **5.14.0** or greater of Mono is supported, however **5.18.0** is the latest version that we currently test against. Version **3.10** or greater may work, however we strongly recommend using a supported version.
76
-
77
-
You can find instructions for installing Mono in the [Mono documentation](http://www.mono-project.com/docs/getting-started/install/linux/).
78
-
79
-
### Calamari on Mono limitations
80
-
81
-
#### TLSv1.2 support available in Mono >= 4.8.0
82
-
[TLSv1.2 support](http://www.mono-project.com/docs/about-mono/releases/4.8.0/#tls-12-support) was only included from Mono version **4.8.0**. Due to the weak cryptographic nature of older encryption algorithms, many websites are no longer providing support for TLSv1 TLSv1.1 and as such clients must ensure that they are able to use TLSv1.2 in order to communicate.
83
-
84
-
Although previous versions of Mono should work in most deployment scenarios, any deployments that involve the target accessing endpoints that require TLSv1.2 (for example downloading from [Maven](/docs/packaging-applications/package-repositories/maven-feeds/) or [GitHub](/docs/packaging-applications/package-repositories/github-feeds) feeds) may fail.
85
-
86
-
#### .NET Configuration transformations only available in Mono >= 4.2.3
87
-
88
-
The [.NET configuration transforms](/docs/projects/steps/configuration-features/xml-configuration-variables-feature) feature will only work on Mono **4.2.3** and above.
89
-
90
-
This was due to a [bug with XML Transformations](https://bugzilla.xamarin.com/show_bug.cgi?id=19426).
91
-
92
-
Note that [substitute variables in templates](/docs/projects/steps/configuration-features/substitute-variables-in-templates) can still be used without issue on earlier Mono versions.
93
-
94
-
#### Package repository SSL certificates
95
-
96
-
If you configure your deployment such that the target pulls down the package itself directly from the NuGet repository, the correct SSL certificates need to also be available to Mono. By default, Mono pre **3.12** didn't trust any certificates and the root certs in question would need to be either manually imported, or synced with Mozilla's list by invoking `mozroots` or `cert-sync`. Thankfully Mono's latest builds perform this step during installation so it should “just work”.
97
-
98
-
See [Mono's security FAQ](http://www.mono-project.com/docs/faq/security/) for more details.
99
-
100
-
#### Mono on OSX
101
-
102
-
If you are using a Mac with OSX as an SSH deployment target, you may see the following error message:
103
-
104
-
`Required command 'mono' is not available`
105
-
106
-
This can occur even if Mono is installed and can be executed from a local shell. This is because the environment exposed to an SSH session can differ from the environment used by a local shell.
107
-
108
-
To fix this:
109
-
110
-
1. If it doesn't already exist, create a file called `.bashrc` in the home folder of the user that is connecting to the Mac OSX instance. If the remote user is called `octopus`, then this file will be located at `/Users/octopus/.bashrc`.
111
-
2. Add the path environment variable to the `.bashrc` file to include the location of the mono executable e.g.
10. Specify whether Mono is installed on the SSH target or not to determine which version of [Calamari](/docs/octopus-rest-api/calamari) will be installed.
35
-
36
-
-[Calamari on Mono](#mono-calamari) built against the full .NET framework.
37
-
-[Self-contained version of Calamari](#self-contained-calamari) built against .NET Core.
34
+
10. Select the **Platform** (OS and architecture) of the target server.
0 commit comments