[ 
https://issues.apache.org/jira/browse/SOLR-15335?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris M. Hostetter updated SOLR-15335:
--------------------------------------
    Attachment: SOLR-15335.patch
        Status: Open  (was: Open)

Attaching a work in progress patch - uses "header" files per Dockerfile type, 
concatenated with a common "body" file.
 * the Dockerfile.local produced currently works correctly and can be tested
 * the Dockerfile.official _looks_ ok, but still needs work in terms of 
ensuring we have the correct variables to populate when we build it.

this approach currently uses the gradle build in {{expand()}} support for using 
SimpleTemplateEngine to do the variable replacement – which is nice because it 
also let's use use {{<% /* comments */ %>}} in the templates which get striped 
out of the final Dockerfile ... but it's kind of a pain to deal with because 
all literal '$' characters and '\'+'\n' pairs need to be escaped in order to be 
preserved.
 As i mention in a comment...
{code:java}
// nocommit: instead of using 'expand(...)' and the groovy SimpleTemplateEngine
// nocommit: we should consider a more "scaled down" home-made templating system
// nocommit: that would let us avoid needing to escape every '$' character in 
the templates
//
// nocommit: if we really only need "variables" in our FROM and ARG lines then 
maybe we can
// nocommit: go back to something like what was in SOLR-15250 (with special 
'FROM' support)
// nocommit: and added support for "template commends" (maybe '##' gets 
stripped out) ?

{code}
 

NOTE: the logic in "official" header this patch comes straight from 
docker-solr, just re-aranged a bit ... I have not yet attempted any substantive 
changes to any of the logic being used in the "official" header like i was 
talking about in SOLR-15250 (ie: using KEYS files, etc..) ... just left TODOs 
to explore them later in their own issues.

 

> templated (header + body) approach for building Dockerfile.local + 
> Dockerfile.official w/common guts
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-15335
>                 URL: https://issues.apache.org/jira/browse/SOLR-15335
>             Project: Solr
>          Issue Type: Sub-task
>            Reporter: Chris M. Hostetter
>            Assignee: Chris M. Hostetter
>            Priority: Major
>         Attachments: SOLR-15335.patch
>
>
> Goals:
>  * "generate" a Dockerfile.official at release time that will satisfy the 
> process/tooling of docker-library for 'official' docker images
>  ** use a templated approach to fill in things like version, sha512, and GPG 
> fingerprint
>  * ensure that the generated Dockerfile.official and the Dockerfile.local 
> included in solr.tgz are identical in terms of the "operational" aspects of a 
> Solr docker image (ie: what the disk layout looks like, and how it runs)
>  ** they should only differ in how they get the contents of a solr.tgz into 
> the docker image (and how much they trust it before unpacking it)
>  * minimize the amount of overhead needed to make changes that exist in in 
> both dockerfiles



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to