<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:10:55 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-1111] Add Docker-based launch descriptors to module descriptor templates</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-1111</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;This would be very useful for auto-deployment. Assumption is that launch descriptors in module descriptors would be overridden by launch descriptors in deployment descriptors.&lt;/p&gt;</description>
                <environment></environment>
        <key id="80585">FOLIO-1111</key>
            <summary>Add Docker-based launch descriptors to module descriptor templates</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</type>
                                            <priority id="10001" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p2.svg">P2</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="5f9abc1eb45b2e007453f423">John Malconian</assignee>
                                                                <reporter accountid="5c706fbb47a54a6728e59df2">Wayne Schneider</reporter>
                                    <labels>
                            <label>ci</label>
                            <label>core</label>
                            <label>sprint34</label>
                    </labels>
                <created>Wed, 7 Mar 2018 16:03:03 +0000</created>
                <updated>Mon, 12 Nov 2018 14:24:13 +0000</updated>
                            <resolved>Tue, 13 Mar 2018 20:09:13 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                    <timespent seconds="11700">3 hours, 15 minutes</timespent>
                                <comments>
                                                            <comment id="189882" author="5f9abc1eb45b2e007453f423" created="Wed, 7 Mar 2018 17:09:15 +0000"  >&lt;p&gt;mod-authtoken &lt;br/&gt;
