diff --git a/.docz/.cache/async-requires.js b/.docz/.cache/async-requires.js index db43d1e..e0706a8 100644 --- a/.docz/.cache/async-requires.js +++ b/.docz/.cache/async-requires.js @@ -4,14 +4,14 @@ const preferDefault = m => m && m.default || m exports.components = { "component---cache-dev-404-page-js": () => import("./dev-404-page.js" /* webpackChunkName: "component---cache-dev-404-page-js" */), "component---src-architectures-mdx": () => import("./../../src/architectures.mdx" /* webpackChunkName: "component---src-architectures-mdx" */), - "component---src-index-mdx": () => import("./../../src/index.mdx" /* webpackChunkName: "component---src-index-mdx" */), "component---src-how-mdx": () => import("./../../src/how.mdx" /* webpackChunkName: "component---src-how-mdx" */), - "component---src-enterprise-get-started-mdx": () => import("./../../src/enterprise/get-started.mdx" /* webpackChunkName: "component---src-enterprise-get-started-mdx" */), + "component---src-index-mdx": () => import("./../../src/index.mdx" /* webpackChunkName: "component---src-index-mdx" */), "component---src-enterprise-index-mdx": () => import("./../../src/enterprise/index.mdx" /* webpackChunkName: "component---src-enterprise-index-mdx" */), "component---src-enterprise-installation-cloud-mdx": () => import("./../../src/enterprise/installation-cloud.mdx" /* webpackChunkName: "component---src-enterprise-installation-cloud-mdx" */), "component---src-enterprise-releases-mdx": () => import("./../../src/enterprise/releases.mdx" /* webpackChunkName: "component---src-enterprise-releases-mdx" */), "component---src-enterprise-installation-mdx": () => import("./../../src/enterprise/installation.mdx" /* webpackChunkName: "component---src-enterprise-installation-mdx" */), "component---src-enterprise-installation-edge-mdx": () => import("./../../src/enterprise/installation-edge.mdx" /* webpackChunkName: "component---src-enterprise-installation-edge-mdx" */), + "component---src-enterprise-releases-mdx": () => import("./../../src/enterprise/releases.mdx" /* webpackChunkName: "component---src-enterprise-releases-mdx" */), "component---src-storage-get-started-mdx": () => import("./../../src/storage/get-started.mdx" /* webpackChunkName: "component---src-storage-get-started-mdx" */), "component---src-storage-index-mdx": () => import("./../../src/storage/index.mdx" /* webpackChunkName: "component---src-storage-index-mdx" */), "component---src-storage-installation-cloud-mdx": () => import("./../../src/storage/installation-cloud.mdx" /* webpackChunkName: "component---src-storage-installation-cloud-mdx" */), @@ -22,12 +22,12 @@ exports.components = { "component---src-open-source-upgrade-mdx": () => import("./../../src/open-source/upgrade.mdx" /* webpackChunkName: "component---src-open-source-upgrade-mdx" */), "component---src-open-source-web-mdx": () => import("./../../src/open-source/web.mdx" /* webpackChunkName: "component---src-open-source-web-mdx" */), "component---src-cloud-index-mdx": () => import("./../../src/cloud/index.mdx" /* webpackChunkName: "component---src-cloud-index-mdx" */), - "component---src-storage-license-mdx": () => import("./../../src/storage/license.mdx" /* webpackChunkName: "component---src-storage-license-mdx" */), "component---src-open-source-contribute-mdx": () => import("./../../src/open-source/contribute.mdx" /* webpackChunkName: "component---src-open-source-contribute-mdx" */), + "component---src-storage-license-mdx": () => import("./../../src/storage/license.mdx" /* webpackChunkName: "component---src-storage-license-mdx" */), "component---src-open-source-installation-advanced-mdx": () => import("./../../src/open-source/installation-advanced.mdx" /* webpackChunkName: "component---src-open-source-installation-advanced-mdx" */), - "component---src-open-source-releases-mdx": () => import("./../../src/open-source/releases.mdx" /* webpackChunkName: "component---src-open-source-releases-mdx" */), "component---src-open-source-installation-mdx": () => import("./../../src/open-source/installation.mdx" /* webpackChunkName: "component---src-open-source-installation-mdx" */), "component---src-open-source-license-mdx": () => import("./../../src/open-source/license.mdx" /* webpackChunkName: "component---src-open-source-license-mdx" */), + "component---src-open-source-releases-mdx": () => import("./../../src/open-source/releases.mdx" /* webpackChunkName: "component---src-open-source-releases-mdx" */), "component---src-open-source-machinery-mdx": () => import("./../../src/open-source/machinery.mdx" /* webpackChunkName: "component---src-open-source-machinery-mdx" */), "component---src-pages-404-js": () => import("./../src/pages/404.js" /* webpackChunkName: "component---src-pages-404-js" */) } diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-17786528f7cd78cb287007069b2c735f.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-17786528f7cd78cb287007069b2c735f.json new file mode 100644 index 0000000..6e2bb3f --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-17786528f7cd78cb287007069b2c735f.json @@ -0,0 +1 @@ +{"expireTime":9007200861600184000,"key":"gatsby-plugin-mdx-entire-payload-8dcd4596b85ae0021e69140bef339b82-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":65,"offset":1999},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":24,"column":66,"offset":2000},"end":{"line":24,"column":112,"offset":2046},"indent":[]}}],"position":{"start":{"line":24,"column":65,"offset":1999},"end":{"line":24,"column":145,"offset":2079},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":24,"column":145,"offset":2079},"end":{"line":24,"column":146,"offset":2080},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":146,"offset":2080},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2085},"end":{"line":26,"column":46,"offset":2127},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2082},"end":{"line":26,"column":46,"offset":2127},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).","position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, boom approach.","position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":277,"offset":2745},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":277,"offset":2745},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Private cloud or Baremetal by ","position":{"start":{"line":32,"column":1,"offset":2747},"end":{"line":32,"column":64,"offset":2810},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":32,"column":65,"offset":2811},"end":{"line":32,"column":111,"offset":2857},"indent":[]}}],"position":{"start":{"line":32,"column":64,"offset":2810},"end":{"line":32,"column":144,"offset":2890},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":32,"column":144,"offset":2890},"end":{"line":32,"column":145,"offset":2891},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":2747},"end":{"line":32,"column":145,"offset":2891},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":35,"column":1,"offset":2894},"end":{"line":35,"column":31,"offset":2924},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":35,"column":31,"offset":2924}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`following this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n

{`No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).`}

\n

{`In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, boom approach.`}

\n

