-
-
Notifications
You must be signed in to change notification settings - Fork 90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cannot parse jsonnet int field with env or tfstate syntax #506
Comments
Yes, but this is intentional behavior to compatibility with v1. ecspresso v1 doesn't have a Jsonnet parser. v1 users process Jsonnet files to JSON files by the So, if the order of the process is changed, v1's definition files might be broken. I propose some workarounds,
|
@jsoizo I tried to change the order of parsing jsonnet and template evaluation. But, I found the template evaluation before parsing jsonnet breaks compatibility. For example, as below, even if the imported file ( // envs.libsonnet
[
{ name: 'ENV', value: '{{ must_env `ENV` }}' },
] // taskdef.jsonnet
local envs = import 'envs.libsonet';
{
containerDefinitions: [
{
environment: envs,
// ...
}
],
// ...
} So I decided to keep the current behavior, at least ecspresso v2. |
お世話になります。 自分もこちらの問題の良い解決策を模索しております。 上のケースでは先に変換をして欲しい一方で、jsonnetを使うモチベーションとしてsecretsmanager_arnの値を環境によって出し分けたく変数化しているのですが、そのケースではjsonnet to jsonの変換後にarn解決してくれる現状の仕様(
この辺の問題をみなさんがどう対処しておられるか、知見があれば伺えると助かります。 ※ |
@darai0512 Jsonnetとテンプレートを併用するとどうしてもこのような(変換順序による)問題が出てしまいます。 現在作業中の #702 で、Jsonnetのnative functionとして各種テンプレート関数を提供することで、Jsonnet内でレンダリングを完結できるようになれば解決するかと思いますがどうでしょうか。 これはv2.4としてリリースする予定ですので、しばらくお待ちください。 |
@fujiwara v2.4 助かりました!ありがとうございました!! |
When a service-definition Jsonnet file as below is given,
ecspresso failed with this error ( at Github Actions )
This may be due to the fact that the jsonnet file is parsed before the environment variables or tfstate substitutions.
https://github.com/kayac/ecspresso/blob/v2/util.go#L32-L42
The text was updated successfully, but these errors were encountered: