Documentation ¶
Index ¶
- Constants
- func AddEnvoySidecarForMesh(spec *v1.PodTemplateSpec) (exist bool)
- func GetAnnotationFromUnstructured(u *unstructured.Unstructured, key string) (string, error)
- func GetDefaultPodName(ctx context.Context, p *Controller) (string, error)
- func GetOriginalContainers(client *clientgoutils.ClientGoUtils, workloadType base.SvcType, ...) ([]v1.Container, error)
- func GetPodTemplateFromSpecPath(path string, unstructuredObj map[string]interface{}) (*corev1.PodTemplateSpec, error)
- func GetSvcConfig(ns, appName, svcName, kubeconfig string, svcType base.SvcType) (*profile.ServiceConfigV2, error)
- func GetUnstructuredMapByPath(path string, u map[string]interface{}) (map[string]interface{}, error)
- func IsResourcesLimitTooLow(r *corev1.ResourceRequirements) bool
- func RemoveUselessInfo(u *unstructured.Unstructured)
- func StopPortForward(ns, nid, app, svc string, portForward *profile.DevPortForward) error
- func UpdateSvcConfig(ns, appName, kubeconfig string, config *profile.ServiceConfigV2) error
- type ContainerDevEnv
- type Controller
- func (c *Controller) AddPortForwardToDB(port *profile.DevPortForward) error
- func (c *Controller) BuildPodController() pod_controller.PodController
- func (c *Controller) CheckDevModePodIsRunning() (string, error)
- func (c *Controller) CheckIfExist() error
- func (c *Controller) CheckIfPortForwardExists(localPort, remotePort int) (bool, error)
- func (c *Controller) Config() *profile.ServiceConfigV2
- func (c *Controller) CreateSyncThingSecret(container string, localSyncDir []string, duplicateDevMode bool) error
- func (c *Controller) DecreaseDevModeCount() error
- func (c *Controller) DeletePortForwardFromDB(localPort, remotePort int) error
- func (c *Controller) DevEnd(reset bool) error
- func (c *Controller) DuplicateModeRollBack() error
- func (c *Controller) EndDevPortForward(localPort int, remotePort int) error
- func (c *Controller) EnterPodTerminal(podName, container, shell, banner string) error
- func (c *Controller) FindOutSyncthingProcess(whileProcessFound func(int) error) error
- func (c *Controller) GetAppConfig() *profile.NocalHostAppConfigV2
- func (c *Controller) GetAppProfile() (*profile.AppProfileV2, error)
- func (c *Controller) GetContainerImage(container string) (string, error)
- func (c *Controller) GetContainers() ([]v1.Container, error)
- func (c *Controller) GetCurrentDevModeType() profile.DevModeType
- func (c *Controller) GetDescription() *profile.SvcProfileV2
- func (c *Controller) GetDevContainerEnv(container string) *ContainerDevEnv
- func (c *Controller) GetDevContainerName(container string) string
- func (c *Controller) GetDevImage(container string) string
- func (c *Controller) GetDevModePodName() (string, error)
- func (c *Controller) GetDevSidecarImage(container string) string
- func (c *Controller) GetDevSidecarLanguage(container string) string
- func (c *Controller) GetDuplicateModePodList() ([]v1.Pod, error)
- func (c *Controller) GetImagePullPolicy(container string) corev1.PullPolicy
- func (c *Controller) GetOriginalContainers() ([]v1.Container, error)
- func (c *Controller) GetPVCsBySvc() ([]v1.PersistentVolumeClaim, error)
- func (c *Controller) GetPersistentVolumeDirs(container string) []*profile.PersistentVolumeDir
- func (c *Controller) GetPodList() ([]corev1.Pod, error)
- func (c *Controller) GetPodTemplate() (*corev1.PodTemplateSpec, error)
- func (c *Controller) GetPortForward(localPort, remotePort int) (*profile.DevPortForward, error)
- func (c *Controller) GetPortForwardForSync() (*profile.DevPortForward, error)
- func (c *Controller) GetProfile() (*profile.SvcProfileV2, error)
- func (c *Controller) GetProfileForUpdate() (*profile.AppProfileV2, error)
- func (c *Controller) GetStorageClass(container string) string
- func (c *Controller) GetSyncDir() string
- func (c *Controller) GetSyncThingPid() (int, error)
- func (c *Controller) GetSyncThingPidFile() string
- func (c *Controller) GetSyncThingSecretName() string
- func (c *Controller) GetTypeMeta() (metav1.TypeMeta, error)
- func (c *Controller) GetUnstructured() (unstructuredMap *unstructured.Unstructured, err error)
- func (c *Controller) GetWorkDir(container string) string
- func (c *Controller) IncreaseDevModeCount() error
- func (c *Controller) IsInDevMode() bool
- func (c *Controller) IsInDevModeStarting() bool
- func (c *Controller) IsInDuplicateDevMode() bool
- func (c *Controller) IsInDuplicateDevModeStarting() bool
- func (c *Controller) IsInReplaceDevMode() bool
- func (c *Controller) IsInReplaceDevModeStarting() bool
- func (c *Controller) IsPortForwarding() bool
- func (c *Controller) IsProcessor() bool
- func (c *Controller) ListHPA() ([]autoscalingv1.HorizontalPodAutoscaler, error)
- func (c *Controller) ListPodOfGeneratedDeployment() ([]corev1.Pod, error)
- func (c *Controller) LoadConfigFromHub() error
- func (c *Controller) LoadConfigFromHubC(container string) error
- func (c *Controller) NewSyncthing(container string, localSyncDir []string, syncDouble bool) (*syncthing.Syncthing, error)
- func (c *Controller) NewSyncthingHttpClient(reqTimeoutSecond int) *req.SyncthingHttpClient
- func (c *Controller) PatchDevModeManifest(ctx context.Context, ops *model.DevStartOptions) error
- func (c *Controller) PortForward(podName string, localPort, remotePort int, role string) error
- func (c *Controller) PortForwardAfterDevStart(podName, containerName string) error
- func (c *Controller) ReloadConfig() profile.ServiceConfigV2
- func (c *Controller) ReplaceDuplicateModeImage(ctx context.Context, ops *model.DevStartOptions) error
- func (c *Controller) ReplaceImage(ctx context.Context, ops *model.DevStartOptions) error
- func (c *Controller) RollBack(reset bool) error
- func (c *Controller) RollbackFromAnnotation(reset bool) error
- func (c *Controller) SetPortForwardedStatus(is bool) error
- func (c *Controller) SetSyncingStatus(is bool) error
- func (c *Controller) SetSyncthingPort(remotePort, remoteGUIPort, localPort, localGUIPort int) error
- func (c *Controller) StopAllPortForward() error
- func (c *Controller) StopFileSyncOnly() error
- func (c *Controller) StopPortForwardByPort(port string) error
- func (c *Controller) StopSyncAndPortForwardProcess(cleanRemoteSecret bool) error
- func (c *Controller) UpdateConfig(config profile.ServiceConfigV2) error
- func (c *Controller) UpdatePortForwardStatus(localPort int, remotePort int, portStatus string, reason string) error
- func (c *Controller) UpdateSvcProfile(modify func(*profile.SvcProfileV2) error) error
- type DefaultController
- type DuplicateRawPodController
- type RawPodController
Constants ¶
const ( IdentifierKey = "identifier" OriginWorkloadNameKey = "origin-workload-name" OriginWorkloadTypeKey = "origin-workload-type" EnvoySidecarImage = "nocalhost-docker.pkg.coding.net/nocalhost/public/nocalhost-envoy:v1" MeshControlPlaneImage = "nocalhost-docker.pkg.coding.net/nocalhost/public/nocalhost-control-plane:v1" MeshManager = "mesh-manager" AnnotationMeshEnable = "dev.mesh.nocalhost.dev" AnnotationMeshUuid = "dev.mesh.nocalhost.dev/uuid" AnnotationMeshType = "dev.mesh.nocalhost.dev/type" AnnotationMeshHeaderKey = "dev.mesh.nocalhost.dev/header-key" AnnotationMeshHeaderValue = "dev.mesh.nocalhost.dev/header-value" AnnotationMeshPort = "dev.mesh.nocalhost.dev/port" AnnotationMeshTypeDev = "dev" AnnotationMeshTypeOrigin = "origin" EnvoyMeshSidecarName = "nocalhost-mesh" )
const (
OriginSpecJson = "nocalhost.origin.spec.json" // deprecated
)
Variables ¶
This section is empty.
Functions ¶
func AddEnvoySidecarForMesh ¶
func AddEnvoySidecarForMesh(spec *v1.PodTemplateSpec) (exist bool)
func GetAnnotationFromUnstructured ¶
func GetAnnotationFromUnstructured(u *unstructured.Unstructured, key string) (string, error)
GetAnnotationFromUnstructured get annotation from unstructured
func GetDefaultPodName ¶
func GetDefaultPodName(ctx context.Context, p *Controller) (string, error)
func GetOriginalContainers ¶
func GetOriginalContainers(client *clientgoutils.ClientGoUtils, workloadType base.SvcType, workloadName, path string) ([]v1.Container, error)
func GetPodTemplateFromSpecPath ¶
func GetPodTemplateFromSpecPath(path string, unstructuredObj map[string]interface{}) (*corev1.PodTemplateSpec, error)
func GetSvcConfig ¶
func GetUnstructuredMapByPath ¶
func GetUnstructuredMapByPath(path string, u map[string]interface{}) (map[string]interface{}, error)
GetUnstructuredMapByPath Path must be like: /spec/template
func IsResourcesLimitTooLow ¶
func IsResourcesLimitTooLow(r *corev1.ResourceRequirements) bool
IsResourcesLimitTooLow Check if resource limit is lower than 2 cpu, 2Gi men
func RemoveUselessInfo ¶
func RemoveUselessInfo(u *unstructured.Unstructured)
func StopPortForward ¶
func StopPortForward(ns, nid, app, svc string, portForward *profile.DevPortForward) error
func UpdateSvcConfig ¶
func UpdateSvcConfig(ns, appName, kubeconfig string, config *profile.ServiceConfigV2) error
Types ¶
type ContainerDevEnv ¶
type Controller ¶
type Controller struct { NameSpace string AppName string Name string Identifier string DevModeType profile.DevModeType Type base.SvcType Client *clientgoutils.ClientGoUtils AppMeta *appmeta.ApplicationMeta DevModeAction base.DevModeAction // contains filtered or unexported fields }
Controller presents a k8s controller https://kubernetes.io/docs/concepts/architecture/controller
func NewController ¶
func NewController(ns, name, appName, identifier string, svcType base.SvcType, client *clientgoutils.ClientGoUtils, appMeta *appmeta.ApplicationMeta) (*Controller, error)
func (*Controller) AddPortForwardToDB ¶
func (c *Controller) AddPortForwardToDB(port *profile.DevPortForward) error
You should `CheckIfPortForwardExists` before adding a port-forward to db
func (*Controller) BuildPodController ¶
func (c *Controller) BuildPodController() pod_controller.PodController
func (*Controller) CheckDevModePodIsRunning ¶
func (c *Controller) CheckDevModePodIsRunning() (string, error)
func (*Controller) CheckIfExist ¶
func (c *Controller) CheckIfExist() error
func (*Controller) CheckIfPortForwardExists ¶
func (c *Controller) CheckIfPortForwardExists(localPort, remotePort int) (bool, error)
func (*Controller) Config ¶
func (c *Controller) Config() *profile.ServiceConfigV2
func (*Controller) CreateSyncThingSecret ¶
func (c *Controller) CreateSyncThingSecret(container string, localSyncDir []string, duplicateDevMode bool) error
func (*Controller) DecreaseDevModeCount ¶
func (c *Controller) DecreaseDevModeCount() error
func (*Controller) DeletePortForwardFromDB ¶
func (c *Controller) DeletePortForwardFromDB(localPort, remotePort int) error
func (*Controller) DevEnd ¶
func (c *Controller) DevEnd(reset bool) error
func (*Controller) DuplicateModeRollBack ¶
func (c *Controller) DuplicateModeRollBack() error
func (*Controller) EndDevPortForward ¶
func (c *Controller) EndDevPortForward(localPort int, remotePort int) error
func (*Controller) EnterPodTerminal ¶
func (c *Controller) EnterPodTerminal(podName, container, shell, banner string) error
EnterPodTerminal Try to use shell defined in devContainerShell to enter pod's terminal If devContainerShell is not defined or shell defined in devContainerShell failed to enter terminal, use /bin/sh If container not specified, the first container will be used
func (*Controller) FindOutSyncthingProcess ¶
func (c *Controller) FindOutSyncthingProcess(whileProcessFound func(int) error) error
func (*Controller) GetAppConfig ¶
func (c *Controller) GetAppConfig() *profile.NocalHostAppConfigV2
func (*Controller) GetAppProfile ¶
func (c *Controller) GetAppProfile() (*profile.AppProfileV2, error)
func (*Controller) GetContainerImage ¶
func (c *Controller) GetContainerImage(container string) (string, error)
func (*Controller) GetContainers ¶
func (c *Controller) GetContainers() ([]v1.Container, error)
func (*Controller) GetCurrentDevModeType ¶
func (c *Controller) GetCurrentDevModeType() profile.DevModeType
func (*Controller) GetDescription ¶
func (c *Controller) GetDescription() *profile.SvcProfileV2
func (*Controller) GetDevContainerEnv ¶
func (c *Controller) GetDevContainerEnv(container string) *ContainerDevEnv
func (*Controller) GetDevContainerName ¶
func (c *Controller) GetDevContainerName(container string) string
func (*Controller) GetDevImage ¶
func (c *Controller) GetDevImage(container string) string
func (*Controller) GetDevModePodName ¶
func (c *Controller) GetDevModePodName() (string, error)
func (*Controller) GetDevSidecarImage ¶
func (c *Controller) GetDevSidecarImage(container string) string
func (*Controller) GetDevSidecarLanguage ¶
func (c *Controller) GetDevSidecarLanguage(container string) string
func (*Controller) GetDuplicateModePodList ¶
func (c *Controller) GetDuplicateModePodList() ([]v1.Pod, error)
func (*Controller) GetImagePullPolicy ¶
func (c *Controller) GetImagePullPolicy(container string) corev1.PullPolicy
func (*Controller) GetOriginalContainers ¶
func (c *Controller) GetOriginalContainers() ([]v1.Container, error)
func (*Controller) GetPVCsBySvc ¶
func (c *Controller) GetPVCsBySvc() ([]v1.PersistentVolumeClaim, error)
GetPVCsBySvc Get all PersistVolumeClaims created by specified service
func (*Controller) GetPersistentVolumeDirs ¶
func (c *Controller) GetPersistentVolumeDirs(container string) []*profile.PersistentVolumeDir
func (*Controller) GetPodList ¶
func (c *Controller) GetPodList() ([]corev1.Pod, error)
GetPodList If in Replace DevMode and DevModeAction.Create is true, return pods of generated deployment Others, return pods of the workload
func (*Controller) GetPodTemplate ¶
func (c *Controller) GetPodTemplate() (*corev1.PodTemplateSpec, error)
func (*Controller) GetPortForward ¶
func (c *Controller) GetPortForward(localPort, remotePort int) (*profile.DevPortForward, error)
GetPortForward If not found return err
func (*Controller) GetPortForwardForSync ¶
func (c *Controller) GetPortForwardForSync() (*profile.DevPortForward, error)
func (*Controller) GetProfile ¶
func (c *Controller) GetProfile() (*profile.SvcProfileV2, error)
func (*Controller) GetProfileForUpdate ¶
func (c *Controller) GetProfileForUpdate() (*profile.AppProfileV2, error)
GetProfileForUpdate You need to closeDB for profile explicitly
func (*Controller) GetStorageClass ¶
func (c *Controller) GetStorageClass(container string) string
func (*Controller) GetSyncDir ¶
func (c *Controller) GetSyncDir() string
func (*Controller) GetSyncThingPid ¶
func (c *Controller) GetSyncThingPid() (int, error)
func (*Controller) GetSyncThingPidFile ¶
func (c *Controller) GetSyncThingPidFile() string
func (*Controller) GetSyncThingSecretName ¶
func (c *Controller) GetSyncThingSecretName() string
func (*Controller) GetTypeMeta ¶
func (c *Controller) GetTypeMeta() (metav1.TypeMeta, error)
func (*Controller) GetUnstructured ¶
func (c *Controller) GetUnstructured() (unstructuredMap *unstructured.Unstructured, err error)
func (*Controller) GetWorkDir ¶
func (c *Controller) GetWorkDir(container string) string
func (*Controller) IncreaseDevModeCount ¶
func (c *Controller) IncreaseDevModeCount() error
func (*Controller) IsInDevMode ¶
func (c *Controller) IsInDevMode() bool
func (*Controller) IsInDevModeStarting ¶
func (c *Controller) IsInDevModeStarting() bool
func (*Controller) IsInDuplicateDevMode ¶
func (c *Controller) IsInDuplicateDevMode() bool
func (*Controller) IsInDuplicateDevModeStarting ¶
func (c *Controller) IsInDuplicateDevModeStarting() bool
func (*Controller) IsInReplaceDevMode ¶
func (c *Controller) IsInReplaceDevMode() bool
IsInReplaceDevMode return true if under dev starting or start complete
func (*Controller) IsInReplaceDevModeStarting ¶
func (c *Controller) IsInReplaceDevModeStarting() bool
func (*Controller) IsPortForwarding ¶
func (c *Controller) IsPortForwarding() bool
func (*Controller) IsProcessor ¶
func (c *Controller) IsProcessor() bool
IsProcessor Check if service is developing in this device
func (*Controller) ListHPA ¶
func (c *Controller) ListHPA() ([]autoscalingv1.HorizontalPodAutoscaler, error)
func (*Controller) ListPodOfGeneratedDeployment ¶
func (c *Controller) ListPodOfGeneratedDeployment() ([]corev1.Pod, error)
func (*Controller) LoadConfigFromHub ¶
func (c *Controller) LoadConfigFromHub() error
func (*Controller) LoadConfigFromHubC ¶
func (c *Controller) LoadConfigFromHubC(container string) error
func (*Controller) NewSyncthing ¶
func (*Controller) NewSyncthingHttpClient ¶
func (c *Controller) NewSyncthingHttpClient(reqTimeoutSecond int) *req.SyncthingHttpClient
func (*Controller) PatchDevModeManifest ¶
func (c *Controller) PatchDevModeManifest(ctx context.Context, ops *model.DevStartOptions) error
func (*Controller) PortForward ¶
func (c *Controller) PortForward(podName string, localPort, remotePort int, role string) error
PortForward Role: If set to "SYNC", means it is a pf used for syncthing
func (*Controller) PortForwardAfterDevStart ¶
func (c *Controller) PortForwardAfterDevStart(podName, containerName string) error
func (*Controller) ReloadConfig ¶
func (c *Controller) ReloadConfig() profile.ServiceConfigV2
func (*Controller) ReplaceDuplicateModeImage ¶
func (c *Controller) ReplaceDuplicateModeImage(ctx context.Context, ops *model.DevStartOptions) error
ReplaceDuplicateModeImage Create a duplicate deployment instead of replacing image
func (*Controller) ReplaceImage ¶
func (c *Controller) ReplaceImage(ctx context.Context, ops *model.DevStartOptions) error
func (*Controller) RollBack ¶
func (c *Controller) RollBack(reset bool) error
func (*Controller) RollbackFromAnnotation ¶
func (c *Controller) RollbackFromAnnotation(reset bool) error
func (*Controller) SetPortForwardedStatus ¶
func (c *Controller) SetPortForwardedStatus(is bool) error
func (*Controller) SetSyncingStatus ¶
func (c *Controller) SetSyncingStatus(is bool) error
func (*Controller) SetSyncthingPort ¶
func (c *Controller) SetSyncthingPort(remotePort, remoteGUIPort, localPort, localGUIPort int) error
func (*Controller) StopAllPortForward ¶
func (c *Controller) StopAllPortForward() error
func (*Controller) StopFileSyncOnly ¶
func (c *Controller) StopFileSyncOnly() error
func (*Controller) StopPortForwardByPort ¶
func (c *Controller) StopPortForwardByPort(port string) error
StopPortForwardByPort port format 8080:80
func (*Controller) StopSyncAndPortForwardProcess ¶
func (c *Controller) StopSyncAndPortForwardProcess(cleanRemoteSecret bool) error
func (*Controller) UpdateConfig ¶
func (c *Controller) UpdateConfig(config profile.ServiceConfigV2) error
func (*Controller) UpdatePortForwardStatus ¶
func (*Controller) UpdateSvcProfile ¶
func (c *Controller) UpdateSvcProfile(modify func(*profile.SvcProfileV2) error) error
type DefaultController ¶
type DefaultController struct {
*Controller
}
func (*DefaultController) ReplaceImage ¶
func (j *DefaultController) ReplaceImage(ctx context.Context, ops *model.DevStartOptions) error
func (*DefaultController) RollBack ¶
func (j *DefaultController) RollBack(reset bool) error
type DuplicateRawPodController ¶
type DuplicateRawPodController struct {
*Controller
}
func (*DuplicateRawPodController) ReplaceImage ¶
func (r *DuplicateRawPodController) ReplaceImage(ctx context.Context, ops *model.DevStartOptions) error
func (*DuplicateRawPodController) RollBack ¶
func (r *DuplicateRawPodController) RollBack(reset bool) error
type RawPodController ¶
type RawPodController struct {
*Controller
}
RawPodController represents a pod not managed by any controller
func (*RawPodController) ReplaceImage ¶
func (r *RawPodController) ReplaceImage(ctx context.Context, ops *model.DevStartOptions) error
func (*RawPodController) RollBack ¶
func (r *RawPodController) RollBack(reset bool) error