{`Install Kerberos Enterprise on a Private cloud or Baremetal by `}{`following this step-by-step installation guide`}{`.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-1febcab4b2405ff2ef78e1ac6640d184.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-1febcab4b2405ff2ef78e1ac6640d184.json new file mode 100644 index 0000000..0abf2c4 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-1febcab4b2405ff2ef78e1ac6640d184.json @@ -0,0 +1 @@ +{"expireTime":9007200861599825000,"key":"gatsby-plugin-mdx-entire-payload-6b7e98733a05de272c0b27e45a7f4012-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider","position":{"start":{"line":24,"column":2,"offset":1936},"end":{"line":24,"column":62,"offset":1996},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":95,"offset":2029},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":95,"offset":2029},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2034},"end":{"line":26,"column":46,"offset":2076},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2031},"end":{"line":26,"column":46,"offset":2076},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":29,"column":1,"offset":2079},"end":{"line":29,"column":31,"offset":2109},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":29,"column":31,"offset":2109}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-28c23f6b92668641777e341932e3a946.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-28c23f6b92668641777e341932e3a946.json new file mode 100644 index 0000000..ee1158b --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-28c23f6b92668641777e341932e3a946.json @@ -0,0 +1 @@ +{"expireTime":9007200861600310000,"key":"gatsby-plugin-mdx-entire-payload-5a587a4c07886e792dfc60544b7f0675-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-agent-architecture-kubernetes-cloud.png","alt":"architecture kubernetes","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":97,"offset":2031},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":97,"offset":2031},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":26,"column":1,"offset":2033},"end":{"line":26,"column":65,"offset":2097},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":26,"column":66,"offset":2098},"end":{"line":26,"column":112,"offset":2144},"indent":[]}}],"position":{"start":{"line":26,"column":65,"offset":2097},"end":{"line":26,"column":145,"offset":2177},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":26,"column":145,"offset":2177},"end":{"line":26,"column":146,"offset":2178},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2033},"end":{"line":26,"column":146,"offset":2178},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":28,"column":4,"offset":2183},"end":{"line":28,"column":46,"offset":2225},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2180},"end":{"line":28,"column":46,"offset":2225},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).","position":{"start":{"line":30,"column":1,"offset":2227},"end":{"line":30,"column":339,"offset":2565},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":2227},"end":{"line":30,"column":339,"offset":2565},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-agent-architecture-kubernetes.png","alt":"architecture kubernetes","position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":91,"offset":2657},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":91,"offset":2657},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.","position":{"start":{"line":34,"column":1,"offset":2659},"end":{"line":34,"column":275,"offset":2933},"indent":[]}}],"position":{"start":{"line":34,"column":1,"offset":2659},"end":{"line":34,"column":275,"offset":2933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Private cloud or Baremetal by ","position":{"start":{"line":36,"column":1,"offset":2935},"end":{"line":36,"column":64,"offset":2998},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-edge","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":36,"column":65,"offset":2999},"end":{"line":36,"column":111,"offset":3045},"indent":[]}}],"position":{"start":{"line":36,"column":64,"offset":2998},"end":{"line":36,"column":143,"offset":3077},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":36,"column":143,"offset":3077},"end":{"line":36,"column":144,"offset":3078},"indent":[]}}],"position":{"start":{"line":36,"column":1,"offset":2935},"end":{"line":36,"column":144,"offset":3078},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":39,"column":1,"offset":3081},"end":{"line":39,"column":31,"offset":3111},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":39,"column":31,"offset":3111}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

\"architecture

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`following this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n

{`No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).`}

\n

\"architecture

\n

{`In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.`}

\n

{`Install Kerberos Enterprise on a Private cloud or Baremetal by `}{`following this step-by-step installation guide`}{`.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-40bb5dcf042505b919d6f2223094be97.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-40bb5dcf042505b919d6f2223094be97.json new file mode 100644 index 0000000..6bbd30c --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-40bb5dcf042505b919d6f2223094be97.json @@ -0,0 +1 @@ +{"expireTime":9007200861600421000,"key":"gatsby-plugin-mdx-entire-payload-89290f10d72e04d431b457ed3d8a6b95-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Introduction","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Start by installing a Kubernetes cluster. This can be done on one of the hyperscalers (","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":88,"offset":322},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"AWS","position":{"start":{"line":12,"column":90,"offset":324},"end":{"line":12,"column":93,"offset":327},"indent":[]}}],"position":{"start":{"line":12,"column":88,"offset":322},"end":{"line":12,"column":95,"offset":329},"indent":[]}},{"type":"text","value":", ","position":{"start":{"line":12,"column":95,"offset":329},"end":{"line":12,"column":97,"offset":331},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"GCP","position":{"start":{"line":12,"column":99,"offset":333},"end":{"line":12,"column":102,"offset":336},"indent":[]}}],"position":{"start":{"line":12,"column":97,"offset":331},"end":{"line":12,"column":104,"offset":338},"indent":[]}},{"type":"text","value":" or ","position":{"start":{"line":12,"column":104,"offset":338},"end":{"line":12,"column":108,"offset":342},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"Azure","position":{"start":{"line":12,"column":110,"offset":344},"end":{"line":12,"column":115,"offset":349},"indent":[]}}],"position":{"start":{"line":12,"column":108,"offset":342},"end":{"line":12,"column":117,"offset":351},"indent":[]}},{"type":"text","value":"),\ncloud providers (Digital Ocean, Scaleway, etc) or on-premise in your own private network.","position":{"start":{"line":12,"column":117,"offset":351},"end":{"line":13,"column":90,"offset":443},"indent":[1]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":13,"column":90,"offset":443},"indent":[1]}},{"type":"jsx","value":"
\n
\n

","position":{"start":{"line":15,"column":1,"offset":445},"end":{"line":17,"column":11,"offset":647},"indent":[1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":19,"column":3,"offset":651},"end":{"line":19,"column":15,"offset":663},"indent":[]}}],"position":{"start":{"line":19,"column":1,"offset":649},"end":{"line":19,"column":15,"offset":663},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Before setting up Kerberos Enterprise, some configuration needs to happen. First thing that we need to do is setting up the RBAC permissions (Role Based Access Control). We need to enable this to be able to query specific endpoints from the Kubernetes API. By default these endpoints are locked, so we need to unlock them.","position":{"start":{"line":21,"column":1,"offset":665},"end":{"line":21,"column":323,"offset":987},"indent":[]}}],"position":{"start":{"line":21,"column":1,"offset":665},"end":{"line":21,"column":323,"offset":987},"indent":[]}},{"type":"jsx","value":"
\n
\n

","position":{"start":{"line":23,"column":1,"offset":989},"end":{"line":25,"column":11,"offset":1191},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"First clone the configrations from our Github repo.","position":{"start":{"line":27,"column":1,"offset":1193},"end":{"line":27,"column":52,"offset":1244},"indent":[]}}],"position":{"start":{"line":27,"column":1,"offset":1193},"end":{"line":27,"column":52,"offset":1244},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"git clone https://github.com/kerberos-io/enterprise enterprise\ncd enterprise","position":{"start":{"line":29,"column":1,"offset":1246},"end":{"line":30,"column":18,"offset":1330},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Next go into the directory and execute the first Kubernetes configuration file ","position":{"start":{"line":32,"column":1,"offset":1332},"end":{"line":32,"column":80,"offset":1411},"indent":[]}},{"type":"inlineCode","value":"clusterrole.yaml","position":{"start":{"line":32,"column":80,"offset":1411},"end":{"line":32,"column":98,"offset":1429},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":32,"column":98,"offset":1429},"end":{"line":32,"column":99,"offset":1430},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":1332},"end":{"line":32,"column":99,"offset":1430},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl create -f ./yaml/factory/clusterrole.yaml","position":{"start":{"line":34,"column":1,"offset":1432},"end":{"line":34,"column":54,"offset":1485},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"This will make several actions inside your cluster available. We need this to be able to create deployments from the factory web app.","position":{"start":{"line":36,"column":1,"offset":1487},"end":{"line":36,"column":134,"offset":1620},"indent":[]}}],"position":{"start":{"line":36,"column":1,"offset":1487},"end":{"line":36,"column":134,"offset":1620},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Helm","position":{"start":{"line":38,"column":4,"offset":1625},"end":{"line":38,"column":8,"offset":1629},"indent":[]}}],"position":{"start":{"line":38,"column":1,"offset":1622},"end":{"line":38,"column":8,"offset":1629},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Next we will install a couple of dependencies which are required for Kerberos Enterprise. ","position":{"start":{"line":40,"column":1,"offset":1631},"end":{"line":40,"column":91,"offset":1721},"indent":[]}},{"type":"link","title":null,"url":"https://helm.sh/","children":[{"type":"strong","children":[{"type":"text","value":"Helm","position":{"start":{"line":40,"column":94,"offset":1724},"end":{"line":40,"column":98,"offset":1728},"indent":[]}}],"position":{"start":{"line":40,"column":92,"offset":1722},"end":{"line":40,"column":100,"offset":1730},"indent":[]}}],"position":{"start":{"line":40,"column":91,"offset":1721},"end":{"line":40,"column":119,"offset":1749},"indent":[]}},{"type":"text","value":" is a package manager for Kubernetes, it helps you setting up services more easily (this could be a MQTT broker, a database, etc).\nInstead of writing yaml files for every service we need, we use so called ","position":{"start":{"line":40,"column":119,"offset":1749},"end":{"line":41,"column":75,"offset":1954},"indent":[1]}},{"type":"strong","children":[{"type":"text","value":"Charts","position":{"start":{"line":41,"column":77,"offset":1956},"end":{"line":41,"column":83,"offset":1962},"indent":[]}}],"position":{"start":{"line":41,"column":75,"offset":1954},"end":{"line":41,"column":85,"offset":1964},"indent":[]}},{"type":"text","value":" (libraries), that you can reuse and configure the,\nwith the appropriate settings.","position":{"start":{"line":41,"column":85,"offset":1964},"end":{"line":42,"column":31,"offset":2046},"indent":[1]}}],"position":{"start":{"line":40,"column":1,"offset":1631},"end":{"line":42,"column":31,"offset":2046},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Use one of the preferred OS package managers to install the Helm client:","position":{"start":{"line":44,"column":1,"offset":2048},"end":{"line":44,"column":73,"offset":2120},"indent":[]}}],"position":{"start":{"line":44,"column":1,"offset":2048},"end":{"line":44,"column":73,"offset":2120},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"brew install helm\n\nchoco install kubernetes-helm\n\nscoop install helm\n\ngofish install helm","position":{"start":{"line":46,"column":1,"offset":2122},"end":{"line":52,"column":24,"offset":2227},"indent":[1,1,1,1,1,1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Traefik","position":{"start":{"line":54,"column":4,"offset":2232},"end":{"line":54,"column":11,"offset":2239},"indent":[]}}],"position":{"start":{"line":54,"column":1,"offset":2229},"end":{"line":54,"column":11,"offset":2239},"indent":[]}},{"type":"paragraph","children":[{"type":"link","title":null,"url":"https://containo.us/traefik/","children":[{"type":"strong","children":[{"type":"text","value":"Traefik","position":{"start":{"line":56,"column":4,"offset":2244},"end":{"line":56,"column":11,"offset":2251},"indent":[]}}],"position":{"start":{"line":56,"column":2,"offset":2242},"end":{"line":56,"column":13,"offset":2253},"indent":[]}}],"position":{"start":{"line":56,"column":1,"offset":2241},"end":{"line":56,"column":44,"offset":2284},"indent":[]}},{"type":"text","value":" is a reverse proxy and load balancer which allows you to\nexpose your deployments more easily. Kerberos uses Traefik to expose it's APIs more easily.","position":{"start":{"line":56,"column":44,"offset":2284},"end":{"line":57,"column":92,"offset":2433},"indent":[1]}}],"position":{"start":{"line":56,"column":1,"offset":2241},"end":{"line":57,"column":92,"offset":2433},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"By executing following helm command, we will install traefik and link it to a specific DNS name. Open the traefik values file, ","position":{"start":{"line":59,"column":1,"offset":2435},"end":{"line":59,"column":128,"offset":2562},"indent":[]}},{"type":"inlineCode","value":"yaml/traefik/values.yaml","position":{"start":{"line":59,"column":128,"offset":2562},"end":{"line":59,"column":154,"offset":2588},"indent":[]}},{"type":"text","value":", and update the DNS name to your own domain.","position":{"start":{"line":59,"column":154,"offset":2588},"end":{"line":59,"column":199,"offset":2633},"indent":[]}}],"position":{"start":{"line":59,"column":1,"offset":2435},"end":{"line":59,"column":199,"offset":2633},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" dashboard:\n enabled: true\n--> domain: traefik.domain.com\n serviceType: NodePort\n rbac:\n enabled: true","position":{"start":{"line":61,"column":1,"offset":2635},"end":{"line":66,"column":26,"offset":2786},"indent":[1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Add Helm repository","position":{"start":{"line":68,"column":1,"offset":2788},"end":{"line":68,"column":20,"offset":2807},"indent":[]}}],"position":{"start":{"line":68,"column":1,"offset":2788},"end":{"line":68,"column":20,"offset":2807},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm repo add stable https://kubernetes-charts.storage.googleapis.com","position":{"start":{"line":70,"column":1,"offset":2809},"end":{"line":70,"column":74,"offset":2882},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Execute the ","position":{"start":{"line":72,"column":1,"offset":2884},"end":{"line":72,"column":13,"offset":2896},"indent":[]}},{"type":"inlineCode","value":"helm install","position":{"start":{"line":72,"column":13,"offset":2896},"end":{"line":72,"column":27,"offset":2910},"indent":[]}},{"type":"text","value":" command. If using Helm version 2, write ","position":{"start":{"line":72,"column":27,"offset":2910},"end":{"line":72,"column":68,"offset":2951},"indent":[]}},{"type":"inlineCode","value":"--name traefik","position":{"start":{"line":72,"column":68,"offset":2951},"end":{"line":72,"column":84,"offset":2967},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":72,"column":84,"offset":2967},"end":{"line":72,"column":85,"offset":2968},"indent":[]}}],"position":{"start":{"line":72,"column":1,"offset":2884},"end":{"line":72,"column":85,"offset":2968},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm install traefik -f ./yaml/traefik/values.yaml stable/traefik","position":{"start":{"line":74,"column":1,"offset":2970},"end":{"line":74,"column":70,"offset":3039},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"After installation you should have an IP attached to traefik service, look for it by executing the ","position":{"start":{"line":76,"column":1,"offset":3041},"end":{"line":76,"column":100,"offset":3140},"indent":[]}},{"type":"inlineCode","value":"get service","position":{"start":{"line":76,"column":100,"offset":3140},"end":{"line":76,"column":113,"offset":3153},"indent":[]}},{"type":"text","value":" command. You will see the ip address in the ","position":{"start":{"line":76,"column":113,"offset":3153},"end":{"line":76,"column":158,"offset":3198},"indent":[]}},{"type":"inlineCode","value":"EXTERNAL-IP","position":{"start":{"line":76,"column":158,"offset":3198},"end":{"line":76,"column":171,"offset":3211},"indent":[]}},{"type":"text","value":" attribute.","position":{"start":{"line":76,"column":171,"offset":3211},"end":{"line":76,"column":182,"offset":3222},"indent":[]}}],"position":{"start":{"line":76,"column":1,"offset":3041},"end":{"line":76,"column":182,"offset":3222},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl get svc\n\n NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\n kubernetes ClusterIP 10.0.0.1 443/TCP 36h\n--> traefik LoadBalancer 10.0.27.93 40.114.168.96 443:31623/TCP,80:31804/TCP 35h\n traefik-dashboard NodePort 10.0.252.6 80:31146/TCP 35h","position":{"start":{"line":78,"column":1,"offset":3224},"end":{"line":83,"column":115,"offset":3704},"indent":[1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Go to your DNS provider and link the domain you've configured in the first step ","position":{"start":{"line":85,"column":1,"offset":3706},"end":{"line":85,"column":81,"offset":3786},"indent":[]}},{"type":"inlineCode","value":"traefik.domain.com","position":{"start":{"line":85,"column":81,"offset":3786},"end":{"line":85,"column":101,"offset":3806},"indent":[]}},{"type":"text","value":" to the IP address of the ","position":{"start":{"line":85,"column":101,"offset":3806},"end":{"line":85,"column":127,"offset":3832},"indent":[]}},{"type":"inlineCode","value":"EXTERNAL-IP","position":{"start":{"line":85,"column":127,"offset":3832},"end":{"line":85,"column":140,"offset":3845},"indent":[]}},{"type":"text","value":" attribute.","position":{"start":{"line":85,"column":140,"offset":3845},"end":{"line":85,"column":151,"offset":3856},"indent":[]}}],"position":{"start":{"line":85,"column":1,"offset":3706},"end":{"line":85,"column":151,"offset":3856},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"When browsing to ","position":{"start":{"line":87,"column":1,"offset":3858},"end":{"line":87,"column":18,"offset":3875},"indent":[]}},{"type":"inlineCode","value":"traefik.domain.com","position":{"start":{"line":87,"column":18,"offset":3875},"end":{"line":87,"column":38,"offset":3895},"indent":[]}},{"type":"text","value":", you should see the traefik dashboard showing up.","position":{"start":{"line":87,"column":38,"offset":3895},"end":{"line":87,"column":88,"offset":3945},"indent":[]}}],"position":{"start":{"line":87,"column":1,"offset":3858},"end":{"line":87,"column":88,"offset":3945},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"MongoDB","position":{"start":{"line":89,"column":4,"offset":3950},"end":{"line":89,"column":11,"offset":3957},"indent":[]}}],"position":{"start":{"line":89,"column":1,"offset":3947},"end":{"line":89,"column":11,"offset":3957},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise generates configurations for every surveillance camera that you want to monitor. These configuration files\nare stored centrally in a MongoDB database. Therefore we use Helm to install a MongoDB instance inside your cluster.","position":{"start":{"line":91,"column":1,"offset":3959},"end":{"line":92,"column":117,"offset":4202},"indent":[1]}}],"position":{"start":{"line":91,"column":1,"offset":3959},"end":{"line":92,"column":117,"offset":4202},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Have a look into the ","position":{"start":{"line":94,"column":1,"offset":4204},"end":{"line":94,"column":22,"offset":4225},"indent":[]}},{"type":"inlineCode","value":"yaml/mongodb/values.yaml","position":{"start":{"line":94,"column":22,"offset":4225},"end":{"line":94,"column":48,"offset":4251},"indent":[]}},{"type":"text","value":" file, you will find plenty of configurations for your MongoDB instance. You will also find the attribute where you can change the root password of mongodb. If using Helm version 2, write ","position":{"start":{"line":94,"column":48,"offset":4251},"end":{"line":94,"column":236,"offset":4439},"indent":[]}},{"type":"inlineCode","value":"--name mongodb","position":{"start":{"line":94,"column":236,"offset":4439},"end":{"line":94,"column":252,"offset":4455},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":94,"column":252,"offset":4455},"end":{"line":94,"column":253,"offset":4456},"indent":[]}}],"position":{"start":{"line":94,"column":1,"offset":4204},"end":{"line":94,"column":253,"offset":4456},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm repo add bitnami https://charts.bitnami.com/bitnami\nhelm install mongodb bitnami/mongodb --values ./yaml/mongodb/values.yaml","position":{"start":{"line":96,"column":1,"offset":4458},"end":{"line":97,"column":77,"offset":4595},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Once installed succesfully the MongoDB instance, we should copy the password of the MongoDB instance. Once revealed copy the password, as we will need in the next steps.","position":{"start":{"line":99,"column":1,"offset":4597},"end":{"line":99,"column":170,"offset":4766},"indent":[]}}],"position":{"start":{"line":99,"column":1,"offset":4597},"end":{"line":99,"column":170,"offset":4766},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)\necho $MONGODB_ROOT_PASSWORD","position":{"start":{"line":101,"column":1,"offset":4768},"end":{"line":102,"column":32,"offset":4944},"indent":[1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Factory","position":{"start":{"line":104,"column":4,"offset":4949},"end":{"line":104,"column":11,"offset":4956},"indent":[]}}],"position":{"start":{"line":104,"column":1,"offset":4946},"end":{"line":104,"column":11,"offset":4956},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"The last step is to install the factory service. Kerberos Enterprise is managed through an application which we call the ","position":{"start":{"line":106,"column":1,"offset":4958},"end":{"line":106,"column":122,"offset":5079},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"Factory","position":{"start":{"line":106,"column":124,"offset":5081},"end":{"line":106,"column":131,"offset":5088},"indent":[]}}],"position":{"start":{"line":106,"column":122,"offset":5079},"end":{"line":106,"column":133,"offset":5090},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":106,"column":133,"offset":5090},"end":{"line":106,"column":134,"offset":5091},"indent":[]}}],"position":{"start":{"line":106,"column":1,"offset":4958},"end":{"line":106,"column":134,"offset":5091},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"The Factory is responsible for initiating\nthe deployments inside your cluster. These deployments is what we also call (similar to the Open Source version) the machinery.","position":{"start":{"line":108,"column":1,"offset":5093},"end":{"line":109,"column":128,"offset":5262},"indent":[1]}}],"position":{"start":{"line":108,"column":1,"offset":5093},"end":{"line":109,"column":128,"offset":5262},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"The Factory comes as a web interface which provides you with a tool to update your machineries easily, monitor them, etc. The Factory is the central portal for managing Kerberos Enterprise inside your cluster.","position":{"start":{"line":111,"column":1,"offset":5264},"end":{"line":111,"column":210,"offset":5473},"indent":[]}}],"position":{"start":{"line":111,"column":1,"offset":5264},"end":{"line":111,"column":210,"offset":5473},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Before installing the Factory service, open the ","position":{"start":{"line":113,"column":1,"offset":5475},"end":{"line":113,"column":49,"offset":5523},"indent":[]}},{"type":"inlineCode","value":"yaml/factory/kubernetes.yaml","position":{"start":{"line":113,"column":49,"offset":5523},"end":{"line":113,"column":79,"offset":5553},"indent":[]}},{"type":"text","value":" configuration file. At the bottom file you will find two endpoints, similar to the traefik config file. Update the domain names to your own domain, and add these to your DNS server (pointing to the same IP as the traefik EXTERNAL-IP).","position":{"start":{"line":113,"column":79,"offset":5553},"end":{"line":113,"column":314,"offset":5788},"indent":[]}}],"position":{"start":{"line":113,"column":1,"offset":5475},"end":{"line":113,"column":314,"offset":5788},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" spec:\n rules:\n--> - host: factory.domain.com\n http:\n paths:\n - path: /\n backend:\n serviceName: factory\n servicePort: 80\n--> - host: api.factory.domain.com\n http:\n paths:\n - path: /\n backend:\n serviceName: factory\n servicePort: 8081","position":{"start":{"line":115,"column":1,"offset":5790},"end":{"line":130,"column":36,"offset":6222},"indent":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Modify the MongoDB credentials, and make sure they match the credentials of your MongoDB instance.","position":{"start":{"line":132,"column":1,"offset":6224},"end":{"line":132,"column":99,"offset":6322},"indent":[]}}],"position":{"start":{"line":132,"column":1,"offset":6224},"end":{"line":132,"column":99,"offset":6322},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" - name: MONGODB_USERNAME\n value: \"root\"\n - name: MONGODB_PASSWORD\n--> value: \"xxxxxxxxxx\"","position":{"start":{"line":134,"column":1,"offset":6324},"end":{"line":137,"column":30,"offset":6443},"indent":[1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Once you have corrected the DNS names, install the Factory service inside your cluster.","position":{"start":{"line":139,"column":1,"offset":6445},"end":{"line":139,"column":88,"offset":6532},"indent":[]}}],"position":{"start":{"line":139,"column":1,"offset":6445},"end":{"line":139,"column":88,"offset":6532},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl apply -f ./yaml/factory/deployment.yaml","position":{"start":{"line":141,"column":1,"offset":6534},"end":{"line":141,"column":52,"offset":6585},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Test out configuration","position":{"start":{"line":143,"column":4,"offset":6590},"end":{"line":143,"column":26,"offset":6612},"indent":[]}}],"position":{"start":{"line":143,"column":1,"offset":6587},"end":{"line":143,"column":26,"offset":6612},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"If everything worked out as expected, you should now have following services in your cluster:","position":{"start":{"line":145,"column":1,"offset":6614},"end":{"line":145,"column":94,"offset":6707},"indent":[]}}],"position":{"start":{"line":145,"column":1,"offset":6614},"end":{"line":145,"column":94,"offset":6707},"indent":[]}},{"type":"list","ordered":false,"start":null,"spread":false,"children":[{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"MongoDB","position":{"start":{"line":147,"column":5,"offset":6713},"end":{"line":147,"column":12,"offset":6720},"indent":[]}}],"position":{"start":{"line":147,"column":5,"offset":6713},"end":{"line":147,"column":12,"offset":6720},"indent":[]}}],"position":{"start":{"line":147,"column":1,"offset":6709},"end":{"line":147,"column":12,"offset":6720},"indent":[]}},{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"Traefik","position":{"start":{"line":148,"column":5,"offset":6725},"end":{"line":148,"column":12,"offset":6732},"indent":[]}}],"position":{"start":{"line":148,"column":5,"offset":6725},"end":{"line":148,"column":12,"offset":6732},"indent":[]}}],"position":{"start":{"line":148,"column":1,"offset":6721},"end":{"line":148,"column":12,"offset":6732},"indent":[]}},{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"Factory","position":{"start":{"line":149,"column":5,"offset":6737},"end":{"line":149,"column":12,"offset":6744},"indent":[]}}],"position":{"start":{"line":149,"column":5,"offset":6737},"end":{"line":149,"column":12,"offset":6744},"indent":[]}}],"position":{"start":{"line":149,"column":1,"offset":6733},"end":{"line":149,"column":12,"offset":6744},"indent":[]}}],"position":{"start":{"line":147,"column":1,"offset":6709},"end":{"line":149,"column":12,"offset":6744},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"It should look like this.","position":{"start":{"line":151,"column":1,"offset":6746},"end":{"line":151,"column":26,"offset":6771},"indent":[]}}],"position":{"start":{"line":151,"column":1,"offset":6746},"end":{"line":151,"column":26,"offset":6771},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"$ kubectl get pods\nNAME READY STATUS RESTARTS AGE\nfactory-6f5c877d7c-hf77p 1/1 Running 0 2d11h\nmongodb-758d5c5ddd-qsfq9 1/1 Running 0 5m31s\ntraefik-7d566ccc47-mwslb 1/1 Running 0 4d12h","position":{"start":{"line":153,"column":1,"offset":6773},"end":{"line":157,"column":73,"offset":7085},"indent":[1,1,1,1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Access the system","position":{"start":{"line":159,"column":4,"offset":7090},"end":{"line":159,"column":21,"offset":7107},"indent":[]}}],"position":{"start":{"line":159,"column":1,"offset":7087},"end":{"line":159,"column":21,"offset":7107},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain ","position":{"start":{"line":161,"column":1,"offset":7109},"end":{"line":161,"column":152,"offset":7260},"indent":[]}},{"type":"inlineCode","value":"factory.domain.com","position":{"start":{"line":161,"column":152,"offset":7260},"end":{"line":161,"column":172,"offset":7280},"indent":[]}},{"type":"text","value":" in your browser you will see the Factory login page showing up.","position":{"start":{"line":161,"column":172,"offset":7280},"end":{"line":161,"column":236,"offset":7344},"indent":[]}}],"position":{"start":{"line":161,"column":1,"offset":7109},"end":{"line":161,"column":236,"offset":7344},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/factory/kerberos-factory-loginpage.png","alt":"Factory","position":{"start":{"line":163,"column":1,"offset":7346},"end":{"line":163,"column":71,"offset":7416},"indent":[]}}],"position":{"start":{"line":163,"column":1,"offset":7346},"end":{"line":163,"column":71,"offset":7416},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":166,"column":1,"offset":7419},"end":{"line":166,"column":31,"offset":7449},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":166,"column":31,"offset":7449}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Introduction`}

\n

{`Start by installing a Kubernetes cluster. This can be done on one of the hyperscalers (`}{`AWS`}{`, `}{`GCP`}{` or `}{`Azure`}{`),\ncloud providers (Digital Ocean, Scaleway, etc) or on-premise in your own private network.`}

\n
\n
\n

\n

{`Installation`}

\n

{`Before setting up Kerberos Enterprise, some configuration needs to happen. First thing that we need to do is setting up the RBAC permissions (Role Based Access Control). We need to enable this to be able to query specific endpoints from the Kubernetes API. By default these endpoints are locked, so we need to unlock them.`}

\n
\n
\n

\n

{`First clone the configrations from our Github repo.`}

\n
{`git clone https://github.com/kerberos-io/enterprise enterprise`}{`\n`}{`cd enterprise`}
\n

{`Next go into the directory and execute the first Kubernetes configuration file `}{`clusterrole.yaml`}{`.`}

\n
{`kubectl create -f ./yaml/factory/clusterrole.yaml`}
\n

{`This will make several actions inside your cluster available. We need this to be able to create deployments from the factory web app.`}

\n

{`Helm`}

\n

{`Next we will install a couple of dependencies which are required for Kerberos Enterprise. `}{`Helm`}{` is a package manager for Kubernetes, it helps you setting up services more easily (this could be a MQTT broker, a database, etc).\nInstead of writing yaml files for every service we need, we use so called `}{`Charts`}{` (libraries), that you can reuse and configure the,\nwith the appropriate settings.`}

\n

{`Use one of the preferred OS package managers to install the Helm client:`}

\n
{`brew install helm`}{`\n`}{`\n`}{`choco install kubernetes-helm`}{`\n`}{`\n`}{`scoop install helm`}{`\n`}{`\n`}{`gofish install helm`}
\n

{`Traefik`}

\n

{`Traefik`}{` is a reverse proxy and load balancer which allows you to\nexpose your deployments more easily. Kerberos uses Traefik to expose it's APIs more easily.`}

\n

{`By executing following helm command, we will install traefik and link it to a specific DNS name. Open the traefik values file, `}{`yaml/traefik/values.yaml`}{`, and update the DNS name to your own domain.`}

\n
{`    dashboard:`}{`\n`}{`      enabled: true`}{`\n`}{`-->   domain: traefik.domain.com`}{`\n`}{`      serviceType: NodePort`}{`\n`}{`    rbac:`}{`\n`}{`        enabled: true`}
\n

{`Add Helm repository`}

\n
{`helm repo add stable https://kubernetes-charts.storage.googleapis.com`}
\n

{`Execute the `}{`helm install`}{` command. If using Helm version 2, write `}{`--name traefik`}{`.`}

\n
{`helm install traefik -f ./yaml/traefik/values.yaml stable/traefik`}
\n

{`After installation you should have an IP attached to traefik service, look for it by executing the `}{`get service`}{` command. You will see the ip address in the `}{`EXTERNAL-IP`}{` attribute.`}

\n
{`kubectl get svc`}{`\n`}{`\n`}{`    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE`}{`\n`}{`    kubernetes                  ClusterIP      10.0.0.1                 443/TCP                      36h`}{`\n`}{`--> traefik                     LoadBalancer   10.0.27.93     40.114.168.96   443:31623/TCP,80:31804/TCP   35h`}{`\n`}{`    traefik-dashboard           NodePort       10.0.252.6               80:31146/TCP                 35h`}
\n

{`Go to your DNS provider and link the domain you've configured in the first step `}{`traefik.domain.com`}{` to the IP address of the `}{`EXTERNAL-IP`}{` attribute.`}

\n

{`When browsing to `}{`traefik.domain.com`}{`, you should see the traefik dashboard showing up.`}

\n

{`MongoDB`}

\n

{`Kerberos Enterprise generates configurations for every surveillance camera that you want to monitor. These configuration files\nare stored centrally in a MongoDB database. Therefore we use Helm to install a MongoDB instance inside your cluster.`}

\n

{`Have a look into the `}{`yaml/mongodb/values.yaml`}{` file, you will find plenty of configurations for your MongoDB instance. You will also find the attribute where you can change the root password of mongodb. If using Helm version 2, write `}{`--name mongodb`}{`.`}

\n
{`helm repo add bitnami https://charts.bitnami.com/bitnami`}{`\n`}{`helm install mongodb bitnami/mongodb --values ./yaml/mongodb/values.yaml`}
\n

{`Once installed succesfully the MongoDB instance, we should copy the password of the MongoDB instance. Once revealed copy the password, as we will need in the next steps.`}

\n
{`export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)`}{`\n`}{`echo $MONGODB_ROOT_PASSWORD`}
\n

{`Factory`}

\n

{`The last step is to install the factory service. Kerberos Enterprise is managed through an application which we call the `}{`Factory`}{`.`}

\n

{`The Factory is responsible for initiating\nthe deployments inside your cluster. These deployments is what we also call (similar to the Open Source version) the machinery.`}

\n

{`The Factory comes as a web interface which provides you with a tool to update your machineries easily, monitor them, etc. The Factory is the central portal for managing Kerberos Enterprise inside your cluster.`}

\n

{`Before installing the Factory service, open the `}{`yaml/factory/kubernetes.yaml`}{` configuration file. At the bottom file you will find two endpoints, similar to the traefik config file. Update the domain names to your own domain, and add these to your DNS server (pointing to the same IP as the traefik EXTERNAL-IP).`}

\n
{`    spec:`}{`\n`}{`      rules:`}{`\n`}{`-->   - host: factory.domain.com`}{`\n`}{`        http:`}{`\n`}{`          paths:`}{`\n`}{`          - path: /`}{`\n`}{`            backend:`}{`\n`}{`              serviceName: factory`}{`\n`}{`              servicePort: 80`}{`\n`}{`-->   - host: api.factory.domain.com`}{`\n`}{`        http:`}{`\n`}{`          paths:`}{`\n`}{`          - path: /`}{`\n`}{`            backend:`}{`\n`}{`              serviceName: factory`}{`\n`}{`              servicePort: 8081`}
\n

{`Modify the MongoDB credentials, and make sure they match the credentials of your MongoDB instance.`}

\n
{`    - name: MONGODB_USERNAME`}{`\n`}{`      value: \"root\"`}{`\n`}{`    - name: MONGODB_PASSWORD`}{`\n`}{`-->   value: \"xxxxxxxxxx\"`}
\n

{`Once you have corrected the DNS names, install the Factory service inside your cluster.`}

\n
{`kubectl apply -f ./yaml/factory/deployment.yaml`}
\n

{`Test out configuration`}

\n

{`If everything worked out as expected, you should now have following services in your cluster:`}

\n
    \n
  • {`MongoDB`}
  • \n
  • {`Traefik`}
  • \n
  • {`Factory`}
  • \n
\n

{`It should look like this.`}

\n
{`$ kubectl get pods`}{`\n`}{`NAME                              READY   STATUS    RESTARTS   AGE`}{`\n`}{`factory-6f5c877d7c-hf77p          1/1     Running   0          2d11h`}{`\n`}{`mongodb-758d5c5ddd-qsfq9          1/1     Running   0          5m31s`}{`\n`}{`traefik-7d566ccc47-mwslb          1/1     Running   0          4d12h`}
\n

{`Access the system`}

\n

{`Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain `}{`factory.domain.com`}{` in your browser you will see the Factory login page showing up.`}

\n

\"Factory\"

\n\n \n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-790402edf748b4b2bd8e5d39669eed66.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-790402edf748b4b2bd8e5d39669eed66.json new file mode 100644 index 0000000..844ca89 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-790402edf748b4b2bd8e5d39669eed66.json @@ -0,0 +1 @@ +{"expireTime":9007200861599011000,"key":"gatsby-plugin-mdx-entire-payload-d2180379039e7bb37ec430bb5b2c0a16-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":22,"column":4,"offset":1566},"end":{"line":22,"column":46,"offset":1608},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":46,"offset":1608},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":25,"column":1,"offset":1611},"end":{"line":25,"column":31,"offset":1641},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":25,"column":31,"offset":1641}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-84591356d5c59e2cad56ecc0e50c8738.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-84591356d5c59e2cad56ecc0e50c8738.json new file mode 100644 index 0000000..13ef069 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-84591356d5c59e2cad56ecc0e50c8738.json @@ -0,0 +1 @@ +{"expireTime":9007200861600268000,"key":"gatsby-plugin-mdx-entire-payload-a08f487d21e28c905d9d8fd24ae28f83-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":65,"offset":1999},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":24,"column":66,"offset":2000},"end":{"line":24,"column":112,"offset":2046},"indent":[]}}],"position":{"start":{"line":24,"column":65,"offset":1999},"end":{"line":24,"column":145,"offset":2079},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":24,"column":145,"offset":2079},"end":{"line":24,"column":146,"offset":2080},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":146,"offset":2080},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2085},"end":{"line":26,"column":46,"offset":2127},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2082},"end":{"line":26,"column":46,"offset":2127},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).","position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-agent-architecture-kubernetes-cloud.png","alt":"architecture kubernetes","position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":97,"offset":2565},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":97,"offset":2565},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.","position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":275,"offset":2841},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":275,"offset":2841},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Private cloud or Baremetal by ","position":{"start":{"line":34,"column":1,"offset":2843},"end":{"line":34,"column":64,"offset":2906},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-edge","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":34,"column":65,"offset":2907},"end":{"line":34,"column":111,"offset":2953},"indent":[]}}],"position":{"start":{"line":34,"column":64,"offset":2906},"end":{"line":34,"column":143,"offset":2985},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":34,"column":143,"offset":2985},"end":{"line":34,"column":144,"offset":2986},"indent":[]}}],"position":{"start":{"line":34,"column":1,"offset":2843},"end":{"line":34,"column":144,"offset":2986},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":37,"column":1,"offset":2989},"end":{"line":37,"column":31,"offset":3019},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":37,"column":31,"offset":3019}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`following this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n

{`No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).`}

\n

\"architecture

\n

{`In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.`}

\n

