V1.0.0-beta.1 (June 2, 2021)

New Features

  • Immutable ConfigMaps/Secrets : By default, the ConfigMaps and Secrets produced by ACS are immutable and are named with a suffix that is a hash of the contents of the ConfigMap or Secret. The original mutable ConfigMap/Secret can still be produced by setting immutable to false in the ConfigurationSlice manifest.
  • Tree vs. applicationProperties Strategy : By default, the properties written to a ConfigMap or Secret resource are written as individual properties such that when mounted on a Pod, a configuration tree is created with one file per property. This is how ACS has worked in the previous alpha releases. In this release, setting configMapStrategy to applicationProperties will result in a ConfigMap and/or Secret with a single property whose name is “application.properties” and whose value is a properties-file structure that when mounted to a Pod will result in a single file named application.properties containing all properties. This enables applications built against older versions of Spring that do not support ConfigTree property imports to use SPRING_CONFIG_ADDITIONAL_LOCATION to add the properties to their Spring application.
  • Slice/Provider creation order : Previously, a ClusterConfigProvider resource had to be created before any ConfigurationSlice resources referencing it could be created. Now the order doesn’t matter. If a slice is created before its referenced provider, then no ConfigMap will be created until the provider is created.
  • Log Banner : The default Spring Boot banner in the logs has been replaced by an “Application Configuration Service for VMware Tanzu” Asciiart banner.
  • ConfigRefresh removed : The ConfigRefresh resource and its reconciler have been removed and extracted into a separate project. The function of that resource will eventually be replaced by a more automatic means of reacting to changes in the backing Git repositories. Until then, the ConfigRefresh resource and its reconciler will be available as an additional deployment (release date TBD).

Bug Fixes

  • SSH/“git@” URLs : Validation for the ClusterConfigProvider resource has been changed to allow “git@”-style URLs. Moreover, a bug that was preventing the reconciler from accessing properties from Git through an SSH URL has been fixed.
  • Azure Informer hang : When deployed in Azure, after 15-60 minutes of idle time, the informer would stop receiving events for slices, effectively rendering the ACS reconciler active, but effectively dead. A change to the underlying K8s Java client configuration should address this issue.

V1.0.0-alpha.2 (April 28, 2021)

New Features

  • Project rename : What was once Tanzu Configuration Service is now Application Configuration Service for VMware Tanzu. All reference have been changed as well as changing “TCS” to “ACS” where abbreviated.
  • Credentials ref namespace : Ability to specify the namespace location of the credentials ref Secret rather than default to the reconciler’s namespace.
  • Encrypted properties : Support for encrypted properties prefixed with {cipher}. If the encryption.key parameter is set in the credentials ref Secret, and if it is a valid key for decrypting {cipher}-prefixed values, then the decrypted values will be written to a Secret resource instead of a ConfigMap.
  • Introduce ConfigRefresh : A ConfigRefresh resource can be created to force an update of new properties from the Git backend(s).
  • Custom naming of ConfigMap : A new configMapName slice parameter can be used to specify a custom name for the created ConfigMap (defaults to the same) name as the slice itself). Likewise, a secretName parameter can be used to specify a custom name for a created Secret if there are any encrypted properties.
  • Provider refresh : Generated ConfigMap is now updated when a ClusterConfigProvider is changed.

Bug Fixes

  • Disable Config Server Clients : Automatically add spring.cloud.config.enabled as false to generated ConfigMap to disable normal Spring Cloud Config Client behavior. This allows for clients that previously were clients of Spring Cloud Config Server to be migrated to use ACS without needing to drop the Spring Cloud client dependency. As a side effect, it still allows those clients to make use of the /actuator/refresh endpoint.

V1.0.0-alpha.1 (Feb 22, 2021)

New Features

  • Initial release
  • ClusterConfigProvider and ConfigurationSlice resources create a ConfigMap the backend Git repository(ies).