blob: b877030d42ba9c0ce78f13f1619a2f4c6e062285 [file] [log] [blame]
// Copyright Istio Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package ports
import (
"github.com/apache/dubbo-go-pixiu/pkg/config/protocol"
"github.com/apache/dubbo-go-pixiu/pkg/test/framework/components/echo"
)
// Port names.
const (
HTTP = "http"
GRPC = "grpc"
HTTP2 = "http2"
TCP = "tcp"
HTTPS = "https"
TCPServer = "tcp-server"
AutoTCP = "auto-tcp"
AutoTCPServer = "auto-tcp-server"
AutoHTTP = "auto-http"
AutoGRPC = "auto-grpc"
AutoHTTPS = "auto-https"
HTTPInstance = "http-instance"
HTTPLocalHost = "http-localhost"
TCPWorkloadOnly = "tcp-wl-only"
HTTPWorkloadOnly = "http-wl-only"
)
// All the common ports.
func All() echo.Ports {
return echo.Ports{
{Name: HTTP, Protocol: protocol.HTTP, ServicePort: 80, WorkloadPort: 18080},
{Name: GRPC, Protocol: protocol.GRPC, ServicePort: 7070, WorkloadPort: 17070},
{Name: HTTP2, Protocol: protocol.HTTP, ServicePort: 85, WorkloadPort: 18085},
{Name: TCP, Protocol: protocol.TCP, ServicePort: 9090, WorkloadPort: 19090},
{Name: HTTPS, Protocol: protocol.HTTPS, ServicePort: 443, WorkloadPort: 18443, TLS: true},
{Name: TCPServer, Protocol: protocol.TCP, ServicePort: 9091, WorkloadPort: 16060, ServerFirst: true},
{Name: AutoTCP, Protocol: protocol.TCP, ServicePort: 9092, WorkloadPort: 19091},
{Name: AutoTCPServer, Protocol: protocol.TCP, ServicePort: 9093, WorkloadPort: 16061, ServerFirst: true},
{Name: AutoHTTP, Protocol: protocol.HTTP, ServicePort: 81, WorkloadPort: 18081},
{Name: AutoGRPC, Protocol: protocol.GRPC, ServicePort: 7071, WorkloadPort: 17071},
{Name: AutoHTTPS, Protocol: protocol.HTTPS, ServicePort: 9443, WorkloadPort: 19443, TLS: true},
{Name: HTTPInstance, Protocol: protocol.HTTP, ServicePort: 82, WorkloadPort: 18082, InstanceIP: true},
{Name: HTTPLocalHost, Protocol: protocol.HTTP, ServicePort: 84, WorkloadPort: 18084, LocalhostIP: true},
{Name: TCPWorkloadOnly, Protocol: protocol.TCP, ServicePort: echo.NoServicePort, WorkloadPort: 19092},
{Name: HTTPWorkloadOnly, Protocol: protocol.HTTP, ServicePort: echo.NoServicePort, WorkloadPort: 18083},
}
}
// Headless returns a modified version of All for use with headless services.
func Headless() echo.Ports {
all := All()
headlessPorts := make([]echo.Port, len(all))
for i, p := range all {
p.ServicePort = p.WorkloadPort
headlessPorts[i] = p
}
return headlessPorts
}