Documentation
¶
Overview ¶
+groupName=app.bytetrade.io
Package v1alpha1 contains API Schema definitions for the app v1alpha1 API group +kubebuilder:object:generate=true +groupName=app.bytetrade.io
Index ¶
- Constants
- Variables
- func AppResourceName(name, namespace string) string
- func EntranceID(appid string, entranceIndex, entranceCount int) string
- func IsShared(o metav1.Object) bool
- func IsV3(o metav1.Object) bool
- func Resource(resource string) schema.GroupResource
- func SharedEntranceID(appid string, entranceIndex, entranceCount int) string
- func SharedEntranceIDV2(appid string, entranceIndex, entranceCount int) string
- func SharedEntrancePrefix(appid string) string
- type ACL
- type AppImage
- type AppImageList
- type Application
- func (in *Application) DeepCopy() *Application
- func (in *Application) DeepCopyInto(out *Application)
- func (in *Application) DeepCopyObject() runtime.Object
- func (app *Application) EffectiveEntrances(user string) []Entrance
- func (app *Application) EffectiveSettings(user string) map[string]string
- func (app *Application) EntranceIDs() []string
- func (app *Application) EntrancesForZone(zone string) []Entrance
- func (app *Application) EntrancesWithZone(zone string) ([]Entrance, error)
- func (app *Application) GenEntranceURLs(zone string) ([]Entrance, error)
- func (app *Application) SharedEntranceIDs() []string
- func (app *Application) SharedEntrancesForZone(zone string) []Entrance
- func (app *Application) ThirdLevelCusDomainURLs(zone string, owner string) []string
- type ApplicationList
- type ApplicationManager
- type ApplicationManagerList
- type ApplicationManagerSpec
- type ApplicationManagerState
- type ApplicationManagerStatus
- type ApplicationSpec
- type ApplicationState
- type ApplicationStatus
- type AutoApprovers
- type Condition
- type DefaultThirdLevelDomainConfig
- type Entrance
- func (in *Entrance) DeepCopy() *Entrance
- func (in *Entrance) DeepCopyInto(out *Entrance)
- func (e Entrance) EntranceID(appid string, entranceIndex, entranceCount int) string
- func (e Entrance) ForZone(appid, zone string, entranceIndex, entranceCount int) Entrance
- func (e Entrance) SharedEntranceID(appid string, entranceIndex, entranceCount int) string
- func (e Entrance) SharedEntranceIDV2(appid string, entranceIndex, entranceCount int) string
- func (e Entrance) SharedForZone(appid, zone string, entranceIndex, entranceCount int) Entrance
- func (e Entrance) SharedForZoneV2(appid, zone string, entranceIndex, entranceCount int) Entrance
- type EntranceState
- type EntranceStatus
- type Entrances
- func (es Entrances) EntranceIDs(appid string) []string
- func (es Entrances) ForZone(appid, zone string) Entrances
- func (es Entrances) SharedEntranceIDs(appid string) []string
- func (es Entrances) SharedForZone(appid, zone string) Entrances
- func (es Entrances) SharedForZoneV2(appid, zone string) Entrances
- type ImageInfo
- type ImageLayer
- type ImageManager
- type ImageManagerList
- type ImageManagerSpec
- type ImageManagerStatus
- type ImageProgress
- type ImageSpec
- type ImageStatus
- type OpRecord
- type OpType
- type Ref
- type ServicePort
- type TailScale
- type TailScalePolicy
- type Type
Constants ¶
const ( // AppApiVersionLabel marks an Application / ApplicationManager as a v3 // (cluster-wide, single-CR) install. It is stamped at install time by // the v3 install handler and propagated by the Application controller. AppApiVersionLabel = "app.bytetrade.io/api-version" // AppVersionV3 is the value of AppApiVersionLabel for v3 apps. AppVersionV3 = "v3" AppVersionV1 = "v1" ApplicationAuthLevelPublic = "public" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "app.bytetrade.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func AppResourceName ¶
AppResourceName return application name
func EntranceID ¶ added in v0.0.16
EntranceID builds the identifier of a single entrance from the app id and the entrance's position. It is the single source of truth for the shared rule: when an application exposes only one entrance the bare appid is returned, otherwise the entrance index is appended (e.g. appid "abc123" at index 2 -> "abc1232"). entranceIndex is 0-based and entranceCount is the total number of entrances of the application.
func IsV3 ¶ added in v0.0.7
IsV3 reports whether the given object (Application or ApplicationManager) carries the v3 marker label.
func Resource ¶
func Resource(resource string) schema.GroupResource
func SharedEntranceID ¶ added in v0.0.18
SharedEntranceID returns the id of a single shared entrance, honouring the single-entrance rule. It mirrors EntranceID but the prefix is md5(appid + "shared")[:8] instead of the bare appid.
func SharedEntranceIDV2 ¶ added in v0.0.22
SharedEntranceIDV2 returns the id of a single shared entrance, honouring the single-entrance rule. It mirrors EntranceID but the prefix is md5(appid + "shared")[:8] instead of the bare appid.
func SharedEntrancePrefix ¶ added in v0.0.18
SharedEntrancePrefix returns the 8-char prefix used to build shared entrance ids: the first 8 hex chars of md5(appid + "shared"). This is the only difference from the regular entrance id, which uses the bare appid.
Types ¶
type ACL ¶
type ACL struct {
Action string `json:"action,omitempty" yaml:"action,omitempty"`
Src []string `json:"src,omitempty" yaml:"src,omitempty"`
Proto string `json:"proto" yaml:"proto"`
Dst []string `json:"dst" yaml:"dst"`
}
func (*ACL) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ACL.
func (*ACL) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppImage ¶
type AppImage struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ImageSpec `json:"spec,omitempty"`
Status ImageStatus `json:"status,omitempty"`
}
AppImage is the Schema for the image managers API
func (*AppImage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppImage.
func (*AppImage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppImage) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppImageList ¶
type AppImageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AppImage `json:"items"`
}
AppImageList contains a list of AppImage
func (*AppImageList) DeepCopy ¶
func (in *AppImageList) DeepCopy() *AppImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppImageList.
func (*AppImageList) DeepCopyInto ¶
func (in *AppImageList) DeepCopyInto(out *AppImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppImageList) DeepCopyObject ¶
func (in *AppImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Application ¶
type Application struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ApplicationSpec `json:"spec,omitempty"`
Status ApplicationStatus `json:"status,omitempty"`
}
Application is the Schema for the applications API
func (*Application) DeepCopy ¶
func (in *Application) DeepCopy() *Application
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Application.
func (*Application) DeepCopyInto ¶
func (in *Application) DeepCopyInto(out *Application)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Application) DeepCopyObject ¶
func (in *Application) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Application) EffectiveEntrances ¶ added in v0.0.7
func (app *Application) EffectiveEntrances(user string) []Entrance
EffectiveEntrances returns a copy of Spec.Entrances with each entry's AuthLevel replaced by UserSettings[user]["authLevel"][name] when present. For v1/v2 apps it returns a copy of Spec.Entrances. The original CR is never mutated. A malformed authLevel overlay is ignored — callers fall back to the global Entrances rather than crashing because one user wrote junk into the CR. Safe to call on a nil receiver.
func (*Application) EffectiveSettings ¶ added in v0.0.7
func (app *Application) EffectiveSettings(user string) map[string]string
EffectiveSettings returns Spec.Settings overlaid with UserSettings[user] for v3 apps. For v1/v2 (no v3 label) it returns a copy of Spec.Settings as-is. The overlay is value-level on the top-level keys (e.g. "policy" / "customDomain" / "authLevel"); each value is a JSON blob keyed by entrance name that callers parse as today. Missing keys fall back to Spec.Settings. The returned map is always a fresh copy and never aliases the CR. Safe to call on a nil receiver.
func (*Application) EntranceIDs ¶ added in v0.0.16
func (app *Application) EntranceIDs() []string
EntranceIDs returns the entrance id of every entrance of the application, preserving entrance order and honouring the single-entrance rule. Safe to call on a nil receiver.
func (*Application) EntrancesForZone ¶ added in v0.0.16
func (app *Application) EntrancesForZone(zone string) []Entrance
EntrancesForZone returns a copy of the application entrances with each URL rewritten to "<entranceID>.<zone>", where entranceID honours the single-entrance rule. The original CR is never mutated. Safe to call on a nil receiver.
func (*Application) EntrancesWithZone ¶ added in v0.0.19
func (app *Application) EntrancesWithZone(zone string) ([]Entrance, error)
EntrancesWithZone returns a copy of Spec.Entrances with each URL rewritten for the given zone. When zone is empty the entrances are returned unchanged. defaultThirdLevelDomainConfig in Spec.Settings can override individual entrance URLs. The original CR is never mutated. Safe to call on a nil receiver.
func (*Application) GenEntranceURLs ¶ added in v0.0.19
func (app *Application) GenEntranceURLs(zone string) ([]Entrance, error)
GenEntranceURLs returns a copy of Spec.Entrances with URLs filled from the install owner's zone annotation (bytetrade.io/zone). Zone lookup errors are ignored and the entrances are returned unchanged, matching legacy Provider behaviour. Malformed defaultThirdLevelDomainConfig returns an error. The original CR is never mutated. Safe to call on a nil receiver.
func (*Application) SharedEntranceIDs ¶ added in v0.0.18
func (app *Application) SharedEntranceIDs() []string
SharedEntranceIDs returns the shared entrance id of every entry in Spec.SharedEntrances, honouring the single-entrance rule. Safe to call on a nil receiver.
func (*Application) SharedEntrancesForZone ¶ added in v0.0.18
func (app *Application) SharedEntrancesForZone(zone string) []Entrance
SharedEntrancesForZone returns a copy of Spec.SharedEntrances with each URL rewritten to "<sharedEntranceID>.<zone>". The original CR is never mutated. Safe to call on a nil receiver.
func (*Application) ThirdLevelCusDomainURLs ¶ added in v0.0.20
func (app *Application) ThirdLevelCusDomainURLs(zone string, owner string) []string
ThirdLevelCusDomainURLs returns the configured third-level domain prefixes for every entrance of the application, each suffixed with ".<zone>" to form a full host. When zone is empty the bare prefixes are returned. The lookup uses Spec.Settings overlaid with the install owner's UserSettings, so shared v3 apps see the owner's per-entrance overrides. Safe to call on a nil receiver.
type ApplicationList ¶
type ApplicationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Application `json:"items"`
}
ApplicationList contains a list of Application
func (*ApplicationList) DeepCopy ¶
func (in *ApplicationList) DeepCopy() *ApplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationList.
func (*ApplicationList) DeepCopyInto ¶
func (in *ApplicationList) DeepCopyInto(out *ApplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationList) DeepCopyObject ¶
func (in *ApplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationManager ¶
type ApplicationManager struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ApplicationManagerSpec `json:"spec,omitempty"`
Status ApplicationManagerStatus `json:"status,omitempty"`
}
ApplicationManager is the Schema for the application managers API
func (*ApplicationManager) DeepCopy ¶
func (in *ApplicationManager) DeepCopy() *ApplicationManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationManager.
func (*ApplicationManager) DeepCopyInto ¶
func (in *ApplicationManager) DeepCopyInto(out *ApplicationManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationManager) DeepCopyObject ¶
func (in *ApplicationManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationManagerList ¶
type ApplicationManagerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ApplicationManager `json:"items"`
}
ApplicationManagerList contains a list of ApplicationManager
func (*ApplicationManagerList) DeepCopy ¶
func (in *ApplicationManagerList) DeepCopy() *ApplicationManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationManagerList.
func (*ApplicationManagerList) DeepCopyInto ¶
func (in *ApplicationManagerList) DeepCopyInto(out *ApplicationManagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationManagerList) DeepCopyObject ¶
func (in *ApplicationManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationManagerSpec ¶
type ApplicationManagerSpec struct {
AppName string `json:"appName"`
RawAppName string `json:"rawAppName,omitempty"`
AppNamespace string `json:"appNamespace,omitempty"`
AppOwner string `json:"appOwner,omitempty"`
Config string `json:"config,omitempty"`
Source string `json:"source"`
Type Type `json:"type"`
OpType OpType `json:"opType"`
}
ApplicationManagerSpec defines the desired state of ApplicationManager
func (*ApplicationManagerSpec) DeepCopy ¶
func (in *ApplicationManagerSpec) DeepCopy() *ApplicationManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationManagerSpec.
func (*ApplicationManagerSpec) DeepCopyInto ¶
func (in *ApplicationManagerSpec) DeepCopyInto(out *ApplicationManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationManagerState ¶
type ApplicationManagerState string
ApplicationManagerState is the state of an applicationmanager at current time
const ( // Pending means that the operation is waiting to be processed. Pending ApplicationManagerState = "pending" Downloading ApplicationManagerState = "downloading" // Installing means that the installation operation is underway. Installing ApplicationManagerState = "installing" Initializing ApplicationManagerState = "initializing" Running ApplicationManagerState = "running" // Upgrading means that the upgrade operation is underway. Upgrading ApplicationManagerState = "upgrading" ApplyingEnv ApplicationManagerState = "applyingEnv" Stopping ApplicationManagerState = "stopping" Stopped ApplicationManagerState = "stopped" // Resuming means that the resume operation is underway. Resuming ApplicationManagerState = "resuming" // Uninstalling means that the uninstallation operation is underway. Uninstalling ApplicationManagerState = "uninstalling" UninstallFailed ApplicationManagerState = "uninstallFailed" ResumeFailed ApplicationManagerState = "resumeFailed" UpgradeFailed ApplicationManagerState = "upgradeFailed" ApplyEnvFailed ApplicationManagerState = "applyEnvFailed" StopFailed ApplicationManagerState = "stopFailed" DownloadFailed ApplicationManagerState = "downloadFailed" InstallFailed ApplicationManagerState = "installFailed" Uninstalled ApplicationManagerState = "uninstalled" // PendingCanceled means that the installation operation has been canceled. PendingCanceled ApplicationManagerState = "pendingCanceled" DownloadingCanceled ApplicationManagerState = "downloadingCanceled" InstallingCanceled ApplicationManagerState = "installingCanceled" InitializingCanceled ApplicationManagerState = "initializingCanceled" UpgradingCanceled ApplicationManagerState = "upgradingCanceled" ApplyingEnvCanceled ApplicationManagerState = "applyingEnvCanceled" ResumingCanceled ApplicationManagerState = "resumingCanceled" // PendingCanceling means that the installation operation is under canceling operation. PendingCanceling ApplicationManagerState = "pendingCanceling" DownloadingCanceling ApplicationManagerState = "downloadingCanceling" InstallingCanceling ApplicationManagerState = "installingCanceling" InitializingCanceling ApplicationManagerState = "initializingCanceling" UpgradingCanceling ApplicationManagerState = "upgradingCanceling" ApplyingEnvCanceling ApplicationManagerState = "applyingEnvCanceling" ResumingCanceling ApplicationManagerState = "resumingCanceling" PendingCancelFailed ApplicationManagerState = "pendingCancelFailed" DownloadingCancelFailed ApplicationManagerState = "downloadingCancelFailed" InstallingCancelFailed ApplicationManagerState = "installingCancelFailed" //InitializingCancelFailed ApplicationManagerState = "initializingCancelFailed" UpgradingCancelFailed ApplicationManagerState = "upgradingCancelFailed" ApplyingEnvCancelFailed ApplicationManagerState = "applyingEnvCancelFailed" ResumingCancelFailed ApplicationManagerState = "resumingCancelFailed" Failed ApplicationManagerState = "failed" )
Describe the states of an applicationmanager
func (ApplicationManagerState) String ¶
func (a ApplicationManagerState) String() string
type ApplicationManagerStatus ¶
type ApplicationManagerStatus struct {
OpType OpType `json:"opType,omitempty"`
OpGeneration int64 `json:"opGeneration,omitempty"`
OpID string `json:"opId,omitempty"`
State ApplicationManagerState `json:"state,omitempty"`
OpRecords []OpRecord `json:"opRecords,omitempty"`
Reason string `json:"reason,omitempty"`
Message string `json:"message,omitempty"`
Payload map[string]string `json:"payload,omitempty"`
Progress string `json:"progress,omitempty"`
UpdateTime *metav1.Time `json:"updateTime,omitempty"`
StatusTime *metav1.Time `json:"statusTime,omitempty"`
Completed bool `json:"completed,omitempty"`
OpTime *metav1.Time `json:"opTime,omitempty"`
LastState ApplicationManagerState `json:"lastState,omitempty"`
}
ApplicationManagerStatus defines the observed state of ApplicationManager
func (*ApplicationManagerStatus) DeepCopy ¶
func (in *ApplicationManagerStatus) DeepCopy() *ApplicationManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationManagerStatus.
func (*ApplicationManagerStatus) DeepCopyInto ¶
func (in *ApplicationManagerStatus) DeepCopyInto(out *ApplicationManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSpec ¶
type ApplicationSpec struct {
// the entrance of the application
Index string `json:"index,omitempty"`
// description from app's description or frontend
Description string `json:"description,omitempty"`
// The url of the icon
Icon string `json:"icon,omitempty"`
// the name of the application
Name string `json:"name"`
// RawAppName the name of application for cloned app, if RawAppName is not empty means this app is cloned
RawAppName string `json:"rawAppName,omitempty"`
// the unique id of the application
// for sys application appid equal name otherwise appid equal md5(name)[:8]
Appid string `json:"appid"`
IsSysApp bool `json:"isSysApp"`
// the namespace of the application
Namespace string `json:"namespace,omitempty"`
// the deployment of the application
DeploymentName string `json:"deployment,omitempty"`
// the owner of the application
Owner string `json:"owner,omitempty"`
// Entrances []Entrance `json:"entrances,omitempty"`
Entrances []Entrance `json:"entrances,omitempty"`
SharedEntrances []Entrance `json:"sharedEntrances,omitempty"`
Ports []ServicePort `json:"ports,omitempty"`
TailScale TailScale `json:"tailscale,omitempty"`
TailScaleACLs []ACL `json:"tailscaleAcls,omitempty"`
// the extend settings of the application
Settings map[string]string `json:"settings,omitempty"`
UserSettings map[string]map[string]string `json:"userSettings,omitempty"`
}
ApplicationSpec defines the desired state of Application
func (*ApplicationSpec) DeepCopy ¶
func (in *ApplicationSpec) DeepCopy() *ApplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSpec.
func (*ApplicationSpec) DeepCopyInto ¶
func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationState ¶
type ApplicationState string
ApplicationState is the state of an application at current time
const ( // AppRunning means that the application is installed success and ready for serve. AppRunning ApplicationState = "running" // AppStopped means that the application's deployment/statefulset replicas has been set to zero. AppStopped ApplicationState = "stopped" // AppNotReady means that the application's not ready to serve AppNotReady ApplicationState = "notReady" )
These ar the valid states of applications
func (ApplicationState) String ¶
func (a ApplicationState) String() string
type ApplicationStatus ¶
type ApplicationStatus struct {
// the state of the application: draft, submitted, passed, rejected, suspended, active
State string `json:"state,omitempty"`
// for downloading phase
Progress string `json:"progress,omitempty"`
UpdateTime *metav1.Time `json:"updateTime"`
StatusTime *metav1.Time `json:"statusTime"`
// StartedTime is the time that app first to running state
StartedTime *metav1.Time `json:"startedTime,omitempty"`
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
EntranceStatuses []EntranceStatus `json:"entranceStatuses,omitempty"`
}
ApplicationStatus defines the observed state of Application
func (*ApplicationStatus) DeepCopy ¶
func (in *ApplicationStatus) DeepCopy() *ApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationStatus.
func (*ApplicationStatus) DeepCopyInto ¶
func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoApprovers ¶ added in v0.0.12
type Condition ¶
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DefaultThirdLevelDomainConfig ¶
type DefaultThirdLevelDomainConfig struct {
AppName string `json:"appName"`
EntranceName string `json:"entranceName"`
ThirdLevelDomain string `json:"thirdLevelDomain"`
}
func (*DefaultThirdLevelDomainConfig) DeepCopy ¶
func (in *DefaultThirdLevelDomainConfig) DeepCopy() *DefaultThirdLevelDomainConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultThirdLevelDomainConfig.
func (*DefaultThirdLevelDomainConfig) DeepCopyInto ¶
func (in *DefaultThirdLevelDomainConfig) DeepCopyInto(out *DefaultThirdLevelDomainConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Entrance ¶
type Entrance struct {
Name string `yaml:"name" json:"name"`
Host string `yaml:"host" json:"host"`
Port int32 `yaml:"port" json:"port"`
// Optional. if invisible=true.
Icon string `yaml:"icon,omitempty" json:"icon,omitempty"`
// Optional. if invisible=true.
Title string `yaml:"title" json:"title,omitempty"`
AuthLevel string `yaml:"authLevel,omitempty" json:"authLevel,omitempty"`
Invisible bool `yaml:"invisible,omitempty" json:"invisible,omitempty"`
URL string `yaml:"url,omitempty" json:"url,omitempty"`
// openMethod has three choices default, iframe, window
// Optional. if invisible=true.
OpenMethod string `yaml:"openMethod,omitempty" json:"openMethod,omitempty"`
WindowPushState bool `yaml:"windowPushState,omitempty" json:"windowPushState,omitempty"`
Skip bool `yaml:"skip,omitempty" json:"skip,omitempty"`
}
Entrance contains details for application entrance
func (*Entrance) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Entrance.
func (*Entrance) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Entrance) EntranceID ¶ added in v0.0.16
EntranceID returns the id of this entrance for the given appid, honouring the single-entrance rule. entranceIndex is the 0-based position of the entrance within its application and entranceCount is the total number of entrances. Unlike the application-level helpers, a bare Entrance does not carry the appid, so it must be supplied by the caller.
func (Entrance) ForZone ¶ added in v0.0.16
ForZone returns a copy of this entrance with its URL rewritten to "<entranceID>.<zone>" for the given appid, honouring the single-entrance rule. The receiver is never mutated.
func (Entrance) SharedEntranceID ¶ added in v0.0.18
SharedEntranceID returns the id of this shared entrance for the given appid, honouring the single-entrance rule. See SharedEntranceID for the id format.
func (Entrance) SharedEntranceIDV2 ¶ added in v0.0.22
SharedEntranceIDV2 returns the id of this shared entrance for the given appid, honouring the single-entrance rule. See SharedEntranceID for the id format.
func (Entrance) SharedForZone ¶ added in v0.0.18
SharedForZone returns a copy of this shared entrance with its URL rewritten to "<sharedEntranceID>.<zone>" for the given appid. The receiver is never mutated.
func (Entrance) SharedForZoneV2 ¶ added in v0.0.22
SharedForZoneV2 returns a copy of this shared entrance with its URL rewritten to "<sharedEntranceID>.<zone>" for the given appid. The receiver is never mutated.
type EntranceState ¶
type EntranceState string
const ( EntranceRunning EntranceState = "running" EntranceNotReady EntranceState = "notReady" EntranceStopped EntranceState = "stopped" )
func (EntranceState) String ¶
func (e EntranceState) String() string
type EntranceStatus ¶
type EntranceStatus struct {
Name string `json:"name"`
State EntranceState `json:"state"`
StatusTime *metav1.Time `json:"statusTime"`
Reason string `json:"reason"`
Message string `json:"message,omitempty"`
LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
}
func (*EntranceStatus) DeepCopy ¶
func (in *EntranceStatus) DeepCopy() *EntranceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntranceStatus.
func (*EntranceStatus) DeepCopyInto ¶
func (in *EntranceStatus) DeepCopyInto(out *EntranceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Entrances ¶ added in v0.0.16
type Entrances []Entrance
Entrances is a named type over []Entrance that provides bulk helpers honouring the single-entrance rule. Callers holding a plain slice can convert with Entrances(s). The slice length supplies the entrance count, so the single-entrance rule is applied automatically.
func (Entrances) EntranceIDs ¶ added in v0.0.16
EntranceIDs returns the id of every entrance in the list for the given appid, preserving order and honouring the single-entrance rule.
func (Entrances) ForZone ¶ added in v0.0.16
ForZone returns a copy of the list with each entry's URL rewritten to "<entranceID>.<zone>" for the given appid, honouring the single-entrance rule. The receiver is never mutated.
func (Entrances) SharedEntranceIDs ¶ added in v0.0.18
SharedEntranceIDs returns the shared entrance id of every entrance in the list for the given appid, preserving order and honouring the single-entrance rule.
func (Entrances) SharedForZone ¶ added in v0.0.18
SharedForZone returns a copy of the list with each entry's URL rewritten to "<sharedEntranceID>.<zone>" for the given appid. The receiver is never mutated.
func (Entrances) SharedForZoneV2 ¶ added in v0.0.22
SharedForZoneV2 returns a copy of the list with each entry's URL rewritten to "<sharedEntranceID>.<zone>" for the given appid. The receiver is never mutated.
type ImageInfo ¶
type ImageInfo struct {
Node string `json:"node"`
Name string `json:"name"`
Architecture string `json:"architecture,omitempty"`
Variant string `json:"variant,omitempty"`
Os string `json:"os,omitempty"`
LayersData []ImageLayer `json:"layersData"`
}
func (*ImageInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageInfo.
func (*ImageInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageLayer ¶
type ImageLayer struct {
MediaType string `json:"mediaType"`
Digest string `json:"digest"`
Offset int64 `json:"offset"`
Size int64 `json:"size"`
Annotations map[string]string `json:"annotations,omitempty"`
}
func (*ImageLayer) DeepCopy ¶
func (in *ImageLayer) DeepCopy() *ImageLayer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageLayer.
func (*ImageLayer) DeepCopyInto ¶
func (in *ImageLayer) DeepCopyInto(out *ImageLayer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageManager ¶
type ImageManager struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ImageManagerSpec `json:"spec,omitempty"`
Status ImageManagerStatus `json:"status,omitempty"`
}
ImageManager is the Schema for the image managers API
func (*ImageManager) DeepCopy ¶
func (in *ImageManager) DeepCopy() *ImageManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageManager.
func (*ImageManager) DeepCopyInto ¶
func (in *ImageManager) DeepCopyInto(out *ImageManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageManager) DeepCopyObject ¶
func (in *ImageManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImageManagerList ¶
type ImageManagerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []ImageManager `json:"items"`
}
ImageManagerList contains a list of ApplicationManager
func (*ImageManagerList) DeepCopy ¶
func (in *ImageManagerList) DeepCopy() *ImageManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageManagerList.
func (*ImageManagerList) DeepCopyInto ¶
func (in *ImageManagerList) DeepCopyInto(out *ImageManagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ImageManagerList) DeepCopyObject ¶
func (in *ImageManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ImageManagerSpec ¶
type ImageManagerSpec struct {
AppName string `json:"appName"`
AppNamespace string `json:"appNamespace,omitempty"`
AppOwner string `json:"appOwner,omitempty"`
Refs []Ref `json:"refs"`
Nodes []string `json:"nodes"`
}
ImageManagerSpec defines the desired state of ImageManager
func (*ImageManagerSpec) DeepCopy ¶
func (in *ImageManagerSpec) DeepCopy() *ImageManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageManagerSpec.
func (*ImageManagerSpec) DeepCopyInto ¶
func (in *ImageManagerSpec) DeepCopyInto(out *ImageManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageManagerStatus ¶
type ImageManagerStatus struct {
// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
// Important: Run "make" to regenerate code after modifying this file
Conditions map[string]map[string]map[string]string `json:"conditions,omitempty"`
Message string `json:"message,omitempty"`
State string `json:"state"`
UpdateTime *metav1.Time `json:"updateTime"`
StatusTime *metav1.Time `json:"statusTime"`
}
ImageManagerStatus defines the observed state of ApplicationManager
func (*ImageManagerStatus) DeepCopy ¶
func (in *ImageManagerStatus) DeepCopy() *ImageManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageManagerStatus.
func (*ImageManagerStatus) DeepCopyInto ¶
func (in *ImageManagerStatus) DeepCopyInto(out *ImageManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageProgress ¶
type ImageProgress struct {
NodeName string `json:"nodeName"`
ImageRef string `json:"imageRef"`
Progress string `json:"progress"`
}
func (*ImageProgress) DeepCopy ¶
func (in *ImageProgress) DeepCopy() *ImageProgress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageProgress.
func (*ImageProgress) DeepCopyInto ¶
func (in *ImageProgress) DeepCopyInto(out *ImageProgress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageSpec ¶
type ImageSpec struct {
AppName string `json:"appName"`
Nodes []string `json:"nodes"`
Refs []string `json:"refs"`
}
func (*ImageSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSpec.
func (*ImageSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageStatus ¶
type ImageStatus struct {
State string `json:"state"`
Images []ImageInfo `json:"images,omitempty"`
StatueTime *metav1.Time `json:"statueTime"`
Message string `json:"message,omitempty"`
Conditions []Condition `json:"conditions,omitempty"`
}
func (*ImageStatus) DeepCopy ¶
func (in *ImageStatus) DeepCopy() *ImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageStatus.
func (*ImageStatus) DeepCopyInto ¶
func (in *ImageStatus) DeepCopyInto(out *ImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpRecord ¶
type OpRecord struct {
OpType OpType `json:"opType"`
OpID string `json:"opId,omitempty"`
Message string `json:"message"`
Version string `json:"version"`
Source string `json:"source"`
Status ApplicationManagerState `json:"status"`
StateTime *metav1.Time `json:"statusTime"`
}
OpRecord contains details of an operation.
func (*OpRecord) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpRecord.
func (*OpRecord) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OpType ¶
type OpType string
OpType represents the type of operation being performed.
const ( // InstallOp means an installation operation. InstallOp OpType = "install" // UninstallOp means an uninstallation operation. UninstallOp OpType = "uninstall" // UpgradeOp means an upgrade operation. UpgradeOp OpType = "upgrade" // StopOp means a suspend operation. StopOp OpType = "stop" // ResumeOp means a resume operation. ResumeOp OpType = "resume" // CancelOp means a cancel operation that operation can cancel an operation at pending or installing. CancelOp OpType = "cancel" // ApplyEnvOp means applying environment variables ApplyEnvOp OpType = "applyEnv" )
Describe the supported operation types.
type Ref ¶
type Ref struct {
Name string `json:"name"`
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy"`
}
func (*Ref) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Ref.
func (*Ref) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶
type ServicePort struct {
Name string `json:"name" yaml:"name"`
Host string `yaml:"host" json:"host"`
Port int32 `yaml:"port" json:"port"`
ExposePort int32 `yaml:"exposePort" json:"exposePort,omitempty"`
// The protocol for this entrance. Supports "tcp" and "udp","".
// Default is tcp/udp, "" mean tcp and udp.
// +default="tcp/udp"
// +optional
Protocol string `yaml:"protocol" json:"protocol,omitempty"`
AddToTailscaleAcl bool `yaml:"addToTailscaleAcl" json:"addToTailscaleAcl,omitempty"`
}
func (*ServicePort) DeepCopy ¶
func (in *ServicePort) DeepCopy() *ServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (*ServicePort) DeepCopyInto ¶
func (in *ServicePort) DeepCopyInto(out *ServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TailScale ¶
type TailScale struct {
ACLs []ACL `json:"acls,omitempty" yaml:"acls"`
SubRoutes []string `json:"subRoutes,omitempty" yaml:"subRoutes"`
AdvertiseExitNode string `json:"advertiseExitNode,omitempty" yaml:"advertiseExitNode,omitempty"`
}
func (*TailScale) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TailScale.
func (*TailScale) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TailScalePolicy ¶ added in v0.0.12
type TailScalePolicy struct {
ACL []ACL `json:"acl,omitempty" yaml:"acl,omitempty"`
AutoApprovers AutoApprovers `json:"autoApprovers,omitempty" yaml:"autoApprovers,omitempty"`
}