# Write node config in ruby

**URL:** <https://discourse.chef.io/t/write-node-config-in-ruby/5578>\
**Category:** Chef Infra (archive)\
**Created:** [July 30, 2014, 5:08pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578 "2014-07-30T17:08:33Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)\
**Post date:** [July 30, 2014, 5:08pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/1 "2014-07-30T17:08:33Z")

</div>

Hello all,

JSON is really an annoying format: I can't leave , on the last element of  
an array, it doesn't allow ' (single quote), it doesn't support multiline  
strings, among other problems...

I would like to write my chef node configuration in Ruby or Yaml, is it  
possible?

cheers,  
bráulio

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão  
[http://cirandas.net/brauliobo](http://cirandas.net/brauliobo)  
[http://eita.org.br](http://eita.org.br)

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

**Author:** ![coderanger](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/coderanger/32/5_2.png) [@coderanger](https://discourse.chef.io/u/coderanger)\
**Post date:** [July 30, 2014, 8:34pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/2 "2014-07-30T20:34:56Z")

</div>

No, this is not possible currently. You could write your own scripts for this though.

--Noah

On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:

> Hello all,
> 
> JSON is really an annoying format: I can't leave , on the last element of an array, it doesn't allow ' (single quote), it doesn't support multiline strings, among other problems...
> 
> I would like to write my chef node configuration in Ruby or Yaml, is it possible?
> 
> cheers,  
> bráulio
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos."  
> Restante do texto em [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

---

<div class="post-metadata">

**Author:** ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)\
**Post date:** [July 30, 2014, 9:25pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/3 "2014-07-30T21:25:58Z")

</div>

Could you please indicate where in chef I should update and patch? I'll  
create a pull request.

thankfully,  
bráulio

2014-07-30 17:34 GMT-03:00 Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net):

> No, this is not possible currently. You could write your own scripts for  
> this though.
> 
> --Noah
> 
> On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com)  
> wrote:
> 
> > Hello all,
> > 
> > JSON is really an annoying format: I can't leave , on the last element  
> > of an array, it doesn't allow ' (single quote), it doesn't support  
> > multiline strings, among other problems...
> > 
> > I would like to write my chef node configuration in Ruby or Yaml, is it  
> > possible?
> > 
> > cheers,  
> > bráulio
> > 
> > --  
> > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> > ideologia. Morra por sua ideologia" P.R. Sarkar
> > 
> > EITA - Educação, Informação e Tecnologias para Autogestão  
> > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > [http://eita.org.br](http://eita.org.br)
> > 
> > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
> > lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> > Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
> > destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> > cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> > naquele momento, essa pessoa é a única proprietária daquilo que ela  
> > imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
> > por um milharal também imaginado, a pessoa imaginada não é a propriedade  
> > desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> > universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a  
> > propriedade deste universo é de Brahma, e não dos microcosmos que também  
> > foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> > mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> > patrimônio comum de todos."  
> > Restante do texto em  
> > [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

**Author:** ![coderanger](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/coderanger/32/5_2.png) [@coderanger](https://discourse.chef.io/u/coderanger)\
**Post date:** [July 30, 2014, 9:28pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/4 "2014-07-30T21:28:42Z")

</div>

It is not something that can be added trivially. I'm planning to revive my dialects proposal/patch which did add Yaml support to most data types (including nodes) but I have a few other RFCs ahead of it in the queue. So basically, Stay Tuned™.

--Noah

On Jul 30, 2014, at 2:25 PM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:

> Could you please indicate where in chef I should update and patch? I'll create a pull request.
> 
> thankfully,  
> bráulio
> 
> 2014-07-30 17:34 GMT-03:00 Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net):  
> No, this is not possible currently. You could write your own scripts for this though.
> 
> --Noah
> 
> On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:
> 
> > Hello all,
> > 
> > JSON is really an annoying format: I can't leave , on the last element of an array, it doesn't allow ' (single quote), it doesn't support multiline strings, among other problems...
> > 
> > I would like to write my chef node configuration in Ruby or Yaml, is it possible?
> > 
> > cheers,  
> > bráulio
> > 
> > --  
> > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar
> > 
> > EITA - Educação, Informação e Tecnologias para Autogestão  
> > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > [http://eita.org.br](http://eita.org.br)
> > 
> > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos."  
> > Restante do texto em [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos."  
> Restante do texto em [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

---

<div class="post-metadata">

**Author:** ![Ranjib](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/ranjib/32/1040_2.png) [@Ranjib](https://discourse.chef.io/u/Ranjib)\
**Post date:** [July 30, 2014, 10:58pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/5 "2014-07-30T22:58:23Z")

</div>

i think you should be able to do this. chef has a mixin  
(lib/mixin/from\_file) that essentially read the content of a file and then  
does instance eval. Chef::Node object already include this (like  
environment, role etc).I think all you have to do is to write the knife  
wrapper. Knife too has handy methods for all from\_file functionality  
(lib/chef/knife/core/object\_loader.rb) , check that as well. and finally  
look at (lib/chef/knife/environment\_from\_file.rb) for an example.  
Chef nodes are registered via the validation/registration process, and run  
list are added using the first-boot.json, hence i think this method was  
never used. So just give it a try , and let us know how it goes 🙂

## I tried this and it works for me: --- node\_1.rb name 'node-1' run\_list \<\< 'role[foo]'

irb\>\>  
Chef::Node.new.from\_file('node\_1.rb')  
....

cheers  
ranjib

2014-07-30 14:25 GMT-07:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):

> Could you please indicate where in chef I should update and patch? I'll  
> create a pull request.
> 
> thankfully,  
> bráulio
> 
> 2014-07-30 17:34 GMT-03:00 Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net):
> 
> No, this is not possible currently. You could write your own scripts for
> 
> > this though.
> > 
> > --Noah
> > 
> > On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com)  
> > wrote:
> > 
> > > Hello all,
> > > 
> > > JSON is really an annoying format: I can't leave , on the last element  
> > > of an array, it doesn't allow ' (single quote), it doesn't support  
> > > multiline strings, among other problems...
> > > 
> > > I would like to write my chef node configuration in Ruby or Yaml, is it  
> > > possible?
> > > 
> > > cheers,  
> > > bráulio
> > > 
> > > --  
> > > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> > > ideologia. Morra por sua ideologia" P.R. Sarkar
> > > 
> > > EITA - Educação, Informação e Tecnologias para Autogestão  
> > > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > > [http://eita.org.br](http://eita.org.br)
> > > 
> > > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é  
> > > meu lar e todos nós somos cidadãos deste cosmo. Este universo é a  
> > > imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas,  
> > > preservadas e destruídas nas fases de extroversão e introversão do fluxo  
> > > imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em  
> > > sua mente, naquele momento, essa pessoa é a única proprietária daquilo que  
> > > ela imagina, e ninguém mais. Quando um ser humano criado mentalmente  
> > > caminha por um milharal também imaginado, a pessoa imaginada não é a  
> > > propriedade desse milharal, pois ele pertence ao indivíduo que o está  
> > > imaginando. Este universo foi criado na imaginação de Brahma, a Entidade  
> > > Suprema, por isso a propriedade deste universo é de Brahma, e não dos  
> > > microcosmos que também foram criados pela imaginação de Brahma. Nenhuma  
> > > propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em  
> > > particular; tudo é o patrimônio comum de todos."  
> > > Restante do texto em  
> > > [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
> destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> naquele momento, essa pessoa é a única proprietária daquilo que ela  
> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
> por um milharal também imaginado, a pessoa imaginada não é a propriedade  
> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
> a propriedade deste universo é de Brahma, e não dos microcosmos que também  
> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> patrimônio comum de todos."  
> Restante do texto em  
> [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

---

<div class="post-metadata">

**Author:** ![coderanger](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/coderanger/32/5_2.png) [@coderanger](https://discourse.chef.io/u/coderanger)\
**Post date:** [July 30, 2014, 11:00pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/6 "2014-07-30T23:00:44Z")

</div>

That will work for the knife node from file, but not the more traditional chef-client -j since that loads the JSON more manually.

--Noah

On Jul 30, 2014, at 3:58 PM, Ranjib Dey [dey.ranjib@gmail.com](mailto:dey.ranjib@gmail.com) wrote:

> i think you should be able to do this. chef has a mixin (lib/mixin/from\_file) that essentially read the content of a file and then does instance eval. Chef::Node object already include this (like environment, role etc).I think all you have to do is to write the knife wrapper. Knife too has handy methods for all from\_file functionality (lib/chef/knife/core/object\_loader.rb) , check that as well. and finally look at (lib/chef/knife/environment\_from\_file.rb) for an example.  
> Chef nodes are registered via the validation/registration process, and run list are added using the first-boot.json, hence i think this method was never used. So just give it a try , and let us know how it goes 🙂
> 
> ## I tried this and it works for me: --- node\_1.rb name 'node-1' run\_list \<\< 'role[foo]'
> 
> irb\>\>  
> Chef::Node.new.from\_file('node\_1.rb')  
> ....
> 
> cheers  
> ranjib
> 
> 2014-07-30 14:25 GMT-07:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):  
> Could you please indicate where in chef I should update and patch? I'll create a pull request.
> 
> thankfully,  
> bráulio
> 
> 2014-07-30 17:34 GMT-03:00 Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net):
> 
> No, this is not possible currently. You could write your own scripts for this though.
> 
> --Noah
> 
> On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:
> 
> > Hello all,
> > 
> > JSON is really an annoying format: I can't leave , on the last element of an array, it doesn't allow ' (single quote), it doesn't support multiline strings, among other problems...
> > 
> > I would like to write my chef node configuration in Ruby or Yaml, is it possible?
> > 
> > cheers,  
> > bráulio
> > 
> > --  
> > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar
> > 
> > EITA - Educação, Informação e Tecnologias para Autogestão  
> > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > [http://eita.org.br](http://eita.org.br)
> > 
> > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos."  
> > Restante do texto em [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de extroversão e introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a única proprietária daquilo que ela imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha por um milharal também imaginado, a pessoa imaginada não é a propriedade desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a propriedade deste universo é de Brahma, e não dos microcosmos que também foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em particular; tudo é o patrimônio comum de todos."  
> Restante do texto em [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

---

<div class="post-metadata">

**Author:** ![fujin](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/fujin/32/266_2.png) [@fujin](https://discourse.chef.io/u/fujin)\
**Post date:** [July 30, 2014, 11:05pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/7 "2014-07-30T23:05:38Z")

</div>

yo, bráulio!

could you clarify what specifically you mean by 'chef node  
configuration'? Do you mean a Node on disk, a Node on the Chef Server,  
or maybe recipes or something like that?

cheers,

aj

2014-07-31 5:08 GMT+12:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):

> Hello all,
> 
> JSON is really an annoying format: I can't leave , on the last element of an  
> array, it doesn't allow ' (single quote), it doesn't support multiline  
> strings, among other problems...
> 
> I would like to write my chef node configuration in Ruby or Yaml, is it  
> possible?
> 
> cheers,  
> bráulio
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar  
> e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
> destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> naquele momento, essa pessoa é a única proprietária daquilo que ela imagina,  
> e ninguém mais. Quando um ser humano criado mentalmente caminha por um  
> milharal também imaginado, a pessoa imaginada não é a propriedade desse  
> milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso a  
> propriedade deste universo é de Brahma, e não dos microcosmos que também  
> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> patrimônio comum de todos."  
> Restante do texto em  
> [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

---

<div class="post-metadata">

**Author:** ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)\
**Post date:** [August 6, 2014, 11:31pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/8 "2014-08-06T23:31:25Z")

</div>

Another limitation introduced with the chef's new json parser: comments  
can't be used.

2014-07-30 14:08 GMT-03:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):

> Hello all,
> 
> JSON is really an annoying format: I can't leave , on the last element of  
> an array, it doesn't allow ' (single quote), it doesn't support multiline  
> strings, among other problems...
> 
> I would like to write my chef node configuration in Ruby or Yaml, is it  
> possible?
> 
> cheers,  
> bráulio
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
> lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
> destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> naquele momento, essa pessoa é a única proprietária daquilo que ela  
> imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
> por um milharal também imaginado, a pessoa imaginada não é a propriedade  
> desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
> a propriedade deste universo é de Brahma, e não dos microcosmos que também  
> foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> patrimônio comum de todos."  
> Restante do texto em  
> [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

**Author:** ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)\
**Post date:** [August 6, 2014, 11:32pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/9 "2014-08-06T23:32:18Z")

</div>

Thanks Ranjib! I'll try to make a patch the smallest I can and submit a  
pull request. It is only interesting to use if the code is released into  
chef.

cheers,  
bráulio

2014-07-30 19:58 GMT-03:00 Ranjib Dey [dey.ranjib@gmail.com](mailto:dey.ranjib@gmail.com):

> i think you should be able to do this. chef has a mixin  
> (lib/mixin/from\_file) that essentially read the content of a file and then  
> does instance eval. Chef::Node object already include this (like  
> environment, role etc).I think all you have to do is to write the knife  
> wrapper. Knife too has handy methods for all from\_file functionality  
> (lib/chef/knife/core/object\_loader.rb) , check that as well. and finally  
> look at (lib/chef/knife/environment\_from\_file.rb) for an example.  
> Chef nodes are registered via the validation/registration process, and run  
> list are added using the first-boot.json, hence i think this method was  
> never used. So just give it a try , and let us know how it goes 🙂
> 
> ## I tried this and it works for me: --- node\_1.rb name 'node-1' run\_list \<\< 'role[foo]'
> 
> irb\>\>  
> Chef::Node.new.from\_file('node\_1.rb')  
> ....
> 
> cheers  
> ranjib
> 
> 2014-07-30 14:25 GMT-07:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):
> 
> Could you please indicate where in chef I should update and patch? I'll
> 
> > create a pull request.
> > 
> > thankfully,  
> > bráulio
> > 
> > 2014-07-30 17:34 GMT-03:00 Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net):
> > 
> > No, this is not possible currently. You could write your own scripts for
> > 
> > > this though.
> > > 
> > > --Noah
> > > 
> > > On Jul 30, 2014, at 10:08 AM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com)  
> > > wrote:
> > > 
> > > > Hello all,
> > > > 
> > > > JSON is really an annoying format: I can't leave , on the last element  
> > > > of an array, it doesn't allow ' (single quote), it doesn't support  
> > > > multiline strings, among other problems...
> > > > 
> > > > I would like to write my chef node configuration in Ruby or Yaml, is  
> > > > it possible?
> > > > 
> > > > cheers,  
> > > > bráulio
> > > > 
> > > > --  
> > > > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> > > > ideologia. Morra por sua ideologia" P.R. Sarkar
> > > > 
> > > > EITA - Educação, Informação e Tecnologias para Autogestão  
> > > > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > > > [http://eita.org.br](http://eita.org.br)
> > > > 
> > > > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é  
> > > > meu lar e todos nós somos cidadãos deste cosmo. Este universo é a  
> > > > imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas,  
> > > > preservadas e destruídas nas fases de extroversão e introversão do fluxo  
> > > > imaginativo cósmico. No âmbito pessoal, quando uma pessoa imagina algo em  
> > > > sua mente, naquele momento, essa pessoa é a única proprietária daquilo que  
> > > > ela imagina, e ninguém mais. Quando um ser humano criado mentalmente  
> > > > caminha por um milharal também imaginado, a pessoa imaginada não é a  
> > > > propriedade desse milharal, pois ele pertence ao indivíduo que o está  
> > > > imaginando. Este universo foi criado na imaginação de Brahma, a Entidade  
> > > > Suprema, por isso a propriedade deste universo é de Brahma, e não dos  
> > > > microcosmos que também foram criados pela imaginação de Brahma. Nenhuma  
> > > > propriedade deste mundo, mutável ou imutável, pertence a um indivíduo em  
> > > > particular; tudo é o patrimônio comum de todos."  
> > > > Restante do texto em  
> > > > [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)
> > 
> > --  
> > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> > ideologia. Morra por sua ideologia" P.R. Sarkar
> > 
> > EITA - Educação, Informação e Tecnologias para Autogestão  
> > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > [http://eita.org.br](http://eita.org.br)
> > 
> > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
> > lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> > Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
> > destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> > cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> > naquele momento, essa pessoa é a única proprietária daquilo que ela  
> > imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
> > por um milharal também imaginado, a pessoa imaginada não é a propriedade  
> > desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> > universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
> > a propriedade deste universo é de Brahma, e não dos microcosmos que também  
> > foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> > mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> > patrimônio comum de todos."  
> > Restante do texto em  
> > [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

**Author:** ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)\
**Post date:** [August 6, 2014, 11:32pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/10 "2014-08-06T23:32:41Z")

</div>

AJ: it is on a chef-repo, nodes/hostname.json file.

Currently I'm using knife solo for deploys.

cheers,  
bráulio

2014-07-30 20:05 GMT-03:00 AJ Christensen [aj@junglist.io](mailto:aj@junglist.io):

> yo, bráulio!
> 
> could you clarify what specifically you mean by 'chef node  
> configuration'? Do you mean a Node on disk, a Node on the Chef Server,  
> or maybe recipes or something like that?
> 
> cheers,
> 
> aj
> 
> 2014-07-31 5:08 GMT+12:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):
> 
> > Hello all,
> > 
> > JSON is really an annoying format: I can't leave , on the last element  
> > of an  
> > array, it doesn't allow ' (single quote), it doesn't support multiline  
> > strings, among other problems...
> > 
> > I would like to write my chef node configuration in Ruby or Yaml, is it  
> > possible?
> > 
> > cheers,  
> > bráulio
> > 
> > --  
> > "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> > ideologia. Morra por sua ideologia" P.R. Sarkar
> > 
> > EITA - Educação, Informação e Tecnologias para Autogestão  
> > [Blog - Bráulio Bhavamitra](http://cirandas.net/brauliobo)  
> > [http://eita.org.br](http://eita.org.br)
> > 
> > "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
> > lar  
> > e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
> > Mente Macrocósmica, e todas as entidades estão sendo criadas,  
> > preservadas e  
> > destruídas nas fases de extroversão e introversão do fluxo imaginativo  
> > cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
> > naquele momento, essa pessoa é a única proprietária daquilo que ela  
> > imagina,  
> > e ninguém mais. Quando um ser humano criado mentalmente caminha por um  
> > milharal também imaginado, a pessoa imaginada não é a propriedade desse  
> > milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
> > universo foi criado na imaginação de Brahma, a Entidade Suprema, por  
> > isso a  
> > propriedade deste universo é de Brahma, e não dos microcosmos que também  
> > foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
> > mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
> > patrimônio comum de todos."  
> > Restante do texto em  
> > [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

**Author:** ![Lamont\_Granquist\_OLD](https://avatars.discourse-cdn.com/v4/letter/l/7feea3/32.png) [@Lamont\_Granquist\_OLD](https://discourse.chef.io/u/Lamont_Granquist_OLD)\
**Post date:** [August 7, 2014, 1:41am UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/11 "2014-08-07T01:41:35Z")

</div>

On 8/6/14, 7:31 PM, Bráulio Bhavamitra wrote:

> Another limitation introduced with the chef's new json parser:  
> comments can't be used.

Did we support that previously? If there's an actual regression there,  
I'll fix it.

And while the JSON format bans comments there's a switch to turn them  
on, but that would limit the parsers that could read valid Chef JSON  
files to only parsers that could read non-standard commented-JSON. I'm  
extremely tempted to turn commenting on because I can't stand not having  
comments in config files, but not sure about the cost of limiting  
interoperability.

---

<div class="post-metadata">

**Author:** ![Eric\_Olivier\_Lamey](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/eric_olivier_lamey/32/276_2.png) [@Eric\_Olivier\_Lamey](https://discourse.chef.io/u/Eric_Olivier_Lamey)\
**Post date:** [August 7, 2014, 8:11am UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/12 "2014-08-07T08:11:17Z")

</div>

On Thu, Aug 7, 2014 at 3:41 AM, Lamont Granquist [lamont@opscode.com](mailto:lamont@opscode.com) wrote:

> On 8/6/14, 7:31 PM, Bráulio Bhavamitra wrote:
> 
> > Another limitation introduced with the chef's new json parser: comments  
> > can't be used.
> 
> Did we support that previously? If there's an actual regression there, I'll  
> fix it.

I'm not sure it was supported explicitly, but it works with  
chef-client 11.12.8 (which we are using) but doesn't with 11.14.2.

It may be related to the switch from Yajl to FFI\_Yajl  
([convert to using ffi\_yajl · chef/chef@2a9f12b · GitHub](https://github.com/opscode/chef/commit/2a9f12b4503c9b8deed2b1229877b978478a0b3b)).

---

<div class="post-metadata">

**Author:** ![Lamont\_Granquist\_OLD](https://avatars.discourse-cdn.com/v4/letter/l/7feea3/32.png) [@Lamont\_Granquist\_OLD](https://discourse.chef.io/u/Lamont_Granquist_OLD)\
**Post date:** [August 7, 2014, 3:37pm UTC](https://discourse.chef.io/t/write-node-config-in-ruby/5578/13 "2014-08-07T15:37:59Z")

</div>

On Thu Aug 7 04:11:17 2014, Eric-Olivier Lamey wrote:

> On Thu, Aug 7, 2014 at 3:41 AM, Lamont Granquist [lamont@opscode.com](mailto:lamont@opscode.com) wrote:
> 
> > On 8/6/14, 7:31 PM, Bráulio Bhavamitra wrote:
> > 
> > > Another limitation introduced with the chef's new json parser: comments  
> > > can't be used.
> > 
> > Did we support that previously? If there's an actual regression there, I'll  
> > fix it.
> 
> I'm not sure it was supported explicitly, but it works with  
> chef-client 11.12.8 (which we are using) but doesn't with 11.14.2.
> 
> It may be related to the switch from Yajl to FFI\_Yajl  
> ([convert to using ffi\_yajl · chef/chef@2a9f12b · GitHub](https://github.com/opscode/chef/commit/2a9f12b4503c9b8deed2b1229877b978478a0b3b)).

> <https://github.com/chef/chef/issues/1775>
>
> 'knife role from file' supported commented JSON in 11.12.8 and this was broken i…n 11.14.2
> 
> we clearly need some unit tests around this behavior and need to make sure the API is consistent between the 'knife node from' and 'knife upload' APIs.

it looks like yajl-ruby sets allow comments by default, so we've had  
comments enabled in the yajl sections of the codebase all along (but  
probably not the JSON gem ones).
