diff --git a/ziti/cmd/ziti/cmd/config_templates/controller.yml b/ziti/cmd/ziti/cmd/config_templates/controller.yml index e314b59db..c0c71f8ce 100644 --- a/ziti/cmd/ziti/cmd/config_templates/controller.yml +++ b/ziti/cmd/ziti/cmd/config_templates/controller.yml @@ -10,10 +10,10 @@ v: 3 db: "{{ .ZitiHome }}/db/ctrl.db" identity: - cert: "{{ .ZitiPKI }}/certs/{{ .Controller.Hostname }}-client.cert" - server_cert: "{{ .ZitiPKI }}/certs/{{ .Controller.Hostname }}-server.chain.pem" - key: "{{ .ZitiPKI }}/keys/{{ .Controller.Hostname }}-server.key" - ca: "{{ .ZitiPKI }}/cas.pem" + cert: "{{ .Controller.IdentityCert }}" + server_cert: "{{ .Controller.IdentityServerCert }}" + key: "{{ .Controller.IdentityKey }}" + ca: "{{ .Controller.IdentityCA }}" # the endpoint that routers will connect to the controller over. ctrl: @@ -25,7 +25,7 @@ ctrl: #maxOutstandingConnects: 100 # the number of milliseconds to wait before a hello synchronization fails and closes the connection (30ms to 60000ms, default: 1000ms) #connectTimeoutMs: 3000 - listener: {{ if .Controller.Listener }}{{ .Controller.Listener }}{{ else }}tls:0.0.0.0:{{ .Controller.FabCtrlPort }}{{ end }} + listener: tls:{{ .Controller.ListenerHostPort }} # the endpoint that management tools connect to the controller over. mgmt: @@ -37,7 +37,7 @@ mgmt: #maxOutstandingConnects: 100 # the number of milliseconds to wait before a hello synchronization fails and closes the connection (30ms to 60000ms, default: 1000ms) #connectTimeoutMs: 3000 - listener: {{ if .Controller.MgmtListener }}{{ .Controller.MgmtListener }}{{ else }}tls:{{ .Controller.Hostname }}:{{ .Controller.FabMgmtPort }}{{ end }} + listener: tls:{{ .Controller.MgmtListenerHostPort }} #metrics: # influxdb: @@ -75,7 +75,7 @@ edge: # address - required # The default address (host:port) to use for enrollment for the Client API. This value must match one of the addresses # defined in this Controller.WebListener.'s bindPoints. - address: {{ .Controller.EdgeCtrlAPI }} + address: {{ .Controller.EdgeCtrlAdvertised }} # This section is used to define option that are used during enrollment of Edge Routers, Ziti Edge Identities. enrollment: # signingCert - required @@ -83,8 +83,8 @@ edge: # a signing certificate from the PKI that the Ziti environment is using to sign certificates. The signingCert.cert # will be added to the /.well-known CA store that is used to bootstrap trust with the Ziti Controller. signingCert: - cert: {{ .ZitiPKI }}/{{ .ZitiSigningIntermediateName }}/certs/{{ .ZitiSigningIntermediateName }}.cert - key: {{ .ZitiPKI }}/{{ .ZitiSigningIntermediateName }}/keys/{{ .ZitiSigningIntermediateName }}.key + cert: {{ .ZitiSigningCert }} + key: {{ .ZitiSigningKey }} # edgeIdentity - optional # A section for identity enrollment specific settings edgeIdentity: @@ -115,18 +115,18 @@ web: bindPoints: #interface - required # A host:port string on which network interface to listen on. 0.0.0.0 will listen on all interfaces - - interface: 0.0.0.0:{{ .Controller.EdgeCtrlPort }} + - interface: {{ .Controller.EdgeCtrlListenerHostPort }} # address - required # The public address that external incoming requests will be able to resolve. Used in request processing and # response content that requires full host:port/path addresses. - address: {{ .Controller.EdgeCtrlAPI }} + address: {{ .Controller.EdgeCtrlAdvertised }} # identity - optional # Allows the webListener to have a specific identity instead of defaulting to the root 'identity' section. identity: - ca: "{{ .ZitiPKI }}/certs/{{ .ZitiEdgeCtrlIntermediateName }}.cert" - key: "{{ .ZitiPKI }}/keys/{{ .ZitiEdgeCtrlHostname }}-server.key" - server_cert: "{{ .ZitiPKI }}/certs/{{ .ZitiEdgeCtrlHostname }}-server.chain.pem" - cert: "{{ .ZitiPKI }}/certs/{{ .ZitiEdgeCtrlHostname }}-client.cert" + ca: "{{ .Controller.IdentityCA }}" + key: "{{ .Controller.IdentityKey }}" + server_cert: "{{ .Controller.IdentityServerCert }}" + cert: "{{ .Controller.IdentityCert }}" # options - optional # Allows the specification of webListener level options - mainly dealing with HTTP/TLS settings. These options are # used for all http servers started by the current webListener. diff --git a/ziti/cmd/ziti/cmd/create_config.go b/ziti/cmd/ziti/cmd/create_config.go index d354f3d0c..f86311c09 100644 --- a/ziti/cmd/ziti/cmd/create_config.go +++ b/ziti/cmd/ziti/cmd/create_config.go @@ -17,6 +17,7 @@ package cmd import ( + "fmt" "github.com/openziti/ziti/ziti/cmd/ziti/cmd/common" cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers" "github.com/openziti/ziti/ziti/cmd/ziti/constants" @@ -43,13 +44,10 @@ type CreateConfigOptions struct { } type ConfigTemplateValues struct { - ZitiPKI string - ZitiHome string - Hostname string - ZitiSigningIntermediateName string - ZitiCtrlRawname string - ZitiEdgeCtrlIntermediateName string - ZitiEdgeCtrlHostname string + ZitiHome string + Hostname string + ZitiSigningCert string + ZitiSigningKey string Controller ControllerTemplateValues Router RouterTemplateValues @@ -57,14 +55,16 @@ type ConfigTemplateValues struct { type ControllerTemplateValues struct { Hostname string - FabCtrlPort string - FabMgmtPort string - EdgeCtrlAPI string - EdgeCtrlPort string - Listener string - MgmtListener string + EdgeCtrlListenerHostPort string + EdgeCtrlAdvertised string + ListenerHostPort string + MgmtListenerHostPort string Rawname string EdgeAPISessionTimeoutMinutes int + IdentityCert string + IdentityServerCert string + IdentityKey string + IdentityCA string WebListener ControllerWebListenerValues HealthCheck ControllerHealthCheckValues } @@ -141,6 +141,45 @@ func NewCmdCreateConfig() *cobra.Command { templateData.populateEnvVars() templateData.populateDefaults() + createConfigLong := fmt.Sprintf("Creates a config file for specified Ziti component using environment variables which have default values but can be manually set to override the config output.\n\n"+ + "The following environment variables can be set to override config values (current value is displayed):\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s\n"+ + "%-33s %s", + cmdhelper.ZitiHomeVarName, templateData.ZitiHome, + cmdhelper.ZitiCtrlListenerHostPortVarName, templateData.Controller.ListenerHostPort, + cmdhelper.ZitiCtrlMgmtListenerHostPortVarName, templateData.Controller.MgmtListenerHostPort, + cmdhelper.ZitiCtrlHostnameVarName, templateData.Controller.Hostname, + cmdhelper.ZitiCtrlRawnameVarName, templateData.Controller.Rawname, + cmdhelper.ZitiCtrlListenerHostPortVarName, templateData.Controller.ListenerHostPort, + cmdhelper.ZitiCtrlMgmtListenerHostPortVarName, templateData.Controller.MgmtListenerHostPort, + cmdhelper.ZitiEdgeCtrlListenerHostPortVarName, templateData.Controller.EdgeCtrlListenerHostPort, + cmdhelper.ZitiEdgeCtrlAdvertisedVarName, templateData.Controller.EdgeCtrlAdvertised, + cmdhelper.ZitiEdgeRouterHostnameVarName, templateData.Router.Edge.Hostname, + cmdhelper.ZitiEdgeRouterPortVarName, templateData.Router.Edge.Port, + cmdhelper.ZitiCtrlIdentityCertVarName, templateData.Controller.IdentityCert, + cmdhelper.ZitiCtrlIdentityServerCertVarName, templateData.Controller.IdentityServerCert, + cmdhelper.ZitiCtrlIdentityKeyVarName, templateData.Controller.IdentityKey, + cmdhelper.ZitiCtrlIdentityCAVarName, templateData.Controller.IdentityCA, + cmdhelper.ZitiSigningCertVarName, templateData.ZitiSigningCert, + cmdhelper.ZitiSigningKeyVarName, templateData.ZitiSigningKey) + + cmd.Long = createConfigLong + cmd.AddCommand(NewCmdCreateConfigController(templateData)) cmd.AddCommand(NewCmdCreateConfigRouter(templateData)) @@ -167,42 +206,10 @@ func (data *ConfigTemplateValues) populateEnvVars() { zitiCtrlRawname, err := cmdhelper.GetZitiCtrlRawname() handleVariableError(err, cmdhelper.ZitiCtrlRawnameVarName) - // Get Ziti Fabric Management Port - zitiFabMgmtPort, err := cmdhelper.GetZitiFabMgmtPort() - handleVariableError(err, cmdhelper.ZitiFabMgmtPortVarName) - - // Get Ziti Edge Controller API - zitiEdgeCtrlAPI, err := cmdhelper.GetZitiEdgeControllerAPI() - handleVariableError(err, cmdhelper.ZitiEdgeCtrlAPIVarName) - - // Get Ziti Signing Intermediate Name - zitiSigningIntermediateName, err := cmdhelper.GetZitiSigningIntermediateName() - handleVariableError(err, cmdhelper.ZitiSigningIntermediateNameVarName) - - // Get Ziti Edge Controller Port - zitiEdgeCtrlPort, err := cmdhelper.GetZitiEdgeCtrlPort() - handleVariableError(err, cmdhelper.ZitiEdgeCtrlPortVarName) - - // Get Ziti Edge Intermediate Name - zitiEdgeIntermediateName, err := cmdhelper.GetZitiEdgeCtrlIntermediateName() - handleVariableError(err, cmdhelper.ZitiEdgeCtrlPortVarName) - - // Get Ziti Edge Controller Hostname - zitiEdgeCtrlHostname, err := cmdhelper.GetZitiEdgeCtrlHostname() - handleVariableError(err, cmdhelper.ZitiEdgeCtrlHostnameVarName) - // Get Ziti Controller Hostname zitiCtrlHostname, err := cmdhelper.GetZitiCtrlHostname() handleVariableError(err, cmdhelper.ZitiCtrlHostnameVarName) - // Get Ziti fabric ctrl port - zitiFabCtrlPort, err := cmdhelper.GetZitiFabCtrlPort() - handleVariableError(err, cmdhelper.ZitiFabCtrlPortVarName) - - // Get Ziti PKI path - zitiPKI, err := cmdhelper.GetZitiPKI() - handleVariableError(err, cmdhelper.ZitiPKIVarName) - // Get Ziti Edge Router Hostname zitiEdgeRouterHostName, err := cmdhelper.GetZitiEdgeRouterHostname() handleVariableError(err, cmdhelper.ZitiEdgeRouterHostnameVarName) @@ -211,18 +218,61 @@ func (data *ConfigTemplateValues) populateEnvVars() { zitiEdgeRouterPort, err := cmdhelper.GetZitiEdgeRouterPort() handleVariableError(err, cmdhelper.ZitiEdgeRouterPortVarName) - data.ZitiPKI = zitiPKI + // Get Ziti Controller Identity Cert + zitiCtrlIdentityCert, err := cmdhelper.GetZitiIdentityCert() + handleVariableError(err, cmdhelper.ZitiCtrlIdentityCertVarName) + + // Get Ziti Controller Identity Cert + zitiCtrlIdentityServerCert, err := cmdhelper.GetZitiIdentityServerCert() + handleVariableError(err, cmdhelper.ZitiCtrlIdentityServerCertVarName) + + // Get Ziti Controller Identity Cert + zitiCtrlIdentityKey, err := cmdhelper.GetZitiIdentityKey() + handleVariableError(err, cmdhelper.ZitiCtrlIdentityKeyVarName) + + // Get Ziti Controller Identity Cert + zitiCtrlIdentityCA, err := cmdhelper.GetZitiIdentityCA() + handleVariableError(err, cmdhelper.ZitiCtrlIdentityCAVarName) + + // Get Ziti Controller Listener Host and Port + zitiCtrlListenerHostPort, err := cmdhelper.GetZitiCtrlListenerHostPort() + handleVariableError(err, cmdhelper.ZitiCtrlMgmtListenerHostPortVarName) + + // Get Ziti Controller Management Host and Port + zitiCtrlMgmtListenerHostPort, err := cmdhelper.GetZitiCtrlMgmtListenerHostPort() + handleVariableError(err, cmdhelper.ZitiCtrlMgmtListenerHostPortVarName) + + // Get Ziti Signing Cert + zitiSigningCert, err := cmdhelper.GetZitiSigningCert() + handleVariableError(err, cmdhelper.ZitiSigningCertVarName) + + // Get Ziti Signing Key + zitiSigningKey, err := cmdhelper.GetZitiSigningKey() + handleVariableError(err, cmdhelper.ZitiSigningKeyVarName) + + // Get Ziti Edge Controller Listener Host and Port + zitiEdgeCtrlListenerHostPort, err := cmdhelper.GetZitiEdgeCtrlListenerHostPort() + handleVariableError(err, cmdhelper.ZitiEdgeCtrlListenerHostPortVarName) + + // Get Ziti Edge Controller Advertised Host and Port + zitiEdgeCtrlAdvertised, err := cmdhelper.GetZitiEdgeCtrlAdvertised() + handleVariableError(err, cmdhelper.ZitiEdgeCtrlAdvertisedVarName) + + // data.ZitiPKI = zitiPKI data.ZitiHome = zitiHome data.Hostname = hostname - data.ZitiSigningIntermediateName = zitiSigningIntermediateName - data.ZitiCtrlRawname = zitiCtrlRawname - data.ZitiEdgeCtrlIntermediateName = zitiEdgeIntermediateName - data.ZitiEdgeCtrlHostname = zitiEdgeCtrlHostname - data.Controller.EdgeCtrlAPI = zitiEdgeCtrlAPI - data.Controller.EdgeCtrlPort = zitiEdgeCtrlPort + data.ZitiSigningCert = zitiSigningCert + data.ZitiSigningKey = zitiSigningKey + data.Controller.Rawname = zitiCtrlRawname data.Controller.Hostname = zitiCtrlHostname - data.Controller.FabCtrlPort = zitiFabCtrlPort - data.Controller.FabMgmtPort = zitiFabMgmtPort + data.Controller.ListenerHostPort = zitiCtrlListenerHostPort + data.Controller.MgmtListenerHostPort = zitiCtrlMgmtListenerHostPort + data.Controller.EdgeCtrlListenerHostPort = zitiEdgeCtrlListenerHostPort + data.Controller.EdgeCtrlAdvertised = zitiEdgeCtrlAdvertised + data.Controller.IdentityCert = zitiCtrlIdentityCert + data.Controller.IdentityServerCert = zitiCtrlIdentityServerCert + data.Controller.IdentityKey = zitiCtrlIdentityKey + data.Controller.IdentityCA = zitiCtrlIdentityCA data.Router.Edge.Hostname = zitiEdgeRouterHostName data.Router.Edge.Port = zitiEdgeRouterPort } diff --git a/ziti/cmd/ziti/cmd/create_config_controller.go b/ziti/cmd/ziti/cmd/create_config_controller.go index 27b57a48c..a066e7c01 100644 --- a/ziti/cmd/ziti/cmd/create_config_controller.go +++ b/ziti/cmd/ziti/cmd/create_config_controller.go @@ -20,6 +20,7 @@ import ( _ "embed" cmdhelper "github.com/openziti/ziti/ziti/cmd/ziti/cmd/helpers" "github.com/openziti/ziti/ziti/cmd/ziti/cmd/templates" + "github.com/openziti/ziti/ziti/cmd/ziti/constants" "github.com/pkg/errors" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -44,8 +45,8 @@ var ( # Create the controller config ziti create config controller - # Create the controller config with a particular ctrlListener - ziti create config controller --ctrlListener tls:0.0.0.0:6262 + # Create the controller config with a particular ctrlListener host and port + ziti create config controller --ctrlListener 0.0.0.0:6262 # Print the controller config to the console ziti create config controller --output stdout @@ -91,8 +92,8 @@ func NewCmdCreateConfigController(data *ConfigTemplateValues) *cobra.Command { } // Update controller specific values with configOptions passed in - data.Controller.Listener = controllerOptions.CtrlListener - data.Controller.MgmtListener = controllerOptions.MgmtListener + data.Controller.ListenerHostPort = controllerOptions.CtrlListener + data.Controller.MgmtListenerHostPort = controllerOptions.MgmtListener }, Run: func(cmd *cobra.Command, args []string) { controllerOptions.Cmd = cmd @@ -112,9 +113,9 @@ func NewCmdCreateConfigController(data *ConfigTemplateValues) *cobra.Command { } func (options *CreateConfigControllerOptions) addFlags(cmd *cobra.Command) { - cmd.Flags().StringVar(&options.CtrlListener, optionCtrlListener, "", "address of the config controller listener") + cmd.Flags().StringVar(&options.CtrlListener, optionCtrlListener, constants.DefaultZitiControllerListenerHostPort, "address and port of the config controller listener") cmd.Flags().StringVar(&options.DatabaseFile, optionDatabaseFile, "ctrl.db", "location of the database file") - cmd.Flags().StringVar(&options.MgmtListener, optionMgmtListener, "", "address of the config management listener") + cmd.Flags().StringVar(&options.MgmtListener, optionMgmtListener, constants.DefaultZitiMgmtControllerListenerHostPort, "address and port of the config management listener") } // run implements the command diff --git a/ziti/cmd/ziti/cmd/helpers/env_helpers.go b/ziti/cmd/ziti/cmd/helpers/env_helpers.go index 50cbb616a..a6aa9295a 100644 --- a/ziti/cmd/ziti/cmd/helpers/env_helpers.go +++ b/ziti/cmd/ziti/cmd/helpers/env_helpers.go @@ -17,10 +17,10 @@ package helpers import ( + "fmt" "github.com/openziti/ziti/ziti/cmd/ziti/constants" "github.com/pkg/errors" "os" - "strconv" "strings" ) @@ -29,33 +29,33 @@ const ( ZitiHomeVarName = "ZITI_HOME" - ZitiPKIVarName = "ZITI_PKI" - - ZitiFabCtrlPortVarName = "ZITI_FAB_CTRL_PORT" - ZitiCtrlHostnameVarName = "ZITI_CONTROLLER_HOSTNAME" ZitiCtrlRawnameVarName = "ZITI_CONTROLLER_RAWNAME" - ZitiNetworkVarName = "ZITI_NETWORK" - - ZitiEdgeCtrlAPIVarName = "ZITI_EDGE_CONTROLLER_API" - - ZitiEdgeCtrlHostnameVarName = "ZITI_EDGE_CONTROLLER_HOSTNAME" - - ZitiEdgeCtrlPortVarName = "ZITI_EDGE_CONTROLLER_PORT" - - ZitiSigningIntermediateNameVarName = "ZITI_SIGNING_INTERMEDIATE_NAME" - - ZitiSigningCertNameVarName = "ZITI_SIGNING_CERT_NAME" - - ZitiFabMgmtPortVarName = "ZITI_FAB_MGMT_PORT" - - ZitiEdgeCtrlIntermediateNameVarName = "ZITI_EDGE_CONTROLLER_INTERMEDIATE_NAME" - ZitiEdgeRouterHostnameVarName = "ZITI_EDGE_ROUTER_HOSTNAME" ZitiEdgeRouterPortVarName = "ZITI_EDGE_ROUTER_PORT" + + ZitiCtrlIdentityCertVarName = "ZITI_CTRL_IDENTITY_CERT" + + ZitiCtrlIdentityServerCertVarName = "ZITI_CTRL_IDENTITY_SERVER_CERT" + + ZitiCtrlIdentityKeyVarName = "ZITI_CTRL_IDENTITY_KEY" + + ZitiCtrlIdentityCAVarName = "ZITI_CTRL_IDENTITY_CA" + + ZitiSigningCertVarName = "ZITI_SIGNING_CERT" + + ZitiSigningKeyVarName = "ZITI_SIGNING_KEY" + + ZitiCtrlListenerHostPortVarName = "ZITI_CTRL_LISTENER_HOST_PORT" + + ZitiCtrlMgmtListenerHostPortVarName = "ZITI_CTRL_MGMT_HOST_PORT" + + ZitiEdgeCtrlListenerHostPortVarName = "ZITI_CTRL_EDGE_LISTENER_HOST_PORT" + + ZitiEdgeCtrlAdvertisedVarName = "ZITI_EDGE_CTRL_ADVERTISED" ) func HomeDir() string { @@ -102,111 +102,7 @@ func GetZitiHome() (string, error) { return retVal, nil } -func GetZitiPKI() (string, error) { - // If not set, create a default path of the current working directory - workingDir, err := WorkingDir() - if err != nil { - return "", err - } - - err = os.Setenv(ZitiHomeVarName, workingDir) - if err != nil { - return "", err - } - - return getOrSetEnvVar(ZitiPKIVarName, workingDir+PathSeparator+"pki") -} - -func GetZitiEdgeCtrlHostname() (string, error) { - zitiNetwork, err := GetZitiNetwork() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiNetworkVarName) - if err != nil { - return "", err - } - } - - return getOrSetEnvVar(ZitiEdgeCtrlHostnameVarName, zitiNetwork) -} - -func GetZitiEdgeCtrlPort() (string, error) { - return getOrSetEnvVar(ZitiEdgeCtrlPortVarName, strconv.Itoa(constants.DefaultZitiEdgeControllerPort)) -} - -func GetZitiEdgeControllerAPI() (string, error) { - zitiEdgeCtrlHostname, err := GetZitiEdgeCtrlHostname() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiCtrlHostnameVarName) - if err != nil { - return "", err - } - } - - zitiEdgeCtrlPort, err := GetZitiEdgeCtrlPort() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiEdgeCtrlPortVarName) - if err != nil { - return "", err - } - } - - return getOrSetEnvVar(ZitiEdgeCtrlAPIVarName, zitiEdgeCtrlHostname+":"+zitiEdgeCtrlPort) -} - -func GetZitiSigningCertName() (string, error) { - zitiNetwork, err := GetZitiNetwork() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiNetworkVarName) - if err != nil { - return "", err - } - } - - return getOrSetEnvVar(ZitiSigningCertNameVarName, zitiNetwork+"-signing") -} - -func GetZitiSigningIntermediateName() (string, error) { - zitiSigningCertName, err := GetZitiSigningCertName() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiSigningCertNameVarName) - if err != nil { - return "", err - } - } - - return getOrSetEnvVar(ZitiSigningIntermediateNameVarName, zitiSigningCertName+"-intermediate") -} - -func GetZitiFabCtrlPort() (string, error) { - return getOrSetEnvVar(ZitiFabCtrlPortVarName, strconv.Itoa(constants.DefaultZitiFabricControllerPort)) -} - -func GetZitiCtrlHostname() (string, error) { - zitiNetwork, err := GetZitiNetwork() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiNetworkVarName) - if err != nil { - return "", err - } - } - - return getOrSetEnvVar(ZitiCtrlHostnameVarName, zitiNetwork) -} - -func GetZitiCtrlRawname() (string, error) { - zitiNetwork, err := GetZitiNetwork() - if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiNetworkVarName) - if err != nil { - return "", err - } - } - - defaultZitiCtrlRawName := zitiNetwork + "-controller" - return getOrSetEnvVar(ZitiCtrlRawnameVarName, defaultZitiCtrlRawName) -} - -func GetZitiNetwork() (string, error) { +func GetZitiIdentityCert() (string, error) { hostName, err := os.Hostname() if err != nil { err := errors.Wrap(err, "Unable to get hostname") @@ -215,40 +111,109 @@ func GetZitiNetwork() (string, error) { } } - return getOrSetEnvVar(ZitiNetworkVarName, hostName) + return getOrSetEnvVar(ZitiCtrlIdentityCertVarName, fmt.Sprintf("./%s-client.cert", hostName)) } -func GetZitiFabMgmtPort() (string, error) { - return getOrSetEnvVar(ZitiFabMgmtPortVarName, strconv.Itoa(constants.DefaultZitiFabricManagementPort)) -} - -func GetZitiEdgeCtrlIntermediateName() (string, error) { - zitiEdgeCtrlHostname, err := GetZitiEdgeCtrlHostname() +func GetZitiIdentityServerCert() (string, error) { + hostName, err := os.Hostname() if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiEdgeCtrlHostnameVarName) + err := errors.Wrap(err, "Unable to get hostname") if err != nil { return "", err } } - return getOrSetEnvVar(ZitiEdgeCtrlIntermediateNameVarName, zitiEdgeCtrlHostname+"-intermediate") + return getOrSetEnvVar(ZitiCtrlIdentityServerCertVarName, fmt.Sprintf("./%s-server.pem", hostName)) +} + +func GetZitiIdentityKey() (string, error) { + hostName, err := os.Hostname() + if err != nil { + err := errors.Wrap(err, "Unable to get hostname") + if err != nil { + return "", err + } + } + + return getOrSetEnvVar(ZitiCtrlIdentityKeyVarName, fmt.Sprintf("./%s-server.key", hostName)) +} + +func GetZitiIdentityCA() (string, error) { + hostName, err := os.Hostname() + if err != nil { + err := errors.Wrap(err, "Unable to get hostname") + if err != nil { + return "", err + } + } + + return getOrSetEnvVar(ZitiCtrlIdentityCAVarName, fmt.Sprintf("./%s-cas.pem", hostName)) +} + +func GetZitiCtrlListenerHostPort() (string, error) { + return getOrSetEnvVar(ZitiCtrlListenerHostPortVarName, constants.DefaultZitiControllerListenerHostPort) +} + +func GetZitiCtrlMgmtListenerHostPort() (string, error) { + return getOrSetEnvVar(ZitiCtrlMgmtListenerHostPortVarName, constants.DefaultZitiMgmtControllerListenerHostPort) +} + +func GetZitiCtrlHostname() (string, error) { + hostname, err := os.Hostname() + if err != nil { + err := errors.Wrap(err, "Unable to get hostname") + if err != nil { + return "", err + } + } + + return getOrSetEnvVar(ZitiCtrlHostnameVarName, hostname) +} + +func GetZitiCtrlRawname() (string, error) { + hostname, err := os.Hostname() + if err != nil { + err := errors.Wrap(err, "Unable to get hostname") + if err != nil { + return "", err + } + } + + defaultZitiCtrlRawName := hostname + "-controller" + return getOrSetEnvVar(ZitiCtrlRawnameVarName, defaultZitiCtrlRawName) } func GetZitiEdgeRouterHostname() (string, error) { - zitiNetwork, err := GetZitiNetwork() + hostname, err := os.Hostname() if err != nil { - err := errors.Wrap(err, "Unable to get "+ZitiNetworkVarName) + err := errors.Wrap(err, "Unable to get hostname") if err != nil { return "", err } } - return getOrSetEnvVar(ZitiEdgeRouterHostnameVarName, zitiNetwork) + return getOrSetEnvVar(ZitiEdgeRouterHostnameVarName, hostname) } func GetZitiEdgeRouterPort() (string, error) { return getOrSetEnvVar(ZitiEdgeRouterPortVarName, constants.DefaultZitiEdgeRouterPort) } +func GetZitiSigningCert() (string, error) { + return getOrSetEnvVar(ZitiSigningCertVarName, "./signingCert.cert") +} + +func GetZitiSigningKey() (string, error) { + return getOrSetEnvVar(ZitiSigningKeyVarName, "./signingKey.key") +} + +func GetZitiEdgeCtrlListenerHostPort() (string, error) { + return getOrSetEnvVar(ZitiEdgeCtrlListenerHostPortVarName, constants.DefaultZitiEdgeListenerHostPort) +} + +func GetZitiEdgeCtrlAdvertised() (string, error) { + return getOrSetEnvVar(ZitiEdgeCtrlAdvertisedVarName, "") +} + func getOrSetEnvVar(envVarName string, defaultValue string) (string, error) { // Get path from env variable diff --git a/ziti/cmd/ziti/constants/constants.go b/ziti/cmd/ziti/constants/constants.go index 998823226..732ac10cf 100644 --- a/ziti/cmd/ziti/constants/constants.go +++ b/ziti/cmd/ziti/constants/constants.go @@ -44,18 +44,18 @@ const ( DefaultZitiEdgeRouterPort = "3022" // Controller defaults - DefaultEdgeAPISessionTimeoutMinutes = 30 - DefaultWebListenerIdleTimeoutMs = 5000 - DefaultWebListenerReadTimeoutMs = 5000 - DefaultWebListenerWriteTimeoutMs = 100000 - DefaultWebListenerMinTLSVersion = "TLS1.2" - DefaultWebListenerMaxTLSVersion = "TLS1.3" - DefaultZitiEdgeControllerPort = 1280 - DefaultZitiFabricControllerPort = 6262 - DefaultZitiFabricManagementPort = 10000 - DefaultControllerHealthCheckIntervalSec = 30 - DefaultControllerHealthCheckTimeoutSec = 15 - DefaultControllerHealthCheckDelaySec = 15 + DefaultEdgeAPISessionTimeoutMinutes = 30 + DefaultWebListenerIdleTimeoutMs = 5000 + DefaultWebListenerReadTimeoutMs = 5000 + DefaultWebListenerWriteTimeoutMs = 100000 + DefaultWebListenerMinTLSVersion = "TLS1.2" + DefaultWebListenerMaxTLSVersion = "TLS1.3" + DefaultZitiEdgeListenerHostPort = "0.0.0.0:1280" + DefaultZitiControllerListenerHostPort = "0.0.0.0:6262" + DefaultZitiMgmtControllerListenerHostPort = "0.0.0.0:10000" + DefaultControllerHealthCheckIntervalSec = 30 + DefaultControllerHealthCheckTimeoutSec = 15 + DefaultControllerHealthCheckDelaySec = 15 // WSS defaults DefaultWSSWriteTimeout = 10