Documentation ¶
Index ¶
- Constants
- func IsKafkaResource(instance api.KogitoInfraInterface) bool
- type AppPropsConfigMapHandler
- type AppPropsVolumeHandler
- type DeploymentHandler
- type GrafanaDashboard
- type GrafanaDashboardManager
- type InfraFinalizerHandler
- type MessagingDeployer
- type ProbeType
- type PrometheusManager
- type ServiceDefinition
- type ServiceDeployer
- type ServiceHandler
- type StatusHandler
- type TrustStoreHandler
Constants ¶
const ( // AppPropContentHashKey is the annotation key for the content hash of application.properties AppPropContentHashKey = "appPropContentHash" // ConfigMapApplicationPropertyKey is the file name used as a key for ConfigMaps mounted in Kogito services deployments ConfigMapApplicationPropertyKey = "application.properties" )
const (
// AppPropVolumeName is the name of the volume for application.properties
AppPropVolumeName = "app-prop-config"
)
Variables ¶
This section is empty.
Functions ¶
func IsKafkaResource ¶
func IsKafkaResource(instance api.KogitoInfraInterface) bool
IsKafkaResource checks if provided KogitoInfra instance is for kafka resource
Types ¶
type AppPropsConfigMapHandler ¶
type AppPropsConfigMapHandler interface {
GetAppPropConfigMapContentHash(service api.KogitoService, appProps map[string]string) (string, *corev1.ConfigMap, error)
}
AppPropsConfigMapHandler ...
func NewAppPropsConfigMapHandler ¶
func NewAppPropsConfigMapHandler(context operator.Context) AppPropsConfigMapHandler
NewAppPropsConfigMapHandler ...
type AppPropsVolumeHandler ¶
type AppPropsVolumeHandler interface { CreateAppPropVolume(service api.KogitoService) corev1.Volume CreateAppPropVolumeMount() corev1.VolumeMount }
AppPropsVolumeHandler ...
func NewAppPropsVolumeHandler ¶
func NewAppPropsVolumeHandler() AppPropsVolumeHandler
NewAppPropsVolumeHandler ...
type DeploymentHandler ¶
type DeploymentHandler interface { CreateRequiredDeployment(service api.KogitoService, resolvedImage string, definition ServiceDefinition) *appsv1.Deployment IsDeploymentAvailable(kogitoService api.KogitoService) (bool, error) }
DeploymentHandler ...
func NewDeploymentHandler ¶
func NewDeploymentHandler(context operator.Context) DeploymentHandler
NewDeploymentHandler ...
type GrafanaDashboard ¶
GrafanaDashboard is a structure that contains the fetched dashboards
type GrafanaDashboardManager ¶
type GrafanaDashboardManager interface {
ConfigureGrafanaDashboards(kogitoService api.KogitoService) error
}
GrafanaDashboardManager ...
func NewGrafanaDashboardManager ¶
func NewGrafanaDashboardManager(context operator.Context) GrafanaDashboardManager
NewGrafanaDashboardManager ...
type InfraFinalizerHandler ¶ added in v1.8.0
type InfraFinalizerHandler interface { AddFinalizer(instance api.KogitoService) error HandleFinalization(instance api.KogitoService) error }
InfraFinalizerHandler ...
func NewFinalizerHandler ¶
func NewFinalizerHandler(context operator.Context, infraHandler manager.KogitoInfraHandler) InfraFinalizerHandler
NewFinalizerHandler ...
type MessagingDeployer ¶
type MessagingDeployer interface {
CreateRequiredResources(service api.KogitoService) error
}
MessagingDeployer ...
func NewKafkaMessagingDeployer ¶
func NewKafkaMessagingDeployer(context operator.Context, definition ServiceDefinition, infraHandler manager.KogitoInfraHandler) MessagingDeployer
NewKafkaMessagingDeployer handles messaging resources creation. These resources can be required by the deployed service through a bound KogitoInfra.
func NewKnativeMessagingDeployer ¶
func NewKnativeMessagingDeployer(context operator.Context, definition ServiceDefinition, infraHandler manager.KogitoInfraHandler) MessagingDeployer
NewKnativeMessagingDeployer ...
type ProbeType ¶ added in v1.7.0
type ProbeType string
ProbeType defines the types of probes supported by K8s
type PrometheusManager ¶
type PrometheusManager interface {
ConfigurePrometheus(kogitoService api.KogitoService) error
}
PrometheusManager ...
func NewPrometheusManager ¶
func NewPrometheusManager(context operator.Context) PrometheusManager
NewPrometheusManager ...
type ServiceDefinition ¶
type ServiceDefinition struct { // DefaultImageName is the name of the default image distributed for Kogito, e.g. kogito-jobs-service, kogito-data-index and so on // can be empty, in this case Request.Name will be used as image name DefaultImageName string // DefaultImageTag is the default image tag to use for this service. If left empty, will use the minor version of the operator, e.g. 0.11 DefaultImageTag string // Request made for the service Request controller.Request // OnDeploymentCreate applies custom deployment configuration in the required Deployment resource OnDeploymentCreate func(deployment *appsv1.Deployment) error // OnObjectsCreate applies custom object creation in the service deployment logic. // E.g. if you need an additional Kubernetes resource, just create your own map that the API will append to its managed resources. // The "objectLists" array is the List object reference of the types created. // For example: if a ConfigMap is created, then ConfigMapList empty reference should be added to this list OnObjectsCreate func(kogitoService api.KogitoService) (resources map[reflect.Type][]resource.KubernetesResource, objectLists []runtime.Object, err error) // OnGetComparators is called during the deployment phase to compare the deployed resources against the created ones // Use this hook to add your comparators to override a specific comparator or to add your own if you have created extra objects via OnObjectsCreate // Use framework.NewComparatorBuilder() to build your own OnGetComparators func(comparator compare.ResourceComparator) // SingleReplica if set to true, avoids that the service has more than one pod replica SingleReplica bool // KafkaTopics is a collection of Kafka Topics to be created within the service KafkaTopics []string // CustomService indicates that the service can be built within the cluster // A custom service means that could be built by a third party, not being provided by the Kogito Team Services catalog (such as Data Index, Management Console and etc.). CustomService bool // contains filtered or unexported fields }
ServiceDefinition defines the structure for a Kogito Service
type ServiceDeployer ¶
type ServiceDeployer interface { // Deploy deploys the Kogito Service in the Kubernetes cluster according to a given ServiceDefinition Deploy() (reconcileAfter time.Duration, err error) }
ServiceDeployer is the API to handle a Kogito Service deployment by Operator SDK controllers
func NewServiceDeployer ¶
func NewServiceDeployer(context operator.Context, definition ServiceDefinition, serviceType api.KogitoService, infraHandler manager.KogitoInfraHandler) ServiceDeployer
NewServiceDeployer creates a new ServiceDeployer to handle a custom Kogito Service instance to be handled by Operator SDK controller.
type ServiceHandler ¶
type ServiceHandler interface {
GetKogitoServiceEndpoint(kogitoService api.KogitoService) string
}
ServiceHandler ...
func NewKogitoServiceHandler ¶
func NewKogitoServiceHandler(context operator.Context) ServiceHandler
NewKogitoServiceHandler ...
type StatusHandler ¶
type StatusHandler interface {
HandleStatusUpdate(instance api.KogitoService, err *error)
}
StatusHandler ...
func NewStatusHandler ¶
func NewStatusHandler(context operator.Context) StatusHandler
NewStatusHandler ...
type TrustStoreHandler ¶
type TrustStoreHandler interface {
MountTrustStore(deployment *appsv1.Deployment, service api.KogitoService) error
}
TrustStoreHandler takes care of mounting the custom TrustStoreSecret in a given Deployment based on api.KogitoService spec
func NewTrustStoreHandler ¶
func NewTrustStoreHandler(context operator.Context) TrustStoreHandler
NewTrustStoreHandler creates a new TrustStoreHandler with the given context