<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:17:36 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-2019] SPIKE: evaluate Rancher 2.x vs vanilla K8s</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-2019</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;Rancher is a UI and API abstraction on top of K8s (since v2.x) that allows to centralize management of multiple heterogenous K8s clusters: &lt;a href=&quot;https://rancher.com/what-is-rancher/what-rancher-adds-to-kubernetes/&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://rancher.com/what-is-rancher/what-rancher-adds-to-kubernetes/&lt;/a&gt;. It includes it&apos;s own K8s &quot;distribution&quot; that can be deployed on-prem (RKE). The product similar to RedHat&apos;s OpenShift and Pivotal&apos;s PKS. Rancher Labs provides commercial support for Rancher.&lt;/p&gt;

&lt;p&gt;The purpose of this spike is to evaluate Rancher over vanilla Kubernetes. The primary focus of this evaluation is on utilising Kubernetes-based cluster for internal CI pipelines supporting FOLIO development. The secondary focus is on supporting container deployment integration between Okapi and Kubernetes (see OKAPI-1996) and production FOLIO deployments.&lt;/p&gt;

&lt;p&gt;Evaluation criteria:&lt;/p&gt;

&lt;p&gt;1. ease of setting up &amp;#8211; FOLIO development cluster configuration and number of clusters is unlikely to change often and the clusters (assuming more than on) are likely to be homogenous (AWS). The opposite is likely true for a production FOLIO environment which may utlize a mix of different cloud vendors and on-prem installtions.&lt;/p&gt;

&lt;p&gt;2. integration via the API &amp;#8211; Rancher provides a Restful API that abstract K8s API. Access to the &quot;raw&quot; K8s API is possible but manipulated resources must be labelled according to Rancher&apos;s labelling scheme or they may not be detected by Rancher. Jenkins has plugins both for K8s and Rancher which likely alleviates this problem (critical for CI and FOLIO development). Okapi is more likely to utilize &quot;raw&quot; K8s API to avoid vendor lock-in.&lt;/p&gt;

&lt;p&gt;3. administration and UI &amp;#8211; Rancher provides a UI (control panel) and it&apos;s own CLI while a vanilla K8s provides a Dashboard UI and standard CLI (kubectl). &lt;/p&gt;

</description>
                <environment></environment>
        <key id="81241">FOLIO-2019</key>
            <summary>SPIKE: evaluate Rancher 2.x vs vanilla K8s</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="5c706fbb47a54a6728e59df2">Wayne Schneider</assignee>
                                                                <reporter accountid="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d">Jakub Skoczen</reporter>
                                    <labels>
                    </labels>
                <created>Thu, 16 May 2019 10:11:59 +0000</created>
                <updated>Wed, 3 Jun 2020 16:39:48 +0000</updated>
                            <resolved>Thu, 13 Jun 2019 07:42:37 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                <comments>
                                                            <comment id="194354" author="5fca8bef7cc1030069d4f186" created="Thu, 16 May 2019 18:49:40 +0000"  >&lt;p&gt; I have used both AWS EKS and RKE(AWS EC2) clusters. When using AWS EKS which leverage more of AWS Services(Cloud Formation) and separation of cluster and Rancher were more distinct. When creating a cluster using RKE(AWS EC2)  the cluster is more tightly coupled with Rancher. So this is still a valid discussion, and of course, the answer is &quot;It Depends&quot;. Sorry for generating any confusion during this mornings meeting. &lt;/p&gt;</comment>
                                                            <comment id="194359" author="5fca8bef7cc1030069d4f186" created="Thu, 16 May 2019 19:50:35 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ab8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; class=&quot;user-hover&quot; rel=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; data-account-id=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; accountid=&quot;557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d&quot; rel=&quot;noreferrer&quot;&gt;Jakub Skoczen&lt;/a&gt; From the description above &apos;Okapi is more likely to utilize &quot;raw&quot; K8s API to avoid vendor lock-in.&apos; So the plan is to have Okapi performing orchestration within K8s? or is it a plan where Okapi would generate raw k8s YAML for FOLIO deployment? In my opinion, if you focus on the standard YAML resources templates this would fit better in the creation of Helm Chart and give institutions the ability to create k8s clusters in any current or future manner. Following the Kubernetes standard for resource YAML creation. &lt;/p&gt;

&lt;p&gt;From Rancher FAQ:&lt;br/&gt;
&quot;If we use Kubernetes native YAML files for creating resources, should we expect that to work as expected, or do we need to use Rancher/Docker compose files to deploy infrastructure?&lt;br/&gt;
Absolutely.&quot;&lt;/p&gt;
</comment>
                                                            <comment id="194369" author="6291011f9c617b006a6f8d98" created="Fri, 17 May 2019 14:11:40 +0000"  >&lt;p&gt;Currently, Okapi can spit you out a list of modules to run a Folio system - given version of a module or set of modules you need/want. &lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5fca8bef7cc1030069d4f186&quot; class=&quot;user-hover&quot; rel=&quot;5fca8bef7cc1030069d4f186&quot; data-account-id=&quot;5fca8bef7cc1030069d4f186&quot; accountid=&quot;5fca8bef7cc1030069d4f186&quot; rel=&quot;noreferrer&quot;&gt;mark.stacy&lt;/a&gt;, are you saying it could also be possible/useful for Okapi to spit you out a &quot;manifest&quot; of modules to run, in YAML format - that define Kubernetes services for a Folio system? Assuming of course Kubernetes plugin support is added to Okapi...&lt;/p&gt;</comment>
                                                            <comment id="194378" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Mon, 20 May 2019 14:49:07 +0000"  >&lt;p&gt;&lt;a href=&quot;https://folio-org.atlassian.net/secure/ViewProfile.jspa?accountId=5fca8bef7cc1030069d4f186&quot; class=&quot;user-hover&quot; rel=&quot;5fca8bef7cc1030069d4f186&quot; data-account-id=&quot;5fca8bef7cc1030069d4f186&quot; accountid=&quot;5fca8bef7cc1030069d4f186&quot; rel=&quot;noreferrer&quot;&gt;mark.stacy&lt;/a&gt; I think it&apos;s key that standard resource templates are eventually used to offer full flexibility of creating clusters with any tool or process institutions wish (please see and provide your feedback on 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-1996&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-1996&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;SPIKE: dynamic YAML service deployments (K8s)&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-1996
        &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;
). This will be a prerequisite for for any sensible &quot;orchestration&quot; performed by Okapi itself. So in short I think we will get both: ability to generate/expand resource templates (production) and basic built-in orchestration that relies on them that can be used for development.&lt;/p&gt;</comment>
                                                            <comment id="194387" author="557058:b8e64633-1f7c-402d-9caf-9959a5ba5d0d" created="Thu, 13 Jun 2019 07:42:37 +0000"  >&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 am closing this with the assumption that we have converged on a solution and that solution will be implemented through the course of 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-2054&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-2054&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;Stand up cluster for CI using AWS K8s procedure and documenation&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-2054
        &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="194393" author="5c706fbb47a54a6728e59df2" created="Thu, 13 Jun 2019 14:46:27 +0000"  >&lt;p&gt;Agreed.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="81340">FOLIO-2117</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="13064">UXPROD-1823</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81269">FOLIO-2057</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|hzzpvr:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10024" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>[CHART] Date of First Response</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Thu, 16 May 2019 18:49:40 +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>