<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:27:12 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-3314] Set up Docker Team for FOLIO Project</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-3314</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Currently, we use one Docker Hub account called &apos;folio&apos; which is currently under the &quot;Docker personal plan&quot; (i.e the free tier).&#160;&#160;&#160; Under this account there are three &quot;organizations&quot; - folioorg, folioci, and foliolib.&#160;&#160; &apos;folioorg&apos; and &apos;folioci&apos; are essentially docker hub namespaces for FOLIO releases and snapshots respectively. &apos;foliolib&apos; is currently unused.&#160;&#160;&#160; Under this &quot;personal plan&quot;,&#160; we are a bit limited in what we can do.&#160; For example:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;only one unscoped access token can be generated.&#160; By unscoped, I mean the token grants read/write/delete privileges to all organizations.&#160; It would be useful to be able to grant multiple tokens with a more limited scope.&lt;/li&gt;
	&lt;li&gt;maximum of 3 members per organization.&#160; A &quot;member&quot; in this context is a Docker Hub account that has access to the organization.&lt;/li&gt;
	&lt;li&gt;maximum of two teams per organization.&#160; The first team is a mandatory &quot;owners&quot; team that has admin privs. &#160; The second team is currently used by the FOLIO Jenkins account for read/write to all repos under each organization.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;What I&apos;d like to accomplish is the ability for repos in github.com/library-data-platform to publish artifacts to the folioorg namespace for ldp, etc via Github Actions workflows. However,&#160; I do not want that github org to use the same Jenkins credentials that folio-org uses to publish to the folioorg namespace.&#160; I feel like that&apos;s a bit dangerous since those credentials are too permissive.&#160;&#160; I&apos;d prefer to use an account with credentials that can only write to certain docker hub repos. &#160;&#160; However, I&apos;m unable to accomplish this due to the limitations above.&lt;/p&gt;

&lt;p&gt;Ultimately, it would be kind of cool to be able to publish FOLIO docker artifacts (modules, etc) from different github repositories (or anywhere else) to the Docker Hub folioorg namespace.&#160;&#160; In order to do this safely, however, we need additional capacity to add additional members and teams to this Docker Hub account.&#160;&#160;&#160; I feel like we can accomplish this by upgrading the Docker Hub &apos;folio&apos; account to the &quot;Team plan&quot; and start with 5 members initially.&#160;&#160; The cost would be $35 per month and would also get additional Docker Hub features.&lt;/p&gt;</description>
                <environment></environment>
        <key id="80029">FOLIO-3314</key>
            <summary>Set up Docker Team for FOLIO Project</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="10005" iconUrl="https://dev.folio.org/assets/jira-priority/tbd.svg">TBD</priority>
                        <status id="3" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/inprogress.png" description="This issue is being actively worked on at the moment by the assignee.">In Progress</status>
                    <statusCategory id="4" key="indeterminate" colorName="yellow"/>
                                    <resolution id="-1">Unresolved</resolution>
                                                        <assignee accountid="5ced27478b03050f27825a93">Peter Murray</assignee>
                                                                <reporter accountid="5ced27478b03050f27825a93">Peter Murray</reporter>
                                    <labels>
                    </labels>
                <created>Mon, 18 Oct 2021 19:26:42 +0000</created>
                <updated>Thu, 23 Mar 2023 22:01:15 +0000</updated>
                                                                                <due></due>
                            <votes>0</votes>
                                    <watches>2</watches>
                                                                <comments>
                                                            <comment id="190887" author="5ced27478b03050f27825a93" created="Mon, 18 Oct 2021 19:51:18 +0000"  >&lt;p&gt;&lt;b&gt;From:&lt;/b&gt;&lt;font color=&quot;#272728&quot;&gt; Peter Murray &amp;lt;peter.murray@openlibraryfoundation.org&amp;gt;&lt;/font&gt;&lt;br/&gt;
&lt;b&gt;Date:&lt;/b&gt;&lt;font color=&quot;#272728&quot;&gt; Oct 18, 2021, 3:48 PM -0400&lt;/font&gt;&lt;br/&gt;
&lt;b&gt;To:&lt;/b&gt;&lt;font color=&quot;#272728&quot;&gt; Marina Kvitnitsky &amp;lt;opensource@docker.com&amp;gt;&lt;/font&gt;&lt;br/&gt;
&lt;b&gt;Subject:&lt;/b&gt;&lt;font color=&quot;#272728&quot;&gt; Docker support for Team plans for open source projects (was: Welcome to Docker Open Source Program)&lt;/font&gt;&lt;/p&gt;


&lt;p&gt;&lt;blockquote&gt;&lt;p&gt;Hello Marina,&lt;/p&gt;

&lt;p&gt;Thank you again for recognizing the FOLIO Project in the Docker Open Source Program.&#160;&#160;Since we last exchanged email in November, the FOLIO platform has had two major releases and been installed in another half-dozen libraries around the world with more coming.&#160;&#160;(First libraries in Asia and South America!)&#160;&#160;We are starting to see the project&apos;s vision of an open source &quot;platform of apps for libraries&quot;, but as this vision meets reality we are finding our complications in adding open source apps from outside the FOLIO project to the continuous integration and the hosted reference environments.&#160;&#160;One of the project&apos;s devops engineers described it this way:&lt;/p&gt;

