Skip to content

Commit 610e4cc

Browse files
committed
Publishing site Thu Jan 23 18:51:15 CET 2025
1 parent 290eb0b commit 610e4cc

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

documentation/guides/installation/kubernetes-operator/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
${e.data.filter(e=>e.title?.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.searchKeyword?.toLowerCase().includes(t)||e.content?.toLowerCase().includes(t)).map(e=>buidResultItem(e,n[s++])).join("")}
2929
</div>`}).join("");searchResult.innerHTML=n};loadJsonData()</script><main><section class="border-bottom border-default"><div class="doc-container-fluid padding-layout"><div class=row><div class="col-xl-2 col-lg-3 col-md-4 pe-0 d-none d-md-block border-end border-default"><ul class="doc-sidenav m-0 pt-4 pe-4 ps-0"><li data-nav-id=https://microcks.io/documentation/overview/ title=Overview class=sidelist><a href=https://microcks.io/documentation/overview/><i class="fa-solid fa-magnifying-glass"></i> &nbsp;Overview</a><ul><li data-nav-id=https://microcks.io/documentation/overview/what-is-microcks/ title="What is Microcks?" class=sidelist><a href=https://microcks.io/documentation/overview/what-is-microcks/>What is Microcks?</a><li data-nav-id=https://microcks.io/documentation/overview/main-concepts/ title="Main Concepts" class=sidelist><a href=https://microcks.io/documentation/overview/main-concepts/>Main Concepts</a><li data-nav-id=https://microcks.io/documentation/overview/alternatives/ title=Alternatives class=sidelist><a href=https://microcks.io/documentation/overview/alternatives/>Alternatives</a></ul></li><li data-nav-id=https://microcks.io/documentation/tutorials/ title=Tutorials class=sidelist><a href=https://microcks.io/documentation/tutorials/><i class="fa-solid fa-graduation-cap"></i> &nbsp;Tutorials</a><ul><li data-nav-id=https://microcks.io/documentation/tutorials/getting-started/ title="Getting started" class=sidelist><a href=https://microcks.io/documentation/tutorials/getting-started/>Getting started</a><li data-nav-id=https://microcks.io/documentation/tutorials/getting-started-tests/ title="Getting started with Tests" class=sidelist><a href=https://microcks.io/documentation/tutorials/getting-started-tests/>Getting started with Tests</a><li data-nav-id=https://microcks.io/documentation/tutorials/first-rest-mock/ title="Your 1st REST mock" class=sidelist><a href=https://microcks.io/documentation/tutorials/first-rest-mock/>Your 1st REST mock</a><li data-nav-id=https://microcks.io/documentation/tutorials/first-graphql-mock/ title="Your 1st GraphQL mock" class=sidelist><a href=https://microcks.io/documentation/tutorials/first-graphql-mock/>Your 1st GraphQL mock</a><li data-nav-id=https://microcks.io/documentation/tutorials/first-grpc-mock/ title="Your 1st gRPC mock" class=sidelist><a href=https://microcks.io/documentation/tutorials/first-grpc-mock/>Your 1st gRPC mock</a><li data-nav-id=https://microcks.io/documentation/tutorials/first-soap-mock/ title="Your 1st Soap mock" class=sidelist><a href=https://microcks.io/documentation/tutorials/first-soap-mock/>Your 1st Soap mock</a><li data-nav-id=https://microcks.io/documentation/tutorials/first-asyncapi-mock/ title="Your 1st AsyncAPI on Kafka mock" class=sidelist><a href=https://microcks.io/documentation/tutorials/first-asyncapi-mock/>Your 1st AsyncAPI on Kafka mock</a></ul></li><li data-nav-id=https://microcks.io/documentation/guides/ title="How-To Guides" class="sidelist parent"><a href=https://microcks.io/documentation/guides/><i class="fa-solid fa-book-open"></i> &nbsp;How-To Guides</a><ul><li data-nav-id=https://microcks.io/documentation/guides/installation/ title=Installation class="sidelist parent"><a href=https://microcks.io/documentation/guides/installation/>Installation</a><ul><li data-nav-id=https://microcks.io/documentation/guides/installation/docker-desktop-extension/ title="As a Docker Desktop Extension" class=sidelist><a href=https://microcks.io/documentation/guides/installation/docker-desktop-extension/>As a Docker Desktop Extension</a><li data-nav-id=https://microcks.io/documentation/guides/installation/docker-compose/ title="With Docker Compose" class=sidelist><a href=https://microcks.io/documentation/guides/installation/docker-compose/>With Docker Compose</a><li data-nav-id=https://microcks.io/documentation/guides/installation/podman-compose/ title="With Podman Compose" class=sidelist><a href=https://microcks.io/documentation/guides/installation/podman-compose/>With Podman Compose</a><li data-nav-id=https://microcks.io/documentation/guides/installation/kind-helm/ title="On Kind with Helm" class=sidelist><a href=https://microcks.io/documentation/guides/installation/kind-helm/>On Kind with Helm</a><li data-nav-id=https://microcks.io/documentation/guides/installation/minikube-helm/ title="On Minikube with Helm" class=sidelist><a href=https://microcks.io/documentation/guides/installation/minikube-helm/>On Minikube with Helm</a><li data-nav-id=https://microcks.io/documentation/guides/installation/kubernetes-operator/ title="On Kubernetes with Operator" class="sidelist active parent"><a href=https://microcks.io/documentation/guides/installation/kubernetes-operator/>On Kubernetes with Operator</a><li data-nav-id=https://microcks.io/documentation/guides/installation/externals/ title="Adding external dependencies" class=sidelist><a href=https://microcks.io/documentation/guides/installation/externals/>Adding external dependencies</a></ul></li><li data-nav-id=https://microcks.io/documentation/guides/usage/ title=Usage class=sidelist><a href=https://microcks.io/documentation/guides/usage/><i class="fa-solid fa-caret-right"></i> &nbsp; Usage</a><li data-nav-id=https://microcks.io/documentation/guides/automation/ title=Automation class=sidelist><a href=https://microcks.io/documentation/guides/automation/><i class="fa-solid fa-caret-right"></i> &nbsp; Automation</a><li data-nav-id=https://microcks.io/documentation/guides/integration/ title=Integration class=sidelist><a href=https://microcks.io/documentation/guides/integration/><i class="fa-solid fa-caret-right"></i> &nbsp; Integration</a><li data-nav-id=https://microcks.io/documentation/guides/administration/ title=Administration class=sidelist><a href=https://microcks.io/documentation/guides/administration/><i class="fa-solid fa-caret-right"></i> &nbsp; Administration</a></ul></li><li data-nav-id=https://microcks.io/documentation/explanations/ title=Explanations class=sidelist><a href=https://microcks.io/documentation/explanations/><i class="fa-solid fa-lightbulb"></i> &nbsp;Explanations</a><ul><li data-nav-id=https://microcks.io/documentation/explanations/deployment-topologies/ title="Deployment topologies" class=sidelist><a href=https://microcks.io/documentation/explanations/deployment-topologies/>Deployment topologies</a><li data-nav-id=https://microcks.io/documentation/explanations/deployment-options/ title="Architecture & deployment options" class=sidelist><a href=https://microcks.io/documentation/explanations/deployment-options/>Architecture & deployment options</a><li data-nav-id=https://microcks.io/documentation/explanations/multi-artifacts/ title="Multi-artifacts support" class=sidelist><a href=https://microcks.io/documentation/explanations/multi-artifacts/>Multi-artifacts support</a><li data-nav-id=https://microcks.io/documentation/explanations/dynamic-content/ title="Dynamic mock content" class=sidelist><a href=https://microcks.io/documentation/explanations/dynamic-content/>Dynamic mock content</a><li data-nav-id=https://microcks.io/documentation/explanations/conformance-testing/ title="Conformance testing" class=sidelist><a href=https://microcks.io/documentation/explanations/conformance-testing/>Conformance testing</a><li data-nav-id=https://microcks.io/documentation/explanations/service-account/ title="Service accounts" class=sidelist><a href=https://microcks.io/documentation/explanations/service-account/>Service accounts</a><li data-nav-id=https://microcks.io/documentation/explanations/dispatching/ title="Dispatcher & dispatching rules" class=sidelist><a href=https://microcks.io/documentation/explanations/dispatching/>Dispatcher & dispatching rules</a><li data-nav-id=https://microcks.io/documentation/explanations/monitoring/ title="Monitoring & Observability" class=sidelist><a href=https://microcks.io/documentation/explanations/monitoring/>Monitoring & Observability</a></ul></li><li data-nav-id=https://microcks.io/documentation/references/ title=References class=sidelist><a href=https://microcks.io/documentation/references/><i class="fa-solid fa-file-lines"></i> &nbsp;References</a><ul><li data-nav-id=https://microcks.io/documentation/references/container-images/ title="Container Images" class=sidelist><a href=https://microcks.io/documentation/references/container-images/>Container Images</a><li data-nav-id=https://microcks.io/documentation/references/templates/ title="Mock Templates" class=sidelist><a href=https://microcks.io/documentation/references/templates/>Mock Templates</a><li data-nav-id=https://microcks.io/documentation/references/test-endpoints/ title="Test Parameters" class=sidelist><a href=https://microcks.io/documentation/references/test-endpoints/>Test Parameters</a><li data-nav-id=https://microcks.io/documentation/references/metadada/ title="API Metadata Format" class=sidelist><a href=https://microcks.io/documentation/references/metadada/>API Metadata Format</a><li data-nav-id=https://microcks.io/documentation/references/examples/ title="API Examples Format" class=sidelist><a href=https://microcks.io/documentation/references/examples/>API Examples Format</a><li data-nav-id=https://microcks.io/documentation/references/artifacts/ title="Artifacts Reference" class=sidelist><a href=https://microcks.io/documentation/references/artifacts/><i class="fa-solid fa-caret-right"></i> &nbsp; Artifacts Reference</a><li data-nav-id=https://microcks.io/documentation/references/configuration/ title="Configuration Reference" class=sidelist><a href=https://microcks.io/documentation/references/configuration/><i class="fa-solid fa-caret-right"></i> &nbsp; Configuration Reference</a><li data-nav-id=https://microcks.io/documentation/references/apis/ title="API Reference" class=sidelist><a href=https://microcks.io/documentation/references/apis/><i class="fa-solid fa-caret-right"></i> &nbsp; API Reference</a></ul></li></ul></div><div class="col-xl-8 col-lg-9 col-md-8"><div class="px-lg-5 px-sm-4 py-5"><h2 class="mb-4 fw-bold">On Kubernetes with Operator</h2><span class="text-muted fw-300">🗓️ Last updated on January 22, 2025
3030
<span class="mx-1 text-dark-50 fw-300">|</span> <i class="far fa-clock text-dark me-1"></i> 9
31-
<span class="mx-1 text-dark-50 fw-300">|</span> <a href=https://github.com/microcks/microcks.io/edit/master/content/documentation/guides/installation/kubernetes-operator.md class="f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link">Improve this page</a></span><div class="doc-content mt-4 pt-4" data-bs-spy=scroll data-bs-target=#TableOfContents data-bs-offset=20><h2 id=overview>Overview</h2><p>This guide shows you how to deploy and use the <a href=https://github.com/microcks/microcks-operator target=_blank>Microcks Kubernetes Operator</a>. If you&rsquo;re not familiar with Operators, we recommend having a read of this <a href=https://www.cncf.io/blog/2022/06/15/kubernetes-operators-what-are-they-some-examples/ target=_blank>excellent introduction on Kubernetes Operators</a> and their benefits.</p><p>The Microcks Operator offers advanced features comparing to the Helm chart and can be used in a complete <a href=https://www.redhat.com/en/topics/devops/what-is-gitops target=_blank>GitOps approach</a> where all the content of a Microcks instance can be pulled from a Git repository. Deploying this practice will allow the automated creation of fully-configured instances on demand, in seconds or minutes, and in a full reproducible way. The Microcks Operator is the cornerstone for your Sandbox-as-aService approach!</p><p>Let&rsquo;s walk the different steps 🥾</p><h2 id=1-operator-deployment>1. Operator deployment</h2><p>Before starting, we&rsquo;ll assume you have access to a working Kubernetes cluster with the adminstrator privileges. If it&rsquo;s not the case, please ask your favorite SRE or Platform Engineer to do this preparation step for you. If you&rsquo;re practicing, you can also use a local Minikube or Kind cluster. You can have a look a the first two steps of our <a href=/documentation/guides/installation/minikube-helm>Minikube with Helm</a> or <a href=/documentation/guides/installation/minikube-helm>Kind with Helm</a> installation guides to do so.</p><p>First thing, you need to do is to install the <a href=https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ target=_blank>Custom Resource Definitions</a> of the Operator in your cluster. You can do this directly pointing to the resources on our GitHub repository:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>kubectl apply -f https://raw.githubusercontent.com/microcks/microcks-operator/refs/heads/main/deploy/crd/microckses.microcks.io-v1.yml
31+
<span class="mx-1 text-dark-50 fw-300">|</span> <a href=https://github.com/microcks/microcks.io/edit/master/content/documentation/guides/installation/kubernetes-operator.md class="f6 ph3 pv1 br2 dib tc ttu mv3 bg-primary-color white hover-bg-green link">Improve this page</a></span><div class="doc-content mt-4 pt-4" data-bs-spy=scroll data-bs-target=#TableOfContents data-bs-offset=20><h2 id=overview>Overview</h2><p>This guide shows you how to deploy and use the <a href=https://github.com/microcks/microcks-operator target=_blank>Microcks Kubernetes Operator</a>. If you&rsquo;re not familiar with Operators, we recommend having a read of this <a href=https://www.cncf.io/blog/2022/06/15/kubernetes-operators-what-are-they-some-examples/ target=_blank>excellent introduction on Kubernetes Operators</a> and their benefits.</p><p>The Microcks Operator offers advanced features comparing to the Helm chart and can be used in a complete <a href=https://www.redhat.com/en/topics/devops/what-is-gitops target=_blank>GitOps approach</a> where all the content of a Microcks instance can be pulled from a Git repository. Deploying this practice will allow the automated creation of fully-configured instances on demand, in seconds or minutes, and in a full reproducible way. The Microcks Operator is the cornerstone for your Sandbox-as-a-Service approach!</p><p>Let&rsquo;s walk the different steps 🥾</p><h2 id=1-operator-deployment>1. Operator deployment</h2><p>Before starting, we&rsquo;ll assume you have access to a working Kubernetes cluster with the adminstrator privileges. If it&rsquo;s not the case, please ask your favorite SRE or Platform Engineer to do this preparation step for you. If you&rsquo;re practicing, you can also use a local Minikube or Kind cluster. You can have a look a the first two steps of our <a href=/documentation/guides/installation/minikube-helm>Minikube with Helm</a> or <a href=/documentation/guides/installation/minikube-helm>Kind with Helm</a> installation guides to do so.</p><p>First thing, you need to do is to install the <a href=https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ target=_blank>Custom Resource Definitions</a> of the Operator in your cluster. You can do this directly pointing to the resources on our GitHub repository:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>kubectl apply -f https://raw.githubusercontent.com/microcks/microcks-operator/refs/heads/main/deploy/crd/microckses.microcks.io-v1.yml
3232
</span></span><span style=display:flex><span>kubectl apply -f https://raw.githubusercontent.com/microcks/microcks-operator/refs/heads/main/deploy/crd/apisources.microcks.io-v1.yml
3333
</span></span><span style=display:flex><span>kubectl apply -f https://raw.githubusercontent.com/microcks/microcks-operator/refs/heads/main/deploy/crd/secretsources.microcks.io-v1.yml
3434
</span></span></code></pre></div><p>Then, you can install the operator itself in a dedicated namespace - let&rsquo;s say <code>microcks</code> - using:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell><span style=display:flex><span>kubectl create namespace microcks
@@ -58,9 +58,9 @@
5858
</span></span><span style=display:flex><span>$ kubectl get ingresses -n microcks
5959
</span></span><span style=display:flex><span>--- OUTPUT ---
6060
</span></span><span style=display:flex><span>NAME CLASS HOSTS ADDRESS PORTS AGE
61-
</span></span><span style=display:flex><span>microcks &lt;none&gt; microcks.m2.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 3m20s
62-
</span></span><span style=display:flex><span>microcks-grpc nginx microcks-grpc.m2.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 85s
63-
</span></span><span style=display:flex><span>microcks-keycloak &lt;none&gt; keycloak.m2.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 3m19s
61+
</span></span><span style=display:flex><span>microcks &lt;none&gt; microcks.m.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 3m20s
62+
</span></span><span style=display:flex><span>microcks-grpc nginx microcks-grpc.m.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 85s
63+
</span></span><span style=display:flex><span>microcks-keycloak &lt;none&gt; keycloak.m.minikube.local 192.168.49.2 80, <span style=color:#ae81ff>443</span> 3m19s
6464
</span></span></code></pre></div><p>Start opening <code>https://keycloak.m.minikube.local</code> in your browser to validate the self-signed certificate. Once done, you can visit <code>https://microcks.m.minikube.local</code> in your browser, validate the self-signed certificate and start playing around with Microcks!</p><p>The default user/password is <code>admin/microcks123</code></p><h2 id=3-use-operator-custom-resources>3. Use Operator Custom Resources</h2><p>As said in the Overview section, one goal of the Microcks Operator is to allow you to manage all the content of your Microcks instance via Kubernetes resources only to allow a full GitOps approach. For that, the operator also provides the <code>APISource</code> and <code>SecretSource</code> Custom Resources to load pre-existing API definitions and connection secrets into an operator-managed Microcks instance.</p><h3 id=apisource-resource>APISource resource</h3><p>For example, you can create a new <code>APISource</code> CR named <code>tests-artifacts</code> that will load four artifacts into the microcks instance and create an additional <code>Hello Soap Service</code> importer. Instead of <a href=/documentation/guides/usage/importing-content/>importing Services & APIs via the UI or the API</a> or <a href=/documentation/guides/usage/importing-content/#2-import-content-via-importer>creating an importer</a>, you can directly apply this YAML resource on your Kubernetes namespace:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-yaml data-lang=yaml><span style=display:flex><span><span style=color:#ae81ff>cat &lt;&lt;EOF | kubectl apply -n microcks -f -</span>
6565
</span></span><span style=display:flex><span><span style=color:#f92672>apiVersion</span>: <span style=color:#ae81ff>microcks.io/v1alpha1</span>
6666
</span></span><span style=display:flex><span><span style=color:#f92672>kind</span>: <span style=color:#ae81ff>APISource</span>

index.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)