Skip to content

Commit

Permalink
0.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
fstaudt committed Jun 14, 2024
1 parent 939fb08 commit f20dfbe
Show file tree
Hide file tree
Showing 8 changed files with 116 additions and 18 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,44 @@
## 0.9.0 - Jun 14, 2024

- :sparkles: (intellij) configure Helm chart repositories from IntelliJ IDEA
([#137](https:/fstaudt/helm-values/issues/137))
- :sparkles: (intellij) configure Chart and JSON schema repositories in same editor in settings
([#137](https:/fstaudt/helm-values/issues/137))
- :sparkles: support of YAML format for patch files
([#55](https:/fstaudt/helm-values/issues/55))
- :sparkles: support import-values in chart dependencies
([#106](https:/fstaudt/helm-values/issues/106))
- :sparkles: (intellij) support for IJ 2024.2
- :sparkles: (intellij) drop support for IJ 2022.3
- :bug: fix deprecation error on ActionUpdateThread since 2024.1
- :bug: fix extraction of JSON schema from dependency archive when dependency is provided with version range

**BREAKING CHANGES**:

- :boom: (intellij) IntelliJ IDEA 2022.3 is no more supported.\
Extension is only available for IntelliJ IDEA 2023.1 and above.
- :boom: (gradle) since [#55](https:/fstaudt/helm-values/issues/55),
property `patchValuesFile` must be renamed `valuesPatchFile` for Gradle tasks aggregateJsonSchema and
generateJsonSchemas
- :boom: (gradle) since [#55](https:/fstaudt/helm-values/issues/55),
property `patchAggregatedFile` must be renamed `aggregatedValuesPatchFile` for Gradle tasks aggregateJsonSchema

## 0.8.2 - Mar 23, 2024

- :sparkles: (intellij) support IJ 2024.1

## 0.8.1 - Feb 20, 2024

- :sparkles: (gradle) compatibility with Gradle configuration cache
- :bug: (gradle) disable caching by default for task validateHelmValues
- :bug: (intellij) use alphabetical order for actions on all charts in project

**BREAKING CHANGES**:

- Minimal Gradle version for Gradle plugin: Gradle 8.3

## 0.8.0 - Nov 11, 2023

- :sparkles: discard required properties when already defined in dependency values
([#40](https:/fstaudt/helm-values/issues/40))
- :sparkles: (intellij) actions to trigger helm dependency update
Expand All @@ -28,12 +57,14 @@
([#133](https:/fstaudt/helm-values/issues/133))

**BREAKING CHANGES**:

- Since [#130](https:/fstaudt/helm-values/issues/130),
JSON schema validation is no more applied by default on files `*-values.yaml` in IntelliJ IDEA.\
Validation of non-standard Helm values files with generated JSON schema can be configured
in [IntelliJ settings](https://www.jetbrains.com/help/idea/json.html#ws_json_schema_add_custom).

## 0.7.1 - Jul 14, 2023

- :sparkles: (intellij) support for IntelliJ IDEA 2023.2
- :zap: (intellij) avoid full project scanning in JSON schema provider factory
([#64](https:/fstaudt/helm-values/issues/64))
Expand Down
19 changes: 13 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This java library can be used to provide JSON schema generation for other IDE or
<td>
<img src="supports/SBS.svg" height="150" alt="Sopra Banking Software"/>

[Sopra Banking Software](https://jb.gg/OpenSourceSupport)
[Sopra Banking Software](https://www.soprabanking.com)

</td>
</tr>
Expand Down Expand Up @@ -80,6 +80,7 @@ The description of the fallback schema provides more information on the download
It is also intended to provide documentation, validation and auto-completion on extra values applied on a
packaged chart.\
e.g.:

```shell
helm install my-chart-1.2.3.tgz -f extra-values.yaml
```
Expand Down Expand Up @@ -115,11 +116,17 @@ to patch the generated JSON schemas.

Patch is enabled by creation of a file in the base folder of the chart (same folder as `Chart.yaml`):

- `values.schema.patch.json`: patch for `values.schema.json` generated
- `values.schema.patch.json` or `values.schema.patch.yaml`: patch for `values.schema.json` generated
by [Gradle task generateJsonSchemas](helm-values-gradle-plugin/README.md#generatejsonschemas) \
Since [#12 (0.4.0)](https:/fstaudt/helm-values/issues/12),
this patch file also impacts `aggregated-values.schema.json` that is based on `values.schema.json`.
- `aggregated-values.schema.patch.json`: additional patch for `aggregated-values.schema.json`
*Since [#12 (0.4.0)](https:/fstaudt/helm-values/issues/12),
this patch file also impacts `aggregated-values.schema.json` that is based on `values.schema.json`.*
- `aggregated-values.schema.patch.json` or `aggregated-values.schema.patch.yaml`: additional patch for
`aggregated-values.schema.json` generated by
[Gradle task aggregateJsonSchema](helm-values-gradle-plugin/README.md#aggregatejsonschema) or
by [IntelliJ action to refresh JSON schemas](helm-values-intellij-plugin/README.md#refresh-jon-schemas-for-current-chart)

Patch files in YAML format have been introduced with [#55 (0.9.0)](https:/fstaudt/helm-values/issues/55).*\
If JSON patch file is present, YAML patch file is ignored.

## JSON schema validation

Expand All @@ -142,7 +149,7 @@ introduced in Draft 2019-09.\
IntelliJ IDEA only supports JSON schema specification up to Draft-07 and therefore ignores this keyword.\
Validation errors linked to this keyword are therefore not correctly identified by IntelliJ IDEA.\
On the other hand, Gradle plugin
uses [JSON schema validator from networknt](https:/networknt/json-schema-validator) and fully supports
uses [JSON schema validator from networknt](https:/networknt/json-schema-validator) and fully supports
Draft 2020-12.\
Validation errors linked to keyword `unevaluatedProperties` are therefore be correctly identified by Gradle plugin.

Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
group=io.github.fstaudt.helm
version=0.8.2
version=0.9.0
gradleWrapperVersion=8.7
# IntelliJ plugin
intellijPluginName=helm-values-assistant
Expand Down
14 changes: 11 additions & 3 deletions helm-values-gradle-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,13 @@ The schema is intended to provide auto-completion, documentation and validation
current chart.\
It can also be used to validate values.yaml with Gradle task `validateHelmValues`.

Optional file `aggregated-values.schema.patch.json` can be created in the base folder of the chart (same folder as
Chart.yaml)
to [patch aggregated JSON schema](https://jsonpatch.com/).
Optional file `aggregated-values.schema.patch.json`
can be created in the base folder of the chart (same folder as Chart.yaml)
to [patch aggregated JSON schema](https://jsonpatch.com/).\
Since [#55 (0.9.0)](https:/fstaudt/helm-values/issues/55),
optional file `aggregated-values.schema.patch.yaml` can be created in the base folder of the chart.
to [patch aggregated JSON schema](https://jsonpatch.com/).\
If JSON patch file is present, YAML patch file is ignored.

For more information on patch files, check dedicated section
on [patch for generated JSON schemas](../README.md#patch-for-generated-json-schemas).
Expand All @@ -107,6 +111,10 @@ schemas.

Optional file `values.schema.patch.json` can be created in the base folder of the chart (same folder as Chart.yaml)
to [patch generated JSON schema](https://jsonpatch.com/).
Since [#55 (0.9.0)](https:/fstaudt/helm-values/issues/55),
optional file `values.schema.patch.yaml` can be created in the base folder of the chart.
to [patch aggregated JSON schema](https://jsonpatch.com/).\
If JSON patch file is present, YAML patch file is ignored.

For more information on patch files, check dedicated section
on [patch for generated JSON schemas](../README.md#patch-for-generated-json-schemas).
Expand Down
25 changes: 25 additions & 0 deletions helm-values-intellij-plugin/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

## 0.9.0 - Jun 14, 2024

### ✨ New

- configure Helm chart repositories from IntelliJ IDEA settings
([#137](https:/fstaudt/helm-values/issues/137))
- configure Chart and JSON schema repository in same editor in settings
([#137](https:/fstaudt/helm-values/issues/137))
- support YAML format for patch files
([#55](https:/fstaudt/helm-values/issues/55))
- support import-values in chart dependencies
([#106](https:/fstaudt/helm-values/issues/106))
- support for IJ 2024.2
- drop support for IJ 2022.3

### 🐛 Fixed

- fix deprecation error on ActionUpdateThread since 2024.1
- fix extraction of JSON schema from dependency archive when dependency is provided with version range

### 🔥 Removed

- IntelliJ IDEA 2022.3 is no more supported.\
Extension is only available for IntelliJ IDEA 2023.1 and above.

## 0.8.2 - Mar 23, 2024

### ✨ New
Expand Down
41 changes: 34 additions & 7 deletions helm-values-intellij-plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
The plugin provides several actions to generate [JSON schemas](https://json-schema.org/) for values of Helm charts.\
These schemas can then be used in your IDE to document, validate and auto-complete Helm values.

Plugin allows to configure Helm chart repositories directly from your IDE.\
Plugin also allows to update Helm dependencies for Helm charts directly from your IDE.\
_This requires [installation of Helm](https://helm.sh/docs/intro/install/) on your local workstation
and [configuration of Helm repositories](https://helm.sh/docs/helm/helm_repo/)._
_This requires [installation of Helm](https://helm.sh/docs/intro/install/) on your local workstation._

More information: [Helm values documentation](https:/fstaudt/helm-values#readme)
<!-- Plugin description end -->
Expand Down Expand Up @@ -51,6 +51,11 @@ if required (e.g. for other values files applied after packaging).

Optional file `aggregated-values.schema.patch.json` can be created in the base folder of the chart
(same folder as Chart.yaml) to [patch aggregated JSON schema](https://jsonpatch.com/).\
Since [#55 (0.9.0)](https:/fstaudt/helm-values/issues/55),
optional file `aggregated-values.schema.patch.yaml` can be created in the base folder of the chart.
to [patch aggregated JSON schema](https://jsonpatch.com/).\
If JSON patch file is present, YAML patch file is ignored.

For more information on patch files, check dedicated section
on [patch for generated JSON schemas](../README.md#patch-for-generated-json-schemas).

Expand Down Expand Up @@ -108,6 +113,28 @@ Update of Helm repositories is however only executed once for all charts in proj
_Action requires [installation of Helm](https://helm.sh/docs/intro/install/) on local workstation
and [configuration of Helm repositories](https://helm.sh/docs/helm/helm_repo/)._

## Configure Helm chart repositories

Helm chart repositories can be configured in plugin settings
and are automatically pushed to Helm installed on your local workstation when settings are saved.

### Chart repository security

Each chart repository can be configured with user and password in plugin settings.

A reference chart repository can be defined for each chart repository in plugin settings.\
When selected, credentials are inherited from the reference chart repository.\
Inherited configuration is displayed in read-only in editor.

![settings](screenshots/settings-helm-security.png "Configure Helm chart repository in settings")

*:bulb: credentials are stored securely in IntelliJ password safe.*

### JSON schema repository

Each chart repository can be configured with an optional JSON schema repository.\
More info on this configuration is provided in [next section](#configure-json-schema-repositories).

## Configure JSON schema repositories

As explained in [introduction](../README.md#json-schema-repositories),
Expand Down Expand Up @@ -146,7 +173,7 @@ The plugin must be configured with following configuration to download JSON sche
Default file names for JSON schemas can be overridden for each repository in plugin settings.
![settings](screenshots/settings-custom.png "Custom JSON schema file names in settings")
![settings-custom](screenshots/settings-custom.png "Custom JSON schema file names in settings")
**Deprecation notice**: *`globalValuesSchemaFile` is deprecated and will be removed in `1.0.0`.*

Expand All @@ -156,7 +183,7 @@ JSON schema repositories can be secured with basic authentication.

Each schema repository can be configured with user and password in plugin settings.

![settings](screenshots/settings-security.png "Security credentials in settings")
![settings-security](screenshots/settings-security.png "Security credentials in settings")

*:bulb: credentials are stored securely in IntelliJ password safe.*

Expand All @@ -167,14 +194,14 @@ A reference repository mapping can be defined for each repository in plugin sett
When selected, credentials and schema file names are inherited from the reference repository mapping.\
Inherited configuration is displayed in read-only in editor.

![settings](screenshots/settings-reference.png "Reference repository mapping in settings")
![settings-reference](screenshots/settings-reference.png "Reference repository mapping in settings")

## Screenshots

#### Get documentation in values.yaml

![settings](screenshots/values-documentation.png "Get documentation in values.yaml")
![values-documentation](screenshots/values-documentation.png "Get documentation in values.yaml")

#### Get validation and auto-completion in values.yaml

![settings](screenshots/values-validation.png "Get validation and auto-completion in values.yaml")
![values-validation](screenshots/values-validation.png "Get validation and auto-completion in values.yaml")
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package io.github.fstaudt.helm
object JsonSchemaConstants {
const val SCHEMA_VERSION = "https://json-schema.org/draft/2020-12/schema"

const val GENERATOR_LABEL = "helm-values 0.8.2"
const val GENERATOR_LABEL = "helm-values 0.9.0"

const val NEW_LINE = "\n\\n"

Expand Down

0 comments on commit f20dfbe

Please sign in to comment.