mod-circulation&lt;br/&gt;
mod-circulation-storage&lt;br/&gt;
mod-codex-ekb&lt;br/&gt;
mod-codex-inventory&lt;br/&gt;
mod-codex-mux&lt;br/&gt;
mod-configuration&lt;br/&gt;
mod-finance&lt;br/&gt;
mod-feesfines&lt;br/&gt;
mod-graphql&lt;br/&gt;
mod-inventory&lt;br/&gt;
mod-inventory-storage&lt;br/&gt;
mod-kb-ebsco&lt;br/&gt;
mod-login&lt;br/&gt;
mod-login-saml&lt;br/&gt;
mod-notes&lt;br/&gt;
mod-notify&lt;br/&gt;
mod-orders&lt;br/&gt;
mod-permissions&lt;br/&gt;
mod-user-bl&lt;br/&gt;
mod-user-import&lt;br/&gt;
mod-users&lt;br/&gt;
mod-vendor&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5c706fbb47a54a6728e59df2&quot; class=&quot;user-hover&quot; rel=&quot;5c706fbb47a54a6728e59df2&quot; data-account-id=&quot;5c706fbb47a54a6728e59df2&quot; accountid=&quot;5c706fbb47a54a6728e59df2&quot; rel=&quot;noreferrer&quot;&gt;Wayne Schneider&lt;/a&gt; I&apos;m going to start with the first twelve on this list (up to and including mod-inventory-storage)&lt;/p&gt;</comment>
                                                            <comment id="189883" author="5f9abc1eb45b2e007453f423" created="Wed, 7 Mar 2018 18:59:12 +0000"  >&lt;p&gt;Based on discussions with &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5c706fbb47a54a6728e59df2&quot; class=&quot;user-hover&quot; rel=&quot;5c706fbb47a54a6728e59df2&quot; data-account-id=&quot;5c706fbb47a54a6728e59df2&quot; accountid=&quot;5c706fbb47a54a6728e59df2&quot; rel=&quot;noreferrer&quot;&gt;Wayne Schneider&lt;/a&gt;,  the agreed upon approach is to update the Module Descriptor template for each backend module to include a docker-based launch descriptor.   The launch descriptor should be docker repository agnostic and &apos;dockerPull&apos; should be set to &apos;false&apos; by default.   The FOLIO CI system will then take the generated Module Descriptor and add the correct docker repository (&apos;folioci&apos; for snapshot releases or &apos;folioorg&apos; for non snapshot releases and change dockerPull to &apos;true&apos; before posting to &apos;folio-registry&apos;.   Some work needs to be done in the CI before making these changes to the MD templates. &lt;/p&gt;

&lt;p&gt;Example of new MD template with launch descriptor:&lt;/p&gt;

&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;
{
  &quot;id&quot;: &quot;${artifactId}-${version}&quot;,
  &quot;name&quot;: &quot;authtoken&quot;,
  &quot;provides&quot;: [
    {
      &quot;id&quot;: &quot;authtoken&quot;,
      &quot;version&quot;: &quot;1.2&quot;,
      &quot;handlers&quot; : [
        {
          &quot;methods&quot; : [ &quot;POST&quot; ],
          &quot;pathPattern&quot; : &quot;/token&quot;
        }
      ]
    }
  ],
  &quot;filters&quot; : [
    {
      &quot;methods&quot; : [ &quot;*&quot; ],
      &quot;pathPattern&quot; : &quot;/*&quot;,
      &quot;phase&quot; : &quot;auth&quot;,
      &quot;type&quot; : &quot;headers&quot;,
      &quot;modulePermissions&quot; : [ &quot;perms.users.get&quot; ]
    }
  ],
  &quot;launchDescriptor&quot;: {
    &quot;dockerImage&quot;: &quot;${artifactId}:${version}&quot;,
    &quot;dockerArgs&quot;: {
      &quot;HostConfig&quot;: { &quot;PortBindings&quot;: { &quot;8081/tcp&quot;:  [{ &quot;HostPort&quot;: &quot;%p&quot; }] } } 
    },
    &quot;dockerPull&quot; : false
  }
}

&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                                                            <comment id="189886" author="5f9abc1eb45b2e007453f423" created="Wed, 7 Mar 2018 19:07:35 +0000"  >&lt;p&gt;Bumping this to P2 since it will make module deployment easier for CI tests (
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-1043&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-1043&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;integrate ui-testing with PR&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10307?size=medium&quot; /&gt;
            FOLIO-1043
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
). &lt;/p&gt;</comment>
                                                            <comment id="189889" author="5f8314dfbdef80006f6f572d" created="Thu, 8 Mar 2018 09:19:33 +0000"  >&lt;p&gt;A lot of modules to be updated &lt;img class=&quot;emoticon&quot; src=&quot;/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt; We was discussing this morning that a neat and &quot;dynamic&quot; way to achive the same would be that the install method could take a launchDescriptor in the POST .. Thus, autoDeploy would use that. This is more &quot;last&quot; minute and more flexible but will only work if all modules have same Docker Launch.. Substition would have to take place by Okapi.. Eg:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
&lt;span class=&quot;code-quote&quot;&gt;&quot;launchDescriptor&quot;&lt;/span&gt;: {
    &lt;span class=&quot;code-quote&quot;&gt;&quot;dockerImage&quot;&lt;/span&gt;: &lt;span class=&quot;code-quote&quot;&gt;&quot;$m:$v&quot;&lt;/span&gt;,
    &lt;span class=&quot;code-quote&quot;&gt;&quot;dockerArgs&quot;&lt;/span&gt;: {
      &lt;span class=&quot;code-quote&quot;&gt;&quot;HostConfig: { &quot;&lt;/span&gt;PortBindings&lt;span class=&quot;code-quote&quot;&gt;&quot;: { &quot;&lt;/span&gt;8081/tcp&lt;span class=&quot;code-quote&quot;&gt;&quot;:  [{ &quot;&lt;/span&gt;HostPort&lt;span class=&quot;code-quote&quot;&gt;&quot;: &quot;&lt;/span&gt;%p&quot; }] } } 
    },
    &lt;span class=&quot;code-quote&quot;&gt;&quot;dockerPull&quot;&lt;/span&gt; : &lt;span class=&quot;code-keyword&quot;&gt;false&lt;/span&gt;
  }
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Here $m and $v is the module name and version from the the Module ID content (that was subsituted long time ago).&lt;/p&gt;

&lt;p&gt;Doing it this way COULD be a faster way to achieve this.. than updating all those modules. And I &lt;b&gt;think&lt;/b&gt; more flexible.&lt;/p&gt;</comment>
                                                            <comment id="189891" author="5c706fbb47a54a6728e59df2" created="Thu, 8 Mar 2018 11:54:31 +0000"  >&lt;p&gt;This would require all modules to have the same dockerArgs (and env and dockerCMD), which I think actually limits flexibility a bit. For example, right now there are (I think) 2 modules &amp;#8211; mod-inventory and mod-circulation &amp;#8211; that need the port binding on a different port than 8081.&lt;/p&gt;</comment>
                                                            <comment id="189893" author="5f9abc1eb45b2e007453f423" created="Fri, 9 Mar 2018 21:10:46 +0000"  >&lt;p&gt;I&apos;ve completed a big chuck of the work in CI in order to support this change (
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-1112&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-1112&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Update FOLIO CI to make additional modifications to backend module descriptors&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-1112
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
) and have proceeded with adding the launch descriptor as described above to mod-authtoken.   Other modules in the list to follow.    There are a couple of outlier modules that will require some special attention - mod-graphql and mod-kb-ebsco.  I suggest we leave these for last. &lt;/p&gt;</comment>
                                                            <comment id="189894" author="5f9abc1eb45b2e007453f423" created="Tue, 13 Mar 2018 20:09:13 +0000"  >&lt;p&gt;All modules list above now have a launch descriptor appended to their respective module descriptor templates on the master branch and generated module descriptors have been posted to folio-registry.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="80538">FOLIO-1043</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="80590">FOLIO-1116</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzyd3b:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 7 Mar 2018 17:09:15 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>