github.com/gravitational/teleport/api@v0.0.0-20240507183017-3110591cbafc/types/installers/installers.go (about) 1 /* 2 Copyright 2022 Gravitational, Inc. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15 */ 16 17 package installers 18 19 import ( 20 _ "embed" 21 22 "github.com/gravitational/teleport/api/types" 23 ) 24 25 //go:embed installer.sh.tmpl 26 var defaultInstallScript string 27 28 //go:embed agentless-installer.sh.tmpl 29 var defaultAgentlessInstallScript string 30 31 // InstallerScriptName is the name of the by default populated, EC2 32 // installer script 33 const InstallerScriptName = types.DefaultInstallerScriptName 34 35 // InstallerScriptName is the name of the by default populated, EC2 36 // installer script when agentless mode is enabled for a matcher 37 const InstallerScriptNameAgentless = types.DefaultInstallerScriptNameAgentless 38 39 // DefaultInstaller represents a the default installer script provided 40 // by teleport 41 var DefaultInstaller = types.MustNewInstallerV1(InstallerScriptName, defaultInstallScript) 42 43 // DefaultAgentlessInstaller represents a the default agentless installer script provided 44 // by teleport 45 var DefaultAgentlessInstaller = types.MustNewInstallerV1(InstallerScriptNameAgentless, defaultAgentlessInstallScript) 46 47 // Template is used to fill proxy address and version information into 48 // the installer script 49 type Template struct { 50 // PublicProxyAddr is public address of the proxy 51 PublicProxyAddr string 52 // MajorVersion is the major version of the Teleport auth node 53 MajorVersion string 54 // TeleportPackage is the teleport package to use. `teleport` or 55 // `teleport-ent` depending on if the cluster is enterprise or not. 56 TeleportPackage string 57 // RepoChannel is the repo's channel name to install. 58 RepoChannel string 59 // AutomaticUpgrades indicates whether Automatic Upgrades are enabled or disabled. 60 // Its value is either `true` or `false`. 61 AutomaticUpgrades string 62 // AzureClientID is the client ID of the managed identity to use when joining 63 // the cluster. Only applicable for the azure join method. 64 AzureClientID string 65 }