Interface PlatformConfiguration

All Superinterfaces:
EnvVarHolder
All Known Subinterfaces:
KnativeConfig, KubernetesConfig, OpenShiftConfig

public interface PlatformConfiguration extends EnvVarHolder
  • Method Details

    • partOf

      Optional<String> partOf()
      The name of the group this component belongs too.
    • name

      Optional<String> name()
      The name of the application. This value will be used for naming Kubernetes resources like: - Deployment - Service and so on ...
    • version

      Optional<String> version()
      The version of the application.
    • namespace

      Optional<String> namespace()
      The namespace the generated resources should belong to. If not value is set, then the 'namespace' field will not be added to the 'metadata' section of the generated manifests. This in turn means that when the manifests are applied to a cluster, the namespace will be resolved from the current Kubernetes context (see organize-cluster-access-kubeconfig for more details).
    • labels

      @ConfigDocMapKey("label-name") Map<String,String> labels()
      Custom labels to add to all resources.
    • annotations

      @ConfigDocMapKey("annotation-name") Map<String,String> annotations()
      Custom annotations to add to all resources.
    • serviceType

      @WithDefault("ClusterIP") io.dekorate.kubernetes.annotation.ServiceType serviceType()
      The type of service that will be generated for the application
    • addBuildTimestamp

      @WithDefault("true") boolean addBuildTimestamp()
      Whether to add the build timestamp to the Kubernetes annotations This is a very useful way to have manifests of successive builds of the same application differ - thus ensuring that Kubernetes will apply the updated resources.
    • addVersionToLabelSelectors

      @WithDefault("true") boolean addVersionToLabelSelectors()
      If true, the 'app.kubernetes.io/version' label will be part of the selectors of Service and Deployment.
    • addNameToLabelSelectors

      @WithDefault("true") boolean addNameToLabelSelectors()
      If true, the 'app.kubernetes.io/name' label will be part of the selectors of Service and Deployment.
    • workingDir

      Optional<String> workingDir()
      Working directory.
    • command

      Optional<List<String>> command()
      The commands.
    • arguments

      Optional<List<String>> arguments()
      The arguments.
    • serviceAccount

      Optional<String> serviceAccount()
      The service account.
    • containerName

      Optional<String> containerName()
      If set, it will change the name of the container according to the configuration.
    • ports

      The application ports.
    • imagePullPolicy

      @WithDefault("Always") io.dekorate.kubernetes.annotation.ImagePullPolicy imagePullPolicy()
      Image pull policy.
    • imagePullSecrets

      Optional<List<String>> imagePullSecrets()
      The image pull secret.
    • generateImagePullSecret

      @WithDefault("false") boolean generateImagePullSecret()
      Enable generation of image pull secret, when the container image username and password are provided.
    • livenessProbe

      ProbeConfig livenessProbe()
      The liveness probe.
    • readinessProbe

      ProbeConfig readinessProbe()
      The readiness probe.
    • startupProbe

      ProbeConfig startupProbe()
      The startup probe.
    • prometheus

      PrometheusConfig prometheus()
      Prometheus configuration.
    • mounts

      Volume mounts.
    • secretVolumes

      Map<String,SecretVolumeConfig> secretVolumes()
      Secret volumes.
    • configMapVolumes

      Map<String,ConfigMapVolumeConfig> configMapVolumes()
      ConfigMap volumes.
    • emptyDirVolumes

      Optional<List<String>> emptyDirVolumes()
      EmptyDir volumes.
    • gitRepoVolumes

      Map<String,GitRepoVolumeConfig> gitRepoVolumes()
      Git Repository volumes.
    • pvcVolumes

      Map<String,PvcVolumeConfig> pvcVolumes()
      Persistent Volume Claim volumes.
    • awsElasticBlockStoreVolumes

      Map<String,AwsElasticBlockStoreVolumeConfig> awsElasticBlockStoreVolumes()
      AWS Elastic BlockStore volumes.
    • azureFileVolumes

      Map<String,AzureFileVolumeConfig> azureFileVolumes()
      Azure file volumes.
    • azureDiskVolumes

      Map<String,AzureDiskVolumeConfig> azureDiskVolumes()
      Azure disk volumes.
    • initContainers

      Map<String,ContainerConfig> initContainers()
      Init containers.
    • sidecars

      Sidecar containers.
    • hostAliases

      @WithName("hostaliases") Map<String,HostAliasConfig> hostAliases()
      The host aliases.
    • nodeSelector

      Optional<NodeSelectorConfig> nodeSelector()
      The nodeSelector.
    • resources

      ResourcesConfig resources()
      Resources requirements.
    • appSecret

      Optional<String> appSecret()
      If set, the secret will mounted to the application container and its contents will be used for application configuration.
    • appConfigMap

      Optional<String> appConfigMap()
      If set, the config map will be mounted to the application container and its contents will be used for application configuration.
    • rbac

      RbacConfig rbac()
      RBAC configuration.
    • securityContext

      SecurityContextConfig securityContext()
      If set, it will copy the security context configuration provided into the generated pod settings.
    • idempotent

      @WithDefault("false") boolean idempotent()
      Switch used to control whether non-idempotent fields are included in generated kubernetes resources to improve git-ops compatibility.
    • vcsUri

      VCSUriConfig vcsUri()
      VCS URI annotation configuration.
    • getSidecars

      @Deprecated default Map<String,ContainerConfig> getSidecars()
      Deprecated.