Package no.fintlabs

Class FlaisKubernetesDependentResource<T extends io.fabric8.kubernetes.api.model.HasMetadata,C extends FlaisCrd<S>,S extends FlaisSpec>

java.lang.Object
io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource<R,P>
io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource<R,P,io.javaoperatorsdk.operator.processing.event.source.informer.InformerEventSource<R,P>>
io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource<R,P>
io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource<T,C>
no.fintlabs.FlaisKubernetesDependentResource<T,C,S>
Type Parameters:
T - the class providing a kubernetes model.
C - the class providing the CRD type.
S - the class providing the spec of the CRD.
All Implemented Interfaces:
io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter<C>, io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource<T,C>, io.javaoperatorsdk.operator.api.reconciler.dependent.EventSourceReferencer<C>, io.javaoperatorsdk.operator.api.reconciler.dependent.GarbageCollected<C>, io.javaoperatorsdk.operator.api.reconciler.dependent.managed.DependentResourceConfigurator<io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfig<T>>, io.javaoperatorsdk.operator.api.reconciler.dependent.managed.KubernetesClientAware, io.javaoperatorsdk.operator.processing.dependent.Creator<T,C>, io.javaoperatorsdk.operator.processing.dependent.Updater<T,C>, HasSecret<C,S>

public abstract class FlaisKubernetesDependentResource<T extends io.fabric8.kubernetes.api.model.HasMetadata,C extends FlaisCrd<S>,S extends FlaisSpec> extends io.javaoperatorsdk.operator.processing.dependent.kubernetes.CRUDKubernetesDependentResource<T,C> implements HasSecret<C,S>
Represents a Kubernetes object.

If this resource is dependent of any other dependent resources you should call dependsOn in the constructor.

  • Field Summary

    Fields inherited from class io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource

    client

    Fields inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource

    eventSourceNameToUse, genericFilter, onAddFilter, onDeleteFilter, onUpdateFilter

    Fields inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource

    creator, updater
  • Constructor Summary

    Constructors
    Constructor
    Description
    FlaisKubernetesDependentResource(Class<T> resourceType, FlaisWorkflow<C,S> workflow, io.fabric8.kubernetes.client.KubernetesClient kubernetesClient)
     
    FlaisKubernetesDependentResource(Class<T> resourceType, FlaisWorkflow<C,S> workflow, io.javaoperatorsdk.operator.processing.dependent.workflow.Condition<T,C> condition, io.fabric8.kubernetes.client.KubernetesClient kubernetesClient)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    decode(String value)
    Helper method to Base64 decode secrets
    void
    dependsOn(io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource... dependentResources)
    If the dependent resource depends on other dependent resources you can add a list of dependent resources here.
    encode(String value)
    Helper method to Base64 encode secrets

    Methods inherited from class io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource

    addOwnerReference, configuration, configureWith, configureWith, create, createEventSource, deleteTargetResource, desired, getKubernetesClient, handleCreate, handleDelete, handleUpdate, isDeletable, match, match, prepare, setKubernetesClient, update

    Methods inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractEventSourceHolderDependentResource

    applyFilters, eventSource, eventSource, initEventSource, onCreated, onUpdated, resolveEventSource, resourceType, setEventSource, setOnAddFilter, setOnDeleteFilter, setOnUpdateFilter, useEventSourceWithName

    Methods inherited from class io.javaoperatorsdk.operator.processing.dependent.AbstractDependentResource

    delete, getSecondaryResource, isCreatable, isUpdatable, reconcile, reconcile, setResourceDiscriminator

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.javaoperatorsdk.operator.processing.dependent.Creator

    create

    Methods inherited from interface io.javaoperatorsdk.operator.api.reconciler.dependent.Deleter

    delete

    Methods inherited from interface no.fintlabs.HasSecret

    getSecretName, hasSecret, shouldBeIncluded

    Methods inherited from interface io.javaoperatorsdk.operator.processing.dependent.Updater

    match, update
  • Constructor Details

    • FlaisKubernetesDependentResource

      public FlaisKubernetesDependentResource(Class<T> resourceType, FlaisWorkflow<C,S> workflow, io.javaoperatorsdk.operator.processing.dependent.workflow.Condition<T,C> condition, io.fabric8.kubernetes.client.KubernetesClient kubernetesClient)
    • FlaisKubernetesDependentResource

      public FlaisKubernetesDependentResource(Class<T> resourceType, FlaisWorkflow<C,S> workflow, io.fabric8.kubernetes.client.KubernetesClient kubernetesClient)
  • Method Details

    • dependsOn

      public void dependsOn(io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource... dependentResources)
      If the dependent resource depends on other dependent resources you can add a list of dependent resources here.

      You typically inject the resources you depend on in the constructor and add them with this method.

       @Slf4j
       @Component 
       public class FintClientSecretDependentResource
               extends FlaisKubernetesDependentResource<Secret, FintClientCrd, FintClientSpec> {
       *
           public FintClientSecretDependentResource(..., FintClientDependentResource fintClientDependentResource, ...) {
      
               super(Secret.class, workflow, kubernetesClient);
               dependsOn(fintClientDependentResource);
               ...
               );
           }
       
      Parameters:
      dependentResources - A list of dependent resources.
    • encode

      public String encode(String value)
      Helper method to Base64 encode secrets
      Parameters:
      value - The value to encode
      Returns:
      The encoded string
    • decode

      public String decode(String value)
      Helper method to Base64 decode secrets
      Parameters:
      value - the value to decode
      Returns:
      The decoded string