<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 06:30:33 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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[SERVER-75583] Provide the official images for other architectures than x86</title>
                <link>https://jira.mongodb.org/browse/SERVER-75583</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;h2&gt;&lt;a name=&quot;Problemstatement&quot;&gt;&lt;/a&gt;Problem statement&lt;/h2&gt;

&lt;p&gt;At the moment, the official Server container images are provided only for &lt;tt&gt;linux/amd64&lt;/tt&gt; platform. In order to provide full parity with the Docker Community-maintained images, we should provide other architectures as well.&lt;/p&gt;

&lt;p&gt;ARM64 seems to be the most critical one as it makes the development on M1 MACs much easier. &lt;/p&gt;</description>
                <environment></environment>
        <key id="2304772">SERVER-75583</key>
            <summary>Provide the official images for other architectures than x86</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/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="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="zack.winter@mongodb.com">Zack Winter</assignee>
                                    <reporter username="sebastian.laskawiec@mongodb.com">Sebastian Laskawiec</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Apr 2023 11:51:52 +0000</created>
                <updated>Mon, 9 Oct 2023 00:28:58 +0000</updated>
                            <resolved>Wed, 27 Sep 2023 22:21:11 +0000</resolved>
                                                                                        <votes>3</votes>
                                    <watches>15</watches>
                                                                                                                <comments>
                            <comment id="5667486" author="JIRAUSER1274619" created="Tue, 29 Aug 2023 23:39:07 +0000"  >&lt;p&gt;Hey &lt;a href=&quot;https://jira.mongodb.org/secure/ViewProfile.jspa?name=alex.neben%40mongodb.com&quot; class=&quot;user-hover&quot; rel=&quot;alex.neben@mongodb.com&quot;&gt;alex.neben@mongodb.com&lt;/a&gt;, for the multi arch I&#8217;m thinking of doing something pretty similar to what we originally discussed:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Create new set of tasks that run on an arm variant to build, test, and tag the new arm docker image&lt;/li&gt;
	&lt;li&gt;Create a task that depends on arm &amp;amp; amd build/test/tag tasks, which then uses `docker manifold` to reference the newly built images for each arch&lt;/li&gt;
	&lt;li&gt;In the case of a failure, short circuit the manifold combination step&lt;/li&gt;
	&lt;li&gt;Only allow re-running the entire process, creating new tags for each dependent arch&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I thought of a few potential issues, do you have any thoughts on any of these?&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;It looks like we&#8217;re currently building with buildx, do you know if there might be any parameters that we&#8217;re passing it that we&#8217;ll also need to pass to the multi-arch image, but aren&#8217;t supported by manifest? Manifest seems to be the older command so I&#8217;m not sure if it has feature parity.&lt;/li&gt;
	&lt;li&gt;This solution involves arm:latest &amp;amp; amd:latest potentially getting out of sync and pointing to different versions of the code. This doesn&#8217;t seem like a major issue to me since I don&#8217;t know if there&#8217;s any way to actually guarantee they&#8217;re always fully in sync anyway and I don&#8217;t know if customers would have any kind of dependence on this&lt;/li&gt;
	&lt;li&gt;In the case of failures, retrying would retag image builds that already succeeded (ex. if arm fails but amd succeeds, retrying would create a new tag for amd). I don&#8217;t think this would be an issue either, but I&#8217;m not very familiar with the costs associated with docker image hosting&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I think this approach is pretty similar to the one you started work on so I&apos;m curious if you ran into any issues with that.&lt;/p&gt;

&lt;p&gt;The main alternative would be to create an intermediate tag for each arch that we would still push after testing for that arch completes, but we would instead only retag it with a public-facing tag after all arch tests pass. The main drawbacks would be additional complexity and the fact that we would now be blocking all image pushes whenever we fail on a single architecture. It would also be a lot messier to define single architecture build pipeline that pushes to publicly facing tags since that step would then be tied to the multi-arch combination step. It does have the benefit of keeping the *:latest tags consistent in terms of pointing to the same code version across all archs + the multi arch image.&lt;/p&gt;

&lt;p&gt;Do you have any preference on going in either direction?&lt;/p&gt;</comment>
                            <comment id="5650880" author="JIRAUSER1268551" created="Tue, 22 Aug 2023 16:14:52 +0000"  >&lt;p&gt;&lt;a href=&quot;https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Here&lt;/a&gt; is a good guide to making multi platform images.&lt;/p&gt;</comment>
                            <comment id="5631814" author="JIRAUSER1259859" created="Mon, 14 Aug 2023 11:34:32 +0000"  >&lt;p&gt;for &lt;a href=&quot;https://jira.mongodb.org/browse/CLOUDP-169779&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;Local development experience for Atlas via Atlas CLI&lt;/a&gt;&#160;&#160;project we also need ARM64 and Windows for the enterprise images&lt;/p&gt;</comment>
                            <comment id="5333551" author="JIRAUSER1268551" created="Sat, 8 Apr 2023 00:51:45 +0000"  >&lt;p&gt;Here is my half baked attempt at this before: &lt;a href=&quot;https://github.com/10gen/mongo-container/pull/29/files&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/10gen/mongo-container/pull/29/files&lt;/a&gt; (merge conflicts need to be fixed). This requires some input from the build team. If we are going to prioritize this we need the build team to provide us someway to support multiarch images.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="2355741">SERVER-77678</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2303291">SERVER-75539</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                <customfield id="customfield_12751" key="com.atlassian.jira.plugin.system.customfieldtypes:multiselect">
                        <customfieldname>Assigned Teams</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="25130"><![CDATA[Server Development Platform]]></customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Sat, 8 Apr 2023 00:51:45 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        23 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>iryna.zhuravlova@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            23 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>alex.neben@mongodb.com</customfieldvalue>
            <customfieldvalue>ciprian.tibulca@mongodb.com</customfieldvalue>
            <customfieldvalue>sebastian.laskawiec@mongodb.com</customfieldvalue>
            <customfieldvalue>zack.winter@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i230e7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i1lcqg:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i22mjj:</customfieldvalue>

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