&lt;/blockquote&gt;_Currently, we use one Docker Hub account called &apos;folio&apos; which is currently under the &quot;Docker personal plan&quot; (i.e the free tier).&#160;&#160; &#160;Under this account there are three &quot;organizations&quot; - folioorg, folioci, and foliolib.&#160; &#160;&apos;folioorg&apos; and &apos;folioci&apos; are essentially docker hub namespaces for FOLIO releases and snapshots respectively. &apos;foliolib&apos; is currently unused.&#160;&#160; &#160;Under this &quot;personal plan&quot;,&#160;&#160;we are a bit limited in what we can do.&#160;&#160;For example:&lt;em&gt;&lt;blockquote&gt;&lt;ul&gt;
	&lt;li&gt;&lt;em&gt;only one unscoped access token can be generated.&#160;&#160;By unscoped, I mean the token grants read/write/delete privileges to all organizations.&#160;&#160;It would be useful to be able to grant multiple tokens with a more limited scope.&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;maximum of 3 members per organization.&#160;&#160;A &quot;member&quot; in this context is a Docker Hub account that has access to the organization.&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;&lt;em&gt;maximum of two teams per organization.&#160;&#160;The first team is a mandatory &quot;owners&quot; team that has admin privs.&#160; &#160;The second team is currently used by the FOLIO Jenkins account for read/write to all repos under each organization.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;_What I&apos;d like to accomplish is the ability for repos in github.com/library-data-platform to publish artifacts to the folioorg namespace for ldp, etc via Github Actions workflows. However,&#160;&#160;I do not want that github org to use the same Jenkins credentials that folio-org uses to publish to the folioorg namespace.&#160;&#160;I feel like that&apos;s a bit dangerous since those credentials are too permissive.&#160; &#160;I&apos;d prefer to use an account with credentials that can only write to certain docker hub repos.&#160;&#160; &#160;However, I&apos;m unable to accomplish this due to the limitations above.&lt;/em&gt;&lt;br/&gt;
&#160;&lt;br/&gt;
_Ultimately, it would be kind of cool to be able to publish FOLIO docker artifacts (modules, etc) from different github repositories (or anywhere else) to the Docker Hub folioorg namespace.&#160; &#160;In order to do this safely, however, we need additional capacity to add additional members and teams to this Docker Hub account.&#160;&#160; &#160;I feel like we can accomplish this by upgrading the Docker Hub &apos;folio&apos; account to the &quot;Team plan&quot; and start with 5 members initially.&#160; &#160;The cost would be $35 per month and would also get additional Docker Hub features._&lt;blockquote&gt;


&lt;p&gt;LDP is the &quot;Library Data Platform&quot;&#8212;a new project that we are incubating at the Open Library Foundation.&#160;&#160;I expect we will also face the same complication with Project ReShare&#8212;an effort to have open source alternatives to manage the exchange of materials between libraries that is also a set of apps on the FOLIO platform.&lt;/p&gt;

&lt;p&gt;Does Docker have a program for supporting complicated open source programs like this?&#160;&#160;I looked on TechSoup.org for the easy path&#8212;Docker providing&#160;&lt;em&gt;gratis&lt;/em&gt;&#160;or discounted Team plan licenses&#8212;but didn&apos;t see anything.&lt;/p&gt;


&lt;p&gt;Peter&lt;/p&gt;&lt;/blockquote&gt;&lt;/p&gt;</comment>
                                                            <comment id="190893" author="5ced27478b03050f27825a93" created="Mon, 29 Nov 2021 22:17:17 +0000"  >&lt;p&gt;Resent email to William Quiviger.&lt;/p&gt;</comment>
                                                            <comment id="190897" author="5ced27478b03050f27825a93" created="Thu, 23 Mar 2023 21:57:59 +0000"  >&lt;p&gt;It looks like the FOLIO organization on Docker Hub is affected by this.&#160; From: &lt;a href=&quot;https://www.docker.com/blog/we-apologize-we-did-a-terrible-job-announcing-the-end-of-docker-free-teams/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;What to know about the end of Docker Free Teams...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;&lt;a name=&quot;HowcanIseeifI%E2%80%99maffected%3F&quot;&gt;&lt;/a&gt;How can I see if I&#8217;m affected?&lt;/h3&gt;

&lt;p&gt;Please consult the &lt;a href=&quot;https://hub.docker.com/orgs&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Organizations page&lt;/a&gt; of your Docker account; any affected organizations are labeled &#8220;Docker Free Team&#8221; in the &#8220;Subscription&#8221; column. Less than 2% of Docker users have a Free Team organization on their account.&lt;/p&gt;

&lt;p&gt;Even if some of your organizations are affected, your individual Docker account (or other organizations) will not be affected by this change.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;img src=&quot;/rest/api/3/attachment/content/63949&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I have submitted an application to the &lt;a href=&quot;https://www.docker.com/community/open-source/application/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;Docker-Sponsored Open Source Program&lt;/a&gt;.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                                                <inwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81921">FOLIO-2844</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81833">FOLIO-2722</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="63949" name="image-2023-03-23-17-32-21-978.png" size="61837" author="5ced27478b03050f27825a93" created="Thu, 23 Mar 2023 21:32:22 +0000"/>
                    </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_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10155"><![CDATA[FOLIO DevOps]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10063" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>PO Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i06ovc:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1718">DevOps Sprint 160</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>