Anulación de las plantillas de AWS opsworks … con Berksfile

Hago esto rara vez y, por lo tanto, cuando tengo que anular una plantilla, olvido cosas simples que me dejan rascándome la cabeza durante horas , así que las comparto con ustedes con la esperanza de taladrarlas en mi cabeza (y porque estoy solo un buen chico-Greg):

En primer lugar, para anular una plantilla, debe habilitar libros de cocina personalizados para su pila. A continuación, debe reflejar la estructura de directorios de la receta de AWS opsworks en su propio repositorio de libros de cocina personalizados. Por ejemplo, digamos que quería anular la plantilla haproxy predeterminada. Comenzando con el directorio de nivel superior del repositorio en sí, la ruta a la plantilla de configuración haproxy es:

opsworks-cookbooks / haproxy / templates / default / haproxy.cfg.erb

… así que en mi repositorio de libros de cocina personalizados, tengo que reflejar la misma estructura:

your-custom-cookbook / haproxy / templates / default / haproxy.cfg.erb

Si solo está anulando una plantilla, no copie nada más del repositorio de AWS, especialmente los archivos de recetas * .rb. Esto provocará errores. Lo único que necesita es un archivo metadata.rb en el directorio de nivel raíz de la carpeta del libro de recetas que está duplicando, por ejemplo, en el ejemplo anterior, en el nivel de directorio “haproxy”:

your-custom-cookbook/haproxy/metadata.rb

Así es como el flujo de trabajo del chef de AWS opsworks reconoce que el directorio contiene el código del libro de cocina de Chef (“¡Soy un libro de cocina!”).

Un detalle más, que es importante si está utilizando un Berksfile, que soy yo:
Actualice su berksfile para indicar que se debe incluir el nuevo libro de recetas:


cookbook
'haproxy', path: './haproxy'

Los documentos de AWS no mencionan estas cosas de Berksfile, probablemente porque asumen que sabes lo que estás haciendo, pero si básicamente improvisas todo como yo, entonces tal vez esto te ayude ^ _ ^