{`Install Kerberos Enterprise on a Private cloud or Baremetal by `}{`following this step-by-step installation guide`}{`.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-a9f56c6bb4d70ec1d3cfa18453e1c202.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-a9f56c6bb4d70ec1d3cfa18453e1c202.json new file mode 100644 index 0000000..b8d9955 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-a9f56c6bb4d70ec1d3cfa18453e1c202.json @@ -0,0 +1 @@ +{"expireTime":9007200861600212000,"key":"gatsby-plugin-mdx-entire-payload-fa44177f89816c5a77cf01085bd4da0f-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":65,"offset":1999},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":24,"column":66,"offset":2000},"end":{"line":24,"column":112,"offset":2046},"indent":[]}}],"position":{"start":{"line":24,"column":65,"offset":1999},"end":{"line":24,"column":145,"offset":2079},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":24,"column":145,"offset":2079},"end":{"line":24,"column":146,"offset":2080},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":146,"offset":2080},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2085},"end":{"line":26,"column":46,"offset":2127},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2082},"end":{"line":26,"column":46,"offset":2127},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).","position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2129},"end":{"line":28,"column":339,"offset":2467},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.","position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":275,"offset":2743},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":2469},"end":{"line":30,"column":275,"offset":2743},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Private cloud or Baremetal by ","position":{"start":{"line":32,"column":1,"offset":2745},"end":{"line":32,"column":64,"offset":2808},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":32,"column":65,"offset":2809},"end":{"line":32,"column":111,"offset":2855},"indent":[]}}],"position":{"start":{"line":32,"column":64,"offset":2808},"end":{"line":32,"column":144,"offset":2888},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":32,"column":144,"offset":2888},"end":{"line":32,"column":145,"offset":2889},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":2745},"end":{"line":32,"column":145,"offset":2889},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":35,"column":1,"offset":2892},"end":{"line":35,"column":31,"offset":2922},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":35,"column":31,"offset":2922}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`following this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n

{`No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).`}

\n

{`In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.`}

\n

{`Install Kerberos Enterprise on a Private cloud or Baremetal by `}{`following this step-by-step installation guide`}{`.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-b7c86af19c1dccf66f359b338c28fd87.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-b7c86af19c1dccf66f359b338c28fd87.json new file mode 100644 index 0000000..cb8a95b --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-b7c86af19c1dccf66f359b338c28fd87.json @@ -0,0 +1 @@ +{"expireTime":9007200861599868000,"key":"gatsby-plugin-mdx-entire-payload-09c13812bd18219142156d22733128e5-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":65,"offset":1999},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"executing this step-by-step installation guide","position":{"start":{"line":24,"column":66,"offset":2000},"end":{"line":24,"column":112,"offset":2046},"indent":[]}}],"position":{"start":{"line":24,"column":65,"offset":1999},"end":{"line":24,"column":145,"offset":2079},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":24,"column":145,"offset":2079},"end":{"line":24,"column":146,"offset":2080},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":146,"offset":2080},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2085},"end":{"line":26,"column":46,"offset":2127},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2082},"end":{"line":26,"column":46,"offset":2127},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":29,"column":1,"offset":2130},"end":{"line":29,"column":31,"offset":2160},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":29,"column":31,"offset":2160}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`executing this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-c9c96d555086e603764397bd46a8d9be.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-c9c96d555086e603764397bd46a8d9be.json new file mode 100644 index 0000000..31414d4 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-c9c96d555086e603764397bd46a8d9be.json @@ -0,0 +1 @@ +{"expireTime":9007200861599863000,"key":"gatsby-plugin-mdx-entire-payload-d69ad7f9f52289224ab3a2c0f831c3a8-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":65,"offset":1999},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"executing this step-by-step installation guide.","position":{"start":{"line":24,"column":66,"offset":2000},"end":{"line":24,"column":113,"offset":2047},"indent":[]}}],"position":{"start":{"line":24,"column":65,"offset":1999},"end":{"line":24,"column":146,"offset":2080},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":24,"column":146,"offset":2080},"end":{"line":24,"column":147,"offset":2081},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":147,"offset":2081},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":2086},"end":{"line":26,"column":46,"offset":2128},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2083},"end":{"line":26,"column":46,"offset":2128},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":29,"column":1,"offset":2131},"end":{"line":29,"column":31,"offset":2161},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":29,"column":31,"offset":2161}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`executing this step-by-step installation guide.`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-da8e4d684004e0bb44fda11df759c512.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-da8e4d684004e0bb44fda11df759c512.json new file mode 100644 index 0000000..a45d271 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-da8e4d684004e0bb44fda11df759c512.json @@ -0,0 +1 @@ +{"expireTime":9007200861598966000,"key":"gatsby-plugin-mdx-entire-payload-c98f3a6771c55e1fd938f76bd829b1c0-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":21,"column":1,"offset":1514},"end":{"line":21,"column":31,"offset":1544},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":21,"column":31,"offset":1544}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-e3b870fb622c425d037746368da72a13.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-e3b870fb622c425d037746368da72a13.json new file mode 100644 index 0000000..3491c0c --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-e3b870fb622c425d037746368da72a13.json @@ -0,0 +1 @@ +{"expireTime":9007200861598551000,"key":"gatsby-plugin-mdx-entire-payload-c264329d59ff4aade68094316df1a623-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Introduction","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" apt install docker.io -y","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":27,"offset":261},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":27,"offset":261},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" apt update -y\n apt install apt-transport-https curl -y\n curl -s ","position":{"start":{"line":14,"column":1,"offset":263},"end":{"line":16,"column":11,"offset":331},"indent":[1,1]}},{"type":"link","title":null,"url":"https://packages.cloud.google.com/apt/doc/apt-key.gpg","children":[{"type":"text","value":"https://packages.cloud.google.com/apt/doc/apt-key.gpg","position":{"start":{"line":16,"column":11,"offset":331},"end":{"line":16,"column":64,"offset":384},"indent":[]}}],"position":{"start":{"line":16,"column":11,"offset":331},"end":{"line":16,"column":64,"offset":384},"indent":[]}},{"type":"text","value":" | apt-key add\n apt-add-repository \"deb ","position":{"start":{"line":16,"column":64,"offset":384},"end":{"line":17,"column":27,"offset":425},"indent":[1]}},{"type":"link","title":null,"url":"http://apt.kubernetes.io/","children":[{"type":"text","value":"http://apt.kubernetes.io/","position":{"start":{"line":17,"column":27,"offset":425},"end":{"line":17,"column":52,"offset":450},"indent":[]}}],"position":{"start":{"line":17,"column":27,"offset":425},"end":{"line":17,"column":52,"offset":450},"indent":[]}},{"type":"text","value":" kubernetes-xenial main\"\n apt update -y","position":{"start":{"line":17,"column":52,"offset":450},"end":{"line":18,"column":16,"offset":490},"indent":[1]}}],"position":{"start":{"line":14,"column":1,"offset":263},"end":{"line":18,"column":16,"offset":490},"indent":[1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":" apt install kubeadm kubelet kubectl kubernetes-cni -y\n swapoff -a","position":{"start":{"line":20,"column":1,"offset":492},"end":{"line":21,"column":13,"offset":560},"indent":[1]}}],"position":{"start":{"line":20,"column":1,"offset":492},"end":{"line":21,"column":13,"offset":560},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Cleanup","position":{"start":{"line":23,"column":3,"offset":564},"end":{"line":23,"column":10,"offset":571},"indent":[]}}],"position":{"start":{"line":23,"column":1,"offset":562},"end":{"line":23,"column":10,"offset":571},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubeadm reset\n rm -rf $HOME/.kube","position":{"start":{"line":25,"column":1,"offset":573},"end":{"line":26,"column":21,"offset":609},"indent":[1]}}],"position":{"start":{"line":25,"column":1,"offset":573},"end":{"line":26,"column":21,"offset":609},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":28,"column":3,"offset":613},"end":{"line":28,"column":15,"offset":625},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":611},"end":{"line":28,"column":15,"offset":625},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubeadm init","position":{"start":{"line":30,"column":1,"offset":627},"end":{"line":30,"column":15,"offset":641},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":627},"end":{"line":30,"column":15,"offset":641},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" Your Kubernetes control-plane has initialized successfully!\n\n To start using your cluster, you need to run the following as a regular user:\n\n mkdir -p $HOME/.kube\n sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n sudo chown $(id -u):$(id -g) $HOME/.kube/config\n\n You should now deploy a pod network to the cluster.\n Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:\n https://kubernetes.io/docs/concepts/cluster-administration/addons/\n\n Then you can join any number of worker nodes by running the following on each as root:\n\n kubeadm join 192.168.1.103:6443 --token ej7ckt.uof7o2iplqf0r2up \\\n --discovery-token-ca-cert-hash sha256:9cbcc00d34be2dbd605174802d9e52fbcdd617324c237bf58767b369fa586209","position":{"start":{"line":32,"column":1,"offset":643},"end":{"line":47,"column":113,"offset":1440},"indent":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":" mkdir -p $HOME/.kube\n cp -i /etc/kubernetes/admin.conf $HOME/.kube/config\n chown $(id -u):$(id -g) $HOME/.kube/config","position":{"start":{"line":49,"column":1,"offset":1442},"end":{"line":51,"column":45,"offset":1563},"indent":[1,1]}}],"position":{"start":{"line":49,"column":1,"offset":1442},"end":{"line":51,"column":45,"offset":1563},"indent":[1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Untaint all nodess","position":{"start":{"line":54,"column":3,"offset":1568},"end":{"line":54,"column":21,"offset":1586},"indent":[]}}],"position":{"start":{"line":54,"column":1,"offset":1566},"end":{"line":54,"column":21,"offset":1586},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl taint nodes --all node-role.kubernetes.io/master-","position":{"start":{"line":56,"column":1,"offset":1588},"end":{"line":56,"column":60,"offset":1647},"indent":[]}}],"position":{"start":{"line":56,"column":1,"offset":1588},"end":{"line":56,"column":60,"offset":1647},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Calico","position":{"start":{"line":58,"column":3,"offset":1651},"end":{"line":58,"column":9,"offset":1657},"indent":[]}}],"position":{"start":{"line":58,"column":1,"offset":1649},"end":{"line":58,"column":9,"offset":1657},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" curl ","position":{"start":{"line":60,"column":1,"offset":1659},"end":{"line":60,"column":8,"offset":1666},"indent":[]}},{"type":"link","title":null,"url":"https://docs.projectcalico.org/manifests/calico.yaml","children":[{"type":"text","value":"https://docs.projectcalico.org/manifests/calico.yaml","position":{"start":{"line":60,"column":8,"offset":1666},"end":{"line":60,"column":60,"offset":1718},"indent":[]}}],"position":{"start":{"line":60,"column":8,"offset":1666},"end":{"line":60,"column":60,"offset":1718},"indent":[]}},{"type":"text","value":" -O\n kubectl apply -f calico.yaml","position":{"start":{"line":60,"column":60,"offset":1718},"end":{"line":61,"column":31,"offset":1752},"indent":[1]}}],"position":{"start":{"line":60,"column":1,"offset":1659},"end":{"line":61,"column":31,"offset":1752},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Download Kerberos Enterprise configuration","position":{"start":{"line":63,"column":3,"offset":1756},"end":{"line":63,"column":45,"offset":1798},"indent":[]}}],"position":{"start":{"line":63,"column":1,"offset":1754},"end":{"line":63,"column":45,"offset":1798},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" git clone ","position":{"start":{"line":65,"column":1,"offset":1800},"end":{"line":65,"column":13,"offset":1812},"indent":[]}},{"type":"link","title":null,"url":"https://github.com/kerberos-io/enterprise","children":[{"type":"text","value":"https://github.com/kerberos-io/enterprise","position":{"start":{"line":65,"column":13,"offset":1812},"end":{"line":65,"column":54,"offset":1853},"indent":[]}}],"position":{"start":{"line":65,"column":13,"offset":1812},"end":{"line":65,"column":54,"offset":1853},"indent":[]}}],"position":{"start":{"line":65,"column":1,"offset":1800},"end":{"line":65,"column":54,"offset":1853},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Install metallb (","position":{"start":{"line":67,"column":3,"offset":1857},"end":{"line":67,"column":20,"offset":1874},"indent":[]}},{"type":"link","title":null,"url":"https://metallb.universe.tf/installation/","children":[{"type":"text","value":"https://metallb.universe.tf/installation/","position":{"start":{"line":67,"column":20,"offset":1874},"end":{"line":67,"column":61,"offset":1915},"indent":[]}}],"position":{"start":{"line":67,"column":20,"offset":1874},"end":{"line":67,"column":61,"offset":1915},"indent":[]}},{"type":"text","value":")","position":{"start":{"line":67,"column":61,"offset":1915},"end":{"line":67,"column":62,"offset":1916},"indent":[]}}],"position":{"start":{"line":67,"column":1,"offset":1855},"end":{"line":67,"column":62,"offset":1916},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl apply -f ","position":{"start":{"line":69,"column":1,"offset":1918},"end":{"line":69,"column":20,"offset":1937},"indent":[]}},{"type":"link","title":null,"url":"https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml","children":[{"type":"text","value":"https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml","position":{"start":{"line":69,"column":20,"offset":1937},"end":{"line":69,"column":101,"offset":2018},"indent":[]}}],"position":{"start":{"line":69,"column":20,"offset":1937},"end":{"line":69,"column":101,"offset":2018},"indent":[]}},{"type":"text","value":"\n kubectl apply -f ","position":{"start":{"line":69,"column":101,"offset":2018},"end":{"line":70,"column":20,"offset":2038},"indent":[1]}},{"type":"link","title":null,"url":"https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml","children":[{"type":"text","value":"https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml","position":{"start":{"line":70,"column":20,"offset":2038},"end":{"line":70,"column":99,"offset":2117},"indent":[]}}],"position":{"start":{"line":70,"column":20,"offset":2038},"end":{"line":70,"column":99,"offset":2117},"indent":[]}},{"type":"text","value":"\n kubectl create secret generic -n metallb-system memberlist --from-literal=secretkey=\"$(openssl rand -base64 128)\"","position":{"start":{"line":70,"column":99,"offset":2117},"end":{"line":71,"column":116,"offset":2233},"indent":[1]}}],"position":{"start":{"line":69,"column":1,"offset":1918},"end":{"line":71,"column":116,"offset":2233},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl apply -f ./enterprise/yaml/metallb/configmap.yaml","position":{"start":{"line":73,"column":1,"offset":2235},"end":{"line":73,"column":60,"offset":2294},"indent":[]}}],"position":{"start":{"line":73,"column":1,"offset":2235},"end":{"line":73,"column":60,"offset":2294},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup helm","position":{"start":{"line":75,"column":3,"offset":2298},"end":{"line":75,"column":13,"offset":2308},"indent":[]}}],"position":{"start":{"line":75,"column":1,"offset":2296},"end":{"line":75,"column":13,"offset":2308},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" curl -fsSL -o get_helm.sh ","position":{"start":{"line":77,"column":1,"offset":2310},"end":{"line":77,"column":29,"offset":2338},"indent":[]}},{"type":"link","title":null,"url":"https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3","children":[{"type":"text","value":"https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3","position":{"start":{"line":77,"column":29,"offset":2338},"end":{"line":77,"column":98,"offset":2407},"indent":[]}}],"position":{"start":{"line":77,"column":29,"offset":2338},"end":{"line":77,"column":98,"offset":2407},"indent":[]}},{"type":"text","value":"\n chmod 700 get_helm.sh\n ./get_helm.sh","position":{"start":{"line":77,"column":98,"offset":2407},"end":{"line":79,"column":16,"offset":2447},"indent":[1,1]}}],"position":{"start":{"line":77,"column":1,"offset":2310},"end":{"line":79,"column":16,"offset":2447},"indent":[1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup traefik","position":{"start":{"line":81,"column":3,"offset":2451},"end":{"line":81,"column":16,"offset":2464},"indent":[]}}],"position":{"start":{"line":81,"column":1,"offset":2449},"end":{"line":81,"column":16,"offset":2464},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" helm repo add stable ","position":{"start":{"line":83,"column":1,"offset":2466},"end":{"line":83,"column":24,"offset":2489},"indent":[]}},{"type":"link","title":null,"url":"https://charts.helm.sh/stable","children":[{"type":"text","value":"https://charts.helm.sh/stable","position":{"start":{"line":83,"column":24,"offset":2489},"end":{"line":83,"column":53,"offset":2518},"indent":[]}}],"position":{"start":{"line":83,"column":24,"offset":2489},"end":{"line":83,"column":53,"offset":2518},"indent":[]}},{"type":"text","value":"\n helm install traefik -f ./enterprise/yaml/traefik/values.yaml stable/traefik","position":{"start":{"line":83,"column":53,"offset":2518},"end":{"line":84,"column":79,"offset":2597},"indent":[1]}}],"position":{"start":{"line":83,"column":1,"offset":2466},"end":{"line":84,"column":79,"offset":2597},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup mongoDB","position":{"start":{"line":86,"column":3,"offset":2601},"end":{"line":86,"column":16,"offset":2614},"indent":[]}}],"position":{"start":{"line":86,"column":1,"offset":2599},"end":{"line":86,"column":16,"offset":2614},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" mkdir /home/mongodb/\n kubectl create -f ./enterprise/yaml/mongodb/volume.yaml","position":{"start":{"line":88,"column":1,"offset":2616},"end":{"line":89,"column":58,"offset":2696},"indent":[1]}}],"position":{"start":{"line":88,"column":1,"offset":2616},"end":{"line":89,"column":58,"offset":2696},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":" helm repo add bitnami ","position":{"start":{"line":91,"column":1,"offset":2698},"end":{"line":91,"column":25,"offset":2722},"indent":[]}},{"type":"link","title":null,"url":"https://charts.bitnami.com/bitnami","children":[{"type":"text","value":"https://charts.bitnami.com/bitnami","position":{"start":{"line":91,"column":25,"offset":2722},"end":{"line":91,"column":59,"offset":2756},"indent":[]}}],"position":{"start":{"line":91,"column":25,"offset":2722},"end":{"line":91,"column":59,"offset":2756},"indent":[]}},{"type":"text","value":"\n helm install mongodb bitnami/mongodb --values ./enterprise/yaml/mongodb/values.yaml\n export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)\n echo $MONGODB_ROOT_PASSWORD","position":{"start":{"line":91,"column":59,"offset":2756},"end":{"line":94,"column":30,"offset":3015},"indent":[1,1,1]}}],"position":{"start":{"line":91,"column":1,"offset":2698},"end":{"line":94,"column":30,"offset":3015},"indent":[1,1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup Kerberos Enterprise","position":{"start":{"line":96,"column":3,"offset":3019},"end":{"line":96,"column":28,"offset":3044},"indent":[]}}],"position":{"start":{"line":96,"column":1,"offset":3017},"end":{"line":96,"column":28,"offset":3044},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl apply -f ./enterprise/yaml/factory/clusterrole.yaml\n kubectl apply -f ./enterprise/yaml/factory/deployment.yaml","position":{"start":{"line":98,"column":1,"offset":3046},"end":{"line":99,"column":61,"offset":3168},"indent":[1]}}],"position":{"start":{"line":98,"column":1,"offset":3046},"end":{"line":99,"column":61,"offset":3168},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup Kerberos Storage","position":{"start":{"line":101,"column":3,"offset":3172},"end":{"line":101,"column":25,"offset":3194},"indent":[]}}],"position":{"start":{"line":101,"column":1,"offset":3170},"end":{"line":101,"column":25,"offset":3194},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" git clone ","position":{"start":{"line":103,"column":1,"offset":3196},"end":{"line":103,"column":13,"offset":3208},"indent":[]}},{"type":"link","title":null,"url":"https://github.com/kerberos-io/storage","children":[{"type":"text","value":"https://github.com/kerberos-io/storage","position":{"start":{"line":103,"column":13,"offset":3208},"end":{"line":103,"column":51,"offset":3246},"indent":[]}}],"position":{"start":{"line":103,"column":13,"offset":3208},"end":{"line":103,"column":51,"offset":3246},"indent":[]}},{"type":"text","value":"\n kubectl apply -f ./storage/yaml/deployment.yaml","position":{"start":{"line":103,"column":51,"offset":3246},"end":{"line":104,"column":50,"offset":3296},"indent":[1]}}],"position":{"start":{"line":103,"column":1,"offset":3196},"end":{"line":104,"column":50,"offset":3296},"indent":[1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup Minio","position":{"start":{"line":106,"column":3,"offset":3300},"end":{"line":106,"column":14,"offset":3311},"indent":[]}}],"position":{"start":{"line":106,"column":1,"offset":3298},"end":{"line":106,"column":14,"offset":3311},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl create -f ./storage/yaml/minio/volume.yaml\n kubectl create -f ./storage/yaml/minio/pvc.yaml\n kubectl create -f ./storage/yaml/minio/svc.yaml\n kubectl create -f ./storage/yaml/minio/deployment.yaml","position":{"start":{"line":108,"column":1,"offset":3313},"end":{"line":111,"column":57,"offset":3522},"indent":[1,1,1]}}],"position":{"start":{"line":108,"column":1,"offset":3313},"end":{"line":111,"column":57,"offset":3522},"indent":[1,1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Setup Kerberos Storage Cleanup","position":{"start":{"line":113,"column":3,"offset":3526},"end":{"line":113,"column":33,"offset":3556},"indent":[]}}],"position":{"start":{"line":113,"column":1,"offset":3524},"end":{"line":113,"column":33,"offset":3556},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":" kubectl apply -f ./storage/yaml/deployment-cleanup.yaml","position":{"start":{"line":115,"column":1,"offset":3558},"end":{"line":115,"column":58,"offset":3615},"indent":[]}}],"position":{"start":{"line":115,"column":1,"offset":3558},"end":{"line":115,"column":58,"offset":3615},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":118,"column":1,"offset":3618},"end":{"line":118,"column":31,"offset":3648},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":118,"column":31,"offset":3648}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Introduction`}

\n

{` apt install docker.io -y`}

\n

{` apt update -y\napt install apt-transport-https curl -y\ncurl -s `}{`https://packages.cloud.google.com/apt/doc/apt-key.gpg`}{` | apt-key add\napt-add-repository \"deb `}{`http://apt.kubernetes.io/`}{` kubernetes-xenial main\"\napt update -y`}

\n

{` apt install kubeadm kubelet kubectl kubernetes-cni -y\nswapoff -a`}

\n

{`Cleanup`}

\n

{` kubeadm reset\nrm -rf $HOME/.kube`}

\n

{`Installation`}

\n

{` kubeadm init`}

\n
{`  Your Kubernetes control-plane has initialized successfully!`}{`\n`}{`\n`}{`  To start using your cluster, you need to run the following as a regular user:`}{`\n`}{`\n`}{`    mkdir -p $HOME/.kube`}{`\n`}{`    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config`}{`\n`}{`    sudo chown $(id -u):$(id -g) $HOME/.kube/config`}{`\n`}{`\n`}{`  You should now deploy a pod network to the cluster.`}{`\n`}{`  Run \"kubectl apply -f [podnetwork].yaml\" with one of the options listed at:`}{`\n`}{`    https://kubernetes.io/docs/concepts/cluster-administration/addons/`}{`\n`}{`\n`}{`  Then you can join any number of worker nodes by running the following on each as root:`}{`\n`}{`\n`}{`  kubeadm join 192.168.1.103:6443 --token ej7ckt.uof7o2iplqf0r2up \\\\`}{`\n`}{`      --discovery-token-ca-cert-hash sha256:9cbcc00d34be2dbd605174802d9e52fbcdd617324c237bf58767b369fa586209`}
\n

{` mkdir -p $HOME/.kube\ncp -i /etc/kubernetes/admin.conf $HOME/.kube/config\nchown $(id -u):$(id -g) $HOME/.kube/config`}

\n

{`Untaint all nodess`}

\n

{` kubectl taint nodes --all node-role.kubernetes.io/master-`}

\n

{`Calico`}

\n

{` curl `}{`https://docs.projectcalico.org/manifests/calico.yaml`}{` -O\nkubectl apply -f calico.yaml`}

\n

{`Download Kerberos Enterprise configuration`}

\n

{` git clone `}{`https://github.com/kerberos-io/enterprise`}

\n

{`Install metallb (`}{`https://metallb.universe.tf/installation/`}{`)`}

\n

{` kubectl apply -f `}{`https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/namespace.yaml`}{`\nkubectl apply -f `}{`https://raw.githubusercontent.com/metallb/metallb/v0.9.5/manifests/metallb.yaml`}{`\nkubectl create secret generic -n metallb-system memberlist --from-literal=secretkey=\"$(openssl rand -base64 128)\"`}

\n

{` kubectl apply -f ./enterprise/yaml/metallb/configmap.yaml`}

\n

{`Setup helm`}

\n

{` curl -fsSL -o get_helm.sh `}{`https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3`}{`\nchmod 700 get_helm.sh\n./get_helm.sh`}

\n

{`Setup traefik`}

\n

{` helm repo add stable `}{`https://charts.helm.sh/stable`}{`\nhelm install traefik -f ./enterprise/yaml/traefik/values.yaml stable/traefik`}

\n

{`Setup mongoDB`}

\n

{` mkdir /home/mongodb/\nkubectl create -f ./enterprise/yaml/mongodb/volume.yaml`}

\n

{` helm repo add bitnami `}{`https://charts.bitnami.com/bitnami`}{`\nhelm install mongodb bitnami/mongodb --values ./enterprise/yaml/mongodb/values.yaml\nexport MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)\necho $MONGODB_ROOT_PASSWORD`}

\n

{`Setup Kerberos Enterprise`}

\n

{` kubectl apply -f ./enterprise/yaml/factory/clusterrole.yaml\nkubectl apply -f ./enterprise/yaml/factory/deployment.yaml`}

\n

{`Setup Kerberos Storage`}

\n

{` git clone `}{`https://github.com/kerberos-io/storage`}{`\nkubectl apply -f ./storage/yaml/deployment.yaml`}

\n

{`Setup Minio`}

\n

{` kubectl create -f ./storage/yaml/minio/volume.yaml\nkubectl create -f ./storage/yaml/minio/pvc.yaml\nkubectl create -f ./storage/yaml/minio/svc.yaml\nkubectl create -f ./storage/yaml/minio/deployment.yaml`}

\n

{`Setup Kerberos Storage Cleanup`}

\n

{` kubectl apply -f ./storage/yaml/deployment-cleanup.yaml`}

\n\n \n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f0a6d178fd2fb5d44b359f286338f36d.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f0a6d178fd2fb5d44b359f286338f36d.json new file mode 100644 index 0000000..f88d80a --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f0a6d178fd2fb5d44b359f286338f36d.json @@ -0,0 +1 @@ +{"expireTime":9007200861599814000,"key":"gatsby-plugin-mdx-entire-payload-1653c015384c8b2c051ec59202edd0e3-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more.","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":214,"offset":1776},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":214,"offset":1776},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":24,"column":1,"offset":1778},"end":{"line":24,"column":132,"offset":1909},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":24,"column":132,"offset":1909},"end":{"line":24,"column":147,"offset":1924},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":24,"column":147,"offset":1924},"end":{"line":24,"column":157,"offset":1934},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1778},"end":{"line":24,"column":157,"offset":1934},"indent":[]}},{"type":"paragraph","children":[{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider","position":{"start":{"line":26,"column":2,"offset":1937},"end":{"line":26,"column":62,"offset":1997},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":1936},"end":{"line":26,"column":95,"offset":2030},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":1936},"end":{"line":26,"column":95,"offset":2030},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":28,"column":4,"offset":2035},"end":{"line":28,"column":46,"offset":2077},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2032},"end":{"line":28,"column":46,"offset":2077},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":31,"column":1,"offset":2080},"end":{"line":31,"column":31,"offset":2110},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":31,"column":31,"offset":2110}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more.`}

\n

{`Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f196bfbb6c5ecc85b0406c5fa0c3a479.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f196bfbb6c5ecc85b0406c5fa0c3a479.json new file mode 100644 index 0000000..4989462 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f196bfbb6c5ecc85b0406c5fa0c3a479.json @@ -0,0 +1 @@ +{"expireTime":9007200861600287000,"key":"gatsby-plugin-mdx-entire-payload-ef09782dce3c88e9ad81790ca6bdfefb-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":346,"offset":1908},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":22,"column":346,"offset":1908},"end":{"line":22,"column":361,"offset":1923},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":22,"column":361,"offset":1923},"end":{"line":22,"column":371,"offset":1933},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":371,"offset":1933},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-agent-architecture-kubernetes-cloud.png","alt":"architecture kubernetes","position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":97,"offset":2031},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1935},"end":{"line":24,"column":97,"offset":2031},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Kubernetes Service Provider by ","position":{"start":{"line":26,"column":1,"offset":2033},"end":{"line":26,"column":65,"offset":2097},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-cloud","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":26,"column":66,"offset":2098},"end":{"line":26,"column":112,"offset":2144},"indent":[]}}],"position":{"start":{"line":26,"column":65,"offset":2097},"end":{"line":26,"column":145,"offset":2177},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":26,"column":145,"offset":2177},"end":{"line":26,"column":146,"offset":2178},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":2033},"end":{"line":26,"column":146,"offset":2178},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":28,"column":4,"offset":2183},"end":{"line":28,"column":46,"offset":2225},"indent":[]}}],"position":{"start":{"line":28,"column":1,"offset":2180},"end":{"line":28,"column":46,"offset":2225},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).","position":{"start":{"line":30,"column":1,"offset":2227},"end":{"line":30,"column":339,"offset":2565},"indent":[]}}],"position":{"start":{"line":30,"column":1,"offset":2227},"end":{"line":30,"column":339,"offset":2565},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-agent-architecture-kubernetes-onpremise.png","alt":"architecture kubernetes","position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":101,"offset":2667},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":2567},"end":{"line":32,"column":101,"offset":2667},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.","position":{"start":{"line":34,"column":1,"offset":2669},"end":{"line":34,"column":275,"offset":2943},"indent":[]}}],"position":{"start":{"line":34,"column":1,"offset":2669},"end":{"line":34,"column":275,"offset":2943},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Install Kerberos Enterprise on a Private cloud or Baremetal by ","position":{"start":{"line":36,"column":1,"offset":2945},"end":{"line":36,"column":64,"offset":3008},"indent":[]}},{"type":"link","title":null,"url":"/enterprise/installation-edge","children":[{"type":"text","value":"following this step-by-step installation guide","position":{"start":{"line":36,"column":65,"offset":3009},"end":{"line":36,"column":111,"offset":3055},"indent":[]}}],"position":{"start":{"line":36,"column":64,"offset":3008},"end":{"line":36,"column":143,"offset":3087},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":36,"column":143,"offset":3087},"end":{"line":36,"column":144,"offset":3088},"indent":[]}}],"position":{"start":{"line":36,"column":1,"offset":2945},"end":{"line":36,"column":144,"offset":3088},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":39,"column":1,"offset":3091},"end":{"line":39,"column":31,"offset":3121},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":39,"column":31,"offset":3121}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

\"architecture

\n

{`Install Kerberos Enterprise on a Kubernetes Service Provider by `}{`following this step-by-step installation guide`}{`.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n

{`No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc).`}

\n

\"architecture

\n

{`In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach.`}

\n

{`Install Kerberos Enterprise on a Private cloud or Baremetal by `}{`following this step-by-step installation guide`}{`.`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f955649d4bc8ee14d3dace0be7c6d591.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f955649d4bc8ee14d3dace0be7c6d591.json new file mode 100644 index 0000000..553356e --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-f955649d4bc8ee14d3dace0be7c6d591.json @@ -0,0 +1 @@ +{"expireTime":9007200861599778000,"key":"gatsby-plugin-mdx-entire-payload-bd9d4f139b39b46df010bf4bbe9af4c5-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":252,"offset":486},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.","position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}}],"position":{"start":{"line":14,"column":1,"offset":488},"end":{"line":14,"column":478,"offset":965},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/kerberos-enterprise-kubernetes.png","alt":"enterprise kubernetes","position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}}],"position":{"start":{"line":16,"column":1,"offset":967},"end":{"line":16,"column":81,"offset":1047},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.","position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}}],"position":{"start":{"line":18,"column":1,"offset":1049},"end":{"line":18,"column":463,"offset":1511},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation on a Kubernetes Service Provider","position":{"start":{"line":20,"column":4,"offset":1516},"end":{"line":20,"column":49,"offset":1561},"indent":[]}}],"position":{"start":{"line":20,"column":1,"offset":1513},"end":{"line":20,"column":49,"offset":1561},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more.","position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":214,"offset":1776},"indent":[]}}],"position":{"start":{"line":22,"column":1,"offset":1563},"end":{"line":22,"column":214,"offset":1776},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some ","position":{"start":{"line":24,"column":1,"offset":1778},"end":{"line":24,"column":132,"offset":1909},"indent":[]}},{"type":"inlineCode","value":"kubectl apply","position":{"start":{"line":24,"column":132,"offset":1909},"end":{"line":24,"column":147,"offset":1924},"indent":[]}},{"type":"text","value":" commands.","position":{"start":{"line":24,"column":147,"offset":1924},"end":{"line":24,"column":157,"offset":1934},"indent":[]}}],"position":{"start":{"line":24,"column":1,"offset":1778},"end":{"line":24,"column":157,"offset":1934},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Installation in Private Cloud or Baremetal","position":{"start":{"line":26,"column":4,"offset":1939},"end":{"line":26,"column":46,"offset":1981},"indent":[]}}],"position":{"start":{"line":26,"column":1,"offset":1936},"end":{"line":26,"column":46,"offset":1981},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":29,"column":1,"offset":1984},"end":{"line":29,"column":31,"offset":2014},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":29,"column":31,"offset":2014}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Installation`}

