{"id":5799,"date":"2023-10-07T08:45:34","date_gmt":"2023-10-07T06:45:34","guid":{"rendered":"https:\/\/onlu.ch\/redhat-openshift-3-to-4-migration\/"},"modified":"2025-07-18T12:01:53","modified_gmt":"2025-07-18T10:01:53","slug":"redhat-openshift-3-to-4-migration","status":"publish","type":"post","link":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/","title":{"rendered":"RedHat OpenShift 3 to 4 migration"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5799\" class=\"elementor elementor-5799 elementor-943\" data-elementor-settings=\"{&quot;element_pack_global_tooltip_width&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_width_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;element_pack_global_tooltip_padding&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_padding_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true},&quot;element_pack_global_tooltip_border_radius_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;top&quot;:&quot;&quot;,&quot;right&quot;:&quot;&quot;,&quot;bottom&quot;:&quot;&quot;,&quot;left&quot;:&quot;&quot;,&quot;isLinked&quot;:true}}\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-345be91 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"345be91\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f4dca78\" data-id=\"f4dca78\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7aa1f61 elementor-widget elementor-widget-heading\" data-id=\"7aa1f61\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b8ceea4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b8ceea4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c85085c\" data-id=\"c85085c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-576d01f elementor-widget elementor-widget-text-editor\" data-id=\"576d01f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Migrating from RedHat&#8217;s OpenShift 3 to 4 presents organizations with an exciting but challenging task. <br>With the need to migrate a multitude of services smoothly, it becomes clear that every migration comes with its own lessons.<br>This article dives into the world of migrating from RedHat OpenShift 3 to 4 and shares valuable lessons learned from microservices migrations. <br>These valuable insights can be of great interest to other organizations and engineers.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8c56081 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8c56081\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-490912e\" data-id=\"490912e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-da9005d elementor-widget elementor-widget-heading\" data-id=\"da9005d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The challenge of migration<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a2f7134 elementor-widget elementor-widget-text-editor\" data-id=\"a2f7134\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Migrating from OpenShift 3 to 4 is more than just a version change. It requires thorough planning to ensure that existing services run smoothly on the new platform. In particular, the migration of many services requires a careful analysis of dependencies, configurations and implementations.  <\/p><p>A few important challenges can be noted in brief:<\/p><ul><li>Configuration management<\/li><li><span style=\"color: inherit; font-family: inherit; font-size: inherit; font-style: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit;\">Secret management<\/span><\/li><li>Packaging of microservices<\/li><li>Release management<\/li><\/ul><div>These important points will now be examined in the following sections, starting with configuration management.<\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-44cd919 elementor-widget elementor-widget-heading\" data-id=\"44cd919\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Configuration management<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-131292f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"131292f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1eb21be\" data-id=\"1eb21be\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-bfadc12 elementor-widget elementor-widget-text-editor\" data-id=\"bfadc12\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The correct handling of application configurations ensures the smooth functioning of the services on the various stages.<\/p><p>A central point in the migration of applications to OpenShift 4 concerns the management of configuration settings. There are two main categories here: <\/p><p><b>Standardized settings:  <\/b><br><span style=\"font-size: inherit; color: var(--uicore-typography--p-c,'#070707'); font-family: var(--uicore-typography--p-f,'Inter'); font-style: var(--uicore-typography--p-st,'normal'); font-weight: var(--uicore-typography--p-w,'600'); letter-spacing: var(--uicore-typography--p-ls,'-0.027em'); text-transform: var(--uicore-typography--p-t,'none');\">Some configurations are the same on all stages (e.g. development, test, production) and can be stored securely in the microservice repository. This enables centralized maintenance and versioning of the settings.   <\/span><\/p><p><span style=\"font-size: inherit; color: var(--uicore-typography--p-c,'#070707'); font-family: var(--uicore-typography--p-f,'Inter'); font-style: var(--uicore-typography--p-st,'normal'); letter-spacing: var(--uicore-typography--p-ls,'-0.027em'); text-transform: var(--uicore-typography--p-t,'none');\"><b>Different settings:<\/b><\/span><span style=\"font-size: inherit; color: var(--uicore-typography--p-c,'#070707'); font-family: var(--uicore-typography--p-f,'Inter'); font-style: var(--uicore-typography--p-st,'normal'); font-weight: var(--uicore-typography--p-w,'600'); letter-spacing: var(--uicore-typography--p-ls,'-0.027em'); text-transform: var(--uicore-typography--p-t,'none');\"> <br>There are configurations that differ between the stages (e.g. debugging flags, logging level). These settings should not be hidden in secret Secrets\/ConfigMaps, but should be transparent to allow potential analysis and debugging.<br>Possible locations are value-files in Helm or overlays in Kustomize. <\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-57d5a8d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"57d5a8d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2c20fe0\" data-id=\"2c20fe0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-04270a2 elementor-widget elementor-widget-heading\" data-id=\"04270a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Secret management<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c4b3b2f elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c4b3b2f\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-412e9a6\" data-id=\"412e9a6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d72c6fc elementor-widget elementor-widget-text-editor\" data-id=\"d72c6fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The actual secrets, such as sensitive passwords for databases or access data for services such as Kafka, require special attention. Proven procedures and tools are crucial here: <\/p>\n<p><b>Secret Encryption:<\/b> <br>To store real secrets securely, the use of encrypted code libraries is essential. Bitnami <a href=\"https:\/\/github.com\/bitnami-labs\/sealed-secrets\">Sealed Secrets<\/a> and <a href=\"https:\/\/www.hashicorp.com\/products\/vault\">HashiCorp Vault<\/a> are two popular solutions. They enable the storage and encryption of sensitive data in the code repository.  &nbsp;<\/p>\n<p><b>Secret Management Tools:<\/b> <br>HashiCorp Vault offers not only encryption, but also a central interface for the management of sensitive data. This makes it easier to update, rotate and monitor secrets.<br>In this context, it is also common to query secrets from an API using a sidecar container and inject them into the main container so that the openshift application developer, but also third parties, do not have access to the secrets.<br>This requires that the applications support this and may require some effort. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-29708b2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"29708b2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e9e043\" data-id=\"5e9e043\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-611ac70 elementor-widget elementor-widget-heading\" data-id=\"611ac70\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Best practices for effective secret management<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c3abbe5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c3abbe5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-8aba1dd\" data-id=\"8aba1dd\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1d91207 elementor-widget elementor-widget-text-editor\" data-id=\"1d91207\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>During the migration from RedHat OpenShift 3 to 4, the following best practices can help in dealing with secrets and configurations:<\/p><p>1. <strong>clear separation:<\/strong> make a clear distinction between application configurations and real secrets. This allows you to maintain an overview and increase security. <\/p><p>2. <strong>documentation:<\/strong> Record which configurations and secrets are used on which stages. Clear documentation makes maintenance and analysis easier. <\/p><p>3. <strong>roles and access rights:<\/strong> Manage access rights to secrets carefully. Only authorized persons should be able to access sensitive information. <\/p><p>4. <strong>rotation:<\/strong> Implement regular rotation of real secrets such as passwords. This minimizes the risk of security breaches. <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-749f9df elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"749f9df\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-189925f\" data-id=\"189925f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-73be590 elementor-widget elementor-widget-heading\" data-id=\"73be590\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Release management<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aaf39f3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aaf39f3\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-18e32be\" data-id=\"18e32be\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b35004f elementor-widget elementor-widget-text-editor\" data-id=\"b35004f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Migrating from RedHat OpenShift 3 to 4 requires not only an efficient release management strategy, but also the right tools and practices to facilitate the process. In this article, we will take a closer look at the use of ArgoCD and the differences between Helm and Kustomize. We will also emphasize the best practices for deploying microservices by pointing out the use of independent deployments instead of large &#8220;umbrella charts&#8221;.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b0701d5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b0701d5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5182b8d\" data-id=\"5182b8d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d3c9140 elementor-widget elementor-widget-text-editor\" data-id=\"d3c9140\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>ArgoCD: Simplified and automated release management<\/h4><p><a href=\"https:\/\/argoproj.github.io\/cd\/\">ArgoCD<\/a> is a powerful tool for the continuous deployment of applications on Kubernetes clusters. It enables automated deployment of applications and resources on OpenShift 4. ArgoCD uses Git repositories as the source of truth for your configurations, which facilitates versioning and tracking. <\/p><h4>Helmet vs. Kustomize: Choosing the right tools<\/h4><p>When managing Kubernetes manifests, you can choose between Helm and Kustomize, depending on your preferences and requirements:<\/p><p><strong>Helm:<\/strong> <a href=\"https:\/\/helm.sh\/\">Helm<\/a> is a popular package management tool that makes it easy to create, update and manage applications on Kubernetes. It provides an easy way to create templates for Kubernetes manifests and define reusable charts, which can be particularly useful for microservices. <\/p><p><strong>Kustomize:<\/strong> <a href=\"https:\/\/kustomize.io\/\">Kustomize<\/a> is another tool that is gaining importance in the open source community. It enables the customization of Kubernetes resources based on overlays without changing the original files. Kustomize is often the choice when it comes to customizing configurations for infrastructure components.  <\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1b0e53e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1b0e53e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-78f9c7c\" data-id=\"78f9c7c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-040d5be elementor-widget elementor-widget-text-editor\" data-id=\"040d5be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h4>Independent microservice deployments<\/h4>\n<p>A crucial aspect of successful release management during migration is the way in which microservices are provided. Instead of large &#8220;umbrella charts&#8221; that bundle all microservices, they should be deployed independently of each other. This offers several advantages:  <\/p>\n<ul>\n<li>\n<p><strong>Independence:<\/strong> Microservices can be developed and deployed at their own speed without waiting for others.<\/p>\n<\/li>\n<li>\n<p><strong>Scalability:<\/strong> Each microservice can be scaled individually, which enables resource optimization.<\/p>\n<\/li>\n<li>\n<p><strong>Isolation:<\/strong> Errors in one microservice do not affect others because they are isolated.<\/p>\n<\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-29b41bf elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"29b41bf\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f7de2df\" data-id=\"f7de2df\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a69c05d elementor-widget elementor-widget-heading\" data-id=\"a69c05d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Packaging of microservices<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9c022a7 elementor-widget elementor-widget-text-editor\" data-id=\"9c022a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>When migrating from RedHat OpenShift 3 to 4, efficient packaging of microservices is critical to optimize application management and deployment. We explain how the structure of microservice repositories can be designed to promote the use of shared Helm charts while ensuring consistent configuration across all stages. <\/p><h4>The structure of the microservice repository<\/h4><p>In each microservice repository, there should be a clearly defined Helm charts folder containing the standard <code>values.yaml<\/code> file for all stages. This <code>values.yaml<\/code> file contains the basic configurations that apply to the microservice and are shared across all stages. <\/p><h2>Avoidance of superfluous helmet charts<\/h2><p>An important practice when packaging microservices is to avoid unnecessary duplication. This means that no new Helm Chart should be created in each microservice repository if a corresponding shared base Helm Chart is already available. <\/p><h4>Use of shared base helmet charts<\/h4><p>The solution lies in the use of Shared Base Helm Charts, which are provided by the company and can serve as the basis for various microservices. These Shared Base Helm Charts can be developed for different types of applications such as frontend and backend and provide a centralized way to share common configurations and best practices. <\/p><h4>Advantages of using Shared Base Helm Charts:<\/h4><ol><li><p><strong>Consistency:<\/strong> Shared Base Helm Charts ensure a consistent configuration across all microservices. This minimizes the risk of configuration errors and facilitates maintenance. <\/p><\/li><li><strong>Efficiency<\/strong>: By reusing Helm charts, developers can save time and effort as they do not have to create a new chart from scratch each time.<\/li><li><strong>Centralized management:<\/strong> The company can centrally manage the Shared Base Helm Charts and make updates to ensure best practices and safety guidelines are followed.<\/li><li><strong>Flexibility:<\/strong> Despite the common basis, microservices can still be individually configured to meet your specific requirements.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Introduction Migrating from RedHat&#8217;s OpenShift 3 to 4 presents organizations with an exciting but challenging task. With the need to migrate a multitude of services smoothly, it becomes clear that [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":5213,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5799","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-nicht-kategorisiert"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>RedHat OpenShift 3 to 4 migration - ONLU AG<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RedHat OpenShift 3 to 4 migration - ONLU AG\" \/>\n<meta property=\"og:description\" content=\"Introduction Migrating from RedHat&#8217;s OpenShift 3 to 4 presents organizations with an exciting but challenging task. With the need to migrate a multitude of services smoothly, it becomes clear that [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/\" \/>\n<meta property=\"og:site_name\" content=\"ONLU AG\" \/>\n<meta property=\"article:published_time\" content=\"2023-10-07T06:45:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-18T10:01:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42-1024x555.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"555\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Tommy Ongena\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Tommy Ongena\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/\"},\"author\":{\"name\":\"Tommy Ongena\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#\\\/schema\\\/person\\\/9ad3b874f43cf6251cc3a83b47e42aeb\"},\"headline\":\"RedHat OpenShift 3 to 4 migration\",\"datePublished\":\"2023-10-07T06:45:34+00:00\",\"dateModified\":\"2025-07-18T10:01:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/\"},\"wordCount\":1117,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Screenshot-2023-09-07-at-16.57.42.png\",\"articleSection\":[\"Nicht kategorisiert\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/\",\"url\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/\",\"name\":\"RedHat OpenShift 3 to 4 migration - ONLU AG\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Screenshot-2023-09-07-at-16.57.42.png\",\"datePublished\":\"2023-10-07T06:45:34+00:00\",\"dateModified\":\"2025-07-18T10:01:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#primaryimage\",\"url\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Screenshot-2023-09-07-at-16.57.42.png\",\"contentUrl\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/Screenshot-2023-09-07-at-16.57.42.png\",\"width\":3078,\"height\":1668},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/redhat-openshift-3-to-4-migration\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/onlu.ch\\\/en\\\/home-page\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RedHat OpenShift 3 to 4 migration\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/onlu.ch\\\/en\\\/\",\"name\":\"ONLU AG\",\"description\":\"Massgeschneiderte Software \u2013 Ihr hoch-qualifiziertes IT Team\",\"publisher\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/onlu.ch\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#organization\",\"name\":\"ONLU AG\",\"alternateName\":\"ONLU.CH\",\"url\":\"https:\\\/\\\/onlu.ch\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/onlu-logo-red-arrow.png\",\"contentUrl\":\"https:\\\/\\\/onlu.ch\\\/wp-content\\\/uploads\\\/2023\\\/06\\\/onlu-logo-red-arrow.png\",\"width\":800,\"height\":221,\"caption\":\"ONLU AG\"},\"image\":{\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/ch.linkedin.com\\\/company\\\/onlu\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/onlu.ch\\\/en\\\/#\\\/schema\\\/person\\\/9ad3b874f43cf6251cc3a83b47e42aeb\",\"name\":\"Tommy Ongena\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g\",\"caption\":\"Tommy Ongena\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RedHat OpenShift 3 to 4 migration - ONLU AG","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/","og_locale":"en_US","og_type":"article","og_title":"RedHat OpenShift 3 to 4 migration - ONLU AG","og_description":"Introduction Migrating from RedHat&#8217;s OpenShift 3 to 4 presents organizations with an exciting but challenging task. With the need to migrate a multitude of services smoothly, it becomes clear that [&hellip;]","og_url":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/","og_site_name":"ONLU AG","article_published_time":"2023-10-07T06:45:34+00:00","article_modified_time":"2025-07-18T10:01:53+00:00","og_image":[{"width":1024,"height":555,"url":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42-1024x555.png","type":"image\/png"}],"author":"Tommy Ongena","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Tommy Ongena","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#article","isPartOf":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/"},"author":{"name":"Tommy Ongena","@id":"https:\/\/onlu.ch\/en\/#\/schema\/person\/9ad3b874f43cf6251cc3a83b47e42aeb"},"headline":"RedHat OpenShift 3 to 4 migration","datePublished":"2023-10-07T06:45:34+00:00","dateModified":"2025-07-18T10:01:53+00:00","mainEntityOfPage":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/"},"wordCount":1117,"commentCount":0,"publisher":{"@id":"https:\/\/onlu.ch\/en\/#organization"},"image":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42.png","articleSection":["Nicht kategorisiert"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/","url":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/","name":"RedHat OpenShift 3 to 4 migration - ONLU AG","isPartOf":{"@id":"https:\/\/onlu.ch\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#primaryimage"},"image":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#primaryimage"},"thumbnailUrl":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42.png","datePublished":"2023-10-07T06:45:34+00:00","dateModified":"2025-07-18T10:01:53+00:00","breadcrumb":{"@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#primaryimage","url":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42.png","contentUrl":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/09\/Screenshot-2023-09-07-at-16.57.42.png","width":3078,"height":1668},{"@type":"BreadcrumbList","@id":"https:\/\/onlu.ch\/en\/redhat-openshift-3-to-4-migration\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/onlu.ch\/en\/home-page\/"},{"@type":"ListItem","position":2,"name":"RedHat OpenShift 3 to 4 migration"}]},{"@type":"WebSite","@id":"https:\/\/onlu.ch\/en\/#website","url":"https:\/\/onlu.ch\/en\/","name":"ONLU AG","description":"Massgeschneiderte Software \u2013 Ihr hoch-qualifiziertes IT Team","publisher":{"@id":"https:\/\/onlu.ch\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/onlu.ch\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/onlu.ch\/en\/#organization","name":"ONLU AG","alternateName":"ONLU.CH","url":"https:\/\/onlu.ch\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/onlu.ch\/en\/#\/schema\/logo\/image\/","url":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/06\/onlu-logo-red-arrow.png","contentUrl":"https:\/\/onlu.ch\/wp-content\/uploads\/2023\/06\/onlu-logo-red-arrow.png","width":800,"height":221,"caption":"ONLU AG"},"image":{"@id":"https:\/\/onlu.ch\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/ch.linkedin.com\/company\/onlu"]},{"@type":"Person","@id":"https:\/\/onlu.ch\/en\/#\/schema\/person\/9ad3b874f43cf6251cc3a83b47e42aeb","name":"Tommy Ongena","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f32775a0a257c6098ca990e347d65d1fb21749a1aff52a152f14c30ac44f2f0b?s=96&d=mm&r=g","caption":"Tommy Ongena"}}]}},"_links":{"self":[{"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/posts\/5799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/comments?post=5799"}],"version-history":[{"count":2,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/posts\/5799\/revisions"}],"predecessor-version":[{"id":5801,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/posts\/5799\/revisions\/5801"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/media\/5213"}],"wp:attachment":[{"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/media?parent=5799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/categories?post=5799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onlu.ch\/en\/wp-json\/wp\/v2\/tags?post=5799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}