commons

package
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 5, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultFsmNamespace           = "flomesh"
	DefaultCABundleName           = "flomesh-ca-bundle"
	RootCACertName                = "ca.crt"
	RootCAPrivateKeyName          = "ca.key"
	TLSCertName                   = "tls.crt"
	TLSPrivateKeyName             = "tls.key"
	WebhookServerServingCertsPath = "/tmp/k8s-webhook-server/serving-certs"
	DefaultCAValidityPeriod       = 24 * 365 * 10 * time.Hour
	DefaultCACommonName           = "flomesh.io"
	DefaultCACountry              = "CN"
	DefaultCALocality             = "Dalian"
	DefaultCAOrganization         = "flomesh.io"
	ManagerDeploymentName         = "fsm-manager"
	MeshConfigName                = "fsm-mesh-config"
	MeshConfigJsonName            = "mesh_config.json"
	DefaultPipyRepoPath           = "/repo"
	DefaultPipyRepoApiPath        = "/api/v1/repo"

	DeploymentNameSuffix = "-fsmdp"
	ServiceNameSuffix    = "-fsmsvc"
	ConfigMapNameSuffix  = "-fsmcm"
	DaemonSetNameSuffix  = "-fsmds"
	VolumeNameSuffix     = "-fsmvlm"

	DefaultWebhookServiceName                 = "fsm-webhook-service"
	DefaultMutatingWebhookConfigurationName   = "flomesh-mutating-webhook-configuration"
	DefaultValidatingWebhookConfigurationName = "flomesh-validating-webhook-configuration"
	ProxyInjectorWebhookPath                  = "/proxy-injector-flomesh-io-v1alpha1"
	ProxyProfileMutatingWebhookPath           = "/mutate-flomesh-io-v1alpha1-proxyprofile"
	ProxyProfileValidatingWebhookPath         = "/validate-flomesh-io-v1alpha1-proxyprofile"
	ConfigMapMutatingWebhookPath              = "/mutate-core-v1-configmap"
	ConfigMapValidatingWebhookPath            = "/validate-core-v1-configmap"
	ClusterMutatingWebhookPath                = "/mutate-flomesh-io-v1alpha1-cluster"
	ClusterValidatingWebhookPath              = "/validate-flomesh-io-v1alpha1-cluster"
	NamespacedIngressMutatingWebhookPath      = "/mutate-flomesh-io-v1alpha1-namespacedingress"
	NamespacedIngressValidatingWebhookPath    = "/validate-flomesh-io-v1alpha1-namespacedingress"
	GatewayMutatingWebhookPath                = "/mutate-gateway-networking-k8s-io-v1alpha2-gateway"
	GatewayValidatingWebhookPath              = "/validate-gateway-networking-k8s-io-v1alpha2-gateway"
	GatewayClassMutatingWebhookPath           = "/mutate-gateway-networking-k8s-io-v1alpha2-gatewayclass"
	GatewayClassValidatingWebhookPath         = "/validate-gateway-networking-k8s-io-v1alpha2-gatewayclass"
	HTTPRouteMutatingWebhookPath              = "/mutate-gateway-networking-k8s-io-v1alpha2-httproute"
	HTTPRouteValidatingWebhookPath            = "/validate-gateway-networking-k8s-io-v1alpha2-httproute"
	ReferencePolicyMutatingWebhookPath        = "/mutate-gateway-networking-k8s-io-v1alpha2-referencepolicy"
	ReferencePolicyValidatingWebhookPath      = "/validate-gateway-networking-k8s-io-v1alpha2-referencepolicy"
	TCPRouteMutatingWebhookPath               = "/mutate-gateway-networking-k8s-io-v1alpha2-tcproute"
	TCPRouteValidatingWebhookPath             = "/validate-gateway-networking-k8s-io-v1alpha2-tcproute"
	TLSRouteMutatingWebhookPath               = "/mutate-gateway-networking-k8s-io-v1alpha2-tlsroute"
	TLSRouteValidatingWebhookPath             = "/validate-gateway-networking-k8s-io-v1alpha2-tlsroute"
	UDPRouteMutatingWebhookPath               = "/mutate-gateway-networking-k8s-io-v1alpha2-udproute"
	UDPRouteValidatingWebhookPath             = "/validate-gateway-networking-k8s-io-v1alpha2-udproute"

	AnnotationPrefix                  = "flomesh.io"
	ProxyInjectIndicator              = AnnotationPrefix + "/inject"
	FlomeshControlPlaneLabel          = AnnotationPrefix + "/control-plane"
	ProxyInjectAnnotation             = ProxyInjectIndicator
	ProxyInjectNamespaceLabel         = ProxyInjectIndicator
	ProxyInjectStatusAnnotation       = AnnotationPrefix + "/inject-status"
	MatchedProxyProfile               = AnnotationPrefix + "/proxy-profile"
	ConfigHashAnnotation              = AnnotationPrefix + "/config-hash"
	SpecHashAnnotation                = AnnotationPrefix + "/spec-hash"
	ProxySpecHashAnnotation           = AnnotationPrefix + "/proxy-hash"
	ProxyProfileLastUpdated           = AnnotationPrefix + "/last-updated"
	ProxyProfileLastUpdatedTimeFormat = "20060102-150405.0000"
	InjectorAnnotationPrefix          = "sidecar.flomesh.io"
	ProxyServiceNameAnnotation        = InjectorAnnotationPrefix + "/service-name"
	ProxyDefaultProxyProfileLabel     = InjectorAnnotationPrefix + "/is-default-proxyprofile"
	ProxyProfileLabel                 = MatchedProxyProfile
	ProxyInjectEnabled                = "true"
	ProxyInjectDisabled               = "false"
	ProxyInjectdStatus                = "injected"
	ProxySharedResourceVolumeName     = "shared-proxy-res"
	ProxySharedResoueceMountPath      = "/sidecar"
	ProxyProfileConfigMapMountPath    = "/config"
	//ProxyConfigWorkDir                = "/etc/pipy/proxy"
	PipyProxyConfigFileEnvName = "PIPY_CONFIG_FILE"
	//PipyProxyPortEnvName              = "_PIPY_LISTEN_PORT_"
	ProxyProfileConfigWorkDirEnvName = "_SIDECAR_CONFIG_PATH_"
	//DefaultProxyStartupScriptName     = "config.js"
	//ProxyCRDLabel                     = AnnotationPrefix + "/proxy"
	//ProxyCRDAnnotation                = ProxyCRDLabel
	//ProxyModeLabel                    = AnnotationPrefix + "/proxy-mode"
	CRDTypeLabel           = AnnotationPrefix + "/crd"
	CRDVersionLabel        = AnnotationPrefix + "/crd-version"
	ProxyParentPathEnvName = "PROXY_PARENT_PATH"
	//ProxyPathsEnvName                 = "PROXY_PATHS"
	ProxyRepoBaseUrlEnvName          = "PROXY_REPO_BASE_URL"
	ProxyRepoApiBaseUrlEnvName       = "PROXY_REPO_API_BASE_URL"
	MatchedProxyProfileEnvName       = "MATCHED_PROXY_PROFILE"
	DefaultServicePathTpl            = "/" + ClusterTpl + "/services"
	DefaultIngressPathTpl            = "/" + ClusterTpl + "/ingress"
	DefaultNamespacedIngressPathTpl  = "/" + ClusterTpl + "/nsig/{{ .Namespace }}"
	DefaultProxyProfileParentPathTpl = DefaultServicePathTpl
	DefaultProxyProfilePathTpl       = "/" + ClusterTpl + "/pf/{{ .ProxyProfile }}"
	DefaultSidecarPathTpl            = "/" + ClusterTpl + "/sidecars/{{ .ProxyProfile }}/{{ .Sidecar }}"
	DefaultServiceBasePath           = "/base/services"
	DefaultIngressBasePath           = "/base/ingress"

	// DefaultHttpSchema, default http schema
	DefaultHttpSchema = "http"

	MultiClustersPrefix = "cluster.flomesh.io"
	//MultiClustersClusterName     = MultiClustersPrefix + "/name"
	//MultiClustersRegion          = MultiClustersPrefix + "/region"
	//MultiClustersZone            = MultiClustersPrefix + "/zone"
	//MultiClustersGroup           = MultiClustersPrefix + "/group"
	MultiClustersExported     = MultiClustersPrefix + "/export"
	MultiClustersExportedName = MultiClustersPrefix + "/export-name"
	//MultiClustersSecretType      = MultiClustersPrefix + "/kubeconfig"
	//KubeConfigEnvName            = "KUBECONFIG"
	//KubeConfigKey                = "kubeconfig"
	//ReservedInClusterClusterName = "local"
	//ClusterNameEnvName           = "FLOMESH_CLUSTER_NAME"
	//ClusterRegionEnvName         = "FLOMESH_CLUSTER_REGION"
	//ClusterZoneEnvName           = "FLOMESH_CLUSTER_ZONE"
	//ClusterGroupEnvName          = "FLOMESH_CLUSTER_GROUP"
	//ClusterGatewayEnvName        = "FLOMESH_CLUSTER_GATEWAY"
	//ClusterConnectorNamespaceEnvName       = "FLOMESH_CLUSTER_CONNECTOR_NAMESPACE"
	//ClusterConnectorModeEnvName            = "FLOMESH_CLUSTER_CONNECTOR_IS_IN_CLUSTER"
	//ClusterControlPlaneRepoRootUrlEnvName  = "FLOMESH_CLUSTER_CONTROL_PLANE_REPO_ROOT_URL"
	//ClusterControlPlaneRepoPathEnvName     = "FLOMESH_CLUSTER_CONTROL_PLANE_REPO_PATH"
	//ClusterControlPlaneRepoApiPathEnvName  = "FLOMESH_CLUSTER_CONTROL_PLANE_REPO_API_PATH"
	//FlomeshRepoServiceAddressEnvName       = "FLOMESH_REPO_SERVICE_ADDRESS"
	//FlomeshServiceAggregatorAddressEnvName = "FLOMESH_SERVICE_AGGREGATOR_ADDRESS"
	//ClusterConnectorDeploymentPrefix       = "fsm-cluster-connector-"
	//ClusterConnectorSecretVolumeName       = "kubeconfig"
	//ClusterConnectorConfigmapVolumeName    = "connector-config"
	//ClusterConnectorSecretNamePrefix       = "cluster-credentials-"
	//ClusterConnectorSecretNameTpl          = ClusterConnectorSecretNamePrefix + "%s"
	//DefaultClusterConnectorImage           = "flomesh/cluster-connector:latest"
	ClusterTpl = "{{ .Region }}/{{ .Zone }}/{{ .Group }}/{{ .Cluster }}"
)
View Source
const AppVersionTemplate = `` /* 206-byte string literal not displayed */

Variables

View Source
var (
	ClusterIDTemplate              = template.Must(template.New("ClusterIDTemplate").Parse(ClusterTpl))
	ProxyProfileParentPathTemplate = template.Must(template.New("ProxyProfileParentPathTemplate").Parse(DefaultProxyProfileParentPathTpl))
	ProxyProfilePathTemplate       = template.Must(template.New("ProxyProfilePathTemplate").Parse(DefaultProxyProfilePathTpl))
	SidecarPathTemplate            = template.Must(template.New("SidecarPathTemplate").Parse(DefaultSidecarPathTpl))
	IngressPathTemplate            = template.Must(template.New("IngressPathTemplate").Parse(DefaultIngressPathTpl))
	NamespacedIngressPathTemplate  = template.Must(template.New("NamespacedIngressPathTemplate").Parse(DefaultNamespacedIngressPathTpl))
	ServicePathTemplate            = template.Must(template.New("ServicePathTemplate").Parse(DefaultServicePathTpl))
)

Functions

This section is empty.

Types

type FlomeshConfigType

type FlomeshConfigType string
const (
	MeshConfig FlomeshConfigType = MeshConfigName
)

type Response

type Response struct {
	Success bool   `json:"success,omitempty"`
	Result  string `json:"result,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL