github.com/opendevstack/tailor@v1.3.5-0.20220119161809-cab064e60a67/CHANGELOG.md (about)

     1  # Changelog
     2  
     3  ## Unreleased
     4  
     5  ## [1.3.4] - 2022-01-19
     6  
     7  ### Fixed
     8  
     9  - Excluded kinds are exported from the server ([#245](https://github.com/opendevstack/tailor/issues/245))
    10  
    11  ## [1.3.3] - 2021-12-17
    12  
    13  ### Fixed
    14  
    15  - Parallel execution errors out with: `Cannot stat ".combined.env"` ([#243](https://github.com/opendevstack/tailor/issues/243))
    16  
    17  ## [1.3.2] - 2021-06-30
    18  
    19  ### Fixed
    20  
    21  - Avoid panic on template with empty parameters([#238](https://github.com/opendevstack/tailor/pull/238))
    22  - Preserve svc cluster ips by default ([#242](https://github.com/opendevstack/tailor/pull/242))
    23  
    24  ## [1.3.1] - 2021-02-11
    25  
    26  ### Added
    27  
    28  - Add support for `StatefulSet` resources ([#235](https://github.com/opendevstack/tailor/pull/235)).
    29  
    30  ## [1.3.0] - 2020-11-13
    31  
    32  ### Changed
    33  
    34  - Use `oc get` without `--export` flag, which has been removed in Kubernetes 1.19 ([#230](https://github.com/opendevstack/tailor/pull/230)).
    35  
    36  ## [1.2.2] - 2020-10-27
    37  
    38  ### Added
    39  
    40  - Handle `HorizontalPodAutoscaler` resoures ([#227](https://github.com/opendevstack/tailor/pull/227)).
    41  
    42  ## [1.2.1] - 2020-09-21
    43  
    44  ### Changed
    45  
    46  - Export resources and process templates concurrently ([#220](https://github.com/opendevstack/tailor/pull/220)). This should not cause any change in behaviour, but you should notice Tailor being faster, especially against slow clusters.
    47  
    48  ### Fixed
    49  
    50  - Ignore `managedFields` ([#222](https://github.com/opendevstack/tailor/pull/222)). The fixed problem only occurs when Tailor is used against OpenShift 4.
    51  
    52  ## [1.2.0] - 2020-08-10
    53  
    54  ### Added
    55  
    56  - Handle `Job` resoures ([#212](https://github.com/opendevstack/tailor/pull/212)).
    57  
    58  ### Changed
    59  
    60  - Do not print timestamps when errors occur ([b378a89](https://github.com/opendevstack/tailor/commit/b378a89be243037c00bee0d2c9fdb9870b69b69e)).
    61  - Change test infrastructure to GitHub Actions ([#186](https://github.com/opendevstack/tailor/pull/186) and [#216](https://github.com/opendevstack/tailor/pull/216)), and implement easier to maintain approach for end-to-end tests ([#215](https://github.com/opendevstack/tailor/pull/215) and [#219](https://github.com/opendevstack/tailor/pull/219)).
    62  
    63  ### Fixed
    64  
    65  - Export `LimitRange` and `Quota` resources ([decfae9](https://github.com/opendevstack/tailor/commit/decfae93d5542c0d9ca9e9b3c61e8e697d88c124)). Support for those resources was added in 1.0.0, but they were not exported, only applied. Note that this change may lead to differences in diff output compared to 1.1.4.
    66  
    67  ## [1.1.4] - 2020-07-20
    68  
    69  ### Fixed
    70  
    71  - Replace only whole words with `${TAILOR_NAMESPACE}` ([#211](https://github.com/opendevstack/tailor/pull/211)). Note that while this should yield better results than the previous behaviour, there might be rare situations where Tailor misses to replace the namespace now.
    72  
    73  ## [1.1.3] - 2020-07-01
    74  
    75  ### Added
    76  
    77  - Allow `--exclude` to be repeated ([#208](https://github.com/opendevstack/tailor/pull/208)).
    78  
    79  ### Changed
    80  
    81  - Improve hint when recreation is prevented ([4e2d04a](https://github.com/opendevstack/tailor/commit/4e2d04a402acb74e925c129dd55b3f31bf2d92e5)).
    82  
    83  ## [1.1.2] - 2020-06-22
    84  
    85  ### Fixed
    86  
    87  - Do not trim all annotations during export by default. Instead, only a few known annotations are removed (`kubectl.kubernetes.io/last-applied-configuration`, `openshift.io/image.dockerRepositoryCheck`). If you want to trim other annotations, there is a new flag `--trim-annotation`. The flag can be repeated, and allows either exact match or prefix match (e.g. `openshift.io/`). ([#207](https://github.com/opendevstack/tailor/pull/207)).
    88  - Recreate may fail ([#204](https://github.com/opendevstack/tailor/pull/204)).
    89  
    90  ## [1.1.1] - 2020-06-18
    91  
    92  ### Fixed
    93  
    94  - Create `ServiceAccount` and `RoleBinding` resources before e.g. `DeploymentConfig` resources to avoid pod startup failure due to missing service accounts ([#202](https://github.com/opendevstack/tailor/pull/202)).
    95  
    96  ## [1.1.0] - 2020-06-16
    97  
    98  ### Added
    99  
   100  - Allow users to selectively apply changes ([#198](https://github.com/opendevstack/tailor/pull/198)).
   101  
   102  ### Changed
   103  
   104  - Use Go 1.14 ([#196](https://github.com/opendevstack/tailor/pull/196)).
   105  - Trim host paths from executable ([#196](https://github.com/opendevstack/tailor/pull/196)).
   106  
   107  ### Fixed
   108  
   109  - Fail with proper error when template parameter does not have `name` property ([#197](https://github.com/opendevstack/tailor/pull/197)).
   110  - Fix panic on invalid template ([#200](https://github.com/opendevstack/tailor/pull/200)).
   111  
   112  ## [1.0.0] - 2020-05-20
   113  
   114  ### Added
   115  
   116  - Support `Deployment` resource ([#189](https://github.com/opendevstack/tailor/pull/189)).
   117  - Support `LimitRange` and `ResourceQuota` resources ([#194](https://github.com/opendevstack/tailor/pull/194)).
   118  - Export with parameterised namespace by default ([#192](https://github.com/opendevstack/tailor/pull/192)).
   119  
   120  ### Changed
   121  
   122  - Use `oc get --export` instead of deprecated `oc export`. This allows to use Tailor with OpenShift 4 - however there is no manual or automated test setup yet which means OpenShift 4 is not officially supported yet ([#160](https://github.com/opendevstack/tailor/pull/160)).
   123  
   124  ### Fixed
   125  
   126  - Handle missing EOL in params file ([#185](https://github.com/opendevstack/tailor/pull/185)).
   127  - Comparing `CronJob`s works now ([#158](https://github.com/opendevstack/tailor/issues/158)).
   128  - Respect `--exclude` flag when exporting ([#149](https://github.com/opendevstack/tailor/issues/149)).
   129  - Exporting just one resource works as expected now ([#188](https://github.com/opendevstack/tailor/issues/188)).
   130  - Abort generating keys if files are already present ([#193](https://github.com/opendevstack/tailor/pull/193)).
   131  
   132  ## [0.13.1] - 2020-03-23
   133  
   134  ### Fixed
   135  
   136  - Avoid `--force` flag when run against local cluster ([#182](https://github.com/opendevstack/tailor/pull/182)).
   137  
   138  ## [0.13.0] - 2020-03-20
   139  
   140  ### Added
   141  
   142  - Prefer `Tailorfile.NAMESPACE` over `Tailorfile`, see [#172](https://github.com/opendevstack/tailor/pull/172).
   143  
   144  - Add namespace env file if it exists, see [#173](https://github.com/opendevstack/tailor/pull/173).
   145  
   146  - Add `--verify` flag to check if any drift is present after applying ([#179](https://github.com/opendevstack/tailor/pull/179)).
   147  
   148  ### Changed
   149  
   150  - Use `oc apply` instead of generating patches ([#168](https://github.com/opendevstack/tailor/pull/168)).
   151    The change removes the custom Tailor annotations in favour of
   152    the `kubectl.kubernetes.io/last-applied-configuration` annotation.
   153    If there are any issues with unexpected drift or problems when reconciling,
   154    please consult https://kubernetes.io/docs/tasks/manage-kubernetes-objects/declarative-config/.
   155  
   156  ### Fixed
   157  
   158  - Exit with 1 when no diff is performed ([#175](https://github.com/opendevstack/tailor/issues/175)).
   159  
   160  - Do not calculate drift when adding empty string to missing fields ([#180](https://github.com/opendevstack/tailor/pull/180)).
   161  
   162  - Patching of arrays can fail (see [#92](https://github.com/opendevstack/tailor/issues/92).
   163    This was fixed by using `oc apply` as outlined above.
   164  
   165  ### Removed
   166  
   167  - Remove --context-dir support ([#176](https://github.com/opendevstack/tailor/pull/176)).
   168  
   169  
   170  ## [0.12.0] - 2020-01-31
   171  
   172  ### Added
   173  
   174  - Introduce new flag `--preserve-immutable-fields`. It has the same effect as
   175    specifying `--preserve` for all immutable fields (such as
   176    `pvc:/spec/accessModes`). For more background, see [#162](https://github.com/opendevstack/tailor/issues/162).
   177  
   178  ### Changed
   179  
   180  - Rename `status` to `diff` and `update` to `apply`. For backwards compatibility,
   181    two aliases `status` and `update` have been created. As a consequence, `--diff`
   182    has been renamed to `--format`. See
   183    [#163](https://github.com/opendevstack/tailor/pull/163).
   184  
   185  - Rename `--ignore-path` to `--preserve` See
   186    [#165](https://github.com/opendevstack/tailor/pull/165). For backwards
   187    compatibility, `--ignore-path` is still supported (though deprecated).
   188  
   189  - Return with non-zero exit code when detected drift is not reconciled. This
   190    allows scripts to know whether the user confirmed to apply the changes or not.
   191    See [#166](https://github.com/opendevstack/tailor/pull/166).
   192  
   193  ## [0.11.0] - 2019-11-29
   194  
   195  ### Added
   196  - Support cron jobs resources. See [#155](https://github.com/opendevstack/tailor/issues/155).
   197  
   198  ## [0.10.4] - 2019-11-25
   199  
   200  ### Fixed
   201  - Resolve `--param-file` and `--private-key` relative to context directory. See
   202    [#152](https://github.com/opendevstack/tailor/pull/152) and
   203    [#153](https://github.com/opendevstack/tailor/pull/153)
   204  
   205  ## [0.10.3] - 2019-10-18
   206  
   207  ### Fixed
   208  - Avoid drift in annotations after creation of resource ([#142](https://github.com/opendevstack/tailor/issues/142))
   209  - Remove legacy fields `/userNames` and `/groupNames` from `Rolebinding`
   210    resources. Those fields are added by `oc export` but might cause issues when
   211    set to `null`. Tailor removes those now, so only changes in `subjects` have
   212    any effect. See [#140](https://github.com/opendevstack/tailor/issues/140).
   213  - Do not escape field names when adding annotations object, as when
   214    `/metadata/annotations` is added, the keys inside need to contain raw slashes
   215    (`/`) instead of escaped ones (`~1`). Only when annotations already exist,
   216    keys containing a slash need to escape them. See
   217    [#145](https://github.com/opendevstack/tailor/issues/145).
   218  
   219  ## [0.10.2] - 2019-10-09
   220  
   221  ### Fixed
   222  - Export of resources with `/metadata/generateName` instead of `/metadata/name`
   223    failed as Tailor expects every resource to have a name. Now Tailor will
   224    fallback to `generateName`, see [#135](https://github.com/opendevstack/tailor/issues/135).
   225  
   226  ## [0.10.1] - 2019-10-07
   227  
   228  ### Fixed
   229  - Deletion of resources does not show notice anymore ([#131](https://github.com/opendevstack/tailor/issues/131))
   230  - Textual diff reflects actual changes corretly now. In 0.10.0, it showed some
   231    deletions which were not part of the JSON patches. See [#130](https://github.com/opendevstack/tailor/issues/130).
   232  
   233  ## [0.10.0] - 2019-09-30
   234  
   235  ### Added
   236  
   237  - Support multiple context directories. This basically allows to execute Tailor
   238    once for multiple directories. Alongside, template and param dir flags have
   239    been cleaned up. See [#113](https://github.com/opendevstack/tailor/issues/113)
   240    for more details.
   241  
   242  ### Changed
   243  
   244  - Hide internal annotations ([#112](https://github.com/opendevstack/tailor/issues/122))
   245  - Unify annotation names. You can delete existing annotations in OCP starting
   246    with `original-values.tailor.io` and
   247    `managed-annotations.tailor.opendevstack.org`. Note that this is a breaking change: Tailor will show drift on e.g. image references in `DeploymentConfig` resources. Once `tailor update` has run (if the referenced image tag did not change, no de-deployment will happen), the drift disappears. See [#76](https://github.com/opendevstack/tailor/issues/76).
   248  - Avoid drift on empty values to reduce template boilerplate ([#107](https://github.com/opendevstack/tailor/issues/107))
   249  - Hide secrets drift by default. If drift should be shown, pass `--reveal-secrets` ([#109](https://github.com/opendevstack/tailor/issues/109))
   250  - Prevent resource recreation by default. If re-creation should be allowed, pass `--allow-recreate` ([#111](https://github.com/opendevstack/tailor/issues/111))
   251  - Extract OpenShift client to allow easier testing. This should have no effect
   252    on the tool itself  ([#118](https://github.com/opendevstack/tailor/issues/118))
   253  - Adopt github.com/golang-standards/project-layout. This should have no effect
   254    on the tool itself.
   255  
   256  
   257  ## [0.9.5] - 2019-07-22
   258  
   259  ### Added
   260  - Exclusion of kinds/resources/labels via the `--exclude` flag ([#115](https://github.com/opendevstack/tailor/issues/115)).
   261  
   262  ### Changed
   263  - Addressed issues reported by golangci-lint ([#119](https://github.com/opendevstack/tailor/issues/119), thanks @u5surf).
   264  
   265  ## [0.9.4] - 2019-04-23
   266  
   267  ### Fixed 
   268  - Do not issue removal patches when a path with an array value is ignored
   269  - Item is not found when both name and selector is given (oc returns a single item then instead of a list).
   270  
   271  ## [0.9.3] - 2019-03-15
   272  
   273  ### Fixed
   274  
   275  - `TAILOR_NAMESPACE` detection was not working ([#100](hhttps://github.com/opendevstack/tailor/issues/100)).
   276  
   277  ## [0.9.2] - 2019-01-18
   278  
   279  ### Changed
   280  - The `oc` binary might have a different version than the targeted cluster. This
   281    can lead to incorrect behaviour (e.g. constant drift). To avoid this, Tailor
   282    now checks whether the client and server version match and refuses to
   283    continue if this is not the case. Users running Tailor against multiple
   284    clusters with differing versions can now specify the `oc` binary to use via
   285    `--oc-binary` or disregard the warning and proceed with `--force`. As a
   286    side-effect of this change, all operations require an `oc login` now. See 
   287    [#88](https://github.com/opendevstack/tailor/pull/88).
   288  - In OCP versions above 3.9, a new field `lastTriggeredImage` is added to 
   289    `imageChangeParams` automatically. The value is not known to template authors
   290    and consequently stripped from the export before comparison ([#90](https://github.com/opendevstack/tailor/pull/90)).
   291  
   292  ### Fixed
   293  
   294  - Malformed templates caused a panic previously. Now a human-friendly error is
   295    displayed pointing at the syntax problem ([#85](https://github.com/opendevstack/tailor/pull/85)).
   296  
   297  ## [0.9.1] - 2018-11-27
   298  
   299  ### Added
   300  
   301  - Automatically pass `TAILOR_NAMESPACE` param to templates if they define it in
   302    the `parameters` section. The value is set to the namespace that Tailor runs
   303    against (#77).
   304  
   305  ### Changed
   306  
   307  - Unify log output during update (#78).
   308  - Remove metadata from template as it is unsused by Tailor (#74).
   309  - Ignore selector (e.g. set in a `Tailorfile`) when a specific resource is
   310    given as Openshift does not accept both selector and resource (#72).
   311  - Surface errors during export as template (#70).
   312  
   313  ### Fixed
   314  
   315  - Remove annotations from exported templates also in case they contain slashes
   316    (#73).
   317  
   318  
   319  ## 0.9.0 (2018-10-29)
   320  
   321  * [Feature] Rewrite diff engine. Tailor now uses `oc patch` under the hood to
   322    to update resources (instead of `oc apply`). The new behaviour is more correct
   323    and less dangerous. (#49)
   324  * [Feature] Warn before all resources are deleted. `--force` has to be given to
   325    proceed in this case. (#66)
   326  * [Feature] Implement flag to ignore paths, `--ignore-path`. Paths can be
   327    ignored for all kinds, for one kind or for one resource. (#63)
   328  * [Feature] Add change summary at the end of `status` and `update` commands.
   329  * [Feature] Support multiple param files via repearing `--param-file`. (#56)
   330  * [Feature] Check if OCP project exists during initialisation. (#55)
   331  * [Fix] Apply resource changes in specific order, starting with resources that
   332    do not have dependencies. (#54)
   333  * [Task] Treat creationTimestamp as platform managed field (#51)
   334  * [Task] Switch to Go 1.11 modules (#52)
   335  
   336  ## 0.8.0 (2018-08-01)
   337  
   338  * [Feature] Implement general handling of immutable fields. Previously Tailor tried to modify the resource which resulted in an error, now it recreates the resource (#33).
   339  * [Feature] Add `--debug` flag, which contains debug information, reducing the amount of printed information when `--verbose` is given. `--debug` implies `--verbose`.
   340  * [Fix] Image reference changed accidentally when other parts of the DeploymentConfig changed (#38).
   341  * [Fix] Propagate exit code from `oc` properly when running `tailor update`.
   342  
   343  ## 0.7.0 (2018-07-30)
   344  
   345  * [Feature] Support multiple labels (#7).
   346  * [Feature] Allow comments in `Tailorfile` (either `#` or `//`).
   347  * [Fix] Allow whitespace around flags and their arguments in `Tailorfile`.
   348  * [Fix] Check param dir existance if explicitly given (#24).
   349  * [Fix] Don't panic when params are duplicated (#12).
   350  * [Fix] Prevent original values annotation in exports (#3 and #5).
   351  * [Task] Improve text about resource limiting (#25).
   352  * [Task] Improve diff description (#6).
   353  * [Task] Show found resources (#14).
   354  
   355  ## 0.6.1 (2018-07-26)
   356  
   357  * [Fix] Respect flags defined in Tailorfile that have default values (#22).
   358  
   359  ## 0.6.0 (2018-07-25)
   360  
   361  * [Feature] `Tailorfile` support.
   362  * [Task] Use compact help template (which allows to show help for just one command).
   363  * [Fix] Fix wrong export target when just one resource is specified (#11).
   364  * [Fix] Percent signs (%) are not automatically encoded (duplicated) to prevent issues (#4).
   365  * [Fix] Error when deleting resource due to `--selector` not allowed during delete operation (#13).
   366  
   367  ## 0.5.1 (2018-07-12)
   368  
   369  * Fix exiting with 1 and error statement all the time even though everything went fine.
   370  
   371  ## 0.5.0 (2018-07-12)
   372  
   373  * Rename `ocdiff` to `tailor` and release on GitHub.
   374  
   375  ## 0.4.0
   376  
   377  * Prevent rendering when no public key files are found.
   378  * Check if file exists at beginning of reveal command.
   379  * Proper error message if editor is not found in PATH.
   380  * Fix wrong export when a single resource was targeted.
   381  * Prefer folder `public-keys` over working dir if present when looking for public keys.
   382  * Increase specifity of blacklisted key regexes.
   383  * Prefer folder `<namespace>`` over working dir if present when looking for param files.
   384  * Deal with modified values by saving the original value in an annotation and resetting the key to that value before comparing.
   385  
   386  ## 0.3.0
   387  
   388  * Compile and compare single list instead of multiple lists. This reduces the number of API calls required and allows to export properly.
   389  
   390  ## 0.2.0
   391  
   392  * Secrets handling (PGP encryption)
   393  
   394  ## 0.1.0
   395  
   396  Initial version