Skip to content

v0.2.0

Choose a tag to compare

Incompatible changes

  • The generator interface was changed; Generate() requires an additional context input parameter:
    Generate(ctx context.Context, namespace string, name string, parameters types.Unstructurable) ([]client.Object, error) 

Enhancements

  • It is now possible to specify a kubeconfig and/or impersonation for the deployment of the dependent objects. To do so, the component type has to implement

    package cluster
    // The ClientConfiguration interface is meant to be implemented by components which offer remote deployments.
    type ClientConfiguration interface {
      // Get kubeconfig content.
      GetKubeConfig() []byte
    }

    and/or

    package cluster
    // The ImpersonationConfiguration interface is meant to be implemented by components which offer impersonated deployments.
    type ImpersonationConfiguration interface {
      // Return impersonation user.
      // Should return system:serviceaccount:<namespace>:<serviceaccount> if a service account is used for impersonation.
      // Should return an empty string if user shall not be impersonated.
      GetImpersonationUser() string
      // Return impersonation groups.
      // Should return nil if groups shall not be impersonated.
      GetImpersonationGroups() []string
      }
  • resource generators can now specify a custom scheme (to be used by the dependent object reconciler) by implementing

    // SchemeBuilder interface.
    type SchemeBuilder interface {
      AddToScheme(scheme *runtime.Scheme) error
    }

Version updates

  • k8s clients: v0.28.3
  • controller-runtime: v0.16.3