\n

{`Kerberos Enterprise can be installed where Kubernetes can be installed. This means that it can run at the Edge - Baremetal -, in the cloud - VMs - or at Kubernetes service providers - SAAS - such as GCP, Azure, AWS, DigitalOcean, and the list goes on.`}

\n

{`Although you might except Kubernetes at the Edge or Kubernetes in the cloud, there are no differences, well sorry to say there are. As Kubernetes service providers implemented features such as LoadBalancers, Persistent Volumes, and others, they have automated and integrated a huge portion of the Kubernetes stack with their related PAAS services. To be more concrete if you are running a Kubernetes Cluster on GCP, you will use the LoadBalancing and Storage services from GCP.`}

\n

\"enterprise

\n

{`Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself.`}

\n

{`Installation on a Kubernetes Service Provider`}

\n

{`Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more.`}

\n

{`Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `}{`kubectl apply`}{` commands.`}

\n

{`Installation in Private Cloud or Baremetal`}

\n\n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-fbdbdb373340f9f3f9226f70c4570876.json b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-fbdbdb373340f9f3f9226f70c4570876.json new file mode 100644 index 0000000..1a68194 --- /dev/null +++ b/.docz/.cache/caches/gatsby-plugin-mdx/diskstore-fbdbdb373340f9f3f9226f70c4570876.json @@ -0,0 +1 @@ +{"expireTime":9007200861600418000,"key":"gatsby-plugin-mdx-entire-payload-52e64ccfe624dff42d7f53fb86686184-","val":{"mdast":{"type":"root","children":[{"type":"import","value":"import DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"","position":{"start":{"line":3,"column":1,"offset":2},"end":{"line":3,"column":125,"offset":126},"indent":[]}},{"type":"export","default":true,"value":"export default DefaultLayout","position":{"start":{"line":5,"column":1,"offset":128},"end":{"line":5,"column":29,"offset":156},"indent":[]}},{"type":"import","value":"import ReplaceVersion from \"../components/ReplaceVersion\";","position":{"start":{"line":8,"column":1,"offset":159},"end":{"line":8,"column":59,"offset":217},"indent":[]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Introduction","position":{"start":{"line":10,"column":3,"offset":221},"end":{"line":10,"column":15,"offset":233},"indent":[]}}],"position":{"start":{"line":10,"column":1,"offset":219},"end":{"line":10,"column":15,"offset":233},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Start by installing a Kubernetes cluster. This can be done on one of the hyperscalers (","position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":12,"column":88,"offset":322},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"AWS","position":{"start":{"line":12,"column":90,"offset":324},"end":{"line":12,"column":93,"offset":327},"indent":[]}}],"position":{"start":{"line":12,"column":88,"offset":322},"end":{"line":12,"column":95,"offset":329},"indent":[]}},{"type":"text","value":", ","position":{"start":{"line":12,"column":95,"offset":329},"end":{"line":12,"column":97,"offset":331},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"GCP","position":{"start":{"line":12,"column":99,"offset":333},"end":{"line":12,"column":102,"offset":336},"indent":[]}}],"position":{"start":{"line":12,"column":97,"offset":331},"end":{"line":12,"column":104,"offset":338},"indent":[]}},{"type":"text","value":" or ","position":{"start":{"line":12,"column":104,"offset":338},"end":{"line":12,"column":108,"offset":342},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"Azure","position":{"start":{"line":12,"column":110,"offset":344},"end":{"line":12,"column":115,"offset":349},"indent":[]}}],"position":{"start":{"line":12,"column":108,"offset":342},"end":{"line":12,"column":117,"offset":351},"indent":[]}},{"type":"text","value":"),\ncloud providers (Digital Ocean, Scaleway, etc) or on-premise in your own private network.","position":{"start":{"line":12,"column":117,"offset":351},"end":{"line":13,"column":90,"offset":443},"indent":[1]}}],"position":{"start":{"line":12,"column":1,"offset":235},"end":{"line":13,"column":90,"offset":443},"indent":[1]}},{"type":"jsx","value":"
\n
\n

","position":{"start":{"line":15,"column":1,"offset":445},"end":{"line":17,"column":11,"offset":647},"indent":[1,1]}},{"type":"heading","depth":1,"children":[{"type":"text","value":"Installation","position":{"start":{"line":19,"column":3,"offset":651},"end":{"line":19,"column":15,"offset":663},"indent":[]}}],"position":{"start":{"line":19,"column":1,"offset":649},"end":{"line":19,"column":15,"offset":663},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Before setting up Kerberos Enterprise, some configuration needs to happen. First thing that we need to do is setting up the RBAC permissions (Role Based Access Control). We need to enable this to be able to query specific endpoints from the Kubernetes API. By default these endpoints are locked, so we need to unlock them.","position":{"start":{"line":21,"column":1,"offset":665},"end":{"line":21,"column":323,"offset":987},"indent":[]}}],"position":{"start":{"line":21,"column":1,"offset":665},"end":{"line":21,"column":323,"offset":987},"indent":[]}},{"type":"jsx","value":"
\n
\n

","position":{"start":{"line":23,"column":1,"offset":989},"end":{"line":25,"column":11,"offset":1191},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"First clone the configrations from our Github repo.","position":{"start":{"line":27,"column":1,"offset":1193},"end":{"line":27,"column":52,"offset":1244},"indent":[]}}],"position":{"start":{"line":27,"column":1,"offset":1193},"end":{"line":27,"column":52,"offset":1244},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"git clone https://github.com/kerberos-io/enterprise enterprise\ncd enterprise","position":{"start":{"line":29,"column":1,"offset":1246},"end":{"line":30,"column":18,"offset":1330},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Next go into the directory and execute the first Kubernetes configuration file ","position":{"start":{"line":32,"column":1,"offset":1332},"end":{"line":32,"column":80,"offset":1411},"indent":[]}},{"type":"inlineCode","value":"clusterrole.yaml","position":{"start":{"line":32,"column":80,"offset":1411},"end":{"line":32,"column":98,"offset":1429},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":32,"column":98,"offset":1429},"end":{"line":32,"column":99,"offset":1430},"indent":[]}}],"position":{"start":{"line":32,"column":1,"offset":1332},"end":{"line":32,"column":99,"offset":1430},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl create -f ./yaml/factory/clusterrole.yaml","position":{"start":{"line":34,"column":1,"offset":1432},"end":{"line":34,"column":54,"offset":1485},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"This will make several actions inside your cluster available. We need this to be able to create deployments from the factory web app.","position":{"start":{"line":36,"column":1,"offset":1487},"end":{"line":36,"column":134,"offset":1620},"indent":[]}}],"position":{"start":{"line":36,"column":1,"offset":1487},"end":{"line":36,"column":134,"offset":1620},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Helm","position":{"start":{"line":38,"column":4,"offset":1625},"end":{"line":38,"column":8,"offset":1629},"indent":[]}}],"position":{"start":{"line":38,"column":1,"offset":1622},"end":{"line":38,"column":8,"offset":1629},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Next we will install a couple of dependencies which are required for Kerberos Enterprise. ","position":{"start":{"line":40,"column":1,"offset":1631},"end":{"line":40,"column":91,"offset":1721},"indent":[]}},{"type":"link","title":null,"url":"https://helm.sh/","children":[{"type":"strong","children":[{"type":"text","value":"Helm","position":{"start":{"line":40,"column":94,"offset":1724},"end":{"line":40,"column":98,"offset":1728},"indent":[]}}],"position":{"start":{"line":40,"column":92,"offset":1722},"end":{"line":40,"column":100,"offset":1730},"indent":[]}}],"position":{"start":{"line":40,"column":91,"offset":1721},"end":{"line":40,"column":119,"offset":1749},"indent":[]}},{"type":"text","value":" is a package manager for Kubernetes, it helps you setting up services more easily (this could be a MQTT broker, a database, etc).\nInstead of writing yaml files for every service we need, we use so called ","position":{"start":{"line":40,"column":119,"offset":1749},"end":{"line":41,"column":75,"offset":1954},"indent":[1]}},{"type":"strong","children":[{"type":"text","value":"Charts","position":{"start":{"line":41,"column":77,"offset":1956},"end":{"line":41,"column":83,"offset":1962},"indent":[]}}],"position":{"start":{"line":41,"column":75,"offset":1954},"end":{"line":41,"column":85,"offset":1964},"indent":[]}},{"type":"text","value":" (libraries), that you can reuse and configure the,\nwith the appropriate settings.","position":{"start":{"line":41,"column":85,"offset":1964},"end":{"line":42,"column":31,"offset":2046},"indent":[1]}}],"position":{"start":{"line":40,"column":1,"offset":1631},"end":{"line":42,"column":31,"offset":2046},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Use one of the preferred OS package managers to install the Helm client:","position":{"start":{"line":44,"column":1,"offset":2048},"end":{"line":44,"column":73,"offset":2120},"indent":[]}}],"position":{"start":{"line":44,"column":1,"offset":2048},"end":{"line":44,"column":73,"offset":2120},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"brew install helm\n\nchoco install kubernetes-helm\n\nscoop install helm\n\ngofish install helm","position":{"start":{"line":46,"column":1,"offset":2122},"end":{"line":52,"column":24,"offset":2227},"indent":[1,1,1,1,1,1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Traefik","position":{"start":{"line":54,"column":4,"offset":2232},"end":{"line":54,"column":11,"offset":2239},"indent":[]}}],"position":{"start":{"line":54,"column":1,"offset":2229},"end":{"line":54,"column":11,"offset":2239},"indent":[]}},{"type":"paragraph","children":[{"type":"link","title":null,"url":"https://containo.us/traefik/","children":[{"type":"strong","children":[{"type":"text","value":"Traefik","position":{"start":{"line":56,"column":4,"offset":2244},"end":{"line":56,"column":11,"offset":2251},"indent":[]}}],"position":{"start":{"line":56,"column":2,"offset":2242},"end":{"line":56,"column":13,"offset":2253},"indent":[]}}],"position":{"start":{"line":56,"column":1,"offset":2241},"end":{"line":56,"column":44,"offset":2284},"indent":[]}},{"type":"text","value":" is a reverse proxy and load balancer which allows you to\nexpose your deployments more easily. Kerberos uses Traefik to expose it's APIs more easily.","position":{"start":{"line":56,"column":44,"offset":2284},"end":{"line":57,"column":92,"offset":2433},"indent":[1]}}],"position":{"start":{"line":56,"column":1,"offset":2241},"end":{"line":57,"column":92,"offset":2433},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"By executing following helm command, we will install traefik and link it to a specific DNS name. Open the traefik values file, ","position":{"start":{"line":59,"column":1,"offset":2435},"end":{"line":59,"column":128,"offset":2562},"indent":[]}},{"type":"inlineCode","value":"yaml/traefik/values.yaml","position":{"start":{"line":59,"column":128,"offset":2562},"end":{"line":59,"column":154,"offset":2588},"indent":[]}},{"type":"text","value":", and update the DNS name to your own domain.","position":{"start":{"line":59,"column":154,"offset":2588},"end":{"line":59,"column":199,"offset":2633},"indent":[]}}],"position":{"start":{"line":59,"column":1,"offset":2435},"end":{"line":59,"column":199,"offset":2633},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" dashboard:\n enabled: true\n--> domain: traefik.domain.com\n serviceType: NodePort\n rbac:\n enabled: true","position":{"start":{"line":61,"column":1,"offset":2635},"end":{"line":66,"column":26,"offset":2786},"indent":[1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Add Helm repository","position":{"start":{"line":68,"column":1,"offset":2788},"end":{"line":68,"column":20,"offset":2807},"indent":[]}}],"position":{"start":{"line":68,"column":1,"offset":2788},"end":{"line":68,"column":20,"offset":2807},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm repo add stable https://kubernetes-charts.storage.googleapis.com","position":{"start":{"line":70,"column":1,"offset":2809},"end":{"line":70,"column":74,"offset":2882},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Execute the ","position":{"start":{"line":72,"column":1,"offset":2884},"end":{"line":72,"column":13,"offset":2896},"indent":[]}},{"type":"inlineCode","value":"helm install","position":{"start":{"line":72,"column":13,"offset":2896},"end":{"line":72,"column":27,"offset":2910},"indent":[]}},{"type":"text","value":" command. If using Helm version 2, write ","position":{"start":{"line":72,"column":27,"offset":2910},"end":{"line":72,"column":68,"offset":2951},"indent":[]}},{"type":"inlineCode","value":"--name traefik","position":{"start":{"line":72,"column":68,"offset":2951},"end":{"line":72,"column":84,"offset":2967},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":72,"column":84,"offset":2967},"end":{"line":72,"column":85,"offset":2968},"indent":[]}}],"position":{"start":{"line":72,"column":1,"offset":2884},"end":{"line":72,"column":85,"offset":2968},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm install traefik -f ./yaml/traefik/values.yaml stable/traefik","position":{"start":{"line":74,"column":1,"offset":2970},"end":{"line":74,"column":70,"offset":3039},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"After installation you should have an IP attached to traefik service, look for it by executing the ","position":{"start":{"line":76,"column":1,"offset":3041},"end":{"line":76,"column":100,"offset":3140},"indent":[]}},{"type":"inlineCode","value":"get service","position":{"start":{"line":76,"column":100,"offset":3140},"end":{"line":76,"column":113,"offset":3153},"indent":[]}},{"type":"text","value":" command. You will see the ip address in the ","position":{"start":{"line":76,"column":113,"offset":3153},"end":{"line":76,"column":158,"offset":3198},"indent":[]}},{"type":"inlineCode","value":"EXTERNAL-IP","position":{"start":{"line":76,"column":158,"offset":3198},"end":{"line":76,"column":171,"offset":3211},"indent":[]}},{"type":"text","value":" attribute.","position":{"start":{"line":76,"column":171,"offset":3211},"end":{"line":76,"column":182,"offset":3222},"indent":[]}}],"position":{"start":{"line":76,"column":1,"offset":3041},"end":{"line":76,"column":182,"offset":3222},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl get svc\n\n NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE\n kubernetes ClusterIP 10.0.0.1 443/TCP 36h\n--> traefik LoadBalancer 10.0.27.93 40.114.168.96 443:31623/TCP,80:31804/TCP 35h\n traefik-dashboard NodePort 10.0.252.6 80:31146/TCP 35h","position":{"start":{"line":78,"column":1,"offset":3224},"end":{"line":83,"column":115,"offset":3704},"indent":[1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Go to your DNS provider and link the domain you've configured in the first step ","position":{"start":{"line":85,"column":1,"offset":3706},"end":{"line":85,"column":81,"offset":3786},"indent":[]}},{"type":"inlineCode","value":"traefik.domain.com","position":{"start":{"line":85,"column":81,"offset":3786},"end":{"line":85,"column":101,"offset":3806},"indent":[]}},{"type":"text","value":" to the IP address of the ","position":{"start":{"line":85,"column":101,"offset":3806},"end":{"line":85,"column":127,"offset":3832},"indent":[]}},{"type":"inlineCode","value":"EXTERNAL-IP","position":{"start":{"line":85,"column":127,"offset":3832},"end":{"line":85,"column":140,"offset":3845},"indent":[]}},{"type":"text","value":" attribute.","position":{"start":{"line":85,"column":140,"offset":3845},"end":{"line":85,"column":151,"offset":3856},"indent":[]}}],"position":{"start":{"line":85,"column":1,"offset":3706},"end":{"line":85,"column":151,"offset":3856},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"When browsing to ","position":{"start":{"line":87,"column":1,"offset":3858},"end":{"line":87,"column":18,"offset":3875},"indent":[]}},{"type":"inlineCode","value":"traefik.domain.com","position":{"start":{"line":87,"column":18,"offset":3875},"end":{"line":87,"column":38,"offset":3895},"indent":[]}},{"type":"text","value":", you should see the traefik dashboard showing up.","position":{"start":{"line":87,"column":38,"offset":3895},"end":{"line":87,"column":88,"offset":3945},"indent":[]}}],"position":{"start":{"line":87,"column":1,"offset":3858},"end":{"line":87,"column":88,"offset":3945},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"MongoDB","position":{"start":{"line":89,"column":4,"offset":3950},"end":{"line":89,"column":11,"offset":3957},"indent":[]}}],"position":{"start":{"line":89,"column":1,"offset":3947},"end":{"line":89,"column":11,"offset":3957},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Kerberos Enterprise generates configurations for every surveillance camera that you want to monitor. These configuration files\nare stored centrally in a MongoDB database. Therefore we use Helm to install a MongoDB instance inside your cluster.","position":{"start":{"line":91,"column":1,"offset":3959},"end":{"line":92,"column":117,"offset":4202},"indent":[1]}}],"position":{"start":{"line":91,"column":1,"offset":3959},"end":{"line":92,"column":117,"offset":4202},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Have a look into the ","position":{"start":{"line":94,"column":1,"offset":4204},"end":{"line":94,"column":22,"offset":4225},"indent":[]}},{"type":"inlineCode","value":"yaml/mongodb/values.yaml","position":{"start":{"line":94,"column":22,"offset":4225},"end":{"line":94,"column":48,"offset":4251},"indent":[]}},{"type":"text","value":" file, you will find plenty of configurations for your MongoDB instance. You will also find the attribute where you can change the root password of mongodb. If using Helm version 2, write ","position":{"start":{"line":94,"column":48,"offset":4251},"end":{"line":94,"column":236,"offset":4439},"indent":[]}},{"type":"inlineCode","value":"--name mongodb","position":{"start":{"line":94,"column":236,"offset":4439},"end":{"line":94,"column":252,"offset":4455},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":94,"column":252,"offset":4455},"end":{"line":94,"column":253,"offset":4456},"indent":[]}}],"position":{"start":{"line":94,"column":1,"offset":4204},"end":{"line":94,"column":253,"offset":4456},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"helm repo add bitnami https://charts.bitnami.com/bitnami\nhelm install mongodb bitnami/mongodb --values ./yaml/mongodb/values.yaml","position":{"start":{"line":96,"column":1,"offset":4458},"end":{"line":97,"column":77,"offset":4595},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"Once installed succesfully the MongoDB instance, we should copy the password of the MongoDB instance. Once revealed copy the password, as we will need in the next steps.","position":{"start":{"line":99,"column":1,"offset":4597},"end":{"line":99,"column":170,"offset":4766},"indent":[]}}],"position":{"start":{"line":99,"column":1,"offset":4597},"end":{"line":99,"column":170,"offset":4766},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)\necho $MONGODB_ROOT_PASSWORD","position":{"start":{"line":101,"column":1,"offset":4768},"end":{"line":102,"column":32,"offset":4944},"indent":[1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Factory","position":{"start":{"line":104,"column":4,"offset":4949},"end":{"line":104,"column":11,"offset":4956},"indent":[]}}],"position":{"start":{"line":104,"column":1,"offset":4946},"end":{"line":104,"column":11,"offset":4956},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"The last step is to install the factory service. Kerberos Enterprise is managed through an application which we call the ","position":{"start":{"line":106,"column":1,"offset":4958},"end":{"line":106,"column":122,"offset":5079},"indent":[]}},{"type":"strong","children":[{"type":"text","value":"Factory","position":{"start":{"line":106,"column":124,"offset":5081},"end":{"line":106,"column":131,"offset":5088},"indent":[]}}],"position":{"start":{"line":106,"column":122,"offset":5079},"end":{"line":106,"column":133,"offset":5090},"indent":[]}},{"type":"text","value":".","position":{"start":{"line":106,"column":133,"offset":5090},"end":{"line":106,"column":134,"offset":5091},"indent":[]}}],"position":{"start":{"line":106,"column":1,"offset":4958},"end":{"line":106,"column":134,"offset":5091},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"The Factory is responsible for initiating\nthe deployments inside your cluster. These deployments is what we also call (similar to the Open Source version) the machinery.","position":{"start":{"line":108,"column":1,"offset":5093},"end":{"line":109,"column":128,"offset":5262},"indent":[1]}}],"position":{"start":{"line":108,"column":1,"offset":5093},"end":{"line":109,"column":128,"offset":5262},"indent":[1]}},{"type":"paragraph","children":[{"type":"text","value":"The Factory comes as a web interface which provides you with a tool to update your machineries easily, monitor them, etc. The Factory is the central portal for managing Kerberos Enterprise inside your cluster.","position":{"start":{"line":111,"column":1,"offset":5264},"end":{"line":111,"column":210,"offset":5473},"indent":[]}}],"position":{"start":{"line":111,"column":1,"offset":5264},"end":{"line":111,"column":210,"offset":5473},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Before installing the Factory service, open the ","position":{"start":{"line":113,"column":1,"offset":5475},"end":{"line":113,"column":49,"offset":5523},"indent":[]}},{"type":"inlineCode","value":"yaml/factory/kubernetes.yaml","position":{"start":{"line":113,"column":49,"offset":5523},"end":{"line":113,"column":79,"offset":5553},"indent":[]}},{"type":"text","value":" configuration file. At the bottom file you will find two endpoints, similar to the traefik config file. Update the domain names to your own domain, and add these to your DNS server (pointing to the same IP as the traefik EXTERNAL-IP).","position":{"start":{"line":113,"column":79,"offset":5553},"end":{"line":113,"column":314,"offset":5788},"indent":[]}}],"position":{"start":{"line":113,"column":1,"offset":5475},"end":{"line":113,"column":314,"offset":5788},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" spec:\n rules:\n--> - host: factory.domain.com\n http:\n paths:\n - path: /\n backend:\n serviceName: factory\n servicePort: 80\n--> - host: api.factory.domain.com\n http:\n paths:\n - path: /\n backend:\n serviceName: factory\n servicePort: 8081","position":{"start":{"line":115,"column":1,"offset":5790},"end":{"line":130,"column":36,"offset":6222},"indent":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Modify the MongoDB credentials, and make sure they match the credentials of your MongoDB instance.","position":{"start":{"line":132,"column":1,"offset":6224},"end":{"line":132,"column":99,"offset":6322},"indent":[]}}],"position":{"start":{"line":132,"column":1,"offset":6224},"end":{"line":132,"column":99,"offset":6322},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":" - name: MONGODB_USERNAME\n value: \"root\"\n - name: MONGODB_PASSWORD\n--> value: \"xxxxxxxxxx\"","position":{"start":{"line":134,"column":1,"offset":6324},"end":{"line":137,"column":30,"offset":6443},"indent":[1,1,1]}},{"type":"paragraph","children":[{"type":"text","value":"Once you have corrected the DNS names, install the Factory service inside your cluster.","position":{"start":{"line":139,"column":1,"offset":6445},"end":{"line":139,"column":88,"offset":6532},"indent":[]}}],"position":{"start":{"line":139,"column":1,"offset":6445},"end":{"line":139,"column":88,"offset":6532},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"kubectl apply -f ./yaml/factory/depeloyment.yaml","position":{"start":{"line":141,"column":1,"offset":6534},"end":{"line":141,"column":53,"offset":6586},"indent":[]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Test out configuration","position":{"start":{"line":143,"column":4,"offset":6591},"end":{"line":143,"column":26,"offset":6613},"indent":[]}}],"position":{"start":{"line":143,"column":1,"offset":6588},"end":{"line":143,"column":26,"offset":6613},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"If everything worked out as expected, you should now have following services in your cluster:","position":{"start":{"line":145,"column":1,"offset":6615},"end":{"line":145,"column":94,"offset":6708},"indent":[]}}],"position":{"start":{"line":145,"column":1,"offset":6615},"end":{"line":145,"column":94,"offset":6708},"indent":[]}},{"type":"list","ordered":false,"start":null,"spread":false,"children":[{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"MongoDB","position":{"start":{"line":147,"column":5,"offset":6714},"end":{"line":147,"column":12,"offset":6721},"indent":[]}}],"position":{"start":{"line":147,"column":5,"offset":6714},"end":{"line":147,"column":12,"offset":6721},"indent":[]}}],"position":{"start":{"line":147,"column":1,"offset":6710},"end":{"line":147,"column":12,"offset":6721},"indent":[]}},{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"Traefik","position":{"start":{"line":148,"column":5,"offset":6726},"end":{"line":148,"column":12,"offset":6733},"indent":[]}}],"position":{"start":{"line":148,"column":5,"offset":6726},"end":{"line":148,"column":12,"offset":6733},"indent":[]}}],"position":{"start":{"line":148,"column":1,"offset":6722},"end":{"line":148,"column":12,"offset":6733},"indent":[]}},{"type":"listItem","spread":false,"checked":null,"children":[{"type":"paragraph","children":[{"type":"text","value":"Factory","position":{"start":{"line":149,"column":5,"offset":6738},"end":{"line":149,"column":12,"offset":6745},"indent":[]}}],"position":{"start":{"line":149,"column":5,"offset":6738},"end":{"line":149,"column":12,"offset":6745},"indent":[]}}],"position":{"start":{"line":149,"column":1,"offset":6734},"end":{"line":149,"column":12,"offset":6745},"indent":[]}}],"position":{"start":{"line":147,"column":1,"offset":6710},"end":{"line":149,"column":12,"offset":6745},"indent":[1,1]}},{"type":"paragraph","children":[{"type":"text","value":"It should look like this.","position":{"start":{"line":151,"column":1,"offset":6747},"end":{"line":151,"column":26,"offset":6772},"indent":[]}}],"position":{"start":{"line":151,"column":1,"offset":6747},"end":{"line":151,"column":26,"offset":6772},"indent":[]}},{"type":"code","lang":null,"meta":null,"value":"$ kubectl get pods\nNAME READY STATUS RESTARTS AGE\nfactory-6f5c877d7c-hf77p 1/1 Running 0 2d11h\nmongodb-758d5c5ddd-qsfq9 1/1 Running 0 5m31s\ntraefik-7d566ccc47-mwslb 1/1 Running 0 4d12h","position":{"start":{"line":153,"column":1,"offset":6774},"end":{"line":157,"column":73,"offset":7086},"indent":[1,1,1,1]}},{"type":"heading","depth":2,"children":[{"type":"text","value":"Access the system","position":{"start":{"line":159,"column":4,"offset":7091},"end":{"line":159,"column":21,"offset":7108},"indent":[]}}],"position":{"start":{"line":159,"column":1,"offset":7088},"end":{"line":159,"column":21,"offset":7108},"indent":[]}},{"type":"paragraph","children":[{"type":"text","value":"Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain ","position":{"start":{"line":161,"column":1,"offset":7110},"end":{"line":161,"column":152,"offset":7261},"indent":[]}},{"type":"inlineCode","value":"factory.domain.com","position":{"start":{"line":161,"column":152,"offset":7261},"end":{"line":161,"column":172,"offset":7281},"indent":[]}},{"type":"text","value":" in your browser you will see the Factory login page showing up.","position":{"start":{"line":161,"column":172,"offset":7281},"end":{"line":161,"column":236,"offset":7345},"indent":[]}}],"position":{"start":{"line":161,"column":1,"offset":7110},"end":{"line":161,"column":236,"offset":7345},"indent":[]}},{"type":"paragraph","children":[{"type":"image","title":null,"url":"../../public/images/factory/kerberos-factory-loginpage.png","alt":"Factory","position":{"start":{"line":163,"column":1,"offset":7347},"end":{"line":163,"column":71,"offset":7417},"indent":[]}}],"position":{"start":{"line":163,"column":1,"offset":7347},"end":{"line":163,"column":71,"offset":7417},"indent":[]}},{"type":"export","value":"export const _frontmatter = {}","position":{"start":{"line":166,"column":1,"offset":7420},"end":{"line":166,"column":31,"offset":7450},"indent":[]}}],"position":{"start":{"line":1,"column":1,"offset":0},"end":{"line":166,"column":31,"offset":7450}}},"scopeImports":[],"scopeIdentifiers":[],"rawMDXOutput":"/* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\nimport DefaultLayout from \"/Users/i353408/Vagrant/www/repos/documentation/node_modules/gatsby-theme-docz/src/base/Layout.js\"\nimport ReplaceVersion from \"../components/ReplaceVersion\";\nexport const _frontmatter = {};\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\")\n return
\n};\n\nconst layoutProps = {\n _frontmatter\n};\nconst MDXLayout = DefaultLayout\nexport default function MDXContent({\n components,\n ...props\n}) {\n return \n\n\n\n

{`Introduction`}

\n

{`Start by installing a Kubernetes cluster. This can be done on one of the hyperscalers (`}{`AWS`}{`, `}{`GCP`}{` or `}{`Azure`}{`),\ncloud providers (Digital Ocean, Scaleway, etc) or on-premise in your own private network.`}

\n
\n
\n

\n

{`Installation`}

\n

{`Before setting up Kerberos Enterprise, some configuration needs to happen. First thing that we need to do is setting up the RBAC permissions (Role Based Access Control). We need to enable this to be able to query specific endpoints from the Kubernetes API. By default these endpoints are locked, so we need to unlock them.`}

\n
\n
\n

\n

{`First clone the configrations from our Github repo.`}

\n
{`git clone https://github.com/kerberos-io/enterprise enterprise`}{`\n`}{`cd enterprise`}
\n

{`Next go into the directory and execute the first Kubernetes configuration file `}{`clusterrole.yaml`}{`.`}

\n
{`kubectl create -f ./yaml/factory/clusterrole.yaml`}
\n

{`This will make several actions inside your cluster available. We need this to be able to create deployments from the factory web app.`}

\n

{`Helm`}

\n

{`Next we will install a couple of dependencies which are required for Kerberos Enterprise. `}{`Helm`}{` is a package manager for Kubernetes, it helps you setting up services more easily (this could be a MQTT broker, a database, etc).\nInstead of writing yaml files for every service we need, we use so called `}{`Charts`}{` (libraries), that you can reuse and configure the,\nwith the appropriate settings.`}

\n

{`Use one of the preferred OS package managers to install the Helm client:`}

\n
{`brew install helm`}{`\n`}{`\n`}{`choco install kubernetes-helm`}{`\n`}{`\n`}{`scoop install helm`}{`\n`}{`\n`}{`gofish install helm`}
\n

{`Traefik`}

\n

{`Traefik`}{` is a reverse proxy and load balancer which allows you to\nexpose your deployments more easily. Kerberos uses Traefik to expose it's APIs more easily.`}

\n

{`By executing following helm command, we will install traefik and link it to a specific DNS name. Open the traefik values file, `}{`yaml/traefik/values.yaml`}{`, and update the DNS name to your own domain.`}

\n
{`    dashboard:`}{`\n`}{`      enabled: true`}{`\n`}{`-->   domain: traefik.domain.com`}{`\n`}{`      serviceType: NodePort`}{`\n`}{`    rbac:`}{`\n`}{`        enabled: true`}
\n

{`Add Helm repository`}

\n
{`helm repo add stable https://kubernetes-charts.storage.googleapis.com`}
\n

{`Execute the `}{`helm install`}{` command. If using Helm version 2, write `}{`--name traefik`}{`.`}

\n
{`helm install traefik -f ./yaml/traefik/values.yaml stable/traefik`}
\n

{`After installation you should have an IP attached to traefik service, look for it by executing the `}{`get service`}{` command. You will see the ip address in the `}{`EXTERNAL-IP`}{` attribute.`}

\n
{`kubectl get svc`}{`\n`}{`\n`}{`    NAME                        TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE`}{`\n`}{`    kubernetes                  ClusterIP      10.0.0.1                 443/TCP                      36h`}{`\n`}{`--> traefik                     LoadBalancer   10.0.27.93     40.114.168.96   443:31623/TCP,80:31804/TCP   35h`}{`\n`}{`    traefik-dashboard           NodePort       10.0.252.6               80:31146/TCP                 35h`}
\n

{`Go to your DNS provider and link the domain you've configured in the first step `}{`traefik.domain.com`}{` to the IP address of the `}{`EXTERNAL-IP`}{` attribute.`}

\n

{`When browsing to `}{`traefik.domain.com`}{`, you should see the traefik dashboard showing up.`}

\n

{`MongoDB`}

\n

{`Kerberos Enterprise generates configurations for every surveillance camera that you want to monitor. These configuration files\nare stored centrally in a MongoDB database. Therefore we use Helm to install a MongoDB instance inside your cluster.`}

\n

{`Have a look into the `}{`yaml/mongodb/values.yaml`}{` file, you will find plenty of configurations for your MongoDB instance. You will also find the attribute where you can change the root password of mongodb. If using Helm version 2, write `}{`--name mongodb`}{`.`}

\n
{`helm repo add bitnami https://charts.bitnami.com/bitnami`}{`\n`}{`helm install mongodb bitnami/mongodb --values ./yaml/mongodb/values.yaml`}
\n

{`Once installed succesfully the MongoDB instance, we should copy the password of the MongoDB instance. Once revealed copy the password, as we will need in the next steps.`}

\n
{`export MONGODB_ROOT_PASSWORD=$(kubectl get secret --namespace default mongodb -o jsonpath=\"{.data.mongodb-root-password}\" | base64 --decode)`}{`\n`}{`echo $MONGODB_ROOT_PASSWORD`}
\n

{`Factory`}

\n

{`The last step is to install the factory service. Kerberos Enterprise is managed through an application which we call the `}{`Factory`}{`.`}

\n

{`The Factory is responsible for initiating\nthe deployments inside your cluster. These deployments is what we also call (similar to the Open Source version) the machinery.`}

\n

{`The Factory comes as a web interface which provides you with a tool to update your machineries easily, monitor them, etc. The Factory is the central portal for managing Kerberos Enterprise inside your cluster.`}

\n

{`Before installing the Factory service, open the `}{`yaml/factory/kubernetes.yaml`}{` configuration file. At the bottom file you will find two endpoints, similar to the traefik config file. Update the domain names to your own domain, and add these to your DNS server (pointing to the same IP as the traefik EXTERNAL-IP).`}

\n
{`    spec:`}{`\n`}{`      rules:`}{`\n`}{`-->   - host: factory.domain.com`}{`\n`}{`        http:`}{`\n`}{`          paths:`}{`\n`}{`          - path: /`}{`\n`}{`            backend:`}{`\n`}{`              serviceName: factory`}{`\n`}{`              servicePort: 80`}{`\n`}{`-->   - host: api.factory.domain.com`}{`\n`}{`        http:`}{`\n`}{`          paths:`}{`\n`}{`          - path: /`}{`\n`}{`            backend:`}{`\n`}{`              serviceName: factory`}{`\n`}{`              servicePort: 8081`}
\n

{`Modify the MongoDB credentials, and make sure they match the credentials of your MongoDB instance.`}

\n
{`    - name: MONGODB_USERNAME`}{`\n`}{`      value: \"root\"`}{`\n`}{`    - name: MONGODB_PASSWORD`}{`\n`}{`-->   value: \"xxxxxxxxxx\"`}
\n

{`Once you have corrected the DNS names, install the Factory service inside your cluster.`}

\n
{`kubectl apply -f ./yaml/factory/depeloyment.yaml`}
\n

{`Test out configuration`}

\n

{`If everything worked out as expected, you should now have following services in your cluster:`}

\n
    \n
  • {`MongoDB`}
  • \n
  • {`Traefik`}
  • \n
  • {`Factory`}
  • \n
\n

{`It should look like this.`}

\n
{`$ kubectl get pods`}{`\n`}{`NAME                              READY   STATUS    RESTARTS   AGE`}{`\n`}{`factory-6f5c877d7c-hf77p          1/1     Running   0          2d11h`}{`\n`}{`mongodb-758d5c5ddd-qsfq9          1/1     Running   0          5m31s`}{`\n`}{`traefik-7d566ccc47-mwslb          1/1     Running   0          4d12h`}
\n

{`Access the system`}

\n

{`Once everything is configured correctly your cluster and DNS, you should be able to setup the Factory application. By navigating to the Factory domain `}{`factory.domain.com`}{` in your browser you will see the Factory login page showing up.`}

\n

\"Factory\"

\n\n \n
;\n}\n\n;\nMDXContent.isMDXComponent = true;"}} \ No newline at end of file diff --git a/.docz/.cache/redux/redux.node.state_0 b/.docz/.cache/redux/redux.node.state_0 index 198747b..96bfe0a 100644 Binary files a/.docz/.cache/redux/redux.node.state_0 and b/.docz/.cache/redux/redux.node.state_0 differ diff --git a/.docz/.cache/redux/redux.rest.state b/.docz/.cache/redux/redux.rest.state index 8806efa..6d56847 100644 Binary files a/.docz/.cache/redux/redux.rest.state and b/.docz/.cache/redux/redux.rest.state differ diff --git a/.docz/.cache/sync-requires.js b/.docz/.cache/sync-requires.js index 942beda..8a2c9c8 100644 --- a/.docz/.cache/sync-requires.js +++ b/.docz/.cache/sync-requires.js @@ -7,14 +7,14 @@ const preferDefault = m => m && m.default || m exports.components = { "component---cache-dev-404-page-js": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/.docz/.cache/dev-404-page.js"))), "component---src-architectures-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/architectures.mdx"))), - "component---src-index-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/index.mdx"))), "component---src-how-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/how.mdx"))), - "component---src-enterprise-get-started-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/get-started.mdx"))), + "component---src-index-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/index.mdx"))), "component---src-enterprise-index-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/index.mdx"))), + "component---src-enterprise-get-started-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/get-started.mdx"))), "component---src-enterprise-installation-cloud-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-cloud.mdx"))), - "component---src-enterprise-releases-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/releases.mdx"))), "component---src-enterprise-installation-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation.mdx"))), "component---src-enterprise-installation-edge-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-edge.mdx"))), + "component---src-enterprise-releases-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/releases.mdx"))), "component---src-storage-get-started-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/storage/get-started.mdx"))), "component---src-storage-index-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/storage/index.mdx"))), "component---src-storage-installation-cloud-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation-cloud.mdx"))), @@ -25,12 +25,12 @@ exports.components = { "component---src-open-source-upgrade-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/upgrade.mdx"))), "component---src-open-source-web-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/web.mdx"))), "component---src-cloud-index-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/cloud/index.mdx"))), - "component---src-storage-license-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/storage/license.mdx"))), "component---src-open-source-contribute-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/contribute.mdx"))), + "component---src-storage-license-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/storage/license.mdx"))), "component---src-open-source-installation-advanced-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation-advanced.mdx"))), - "component---src-open-source-releases-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/releases.mdx"))), "component---src-open-source-installation-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation.mdx"))), "component---src-open-source-license-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/license.mdx"))), + "component---src-open-source-releases-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/releases.mdx"))), "component---src-open-source-machinery-mdx": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/src/open-source/machinery.mdx"))), "component---src-pages-404-js": hot(preferDefault(require("/Users/i353408/Vagrant/www/repos/documentation/.docz/src/pages/404.js"))) } diff --git a/.docz/app/db.json b/.docz/app/db.json index 79df39d..0a2d638 100644 --- a/.docz/app/db.json +++ b/.docz/app/db.json @@ -456,11 +456,6 @@ "depth": 2, "value": "Helm" }, - { - "slug": "initiate-helm", - "depth": 3, - "value": "Initiate Helm" - }, { "slug": "traefik", "depth": 2, @@ -507,10 +502,70 @@ "depth": 1, "value": "Introduction" }, + { + "slug": "cleanup", + "depth": 1, + "value": "Cleanup" + }, { "slug": "installation", "depth": 1, "value": "Installation" + }, + { + "slug": "untaint-all-nodess", + "depth": 1, + "value": "Untaint all nodess" + }, + { + "slug": "calico", + "depth": 1, + "value": "Calico" + }, + { + "slug": "download-kerberos-enterprise-configuration", + "depth": 1, + "value": "Download Kerberos Enterprise configuration" + }, + { + "slug": "install-metallb-httpsmetallbuniversetfinstallation", + "depth": 1, + "value": "Install metallb ( https://metallb.universe.tf/installation/ )" + }, + { + "slug": "setup-helm", + "depth": 1, + "value": "Setup helm" + }, + { + "slug": "setup-traefik", + "depth": 1, + "value": "Setup traefik" + }, + { + "slug": "setup-mongodb", + "depth": 1, + "value": "Setup mongoDB" + }, + { + "slug": "setup-kerberos-enterprise", + "depth": 1, + "value": "Setup Kerberos Enterprise" + }, + { + "slug": "setup-kerberos-storage", + "depth": 1, + "value": "Setup Kerberos Storage" + }, + { + "slug": "setup-minio", + "depth": 1, + "value": "Setup Minio" + }, + { + "slug": "setup-kerberos-storage-cleanup", + "depth": 1, + "value": "Setup Kerberos Storage Cleanup" } ] } @@ -532,6 +587,16 @@ "slug": "installation", "depth": 1, "value": "Installation" + }, + { + "slug": "installation-on-a-kubernetes-service-provider", + "depth": 2, + "value": "Installation on a Kubernetes Service Provider" + }, + { + "slug": "installation-in-private-cloud-or-baremetal", + "depth": 2, + "value": "Installation in Private Cloud or Baremetal" } ] } diff --git a/.docz/public/page-data/dev-404-page/page-data.json b/.docz/public/page-data/dev-404-page/page-data.json index 42bd0f8..50756b9 100644 --- a/.docz/public/page-data/dev-404-page/page-data.json +++ b/.docz/public/page-data/dev-404-page/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---cache-dev-404-page-js","path":"/dev-404-page/","result":{"data":{"allSitePage":{"nodes":[{"path":"/architectures"},{"path":"/"},{"path":"/how"},{"path":"/enterprise/get-started"},{"path":"/enterprise/introduction"},{"path":"/enterprise/installation-cloud"},{"path":"/enterprise/releases"},{"path":"/enterprise/installation"},{"path":"/enterprise/installation-edge"},{"path":"/storage/get-started"},{"path":"/storage/introduction"},{"path":"/storage/installation-cloud"},{"path":"/storage/installation-edge"},{"path":"/storage/installation"},{"path":"/opensource/get-started"},{"path":"/opensource/introduction"},{"path":"/opensource/upgrade"},{"path":"/opensource/web"},{"path":"/cloud"},{"path":"/storage/license"},{"path":"/opensource/contribute"},{"path":"/opensource/installation-advanced"},{"path":"/opensource/releases"},{"path":"/opensource/installation"},{"path":"/opensource/license"},{"path":"/opensource/machinery"},{"path":"/404/"},{"path":"/404.html"}]}},"pageContext":{}}} \ No newline at end of file +{"componentChunkName":"component---cache-dev-404-page-js","path":"/dev-404-page/","result":{"data":{"allSitePage":{"nodes":[{"path":"/architectures"},{"path":"/how"},{"path":"/"},{"path":"/enterprise/introduction"},{"path":"/enterprise/get-started"},{"path":"/enterprise/installation-cloud"},{"path":"/enterprise/installation"},{"path":"/enterprise/installation-edge"},{"path":"/enterprise/releases"},{"path":"/storage/get-started"},{"path":"/storage/introduction"},{"path":"/storage/installation-cloud"},{"path":"/storage/installation-edge"},{"path":"/storage/installation"},{"path":"/opensource/get-started"},{"path":"/opensource/introduction"},{"path":"/opensource/upgrade"},{"path":"/opensource/web"},{"path":"/cloud"},{"path":"/opensource/contribute"},{"path":"/storage/license"},{"path":"/opensource/installation-advanced"},{"path":"/opensource/installation"},{"path":"/opensource/license"},{"path":"/opensource/releases"},{"path":"/opensource/machinery"},{"path":"/404/"},{"path":"/404.html"}]}},"pageContext":{}}} \ No newline at end of file diff --git a/.docz/public/page-data/enterprise/installation-edge/page-data.json b/.docz/public/page-data/enterprise/installation-edge/page-data.json index 8e85310..042e40d 100644 --- a/.docz/public/page-data/enterprise/installation-edge/page-data.json +++ b/.docz/public/page-data/enterprise/installation-edge/page-data.json @@ -1 +1 @@ -{"componentChunkName":"component---src-enterprise-installation-edge-mdx","path":"/enterprise/installation-edge","result":{"pageContext":{"frontmatter":{"name":"Installation - Edge","menu":"Enterprise","route":"/enterprise/installation-edge"},"entry":{"id":"5c7d9c582069b1049cdbdab5b688c546","filepath":"src/enterprise/installation-edge.mdx","fullpath":"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-edge.mdx","route":"/enterprise/installation-edge","slug":"src-enterprise-installation-edge","name":"Installation - Edge","menu":"Enterprise","headings":[{"slug":"introduction","depth":1,"value":"Introduction"},{"slug":"installation","depth":1,"value":"Installation"}]}}}} \ No newline at end of file +{"componentChunkName":"component---src-enterprise-installation-edge-mdx","path":"/enterprise/installation-edge","result":{"pageContext":{"frontmatter":{"name":"Installation - Edge","menu":"Enterprise","route":"/enterprise/installation-edge"},"entry":{"id":"5c7d9c582069b1049cdbdab5b688c546","filepath":"src/enterprise/installation-edge.mdx","fullpath":"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-edge.mdx","route":"/enterprise/installation-edge","slug":"src-enterprise-installation-edge","name":"Installation - Edge","menu":"Enterprise","headings":[{"slug":"introduction","depth":1,"value":"Introduction"},{"slug":"cleanup","depth":1,"value":"Cleanup"},{"slug":"installation","depth":1,"value":"Installation"},{"slug":"untaint-all-nodess","depth":1,"value":"Untaint all nodess"},{"slug":"calico","depth":1,"value":"Calico"},{"slug":"download-kerberos-enterprise-configuration","depth":1,"value":"Download Kerberos Enterprise configuration"},{"slug":"install-metallb-httpsmetallbuniversetfinstallation","depth":1,"value":"Install metallb ( https://metallb.universe.tf/installation/ )"},{"slug":"setup-helm","depth":1,"value":"Setup helm"},{"slug":"setup-traefik","depth":1,"value":"Setup traefik"},{"slug":"setup-mongodb","depth":1,"value":"Setup mongoDB"},{"slug":"setup-kerberos-enterprise","depth":1,"value":"Setup Kerberos Enterprise"},{"slug":"setup-kerberos-storage","depth":1,"value":"Setup Kerberos Storage"},{"slug":"setup-minio","depth":1,"value":"Setup Minio"},{"slug":"setup-kerberos-storage-cleanup","depth":1,"value":"Setup Kerberos Storage Cleanup"}]}}}} \ No newline at end of file diff --git a/.docz/public/public/images/kerberos-enterprise-kubernetes.png b/.docz/public/public/images/kerberos-enterprise-kubernetes.png new file mode 100644 index 0000000..3eb9db1 Binary files /dev/null and b/.docz/public/public/images/kerberos-enterprise-kubernetes.png differ diff --git a/.docz/public/static/d/1803957048.json b/.docz/public/static/d/1803957048.json index 2f918d1..f8d8a34 100644 --- a/.docz/public/static/d/1803957048.json +++ b/.docz/public/static/d/1803957048.json @@ -1 +1 @@ -{"data":{"doczDb":{"id":"ace00e2b-9c46-5e24-a19a-5ed242ca9c64","db":"{\"config\":{\"title\":\"Kerberos.io\",\"description\":\"My awesome app using docz\",\"menu\":[\"Introduction\",\"How it works\",\"Architectures\",{\"name\":\"Open Source\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - advanced\",\"Releases\",\"License\",\"Upgrade\",\"Contribute\",\"Machinery\",\"Web\"]},{\"name\":\"Enterprise\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - Cloud\",\"Installation - Edge\",\"Releases\"]},{\"name\":\"Storage\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - Cloud\",\"Installation - Edge\",\"License\"]},\"Cloud\"],\"version\":\"2.0.0-rc.41\",\"repository\":\"https://github.com/kerberos-io\",\"native\":false,\"themeConfig\":{\"colors\":{\"primary\":\"#943733\",\"secondary\":\"#9e9e9e\",\"h5\":{\"color\":\"#943733\"},\"header\":{\"bg\":\"#943733\"},\"sidebar\":{\"bg\":\"#f9f9f9\",\"navLinkActive\":\"#943733\"},\"modes\":{\"dark\":{\"primary\":\"#9e9e9e\",\"secondary\":\"#943733\",\"header\":{\"bg\":\"#943733\"},\"sidebar\":{\"navLinkActive\":\"#fff\"}}}}},\"separator\":\"-\",\"gatsbyRemarkPlugins\":[{\"resolve\":\"gatsby-remark-vscode\"},{\"resolve\":\"gatsby-remark-grid-tables\"}]},\"entries\":[{\"key\":\"src/architectures.mdx\",\"value\":{\"name\":\"Architectures\",\"route\":\"/architectures\",\"id\":\"bb781d264051ead449d715317c32b263\",\"filepath\":\"src/architectures.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/architectures.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-architectures\",\"menu\":\"\",\"headings\":[{\"slug\":\"architectures\",\"depth\":1,\"value\":\"Architectures\"},{\"slug\":\"agents-on-premise\",\"depth\":2,\"value\":\"Agents on-premise\"},{\"slug\":\"kerberos-open-source--5-kerberos-agents\",\"depth\":3,\"value\":\"Kerberos Open Source (< 5 Kerberos agents)\"},{\"slug\":\"kerberos-enterprise--5-kerberos-agents\",\"depth\":3,\"value\":\"Kerberos Enterprise (> 5 Kerberos agents)\"},{\"slug\":\"agents-in-the-cloud\",\"depth\":2,\"value\":\"Agents in the cloud\"},{\"slug\":\"kerberos-open-source--5-kerberos-agents-1\",\"depth\":3,\"value\":\"Kerberos Open Source (< 5 Kerberos agents)\"},{\"slug\":\"kerberos-enterprise--5-kerberos-agents-1\",\"depth\":3,\"value\":\"Kerberos Enterprise (> 5 Kerberos agents)\"},{\"slug\":\"kerberos-cloud\",\"depth\":2,\"value\":\"Kerberos Cloud\"},{\"slug\":\"architecture\",\"depth\":3,\"value\":\"Architecture\"}]}},{\"key\":\"src/how.mdx\",\"value\":{\"name\":\"How it works\",\"route\":\"/how\",\"id\":\"456a1e92398967539c5497522b4455c5\",\"filepath\":\"src/how.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/how.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-how\",\"menu\":\"\",\"headings\":[{\"slug\":\"how-it-works\",\"depth\":1,\"value\":\"How it works\"},{\"slug\":\"front-end\",\"depth\":3,\"value\":\"Front-End\"},{\"slug\":\"back-end\",\"depth\":3,\"value\":\"Back-End\"},{\"slug\":\"open-source-vs-enterprise\",\"depth\":2,\"value\":\"Open Source vs Enterprise\"},{\"slug\":\"storage\",\"depth\":2,\"value\":\"Storage\"},{\"slug\":\"cloud\",\"depth\":2,\"value\":\"Cloud\"}]}},{\"key\":\"src/index.mdx\",\"value\":{\"name\":\"Introduction\",\"route\":\"/\",\"id\":\"6576455a124f9aaefd860597f03a8fe4\",\"filepath\":\"src/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-index\",\"menu\":\"\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"the-name-kerberosio\",\"depth\":2,\"value\":\"The name: Kerberos.io\"},{\"slug\":\"why-kerberos\",\"depth\":2,\"value\":\"Why Kerberos\"},{\"slug\":\"what-is-kerberos\",\"depth\":2,\"value\":\"What is Kerberos\"},{\"slug\":\"kerberos-agent\",\"depth\":3,\"value\":\"Kerberos Agent\"}]}},{\"key\":\"src/cloud/index.mdx\",\"value\":{\"name\":\"Cloud\",\"route\":\"/cloud\",\"id\":\"082761d36d79f69c41234676c7b77e13\",\"filepath\":\"src/cloud/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/cloud/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-cloud-index\",\"menu\":\"\",\"headings\":[{\"slug\":\"cloud\",\"depth\":1,\"value\":\"Cloud\"},{\"slug\":\"architecture\",\"depth\":2,\"value\":\"Architecture\"},{\"slug\":\"public-or-private-edition\",\"depth\":3,\"value\":\"Public or Private edition\"},{\"slug\":\"features\",\"depth\":2,\"value\":\"Features\"},{\"slug\":\"secured-storage\",\"depth\":2,\"value\":\"Secured storage\"},{\"slug\":\"consolidated-overview\",\"depth\":2,\"value\":\"Consolidated overview\"},{\"slug\":\"security\",\"depth\":3,\"value\":\"Security\"},{\"slug\":\"advanced-searching\",\"depth\":2,\"value\":\"Advanced searching\"},{\"slug\":\"machine-learning\",\"depth\":2,\"value\":\"Machine learning\"},{\"slug\":\"alerts\",\"depth\":2,\"value\":\"Alerts\"},{\"slug\":\"notifications\",\"depth\":3,\"value\":\"Notifications\"},{\"slug\":\"channels\",\"depth\":3,\"value\":\"Channels\"},{\"slug\":\"live-streaming\",\"depth\":2,\"value\":\"Live streaming\"},{\"slug\":\"accounts\",\"depth\":2,\"value\":\"Accounts\"},{\"slug\":\"logging\",\"depth\":2,\"value\":\"Logging\"}]}},{\"key\":\"src/enterprise/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/get-started\",\"id\":\"190cf47f9b2f25ec9b7155086f299a78\",\"filepath\":\"src/enterprise/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"overview\",\"depth\":2,\"value\":\"Overview\"},{\"slug\":\"kubernetes\",\"depth\":2,\"value\":\"Kubernetes\"},{\"slug\":\"nodes\",\"depth\":2,\"value\":\"Nodes\"},{\"slug\":\"deployments\",\"depth\":2,\"value\":\"Deployments\"},{\"slug\":\"adding-a-new-deployment\",\"depth\":3,\"value\":\"Adding a new deployment\"},{\"slug\":\"configuring-a-deployment\",\"depth\":3,\"value\":\"Configuring a deployment\"},{\"slug\":\"pods\",\"depth\":2,\"value\":\"Pods\"},{\"slug\":\"storage-and-video-management\",\"depth\":2,\"value\":\"Storage and video management\"}]}},{\"key\":\"src/enterprise/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/introduction\",\"id\":\"8f8fd9e742255635cf471c3030fa24ac\",\"filepath\":\"src/enterprise/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-index\",\"headings\":[{\"slug\":\"enterprise\",\"depth\":1,\"value\":\"Enterprise\"},{\"slug\":\"kubernetes\",\"depth\":2,\"value\":\"Kubernetes\"},{\"slug\":\"cloud-or-on-premise\",\"depth\":2,\"value\":\"Cloud or on premise\"},{\"slug\":\"licensing\",\"depth\":2,\"value\":\"Licensing\"}]}},{\"key\":\"src/enterprise/installation-cloud.mdx\",\"value\":{\"name\":\"Installation - Cloud\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation-cloud\",\"id\":\"b6c218189a84a0b60a84eaa5530cd5da\",\"filepath\":\"src/enterprise/installation-cloud.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-cloud.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation-cloud\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"initiate-helm\",\"depth\":3,\"value\":\"Initiate Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/enterprise/installation-edge.mdx\",\"value\":{\"name\":\"Installation - Edge\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation-edge\",\"id\":\"5c7d9c582069b1049cdbdab5b688c546\",\"filepath\":\"src/enterprise/installation-edge.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-edge.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation-edge\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"}]}},{\"key\":\"src/enterprise/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation\",\"id\":\"5cf033b11c0e22a8dad307af4f84a83b\",\"filepath\":\"src/enterprise/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"}]}},{\"key\":\"src/enterprise/releases.mdx\",\"value\":{\"name\":\"Releases\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/releases\",\"id\":\"d55649896dc1baed370ad4ea221aefb5\",\"filepath\":\"src/enterprise/releases.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/releases.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-releases\",\"headings\":[{\"slug\":\"release-notes\",\"depth\":1,\"value\":\"Release notes\"},{\"slug\":\"100\",\"depth\":3,\"value\":\"1.0.0\"},{\"slug\":\"factory\",\"depth\":4,\"value\":\"Factory\"}]}},{\"key\":\"src/open-source/contribute.mdx\",\"value\":{\"name\":\"Contribute\",\"menu\":\"Open Source\",\"route\":\"/opensource/contribute\",\"id\":\"111290db815f0c1a551a7742fd821f6f\",\"filepath\":\"src/open-source/contribute.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/contribute.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-contribute\",\"headings\":[{\"slug\":\"contribute\",\"depth\":1,\"value\":\"Contribute\"},{\"slug\":\"machinery\",\"depth\":2,\"value\":\"Machinery\"},{\"slug\":\"prerequisites\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"installation\",\"depth\":3,\"value\":\"Installation\"},{\"slug\":\"testing\",\"depth\":3,\"value\":\"Testing\"},{\"slug\":\"adding-a-new-class\",\"depth\":3,\"value\":\"Adding a new class\"},{\"slug\":\"create-the-header-file\",\"depth\":4,\"value\":\"Create the header file\"},{\"slug\":\"create-the-source-file\",\"depth\":4,\"value\":\"Create the source file\"},{\"slug\":\"modify-the-cmakeliststxt-file\",\"depth\":4,\"value\":\"Modify the CMakeLists.txt file\"},{\"slug\":\"create-a-new-entry-in-the-config-file\",\"depth\":4,\"value\":\"Create a new entry in the config file\"},{\"slug\":\"compile\",\"depth\":3,\"value\":\"Compile\"},{\"slug\":\"web\",\"depth\":2,\"value\":\"Web\"},{\"slug\":\"prerequisites-1\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"installation-1\",\"depth\":3,\"value\":\"Installation\"}]}},{\"key\":\"src/open-source/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Open Source\",\"route\":\"/opensource/get-started\",\"id\":\"059e06c8b1653a3b0c3473f90d782c13\",\"filepath\":\"src/open-source/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"welcome-page\",\"depth\":2,\"value\":\"Welcome page\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"dashboard\",\"depth\":2,\"value\":\"Dashboard\"},{\"slug\":\"media\",\"depth\":2,\"value\":\"Media\"},{\"slug\":\"settings\",\"depth\":2,\"value\":\"Settings\"},{\"slug\":\"region-of-interest\",\"depth\":3,\"value\":\"Region of interest\"},{\"slug\":\"storage\",\"depth\":3,\"value\":\"Storage\"},{\"slug\":\"system\",\"depth\":2,\"value\":\"System\"}]}},{\"key\":\"src/open-source/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Open Source\",\"route\":\"/opensource/introduction\",\"id\":\"e182a675cff01d9e46eba94b9b98f68a\",\"filepath\":\"src/open-source/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-index\",\"headings\":[{\"slug\":\"first-things-first\",\"depth\":1,\"value\":\"First things first\"},{\"slug\":\"license\",\"depth\":2,\"value\":\"License\"},{\"slug\":\"when-using-the-open-source-version\",\"depth\":2,\"value\":\"When using the Open Source version\"},{\"slug\":\"how-to-install\",\"depth\":2,\"value\":\"How to install\"}]}},{\"key\":\"src/open-source/installation-advanced.mdx\",\"value\":{\"name\":\"Installation - advanced\",\"menu\":\"Open Source\",\"route\":\"/opensource/installation-advanced\",\"id\":\"34d4c112da87fe3146ef41fdbfc94ef2\",\"filepath\":\"src/open-source/installation-advanced.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation-advanced.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-installation-advanced\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"plug-and-play\",\"depth\":3,\"value\":\"Plug and play\"},{\"slug\":\"advanced\",\"depth\":3,\"value\":\"Advanced\"},{\"slug\":\"advanced-1\",\"depth\":1,\"value\":\"Advanced\"},{\"slug\":\"raspbian\",\"depth\":2,\"value\":\"Raspbian\"},{\"slug\":\"update-os\",\"depth\":3,\"value\":\"Update OS\"},{\"slug\":\"machinery\",\"depth\":3,\"value\":\"Machinery\"},{\"slug\":\"web\",\"depth\":3,\"value\":\"Web\"},{\"slug\":\"auto-removal\",\"depth\":3,\"value\":\"Auto removal\"},{\"slug\":\"generic\",\"depth\":2,\"value\":\"Generic\"},{\"slug\":\"machinery-1\",\"depth\":3,\"value\":\"Machinery\"},{\"slug\":\"web-1\",\"depth\":3,\"value\":\"Web\"},{\"slug\":\"auto-removal-1\",\"depth\":3,\"value\":\"Auto removal\"}]}},{\"key\":\"src/open-source/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Open Source\",\"route\":\"/opensource/installation\",\"id\":\"9e9908538be367cca76a80425244646f\",\"filepath\":\"src/open-source/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"plug-and-play\",\"depth\":3,\"value\":\"Plug and play\"},{\"slug\":\"advanced\",\"depth\":3,\"value\":\"Advanced\"},{\"slug\":\"plug-and-play-1\",\"depth\":1,\"value\":\"Plug and play\"},{\"slug\":\"kios\",\"depth\":2,\"value\":\"KiOS\"},{\"slug\":\"github\",\"depth\":3,\"value\":\"Github\"},{\"slug\":\"kerberos-open-source-installer\",\"depth\":3,\"value\":\"Kerberos Open Source installer\"},{\"slug\":\"etcher\",\"depth\":3,\"value\":\"Etcher\"},{\"slug\":\"connecting-to-wifi\",\"depth\":4,\"value\":\"Connecting to WiFi\"},{\"slug\":\"setup-a-static-ip-address\",\"depth\":4,\"value\":\"Setup a static IP-address\"},{\"slug\":\"power-on-the-raspberry-pi\",\"depth\":3,\"value\":\"Power on the Raspberry Pi\"},{\"slug\":\"access-the-raspberry-pi\",\"depth\":3,\"value\":\"Access the Raspberry Pi\"},{\"slug\":\"docker\",\"depth\":2,\"value\":\"Docker\"},{\"slug\":\"prerequisites\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"github-1\",\"depth\":3,\"value\":\"Github\"},{\"slug\":\"download-docker-image\",\"depth\":3,\"value\":\"Download docker image\"},{\"slug\":\"volumes\",\"depth\":3,\"value\":\"Volumes\"},{\"slug\":\"balena\",\"depth\":2,\"value\":\"Balena\"},{\"slug\":\"1-create-a-balena-account\",\"depth\":3,\"value\":\"1. Create a Balena account\"},{\"slug\":\"2-create-a-device-and-flash\",\"depth\":3,\"value\":\"2. Create a device and flash\"},{\"slug\":\"3-connect\",\"depth\":3,\"value\":\"3. Connect\"},{\"slug\":\"4-write\",\"depth\":3,\"value\":\"4. Write\"},{\"slug\":\"5-push\",\"depth\":3,\"value\":\"5. Push\"}]}},{\"key\":\"src/open-source/license.mdx\",\"value\":{\"name\":\"License\",\"menu\":\"Open Source\",\"route\":\"/opensource/license\",\"id\":\"b41faa434ffd47abb4b845cb083fff55\",\"filepath\":\"src/open-source/license.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/license.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-license\",\"headings\":[{\"slug\":\"cc-by-nc-sa-40\",\"depth\":1,\"value\":\"CC BY-NC-SA 4.0\"},{\"slug\":\"summary\",\"depth\":2,\"value\":\"Summary\"},{\"slug\":\"the-license\",\"depth\":2,\"value\":\"The license\"},{\"slug\":\"section-1--definitions\",\"depth\":3,\"value\":\"Section 1 – Definitions.\"},{\"slug\":\"section-2--scope\",\"depth\":3,\"value\":\"Section 2 – Scope.\"},{\"slug\":\"section-3--license-conditions\",\"depth\":3,\"value\":\"Section 3 – License Conditions.\"},{\"slug\":\"section-4--sui-generis-database-rights\",\"depth\":3,\"value\":\"Section 4 – Sui Generis Database Rights.\"},{\"slug\":\"section-5--disclaimer-of-warranties-and-limitation-of-liability\",\"depth\":3,\"value\":\"Section 5 – Disclaimer of Warranties and Limitation of Liability.\"},{\"slug\":\"section-6--term-and-termination\",\"depth\":3,\"value\":\"Section 6 – Term and Termination.\"},{\"slug\":\"section-7--other-terms-and-conditions\",\"depth\":3,\"value\":\"Section 7 – Other Terms and Conditions.\"},{\"slug\":\"section-8--interpretation\",\"depth\":3,\"value\":\"Section 8 – Interpretation.\"}]}},{\"key\":\"src/open-source/machinery.mdx\",\"value\":{\"name\":\"Machinery\",\"menu\":\"Open Source\",\"route\":\"/opensource/machinery\",\"id\":\"8b5e104d90b9ec673d88bf43d6bf99f2\",\"filepath\":\"src/open-source/machinery.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/machinery.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-machinery\",\"headings\":[{\"slug\":\"machinery\",\"depth\":1,\"value\":\"Machinery\"},{\"slug\":\"project-structure\",\"depth\":2,\"value\":\"Project structure\"},{\"slug\":\"capture\",\"depth\":2,\"value\":\"Capture\"},{\"slug\":\"usb-camera\",\"depth\":3,\"value\":\"USB camera\"},{\"slug\":\"parameters\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"framewidth-and--height\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"device-number\",\"depth\":5,\"value\":\"Device number\"},{\"slug\":\"delay\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"raspberry-pi-camera-module\",\"depth\":3,\"value\":\"Raspberry Pi Camera Module\"},{\"slug\":\"parameters-1\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"framewidth-and--height-1\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"delay-1\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle-1\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"framerate\",\"depth\":5,\"value\":\"Framerate\"},{\"slug\":\"sharpness-saturation-contrast-brightness\",\"depth\":5,\"value\":\"Sharpness, saturation, contrast, brightness\"},{\"slug\":\"ip-camera\",\"depth\":3,\"value\":\"IP camera\"},{\"slug\":\"parameters-2\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"url\",\"depth\":5,\"value\":\"URL\"},{\"slug\":\"framewidth-and--height-2\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"delay-2\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle-2\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"condition\",\"depth\":2,\"value\":\"Condition\"},{\"slug\":\"enabled\",\"depth\":3,\"value\":\"Enabled\"},{\"slug\":\"parameters-3\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"active\",\"depth\":5,\"value\":\"Active\"},{\"slug\":\"delay-3\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"time\",\"depth\":3,\"value\":\"Time\"},{\"slug\":\"parameters-4\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"times\",\"depth\":5,\"value\":\"Times\"},{\"slug\":\"delay-4\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"algorithm\",\"depth\":2,\"value\":\"Algorithm\"},{\"slug\":\"differential-images\",\"depth\":3,\"value\":\"Differential images\"},{\"slug\":\"parameters-5\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"erode\",\"depth\":5,\"value\":\"Erode\"},{\"slug\":\"threshold\",\"depth\":5,\"value\":\"Threshold\"},{\"slug\":\"expositor\",\"depth\":2,\"value\":\"Expositor\"},{\"slug\":\"rectangle\",\"depth\":3,\"value\":\"Rectangle\"},{\"slug\":\"parameters-6\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"region\",\"depth\":5,\"value\":\"Region\"},{\"slug\":\"hull\",\"depth\":3,\"value\":\"Hull\"},{\"slug\":\"parameters-7\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"region-1\",\"depth\":5,\"value\":\"Region\"},{\"slug\":\"heuristic\",\"depth\":2,\"value\":\"Heuristic\"},{\"slug\":\"sequence\",\"depth\":3,\"value\":\"Sequence\"},{\"slug\":\"parameters-8\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"minimum-changes\",\"depth\":5,\"value\":\"Minimum changes\"},{\"slug\":\"minimum-durations\",\"depth\":5,\"value\":\"Minimum durations\"},{\"slug\":\"no-motion-delay-time\",\"depth\":5,\"value\":\"No motion delay time\"},{\"slug\":\"output\",\"depth\":2,\"value\":\"Output\"},{\"slug\":\"disk\",\"depth\":3,\"value\":\"Disk\"},{\"slug\":\"parameters-9\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"file-format\",\"depth\":5,\"value\":\"File format\"},{\"slug\":\"directory\",\"depth\":5,\"value\":\"Directory\"},{\"slug\":\"mark-with-timestamp\",\"depth\":5,\"value\":\"Mark with timestamp\"},{\"slug\":\"timestamp-color\",\"depth\":5,\"value\":\"Timestamp color\"},{\"slug\":\"privacy\",\"depth\":5,\"value\":\"Privacy\"},{\"slug\":\"throttler\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"video\",\"depth\":3,\"value\":\"Video\"},{\"slug\":\"parameters-10\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"fps\",\"depth\":5,\"value\":\"FPS\"},{\"slug\":\"record-after\",\"depth\":5,\"value\":\"Record after\"},{\"slug\":\"extensions\",\"depth\":5,\"value\":\"Extensions\"},{\"slug\":\"codec\",\"depth\":5,\"value\":\"Codec\"},{\"slug\":\"file-format-1\",\"depth\":5,\"value\":\"File format\"},{\"slug\":\"directory-1\",\"depth\":5,\"value\":\"Directory\"},{\"slug\":\"hardware-directory\",\"depth\":5,\"value\":\"Hardware directory\"},{\"slug\":\"enable-hardware-encoding\",\"depth\":5,\"value\":\"Enable Hardware encoding\"},{\"slug\":\"mark-with-timestamp-1\",\"depth\":5,\"value\":\"Mark with timestamp\"},{\"slug\":\"timestamp-color-1\",\"depth\":5,\"value\":\"Timestamp color\"},{\"slug\":\"privacy-1\",\"depth\":5,\"value\":\"Privacy\"},{\"slug\":\"video-privacy\",\"depth\":5,\"value\":\"Video privacy\"},{\"slug\":\"throttler-1\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"tcpip-client\",\"depth\":3,\"value\":\"TCP/IP client\"},{\"slug\":\"parameters-11\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"server\",\"depth\":5,\"value\":\"Server\"},{\"slug\":\"port\",\"depth\":5,\"value\":\"Port\"},{\"slug\":\"message\",\"depth\":5,\"value\":\"Message\"},{\"slug\":\"throttler-2\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"gpio\",\"depth\":3,\"value\":\"GPIO\"},{\"slug\":\"parameters-12\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"pin\",\"depth\":5,\"value\":\"Pin\"},{\"slug\":\"periods\",\"depth\":5,\"value\":\"Periods\"},{\"slug\":\"period-time\",\"depth\":5,\"value\":\"Period time\"},{\"slug\":\"throttler-3\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"webhook\",\"depth\":3,\"value\":\"Webhook\"},{\"slug\":\"parameters-13\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"url-1\",\"depth\":5,\"value\":\"Url\"},{\"slug\":\"throttler-4\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"output-1\",\"depth\":5,\"value\":\"Output\"},{\"slug\":\"script\",\"depth\":3,\"value\":\"Script\"},{\"slug\":\"parameters-14\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"path\",\"depth\":5,\"value\":\"Path\"},{\"slug\":\"throttler-5\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"example\",\"depth\":5,\"value\":\"Example\"},{\"slug\":\"mqtt\",\"depth\":3,\"value\":\"MQTT\"},{\"slug\":\"parameters-15\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"secure\",\"depth\":5,\"value\":\"Secure\"},{\"slug\":\"verifycn\",\"depth\":5,\"value\":\"Verifycn\"},{\"slug\":\"server-1\",\"depth\":5,\"value\":\"Server\"},{\"slug\":\"port-1\",\"depth\":5,\"value\":\"Port\"},{\"slug\":\"topic\",\"depth\":5,\"value\":\"Topic\"},{\"slug\":\"username\",\"depth\":5,\"value\":\"Username\"},{\"slug\":\"password\",\"depth\":5,\"value\":\"Password\"},{\"slug\":\"throttler-6\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"output-2\",\"depth\":5,\"value\":\"Output\"},{\"slug\":\"example-1\",\"depth\":5,\"value\":\"Example\"},{\"slug\":\"streaming\",\"depth\":2,\"value\":\"Streaming\"},{\"slug\":\"parameters-16\",\"depth\":3,\"value\":\"Parameters\"},{\"slug\":\"enabled-1\",\"depth\":4,\"value\":\"Enabled\"},{\"slug\":\"stream-port\",\"depth\":4,\"value\":\"Stream Port\"},{\"slug\":\"quality\",\"depth\":4,\"value\":\"Quality\"},{\"slug\":\"usernamepassword\",\"depth\":4,\"value\":\"Username/password\"}]}},{\"key\":\"src/open-source/releases.mdx\",\"value\":{\"name\":\"Releases\",\"menu\":\"Open Source\",\"route\":\"/opensource/releases\",\"id\":\"0513012dd89890d93de77c3aa4597e7f\",\"filepath\":\"src/open-source/releases.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/releases.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-releases\",\"headings\":[{\"slug\":\"release-notes\",\"depth\":1,\"value\":\"Release notes\"},{\"slug\":\"280\",\"depth\":3,\"value\":\"2.8.0\"},{\"slug\":\"web\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"kios\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"272\",\"depth\":3,\"value\":\"2.7.2\"},{\"slug\":\"machinery\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"271\",\"depth\":3,\"value\":\"2.7.1\"},{\"slug\":\"machinery-1\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"kios-1\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"270\",\"depth\":3,\"value\":\"2.7.0\"},{\"slug\":\"web-1\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-2\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"kios-2\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"261\",\"depth\":3,\"value\":\"2.6.1\"},{\"slug\":\"web-2\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-3\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"260\",\"depth\":3,\"value\":\"2.6.0\"},{\"slug\":\"web-3\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-4\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker-1\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"250\",\"depth\":3,\"value\":\"2.5.0\"},{\"slug\":\"web-4\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-5\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"242\",\"depth\":3,\"value\":\"2.4.2\"},{\"slug\":\"web-5\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-6\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"241\",\"depth\":3,\"value\":\"2.4.1\"},{\"slug\":\"web-6\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"240\",\"depth\":3,\"value\":\"2.4.0\"},{\"slug\":\"ecosystem\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-7\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"docker-2\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"machinery-7\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"231\",\"depth\":3,\"value\":\"2.3.1\"},{\"slug\":\"machinery-8\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"230\",\"depth\":3,\"value\":\"2.3.0\"},{\"slug\":\"ecosystem-1\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"221\",\"depth\":3,\"value\":\"2.2.1\"},{\"slug\":\"ecosystem-2\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-8\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-9\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"220\",\"depth\":3,\"value\":\"2.2.0\"},{\"slug\":\"ecosystem-3\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-9\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-10\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"210\",\"depth\":3,\"value\":\"2.1.0\"},{\"slug\":\"web-10\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-11\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"ecosystem-4\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"200\",\"depth\":3,\"value\":\"2.0.0\"},{\"slug\":\"web-11\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-12\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker-3\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"ecosystem-5\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"110\",\"depth\":3,\"value\":\"1.1.0\"},{\"slug\":\"web-12\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-13\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"cloud\",\"depth\":4,\"value\":\"Cloud\"},{\"slug\":\"103\",\"depth\":3,\"value\":\"1.0.3\"},{\"slug\":\"web-13\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-14\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"cloud-1\",\"depth\":4,\"value\":\"Cloud\"},{\"slug\":\"102\",\"depth\":3,\"value\":\"1.0.2\"},{\"slug\":\"web-14\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-15\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"101\",\"depth\":3,\"value\":\"1.0.1\"},{\"slug\":\"web-15\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-16\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"100\",\"depth\":3,\"value\":\"1.0.0\"},{\"slug\":\"first-commit-of-kerberosio\",\"depth\":4,\"value\":\"First commit of Kerberos.io\"}]}},{\"key\":\"src/open-source/upgrade.mdx\",\"value\":{\"name\":\"Upgrade\",\"menu\":\"Open Source\",\"route\":\"/opensource/upgrade\",\"id\":\"bdff501afe4f3c7e6fc0f2ef0f365d5d\",\"filepath\":\"src/open-source/upgrade.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/upgrade.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-upgrade\",\"headings\":[{\"slug\":\"upgrade\",\"depth\":1,\"value\":\"Upgrade\"},{\"slug\":\"kios\",\"depth\":2,\"value\":\"KiOS\"},{\"slug\":\"raspbian\",\"depth\":2,\"value\":\"Raspbian\"},{\"slug\":\"docker\",\"depth\":2,\"value\":\"Docker\"}]}},{\"key\":\"src/open-source/web.mdx\",\"value\":{\"name\":\"Web\",\"menu\":\"Open Source\",\"route\":\"/opensource/web\",\"id\":\"302e6588cf7f47fc4110356883b1761b\",\"filepath\":\"src/open-source/web.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/web.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-web\",\"headings\":[{\"slug\":\"web-interface\",\"depth\":1,\"value\":\"Web interface\"},{\"slug\":\"overview\",\"depth\":2,\"value\":\"Overview\"},{\"slug\":\"dashboard\",\"depth\":3,\"value\":\"Dashboard\"},{\"slug\":\"overview-1\",\"depth\":3,\"value\":\"Overview\"},{\"slug\":\"settings\",\"depth\":3,\"value\":\"Settings\"},{\"slug\":\"system\",\"depth\":3,\"value\":\"System\"},{\"slug\":\"project-structure\",\"depth\":2,\"value\":\"Project structure\"},{\"slug\":\"back-end\",\"depth\":3,\"value\":\"Back-end\"},{\"slug\":\"front-end\",\"depth\":3,\"value\":\"Front-end\"},{\"slug\":\"api\",\"depth\":2,\"value\":\"API\"},{\"slug\":\"authentication\",\"depth\":3,\"value\":\"Authentication\"},{\"slug\":\"endpoints\",\"depth\":3,\"value\":\"Endpoints\"},{\"slug\":\"version-1\",\"depth\":3,\"value\":\"Version 1\"}]}},{\"key\":\"src/storage/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Storage\",\"route\":\"/storage/get-started\",\"id\":\"c7e5dcab89cbb47494e742eaa025320d\",\"filepath\":\"src/storage/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"license-key\",\"depth\":2,\"value\":\"License key\"},{\"slug\":\"providers\",\"depth\":2,\"value\":\"Providers\"},{\"slug\":\"queues\",\"depth\":2,\"value\":\"Queues\"},{\"slug\":\"accounts\",\"depth\":2,\"value\":\"Accounts\"},{\"slug\":\"media\",\"depth\":2,\"value\":\"Media\"},{\"slug\":\"cleanup\",\"depth\":2,\"value\":\"Cleanup\"}]}},{\"key\":\"src/storage/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Storage\",\"route\":\"/storage/introduction\",\"id\":\"80b5f208a419fd50090370744bb3b5c3\",\"filepath\":\"src/storage/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-index\",\"headings\":[{\"slug\":\"storage\",\"depth\":1,\"value\":\"Storage\"},{\"slug\":\"kerberos-cloud\",\"depth\":2,\"value\":\"Kerberos Cloud\"},{\"slug\":\"bring-your-own-cloud\",\"depth\":2,\"value\":\"Bring Your Own Cloud\"},{\"slug\":\"events\",\"depth\":3,\"value\":\"Events\"}]}},{\"key\":\"src/storage/installation-cloud.mdx\",\"value\":{\"name\":\"Installation - Cloud\",\"menu\":\"Storage\",\"route\":\"/storage/installation-cloud\",\"id\":\"a8b1ddb7fa9459e5d6a4c2ad40a62f97\",\"filepath\":\"src/storage/installation-cloud.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation-cloud.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation-cloud\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"initiate-helm\",\"depth\":3,\"value\":\"Initiate Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/storage/installation-edge.mdx\",\"value\":{\"name\":\"Installation - Edge\",\"menu\":\"Storage\",\"route\":\"/storage/installation-edge\",\"id\":\"da0491f238b15af2e27a09197c22b441\",\"filepath\":\"src/storage/installation-edge.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation-edge.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation-edge\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"initiate-helm\",\"depth\":3,\"value\":\"Initiate Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/storage/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Storage\",\"route\":\"/storage/installation\",\"id\":\"50b670115b9f8cdaaa778cfa0baa4d1b\",\"filepath\":\"src/storage/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"storage\",\"depth\":2,\"value\":\"Storage\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"},{\"slug\":\"storage-cleanup\",\"depth\":2,\"value\":\"Storage Cleanup\"}]}},{\"key\":\"src/storage/license.mdx\",\"value\":{\"name\":\"License\",\"menu\":\"Storage\",\"route\":\"/storage/license\",\"id\":\"66157b559698ef176887277b64a78388\",\"filepath\":\"src/storage/license.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/license.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-license\",\"headings\":[{\"slug\":\"license-server\",\"depth\":1,\"value\":\"License server\"},{\"slug\":\"eula\",\"depth\":1,\"value\":\"EULA\"}]}}],\"props\":[{\"key\":\"src/components/Link.jsx\",\"value\":[{\"description\":\"\",\"displayName\":\"Link\",\"methods\":[],\"actualName\":\"Link\"}]},{\"key\":\"src/gatsby-theme-docz/components/Header/index.js\",\"value\":[{\"description\":\"\",\"displayName\":\"Header\",\"methods\":[],\"actualName\":\"Header\"}]},{\"key\":\"src/gatsby-theme-docz/components/Logo/index.js\",\"value\":[{\"description\":\"\",\"displayName\":\"Logo\",\"methods\":[],\"actualName\":\"Logo\"}]}]}"}}} \ No newline at end of file +{"data":{"doczDb":{"id":"ace00e2b-9c46-5e24-a19a-5ed242ca9c64","db":"{\"config\":{\"title\":\"Kerberos.io\",\"description\":\"My awesome app using docz\",\"menu\":[\"Introduction\",\"How it works\",\"Architectures\",{\"name\":\"Open Source\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - advanced\",\"Releases\",\"License\",\"Upgrade\",\"Contribute\",\"Machinery\",\"Web\"]},{\"name\":\"Enterprise\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - Cloud\",\"Installation - Edge\",\"Releases\"]},{\"name\":\"Storage\",\"menu\":[\"First things first\",\"Get Started\",\"Installation\",\"Installation - Cloud\",\"Installation - Edge\",\"License\"]},\"Cloud\"],\"version\":\"2.0.0-rc.41\",\"repository\":\"https://github.com/kerberos-io\",\"native\":false,\"themeConfig\":{\"colors\":{\"primary\":\"#943733\",\"secondary\":\"#9e9e9e\",\"h5\":{\"color\":\"#943733\"},\"header\":{\"bg\":\"#943733\"},\"sidebar\":{\"bg\":\"#f9f9f9\",\"navLinkActive\":\"#943733\"},\"modes\":{\"dark\":{\"primary\":\"#9e9e9e\",\"secondary\":\"#943733\",\"header\":{\"bg\":\"#943733\"},\"sidebar\":{\"navLinkActive\":\"#fff\"}}}}},\"separator\":\"-\",\"gatsbyRemarkPlugins\":[{\"resolve\":\"gatsby-remark-vscode\"},{\"resolve\":\"gatsby-remark-grid-tables\"}]},\"entries\":[{\"key\":\"src/architectures.mdx\",\"value\":{\"name\":\"Architectures\",\"route\":\"/architectures\",\"id\":\"bb781d264051ead449d715317c32b263\",\"filepath\":\"src/architectures.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/architectures.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-architectures\",\"menu\":\"\",\"headings\":[{\"slug\":\"architectures\",\"depth\":1,\"value\":\"Architectures\"},{\"slug\":\"agents-on-premise\",\"depth\":2,\"value\":\"Agents on-premise\"},{\"slug\":\"kerberos-open-source--5-kerberos-agents\",\"depth\":3,\"value\":\"Kerberos Open Source (< 5 Kerberos agents)\"},{\"slug\":\"kerberos-enterprise--5-kerberos-agents\",\"depth\":3,\"value\":\"Kerberos Enterprise (> 5 Kerberos agents)\"},{\"slug\":\"agents-in-the-cloud\",\"depth\":2,\"value\":\"Agents in the cloud\"},{\"slug\":\"kerberos-open-source--5-kerberos-agents-1\",\"depth\":3,\"value\":\"Kerberos Open Source (< 5 Kerberos agents)\"},{\"slug\":\"kerberos-enterprise--5-kerberos-agents-1\",\"depth\":3,\"value\":\"Kerberos Enterprise (> 5 Kerberos agents)\"},{\"slug\":\"kerberos-cloud\",\"depth\":2,\"value\":\"Kerberos Cloud\"},{\"slug\":\"architecture\",\"depth\":3,\"value\":\"Architecture\"}]}},{\"key\":\"src/how.mdx\",\"value\":{\"name\":\"How it works\",\"route\":\"/how\",\"id\":\"456a1e92398967539c5497522b4455c5\",\"filepath\":\"src/how.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/how.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-how\",\"menu\":\"\",\"headings\":[{\"slug\":\"how-it-works\",\"depth\":1,\"value\":\"How it works\"},{\"slug\":\"front-end\",\"depth\":3,\"value\":\"Front-End\"},{\"slug\":\"back-end\",\"depth\":3,\"value\":\"Back-End\"},{\"slug\":\"open-source-vs-enterprise\",\"depth\":2,\"value\":\"Open Source vs Enterprise\"},{\"slug\":\"storage\",\"depth\":2,\"value\":\"Storage\"},{\"slug\":\"cloud\",\"depth\":2,\"value\":\"Cloud\"}]}},{\"key\":\"src/index.mdx\",\"value\":{\"name\":\"Introduction\",\"route\":\"/\",\"id\":\"6576455a124f9aaefd860597f03a8fe4\",\"filepath\":\"src/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-index\",\"menu\":\"\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"the-name-kerberosio\",\"depth\":2,\"value\":\"The name: Kerberos.io\"},{\"slug\":\"why-kerberos\",\"depth\":2,\"value\":\"Why Kerberos\"},{\"slug\":\"what-is-kerberos\",\"depth\":2,\"value\":\"What is Kerberos\"},{\"slug\":\"kerberos-agent\",\"depth\":3,\"value\":\"Kerberos Agent\"}]}},{\"key\":\"src/cloud/index.mdx\",\"value\":{\"name\":\"Cloud\",\"route\":\"/cloud\",\"id\":\"082761d36d79f69c41234676c7b77e13\",\"filepath\":\"src/cloud/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/cloud/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-cloud-index\",\"menu\":\"\",\"headings\":[{\"slug\":\"cloud\",\"depth\":1,\"value\":\"Cloud\"},{\"slug\":\"architecture\",\"depth\":2,\"value\":\"Architecture\"},{\"slug\":\"public-or-private-edition\",\"depth\":3,\"value\":\"Public or Private edition\"},{\"slug\":\"features\",\"depth\":2,\"value\":\"Features\"},{\"slug\":\"secured-storage\",\"depth\":2,\"value\":\"Secured storage\"},{\"slug\":\"consolidated-overview\",\"depth\":2,\"value\":\"Consolidated overview\"},{\"slug\":\"security\",\"depth\":3,\"value\":\"Security\"},{\"slug\":\"advanced-searching\",\"depth\":2,\"value\":\"Advanced searching\"},{\"slug\":\"machine-learning\",\"depth\":2,\"value\":\"Machine learning\"},{\"slug\":\"alerts\",\"depth\":2,\"value\":\"Alerts\"},{\"slug\":\"notifications\",\"depth\":3,\"value\":\"Notifications\"},{\"slug\":\"channels\",\"depth\":3,\"value\":\"Channels\"},{\"slug\":\"live-streaming\",\"depth\":2,\"value\":\"Live streaming\"},{\"slug\":\"accounts\",\"depth\":2,\"value\":\"Accounts\"},{\"slug\":\"logging\",\"depth\":2,\"value\":\"Logging\"}]}},{\"key\":\"src/enterprise/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/get-started\",\"id\":\"190cf47f9b2f25ec9b7155086f299a78\",\"filepath\":\"src/enterprise/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"overview\",\"depth\":2,\"value\":\"Overview\"},{\"slug\":\"kubernetes\",\"depth\":2,\"value\":\"Kubernetes\"},{\"slug\":\"nodes\",\"depth\":2,\"value\":\"Nodes\"},{\"slug\":\"deployments\",\"depth\":2,\"value\":\"Deployments\"},{\"slug\":\"adding-a-new-deployment\",\"depth\":3,\"value\":\"Adding a new deployment\"},{\"slug\":\"configuring-a-deployment\",\"depth\":3,\"value\":\"Configuring a deployment\"},{\"slug\":\"pods\",\"depth\":2,\"value\":\"Pods\"},{\"slug\":\"storage-and-video-management\",\"depth\":2,\"value\":\"Storage and video management\"}]}},{\"key\":\"src/enterprise/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/introduction\",\"id\":\"8f8fd9e742255635cf471c3030fa24ac\",\"filepath\":\"src/enterprise/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-index\",\"headings\":[{\"slug\":\"enterprise\",\"depth\":1,\"value\":\"Enterprise\"},{\"slug\":\"kubernetes\",\"depth\":2,\"value\":\"Kubernetes\"},{\"slug\":\"cloud-or-on-premise\",\"depth\":2,\"value\":\"Cloud or on premise\"},{\"slug\":\"licensing\",\"depth\":2,\"value\":\"Licensing\"}]}},{\"key\":\"src/enterprise/installation-cloud.mdx\",\"value\":{\"name\":\"Installation - Cloud\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation-cloud\",\"id\":\"b6c218189a84a0b60a84eaa5530cd5da\",\"filepath\":\"src/enterprise/installation-cloud.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-cloud.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation-cloud\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/enterprise/installation-edge.mdx\",\"value\":{\"name\":\"Installation - Edge\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation-edge\",\"id\":\"5c7d9c582069b1049cdbdab5b688c546\",\"filepath\":\"src/enterprise/installation-edge.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation-edge.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation-edge\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"cleanup\",\"depth\":1,\"value\":\"Cleanup\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"untaint-all-nodess\",\"depth\":1,\"value\":\"Untaint all nodess\"},{\"slug\":\"calico\",\"depth\":1,\"value\":\"Calico\"},{\"slug\":\"download-kerberos-enterprise-configuration\",\"depth\":1,\"value\":\"Download Kerberos Enterprise configuration\"},{\"slug\":\"install-metallb-httpsmetallbuniversetfinstallation\",\"depth\":1,\"value\":\"Install metallb ( https://metallb.universe.tf/installation/ )\"},{\"slug\":\"setup-helm\",\"depth\":1,\"value\":\"Setup helm\"},{\"slug\":\"setup-traefik\",\"depth\":1,\"value\":\"Setup traefik\"},{\"slug\":\"setup-mongodb\",\"depth\":1,\"value\":\"Setup mongoDB\"},{\"slug\":\"setup-kerberos-enterprise\",\"depth\":1,\"value\":\"Setup Kerberos Enterprise\"},{\"slug\":\"setup-kerberos-storage\",\"depth\":1,\"value\":\"Setup Kerberos Storage\"},{\"slug\":\"setup-minio\",\"depth\":1,\"value\":\"Setup Minio\"},{\"slug\":\"setup-kerberos-storage-cleanup\",\"depth\":1,\"value\":\"Setup Kerberos Storage Cleanup\"}]}},{\"key\":\"src/enterprise/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/installation\",\"id\":\"5cf033b11c0e22a8dad307af4f84a83b\",\"filepath\":\"src/enterprise/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"installation-on-a-kubernetes-service-provider\",\"depth\":2,\"value\":\"Installation on a Kubernetes Service Provider\"},{\"slug\":\"installation-in-private-cloud-or-baremetal\",\"depth\":2,\"value\":\"Installation in Private Cloud or Baremetal\"}]}},{\"key\":\"src/enterprise/releases.mdx\",\"value\":{\"name\":\"Releases\",\"menu\":\"Enterprise\",\"route\":\"/enterprise/releases\",\"id\":\"d55649896dc1baed370ad4ea221aefb5\",\"filepath\":\"src/enterprise/releases.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/enterprise/releases.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-enterprise-releases\",\"headings\":[{\"slug\":\"release-notes\",\"depth\":1,\"value\":\"Release notes\"},{\"slug\":\"100\",\"depth\":3,\"value\":\"1.0.0\"},{\"slug\":\"factory\",\"depth\":4,\"value\":\"Factory\"}]}},{\"key\":\"src/open-source/contribute.mdx\",\"value\":{\"name\":\"Contribute\",\"menu\":\"Open Source\",\"route\":\"/opensource/contribute\",\"id\":\"111290db815f0c1a551a7742fd821f6f\",\"filepath\":\"src/open-source/contribute.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/contribute.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-contribute\",\"headings\":[{\"slug\":\"contribute\",\"depth\":1,\"value\":\"Contribute\"},{\"slug\":\"machinery\",\"depth\":2,\"value\":\"Machinery\"},{\"slug\":\"prerequisites\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"installation\",\"depth\":3,\"value\":\"Installation\"},{\"slug\":\"testing\",\"depth\":3,\"value\":\"Testing\"},{\"slug\":\"adding-a-new-class\",\"depth\":3,\"value\":\"Adding a new class\"},{\"slug\":\"create-the-header-file\",\"depth\":4,\"value\":\"Create the header file\"},{\"slug\":\"create-the-source-file\",\"depth\":4,\"value\":\"Create the source file\"},{\"slug\":\"modify-the-cmakeliststxt-file\",\"depth\":4,\"value\":\"Modify the CMakeLists.txt file\"},{\"slug\":\"create-a-new-entry-in-the-config-file\",\"depth\":4,\"value\":\"Create a new entry in the config file\"},{\"slug\":\"compile\",\"depth\":3,\"value\":\"Compile\"},{\"slug\":\"web\",\"depth\":2,\"value\":\"Web\"},{\"slug\":\"prerequisites-1\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"installation-1\",\"depth\":3,\"value\":\"Installation\"}]}},{\"key\":\"src/open-source/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Open Source\",\"route\":\"/opensource/get-started\",\"id\":\"059e06c8b1653a3b0c3473f90d782c13\",\"filepath\":\"src/open-source/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"welcome-page\",\"depth\":2,\"value\":\"Welcome page\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"dashboard\",\"depth\":2,\"value\":\"Dashboard\"},{\"slug\":\"media\",\"depth\":2,\"value\":\"Media\"},{\"slug\":\"settings\",\"depth\":2,\"value\":\"Settings\"},{\"slug\":\"region-of-interest\",\"depth\":3,\"value\":\"Region of interest\"},{\"slug\":\"storage\",\"depth\":3,\"value\":\"Storage\"},{\"slug\":\"system\",\"depth\":2,\"value\":\"System\"}]}},{\"key\":\"src/open-source/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Open Source\",\"route\":\"/opensource/introduction\",\"id\":\"e182a675cff01d9e46eba94b9b98f68a\",\"filepath\":\"src/open-source/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-index\",\"headings\":[{\"slug\":\"first-things-first\",\"depth\":1,\"value\":\"First things first\"},{\"slug\":\"license\",\"depth\":2,\"value\":\"License\"},{\"slug\":\"when-using-the-open-source-version\",\"depth\":2,\"value\":\"When using the Open Source version\"},{\"slug\":\"how-to-install\",\"depth\":2,\"value\":\"How to install\"}]}},{\"key\":\"src/open-source/installation-advanced.mdx\",\"value\":{\"name\":\"Installation - advanced\",\"menu\":\"Open Source\",\"route\":\"/opensource/installation-advanced\",\"id\":\"34d4c112da87fe3146ef41fdbfc94ef2\",\"filepath\":\"src/open-source/installation-advanced.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation-advanced.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-installation-advanced\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"plug-and-play\",\"depth\":3,\"value\":\"Plug and play\"},{\"slug\":\"advanced\",\"depth\":3,\"value\":\"Advanced\"},{\"slug\":\"advanced-1\",\"depth\":1,\"value\":\"Advanced\"},{\"slug\":\"raspbian\",\"depth\":2,\"value\":\"Raspbian\"},{\"slug\":\"update-os\",\"depth\":3,\"value\":\"Update OS\"},{\"slug\":\"machinery\",\"depth\":3,\"value\":\"Machinery\"},{\"slug\":\"web\",\"depth\":3,\"value\":\"Web\"},{\"slug\":\"auto-removal\",\"depth\":3,\"value\":\"Auto removal\"},{\"slug\":\"generic\",\"depth\":2,\"value\":\"Generic\"},{\"slug\":\"machinery-1\",\"depth\":3,\"value\":\"Machinery\"},{\"slug\":\"web-1\",\"depth\":3,\"value\":\"Web\"},{\"slug\":\"auto-removal-1\",\"depth\":3,\"value\":\"Auto removal\"}]}},{\"key\":\"src/open-source/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Open Source\",\"route\":\"/opensource/installation\",\"id\":\"9e9908538be367cca76a80425244646f\",\"filepath\":\"src/open-source/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"plug-and-play\",\"depth\":3,\"value\":\"Plug and play\"},{\"slug\":\"advanced\",\"depth\":3,\"value\":\"Advanced\"},{\"slug\":\"plug-and-play-1\",\"depth\":1,\"value\":\"Plug and play\"},{\"slug\":\"kios\",\"depth\":2,\"value\":\"KiOS\"},{\"slug\":\"github\",\"depth\":3,\"value\":\"Github\"},{\"slug\":\"kerberos-open-source-installer\",\"depth\":3,\"value\":\"Kerberos Open Source installer\"},{\"slug\":\"etcher\",\"depth\":3,\"value\":\"Etcher\"},{\"slug\":\"connecting-to-wifi\",\"depth\":4,\"value\":\"Connecting to WiFi\"},{\"slug\":\"setup-a-static-ip-address\",\"depth\":4,\"value\":\"Setup a static IP-address\"},{\"slug\":\"power-on-the-raspberry-pi\",\"depth\":3,\"value\":\"Power on the Raspberry Pi\"},{\"slug\":\"access-the-raspberry-pi\",\"depth\":3,\"value\":\"Access the Raspberry Pi\"},{\"slug\":\"docker\",\"depth\":2,\"value\":\"Docker\"},{\"slug\":\"prerequisites\",\"depth\":3,\"value\":\"Prerequisites\"},{\"slug\":\"github-1\",\"depth\":3,\"value\":\"Github\"},{\"slug\":\"download-docker-image\",\"depth\":3,\"value\":\"Download docker image\"},{\"slug\":\"volumes\",\"depth\":3,\"value\":\"Volumes\"},{\"slug\":\"balena\",\"depth\":2,\"value\":\"Balena\"},{\"slug\":\"1-create-a-balena-account\",\"depth\":3,\"value\":\"1. Create a Balena account\"},{\"slug\":\"2-create-a-device-and-flash\",\"depth\":3,\"value\":\"2. Create a device and flash\"},{\"slug\":\"3-connect\",\"depth\":3,\"value\":\"3. Connect\"},{\"slug\":\"4-write\",\"depth\":3,\"value\":\"4. Write\"},{\"slug\":\"5-push\",\"depth\":3,\"value\":\"5. Push\"}]}},{\"key\":\"src/open-source/license.mdx\",\"value\":{\"name\":\"License\",\"menu\":\"Open Source\",\"route\":\"/opensource/license\",\"id\":\"b41faa434ffd47abb4b845cb083fff55\",\"filepath\":\"src/open-source/license.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/license.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-license\",\"headings\":[{\"slug\":\"cc-by-nc-sa-40\",\"depth\":1,\"value\":\"CC BY-NC-SA 4.0\"},{\"slug\":\"summary\",\"depth\":2,\"value\":\"Summary\"},{\"slug\":\"the-license\",\"depth\":2,\"value\":\"The license\"},{\"slug\":\"section-1--definitions\",\"depth\":3,\"value\":\"Section 1 – Definitions.\"},{\"slug\":\"section-2--scope\",\"depth\":3,\"value\":\"Section 2 – Scope.\"},{\"slug\":\"section-3--license-conditions\",\"depth\":3,\"value\":\"Section 3 – License Conditions.\"},{\"slug\":\"section-4--sui-generis-database-rights\",\"depth\":3,\"value\":\"Section 4 – Sui Generis Database Rights.\"},{\"slug\":\"section-5--disclaimer-of-warranties-and-limitation-of-liability\",\"depth\":3,\"value\":\"Section 5 – Disclaimer of Warranties and Limitation of Liability.\"},{\"slug\":\"section-6--term-and-termination\",\"depth\":3,\"value\":\"Section 6 – Term and Termination.\"},{\"slug\":\"section-7--other-terms-and-conditions\",\"depth\":3,\"value\":\"Section 7 – Other Terms and Conditions.\"},{\"slug\":\"section-8--interpretation\",\"depth\":3,\"value\":\"Section 8 – Interpretation.\"}]}},{\"key\":\"src/open-source/machinery.mdx\",\"value\":{\"name\":\"Machinery\",\"menu\":\"Open Source\",\"route\":\"/opensource/machinery\",\"id\":\"8b5e104d90b9ec673d88bf43d6bf99f2\",\"filepath\":\"src/open-source/machinery.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/machinery.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-machinery\",\"headings\":[{\"slug\":\"machinery\",\"depth\":1,\"value\":\"Machinery\"},{\"slug\":\"project-structure\",\"depth\":2,\"value\":\"Project structure\"},{\"slug\":\"capture\",\"depth\":2,\"value\":\"Capture\"},{\"slug\":\"usb-camera\",\"depth\":3,\"value\":\"USB camera\"},{\"slug\":\"parameters\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"framewidth-and--height\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"device-number\",\"depth\":5,\"value\":\"Device number\"},{\"slug\":\"delay\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"raspberry-pi-camera-module\",\"depth\":3,\"value\":\"Raspberry Pi Camera Module\"},{\"slug\":\"parameters-1\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"framewidth-and--height-1\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"delay-1\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle-1\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"framerate\",\"depth\":5,\"value\":\"Framerate\"},{\"slug\":\"sharpness-saturation-contrast-brightness\",\"depth\":5,\"value\":\"Sharpness, saturation, contrast, brightness\"},{\"slug\":\"ip-camera\",\"depth\":3,\"value\":\"IP camera\"},{\"slug\":\"parameters-2\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"url\",\"depth\":5,\"value\":\"URL\"},{\"slug\":\"framewidth-and--height-2\",\"depth\":5,\"value\":\"Framewidth and -height\"},{\"slug\":\"delay-2\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"angle-2\",\"depth\":5,\"value\":\"Angle\"},{\"slug\":\"condition\",\"depth\":2,\"value\":\"Condition\"},{\"slug\":\"enabled\",\"depth\":3,\"value\":\"Enabled\"},{\"slug\":\"parameters-3\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"active\",\"depth\":5,\"value\":\"Active\"},{\"slug\":\"delay-3\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"time\",\"depth\":3,\"value\":\"Time\"},{\"slug\":\"parameters-4\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"times\",\"depth\":5,\"value\":\"Times\"},{\"slug\":\"delay-4\",\"depth\":5,\"value\":\"Delay\"},{\"slug\":\"algorithm\",\"depth\":2,\"value\":\"Algorithm\"},{\"slug\":\"differential-images\",\"depth\":3,\"value\":\"Differential images\"},{\"slug\":\"parameters-5\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"erode\",\"depth\":5,\"value\":\"Erode\"},{\"slug\":\"threshold\",\"depth\":5,\"value\":\"Threshold\"},{\"slug\":\"expositor\",\"depth\":2,\"value\":\"Expositor\"},{\"slug\":\"rectangle\",\"depth\":3,\"value\":\"Rectangle\"},{\"slug\":\"parameters-6\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"region\",\"depth\":5,\"value\":\"Region\"},{\"slug\":\"hull\",\"depth\":3,\"value\":\"Hull\"},{\"slug\":\"parameters-7\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"region-1\",\"depth\":5,\"value\":\"Region\"},{\"slug\":\"heuristic\",\"depth\":2,\"value\":\"Heuristic\"},{\"slug\":\"sequence\",\"depth\":3,\"value\":\"Sequence\"},{\"slug\":\"parameters-8\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"minimum-changes\",\"depth\":5,\"value\":\"Minimum changes\"},{\"slug\":\"minimum-durations\",\"depth\":5,\"value\":\"Minimum durations\"},{\"slug\":\"no-motion-delay-time\",\"depth\":5,\"value\":\"No motion delay time\"},{\"slug\":\"output\",\"depth\":2,\"value\":\"Output\"},{\"slug\":\"disk\",\"depth\":3,\"value\":\"Disk\"},{\"slug\":\"parameters-9\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"file-format\",\"depth\":5,\"value\":\"File format\"},{\"slug\":\"directory\",\"depth\":5,\"value\":\"Directory\"},{\"slug\":\"mark-with-timestamp\",\"depth\":5,\"value\":\"Mark with timestamp\"},{\"slug\":\"timestamp-color\",\"depth\":5,\"value\":\"Timestamp color\"},{\"slug\":\"privacy\",\"depth\":5,\"value\":\"Privacy\"},{\"slug\":\"throttler\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"video\",\"depth\":3,\"value\":\"Video\"},{\"slug\":\"parameters-10\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"fps\",\"depth\":5,\"value\":\"FPS\"},{\"slug\":\"record-after\",\"depth\":5,\"value\":\"Record after\"},{\"slug\":\"extensions\",\"depth\":5,\"value\":\"Extensions\"},{\"slug\":\"codec\",\"depth\":5,\"value\":\"Codec\"},{\"slug\":\"file-format-1\",\"depth\":5,\"value\":\"File format\"},{\"slug\":\"directory-1\",\"depth\":5,\"value\":\"Directory\"},{\"slug\":\"hardware-directory\",\"depth\":5,\"value\":\"Hardware directory\"},{\"slug\":\"enable-hardware-encoding\",\"depth\":5,\"value\":\"Enable Hardware encoding\"},{\"slug\":\"mark-with-timestamp-1\",\"depth\":5,\"value\":\"Mark with timestamp\"},{\"slug\":\"timestamp-color-1\",\"depth\":5,\"value\":\"Timestamp color\"},{\"slug\":\"privacy-1\",\"depth\":5,\"value\":\"Privacy\"},{\"slug\":\"video-privacy\",\"depth\":5,\"value\":\"Video privacy\"},{\"slug\":\"throttler-1\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"tcpip-client\",\"depth\":3,\"value\":\"TCP/IP client\"},{\"slug\":\"parameters-11\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"server\",\"depth\":5,\"value\":\"Server\"},{\"slug\":\"port\",\"depth\":5,\"value\":\"Port\"},{\"slug\":\"message\",\"depth\":5,\"value\":\"Message\"},{\"slug\":\"throttler-2\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"gpio\",\"depth\":3,\"value\":\"GPIO\"},{\"slug\":\"parameters-12\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"pin\",\"depth\":5,\"value\":\"Pin\"},{\"slug\":\"periods\",\"depth\":5,\"value\":\"Periods\"},{\"slug\":\"period-time\",\"depth\":5,\"value\":\"Period time\"},{\"slug\":\"throttler-3\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"webhook\",\"depth\":3,\"value\":\"Webhook\"},{\"slug\":\"parameters-13\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"url-1\",\"depth\":5,\"value\":\"Url\"},{\"slug\":\"throttler-4\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"output-1\",\"depth\":5,\"value\":\"Output\"},{\"slug\":\"script\",\"depth\":3,\"value\":\"Script\"},{\"slug\":\"parameters-14\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"path\",\"depth\":5,\"value\":\"Path\"},{\"slug\":\"throttler-5\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"example\",\"depth\":5,\"value\":\"Example\"},{\"slug\":\"mqtt\",\"depth\":3,\"value\":\"MQTT\"},{\"slug\":\"parameters-15\",\"depth\":4,\"value\":\"Parameters\"},{\"slug\":\"secure\",\"depth\":5,\"value\":\"Secure\"},{\"slug\":\"verifycn\",\"depth\":5,\"value\":\"Verifycn\"},{\"slug\":\"server-1\",\"depth\":5,\"value\":\"Server\"},{\"slug\":\"port-1\",\"depth\":5,\"value\":\"Port\"},{\"slug\":\"topic\",\"depth\":5,\"value\":\"Topic\"},{\"slug\":\"username\",\"depth\":5,\"value\":\"Username\"},{\"slug\":\"password\",\"depth\":5,\"value\":\"Password\"},{\"slug\":\"throttler-6\",\"depth\":5,\"value\":\"Throttler\"},{\"slug\":\"output-2\",\"depth\":5,\"value\":\"Output\"},{\"slug\":\"example-1\",\"depth\":5,\"value\":\"Example\"},{\"slug\":\"streaming\",\"depth\":2,\"value\":\"Streaming\"},{\"slug\":\"parameters-16\",\"depth\":3,\"value\":\"Parameters\"},{\"slug\":\"enabled-1\",\"depth\":4,\"value\":\"Enabled\"},{\"slug\":\"stream-port\",\"depth\":4,\"value\":\"Stream Port\"},{\"slug\":\"quality\",\"depth\":4,\"value\":\"Quality\"},{\"slug\":\"usernamepassword\",\"depth\":4,\"value\":\"Username/password\"}]}},{\"key\":\"src/open-source/releases.mdx\",\"value\":{\"name\":\"Releases\",\"menu\":\"Open Source\",\"route\":\"/opensource/releases\",\"id\":\"0513012dd89890d93de77c3aa4597e7f\",\"filepath\":\"src/open-source/releases.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/releases.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-releases\",\"headings\":[{\"slug\":\"release-notes\",\"depth\":1,\"value\":\"Release notes\"},{\"slug\":\"280\",\"depth\":3,\"value\":\"2.8.0\"},{\"slug\":\"web\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"kios\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"272\",\"depth\":3,\"value\":\"2.7.2\"},{\"slug\":\"machinery\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"271\",\"depth\":3,\"value\":\"2.7.1\"},{\"slug\":\"machinery-1\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"kios-1\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"270\",\"depth\":3,\"value\":\"2.7.0\"},{\"slug\":\"web-1\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-2\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"kios-2\",\"depth\":4,\"value\":\"KiOS\"},{\"slug\":\"261\",\"depth\":3,\"value\":\"2.6.1\"},{\"slug\":\"web-2\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-3\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"260\",\"depth\":3,\"value\":\"2.6.0\"},{\"slug\":\"web-3\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-4\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker-1\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"250\",\"depth\":3,\"value\":\"2.5.0\"},{\"slug\":\"web-4\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-5\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"242\",\"depth\":3,\"value\":\"2.4.2\"},{\"slug\":\"web-5\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-6\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"241\",\"depth\":3,\"value\":\"2.4.1\"},{\"slug\":\"web-6\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"240\",\"depth\":3,\"value\":\"2.4.0\"},{\"slug\":\"ecosystem\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-7\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"docker-2\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"machinery-7\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"231\",\"depth\":3,\"value\":\"2.3.1\"},{\"slug\":\"machinery-8\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"230\",\"depth\":3,\"value\":\"2.3.0\"},{\"slug\":\"ecosystem-1\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"221\",\"depth\":3,\"value\":\"2.2.1\"},{\"slug\":\"ecosystem-2\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-8\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-9\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"220\",\"depth\":3,\"value\":\"2.2.0\"},{\"slug\":\"ecosystem-3\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"web-9\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-10\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"210\",\"depth\":3,\"value\":\"2.1.0\"},{\"slug\":\"web-10\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-11\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"ecosystem-4\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"200\",\"depth\":3,\"value\":\"2.0.0\"},{\"slug\":\"web-11\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-12\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"docker-3\",\"depth\":4,\"value\":\"Docker\"},{\"slug\":\"ecosystem-5\",\"depth\":4,\"value\":\"Ecosystem\"},{\"slug\":\"110\",\"depth\":3,\"value\":\"1.1.0\"},{\"slug\":\"web-12\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-13\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"cloud\",\"depth\":4,\"value\":\"Cloud\"},{\"slug\":\"103\",\"depth\":3,\"value\":\"1.0.3\"},{\"slug\":\"web-13\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-14\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"cloud-1\",\"depth\":4,\"value\":\"Cloud\"},{\"slug\":\"102\",\"depth\":3,\"value\":\"1.0.2\"},{\"slug\":\"web-14\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-15\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"101\",\"depth\":3,\"value\":\"1.0.1\"},{\"slug\":\"web-15\",\"depth\":4,\"value\":\"Web\"},{\"slug\":\"machinery-16\",\"depth\":4,\"value\":\"Machinery\"},{\"slug\":\"100\",\"depth\":3,\"value\":\"1.0.0\"},{\"slug\":\"first-commit-of-kerberosio\",\"depth\":4,\"value\":\"First commit of Kerberos.io\"}]}},{\"key\":\"src/open-source/upgrade.mdx\",\"value\":{\"name\":\"Upgrade\",\"menu\":\"Open Source\",\"route\":\"/opensource/upgrade\",\"id\":\"bdff501afe4f3c7e6fc0f2ef0f365d5d\",\"filepath\":\"src/open-source/upgrade.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/upgrade.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-upgrade\",\"headings\":[{\"slug\":\"upgrade\",\"depth\":1,\"value\":\"Upgrade\"},{\"slug\":\"kios\",\"depth\":2,\"value\":\"KiOS\"},{\"slug\":\"raspbian\",\"depth\":2,\"value\":\"Raspbian\"},{\"slug\":\"docker\",\"depth\":2,\"value\":\"Docker\"}]}},{\"key\":\"src/open-source/web.mdx\",\"value\":{\"name\":\"Web\",\"menu\":\"Open Source\",\"route\":\"/opensource/web\",\"id\":\"302e6588cf7f47fc4110356883b1761b\",\"filepath\":\"src/open-source/web.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/open-source/web.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-open-source-web\",\"headings\":[{\"slug\":\"web-interface\",\"depth\":1,\"value\":\"Web interface\"},{\"slug\":\"overview\",\"depth\":2,\"value\":\"Overview\"},{\"slug\":\"dashboard\",\"depth\":3,\"value\":\"Dashboard\"},{\"slug\":\"overview-1\",\"depth\":3,\"value\":\"Overview\"},{\"slug\":\"settings\",\"depth\":3,\"value\":\"Settings\"},{\"slug\":\"system\",\"depth\":3,\"value\":\"System\"},{\"slug\":\"project-structure\",\"depth\":2,\"value\":\"Project structure\"},{\"slug\":\"back-end\",\"depth\":3,\"value\":\"Back-end\"},{\"slug\":\"front-end\",\"depth\":3,\"value\":\"Front-end\"},{\"slug\":\"api\",\"depth\":2,\"value\":\"API\"},{\"slug\":\"authentication\",\"depth\":3,\"value\":\"Authentication\"},{\"slug\":\"endpoints\",\"depth\":3,\"value\":\"Endpoints\"},{\"slug\":\"version-1\",\"depth\":3,\"value\":\"Version 1\"}]}},{\"key\":\"src/storage/get-started.mdx\",\"value\":{\"name\":\"Get Started\",\"menu\":\"Storage\",\"route\":\"/storage/get-started\",\"id\":\"c7e5dcab89cbb47494e742eaa025320d\",\"filepath\":\"src/storage/get-started.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/get-started.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-get-started\",\"headings\":[{\"slug\":\"get-started\",\"depth\":1,\"value\":\"Get Started\"},{\"slug\":\"login-page\",\"depth\":2,\"value\":\"Login page\"},{\"slug\":\"license-key\",\"depth\":2,\"value\":\"License key\"},{\"slug\":\"providers\",\"depth\":2,\"value\":\"Providers\"},{\"slug\":\"queues\",\"depth\":2,\"value\":\"Queues\"},{\"slug\":\"accounts\",\"depth\":2,\"value\":\"Accounts\"},{\"slug\":\"media\",\"depth\":2,\"value\":\"Media\"},{\"slug\":\"cleanup\",\"depth\":2,\"value\":\"Cleanup\"}]}},{\"key\":\"src/storage/index.mdx\",\"value\":{\"name\":\"First things first\",\"menu\":\"Storage\",\"route\":\"/storage/introduction\",\"id\":\"80b5f208a419fd50090370744bb3b5c3\",\"filepath\":\"src/storage/index.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/index.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-index\",\"headings\":[{\"slug\":\"storage\",\"depth\":1,\"value\":\"Storage\"},{\"slug\":\"kerberos-cloud\",\"depth\":2,\"value\":\"Kerberos Cloud\"},{\"slug\":\"bring-your-own-cloud\",\"depth\":2,\"value\":\"Bring Your Own Cloud\"},{\"slug\":\"events\",\"depth\":3,\"value\":\"Events\"}]}},{\"key\":\"src/storage/installation-cloud.mdx\",\"value\":{\"name\":\"Installation - Cloud\",\"menu\":\"Storage\",\"route\":\"/storage/installation-cloud\",\"id\":\"a8b1ddb7fa9459e5d6a4c2ad40a62f97\",\"filepath\":\"src/storage/installation-cloud.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation-cloud.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation-cloud\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"initiate-helm\",\"depth\":3,\"value\":\"Initiate Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/storage/installation-edge.mdx\",\"value\":{\"name\":\"Installation - Edge\",\"menu\":\"Storage\",\"route\":\"/storage/installation-edge\",\"id\":\"da0491f238b15af2e27a09197c22b441\",\"filepath\":\"src/storage/installation-edge.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation-edge.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation-edge\",\"headings\":[{\"slug\":\"introduction\",\"depth\":1,\"value\":\"Introduction\"},{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"helm\",\"depth\":2,\"value\":\"Helm\"},{\"slug\":\"initiate-helm\",\"depth\":3,\"value\":\"Initiate Helm\"},{\"slug\":\"traefik\",\"depth\":2,\"value\":\"Traefik\"},{\"slug\":\"mongodb\",\"depth\":2,\"value\":\"MongoDB\"},{\"slug\":\"factory\",\"depth\":2,\"value\":\"Factory\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"}]}},{\"key\":\"src/storage/installation.mdx\",\"value\":{\"name\":\"Installation\",\"menu\":\"Storage\",\"route\":\"/storage/installation\",\"id\":\"50b670115b9f8cdaaa778cfa0baa4d1b\",\"filepath\":\"src/storage/installation.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/installation.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-installation\",\"headings\":[{\"slug\":\"installation\",\"depth\":1,\"value\":\"Installation\"},{\"slug\":\"storage\",\"depth\":2,\"value\":\"Storage\"},{\"slug\":\"test-out-configuration\",\"depth\":2,\"value\":\"Test out configuration\"},{\"slug\":\"access-the-system\",\"depth\":2,\"value\":\"Access the system\"},{\"slug\":\"storage-cleanup\",\"depth\":2,\"value\":\"Storage Cleanup\"}]}},{\"key\":\"src/storage/license.mdx\",\"value\":{\"name\":\"License\",\"menu\":\"Storage\",\"route\":\"/storage/license\",\"id\":\"66157b559698ef176887277b64a78388\",\"filepath\":\"src/storage/license.mdx\",\"fullpath\":\"/Users/i353408/Vagrant/www/repos/documentation/src/storage/license.mdx\",\"link\":\"\",\"hidden\":false,\"slug\":\"src-storage-license\",\"headings\":[{\"slug\":\"license-server\",\"depth\":1,\"value\":\"License server\"},{\"slug\":\"eula\",\"depth\":1,\"value\":\"EULA\"}]}}],\"props\":[{\"key\":\"src/components/Link.jsx\",\"value\":[{\"description\":\"\",\"displayName\":\"Link\",\"methods\":[],\"actualName\":\"Link\"}]},{\"key\":\"src/gatsby-theme-docz/components/Header/index.js\",\"value\":[{\"description\":\"\",\"displayName\":\"Header\",\"methods\":[],\"actualName\":\"Header\"}]},{\"key\":\"src/gatsby-theme-docz/components/Logo/index.js\",\"value\":[{\"description\":\"\",\"displayName\":\"Logo\",\"methods\":[],\"actualName\":\"Logo\"}]}]}"}}} \ No newline at end of file diff --git a/.docz/static/public/images/kerberos-enterprise-kubernetes.png b/.docz/static/public/images/kerberos-enterprise-kubernetes.png new file mode 100644 index 0000000..3eb9db1 Binary files /dev/null and b/.docz/static/public/images/kerberos-enterprise-kubernetes.png differ diff --git a/src/enterprise/installation-cloud.mdx b/src/enterprise/installation-cloud.mdx index 41530c7..d5a0438 100644 --- a/src/enterprise/installation-cloud.mdx +++ b/src/enterprise/installation-cloud.mdx @@ -50,18 +50,6 @@ Use one of the preferred OS package managers to install the Helm client: gofish install helm -### Initiate Helm - -When you've installed the Helm client, you have to verify if it's **version 2 or 3**. For Helm version 2 you need to initiate Helm first (also called the Tiller service) inside your cluster. Tiller is what they call the server component of Helm. - - kubectl create serviceaccount tiller --namespace kube-system - kubectl create -f ./yaml/factory/tiller-clusterrolebinding.yaml - helm init --service-account tiller - -For Helm v3 nothing has to be done. - -Now you have installed **Helm** inside your cluster we can move on by installing the dependencies. - ## Traefik [**Traefik**](https://containo.us/traefik/) is a reverse proxy and load balancer which allows you to @@ -149,7 +137,7 @@ Modify the MongoDB credentials, and make sure they match the credentials of your Once you have corrected the DNS names, install the Factory service inside your cluster. - kubectl apply -f ./yaml/factory/kubernetes.yaml + kubectl apply -f ./yaml/factory/deployment.yaml ## Test out configuration diff --git a/src/enterprise/installation.mdx b/src/enterprise/installation.mdx index 1103062..2ff9f99 100644 --- a/src/enterprise/installation.mdx +++ b/src/enterprise/installation.mdx @@ -14,4 +14,22 @@ Although you might except Kubernetes at the Edge or Kubernetes in the cloud, the ![enterprise kubernetes](../../public/images/kerberos-enterprise-kubernetes.png) -Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. Luckily there is a solution for all the features you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing services/pods/deployments yourself. +Compared to Kubernetes at the Edge, there are no predefined LoadBalancers, Storage capabilities, and more. This means more administration work for you, but - with great power comes great responsibility - so no worries. In the end there are alternative functionalties available, for features which you find out-of-the-box at the Kubernetes service providers, you just have to spend more time on configuring and installing those services/pods/deployments yourself. + +## Installation on a Kubernetes Service Provider + +Installing Kerberos Enterprise on a Kubernetes Service Provider (Azure, GCP, AWS) is straight forward, as you can create a Kubernetes cluster in a few clicks, get access to public Load Balancers, storage and more. Running Kerberos Enterprise in such a cluster is just a matter of copy-pasting some configuration (yaml) files, and executing some `kubectl apply` commands. + +![architecture kubernetes](../../public/images/kerberos-agent-architecture-kubernetes-cloud.png) + +Install Kerberos Enterprise on a Kubernetes Service Provider by [following this step-by-step installation guide](/enterprise/installation-cloud). + +## Installation in Private Cloud or Baremetal + +No need to install Kerberos Enterprise on a Kubernetes Service Provider, you could install it on your own Kubernetes cluster in your private cloud, or even better inside your own premise. The closer you bring Kerberos Enterprise to your surveillance infrastructure, the more benefits you will experience (low latency, low bandwidth, etc). + +![architecture kubernetes](../../public/images/kerberos-agent-architecture-kubernetes.png) + +In contradiction to the Kubernetes Service Provider, you will have some work todo. Setting up Kubernetes Cluster, play with MetalLB, Persistent Volumes and claims. Don't be scared, it's pretty ssttraight forward as well. You can't simple expect a: click, click, 💥 approach. + +Install Kerberos Enterprise on a Private cloud or Baremetal by [following this step-by-step installation guide](/enterprise/installation-edge).