mononoke

command module
v0.0.0-...-7f751fe Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

README

mononoke is no longer actively maintained by VMware, Inc.

image

Experimental Spring Boot Application Reconcilers for Kubernetes

Spring Boot opinions

  • spring-boot

    when image has spring-boot dependency

    • add label apps.mononoke.local/framework with value spring-boot
    • add annotation boot.spring.io/version with value {boot-version}
  • spring-boot-graceful-shutdown

    when image has one of spring-boot-starter-tomcat, spring-boot-starter-jetty, spring-boot-starter-reactor-netty or spring-boot-starter-undertow dependencies and spring-boot version 2.3+

    • default pod termination grace period to 30 seconds (this is the k8s default)
    • default boot property server.shutdown.grace-period to 80% of the pod's termination grace period
  • spring-web-port

    when image has spring-web dependency

    • default boot property server.port to 8080
    • err if port is claimed by another container
    • add container port for server.port, if not already set
  • spring-boot-actuator

    when image has spring-boot-actuator dependency

    • default boot property management.server.port to match server.port
    • default boot property management.endpoints.web.base-path to /actuator
    • add annotation boot.spring.io/actuator with value {scheme}://:{port}{base-path}
      • scheme is http by default, https when boot property management.server.ssl.enabled is true
  • spring-boot-actuator-probes

    when image has spring-boot-actuator dependency version 2.3+

    • if boot property management.health.probes.enabled is disabled, skip remainder of opinion
    • default liveness probe timings to initial delay of 30 seconds (only set if no liveness probe is defined)
    • default liveness probe handler to HTTP GET
      • path is {boot:management.endpoints.web.base-path}/health/liveness
      • port is the management.server.port boot property
      • scheme http by default, https when boot property management.server.ssl.enabled is true
    • default readiness probe handler to HTTP GET
      • path is {boot:management.endpoints.web.base-path}/health/readiness
      • port is the management.server.port boot property
      • scheme http by default, https when boot property management.server.ssl.enabled is true
    • NOTE: for boot versions prior to 2.3, the path is {boot:management.endpoints.web.base-path}/info for both probes

Spring Boot service intents

Service intents are an indicator that an application may want to connect to a particular type of service. Any given intent may be missing, required, optional or mutually exclusive with another service.

  • service-intent-mysql

    when image has one of mysql-connector-java or r2dbc-mysql dependencies

    • add label services.mononoke.local/mysql with the container's name
    • add annotation services.mononoke.local/mysql with the driver dependency name and version
  • service-intent-postgres

    when image has one of postgresql or r2dbc-postgresql dependencies

    • add label services.mononoke.local/postgres with the container's name
    • add annotation services.mononoke.local/postgres with the driver dependency name and version
  • service-intent-mongodb

    when image has mongodb-driver-core dependency

    • add label services.mononoke.local/mongodb with the container's name
    • add annotation services.mononoke.local/mongodb with the driver dependency name and version
  • service-intent-rabbitmq

    when image has amqp-client dependency

    • add label services.mononoke.local/rabbitmq with the container's name
    • add annotation services.mononoke.local/rabbitmq with the driver dependency name and version
  • service-intent-redis

    when image has jedis dependency

    • add label services.mononoke.local/redis with the container's name
    • add annotation services.mononoke.local/redis with the driver dependency name and version
  • service-intent-kafka

    when image has kafka-clients dependency

    • add label services.mononoke.local/kafka with the container's name
    • add annotation services.mononoke.local/kafka with the driver dependency name and version
  • service-intent-kafka-streams

    when image has kafka-streams dependency

    • add label services.mononoke.local/kafka-streams with the container's name
    • add annotation services.mononoke.local/kafka-streams with the driver dependency name and version

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group +kubebuilder:object:generate=true +groupName=apps.mononoke.local
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group +kubebuilder:object:generate=true +groupName=apps.mononoke.local

Jump to

Keyboard shortcuts

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