Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: create docs for kubefirst 2.8 #822

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions versioned_docs/version-2.8/akamai/credits.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: Credits
description: credit to all the awesome open source projects
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import CommonCredits from "../common/credits.mdx";

<CommonCredits />
13 changes: 13 additions & 0 deletions versioned_docs/version-2.8/akamai/deprovision.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
hide_title: true
display_sidebar: akamai
sidebar_label: Deprovision
description: how to deprovision your kubefirst platform
keywords:
- aws
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import Deprovision from '../common/deprovision.mdx';

<Deprovision />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/argocd.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Argo CD
sidebar_position: 1
---

import ExploreArgocd from "../../common/argocd.mdx";

# Akamai - Argo CD

<ExploreArgocd />
11 changes: 11 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/gitops.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: GitOps
sidebar_position: 2
---


import ExploreGitOps from "../../common/gitops.mdx";

# Akamai - GitOps

<ExploreGitOps />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/metaphor.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Metaphor
sidebar_position: 3
---

import ExploreMetaphor from "../../common/metaphor.mdx";

# Akamai - Metaphor

<ExploreMetaphor />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/telemetry.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Telemetry
sidebar_position: 7
---

import ExploreTelemetry from "../../common/telemetry.mdx";

# Akamai - Telemetry

<ExploreTelemetry />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/terraform.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Terraform & Atlantis
sidebar_position: 4
---

import ExploreTerraform from "../../common/terraform.mdx";

# Akamai - Terraform & Atlantis

<ExploreTerraform />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/user-creation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Users Management
sidebar_position: 5
---

import UserCreation from "../../common/users.mdx";

# Akamai - Users Management

<UserCreation cloud="akamai" />
10 changes: 10 additions & 0 deletions versioned_docs/version-2.8/akamai/explore/vault.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Vault
sidebar_position: 6
---

import ExploreVault from "../../common/vault.mdx";

# Akamai - Vault

<ExploreVault />
9 changes: 9 additions & 0 deletions versioned_docs/version-2.8/akamai/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: FAQ
description: frequently asked quesitons about the kubefirst platform
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import FAQ from "../common/faq.mdx";

<FAQ />
13 changes: 13 additions & 0 deletions versioned_docs/version-2.8/akamai/gitops-catalog.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
hide_title: true
display_sidebar: akamai
sidebar_label: GitOps Catalog
description: using the kubefirst gitops catalog
keywords:
- aws
image: 'https://kubefirst.konstruct.io/docs/img/kubefirst.svg'
---

import GitOpsCatalog from '../common/gitops-catalog.mdx';

<GitOpsCatalog />
66 changes: 66 additions & 0 deletions versioned_docs/version-2.8/akamai/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
sidebar_label: Overview
sidebar_position: 1
description: an overview of kubefirst on a Akamai kubernetes cluster
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import styles from "../stylesheets/tabs.module.css";
import ReactDom from 'react-dom';
import GitHubOverview from '../akamai/partials/github/_overview.mdx';
import GitLabOverview from '../akamai/partials/gitlab/_overview.mdx';
import CloudBanner from '@site/src/components/CloudBanner/CloudBanner.jsx';
import CommonProvisionProcess from "../common/partials/common/_provision-process.mdx";
import KnownLimitations from "../common/known-limitations.mdx";
import AkamaiLogo from '../img/akamai/logo.svg';
import GitHubLogo from '../common/components/GitHubLogo.jsx'
import GitLabLogo from '../common/components/GitLabLogo.jsx'

<div class="cloud_logo">
<AkamaiLogo width="200px" alt="Akamai Logo" />
</div>

# Overview

:::caution

Akamai is in beta. Use at your own risks.

:::

:::note
[Linode has been acquired by Akamai in 2022](https://www.akamai.com/newsroom/press-release/akamai-completes-acquisition-of-linode), but the branding is still in some cases, like for the CLI used to connect to Kubernetes on Akamai. If you see Linode written in the documentation, keep in mind that it is in reality Akamai, but that we have to use the previous brand because Akamai still do.
:::

The Akamai provisioning process will:
<CommonProvisionProcess firstitem="Create a Kubernetes management cluster in the Akamai cloud."/>

<Tabs groupId="git_provider" defaultValue="github" queryString>
<TabItem attributes={{ className: styles.github }} value="github" label={ <GitHubLogo /> }>

![Installation Diagram](../img/akamai/github/installation-diagram-light.svg#light-mode)![Installation Diagram](../img/akamai/github/installation-diagram-dark.svg#dark-mode)

## Applications
<GitHubOverview />

</TabItem>
<!-- markdownlint-disable MD049 -->
{/*<TabItem value="gitlab" attributes={{ className: styles.gitlab }} label={ <GitLabLogo /> }>

![Installation Diagram](../img/akamai/gitlab/installation-diagram-light.svg#light-mode)![Installation Diagram](../img/akamai/gitlab/installation-diagram-dark.svg#dark-mode)

## Applications
<GitLabOverview />
</TabItem> */}
</Tabs>

## Known Limitations

<KnownLimitations />

### Akamai Specific

- Akamai is [only available on GitHub](https://github.com/kubefirst/kubefirst/issues/2143) for now.
- You [cannot use Akamai as the DNS provider](https://github.com/kubefirst/kubefirst/issues/2144) for now: they have a requirement with domain that needs to be attached to a VM that we need to sort out. For now, you can use Cloudflare as the DNS provider without any issues.
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Connecting to Kubernetes

To connect to your new Kubernetes cluster, run

```shell
export KUBECONFIG=~/.k1/kubeconfig
```

To view all cluster pods, run

```shell
kubectl get pods -A
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```shell
cluster_name="YOUR_CLUSTER_NAME"
cluster_id=$(linode lke clusters-list --json | jq '.[] | select(.label=="'$cluster_name'") | .id')
linode lke kubeconfig-view $cluster_id --json | jq -r '.[].kubeconfig | @base64d' > ~/.kube/config
unset cluster_name
unset cluster_id
```
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
```shell
brew install linode-cli
```

More information in the [Linode documentation](https://www.linode.com/docs/products/tools/cli/get-started/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### Installed Applications

To see what is installed by kubefirst, check the [overview page](../../overview.mdx).
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
### Akamai Prerequisites

For kubefirst to be able to provision your Akamai cloud resources:

- A [Akamai account](https://www.akamai.com/create-account) in which you are an account owner.
- A [Linode API token](https://cloud.linode.com/profile/tokens).
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import CloudflareDNS from "../../../common/partials/common/_cloudflare-dns.mdx";

## Create your new kubefirst cluster

Adjust the following command with your GitHub and Akamai (Linode) tokens in addition to the appropriate values for your new platform.

```shell
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxx
export LINODE_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

kubefirst beta akamai create \
--alerts-email [email protected] \
--github-org your-github-org \
--dns-provider cloudflare \
--domain-name your-domain.io \
--cluster-name kubefirst
```

<CloudflareDNS />
16 changes: 16 additions & 0 deletions versioned_docs/version-2.8/akamai/partials/github/_overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
`kubefirst beta akamai create` provisions a local [Akamai](https://akamai.com) Kubernetes cluster to host your cloud native environment locally.

Your Akamai cluster will include:

| Application | Description |
|---------------------------------|-----------------------------------------------------------------------------|
| Argo CD | GitOps Continuous Delivery |
| Argo Workflows | Application Continuous Integration |
| Atlantis | Terraform Workflow Automation |
| cert-manager | Certificate Automation Utility |
| ChartMuseum | Helm Chart Registry |
| External Secrets Operators | Syncs Kubernetes secrets with Vault secrets |
| GitHub Action Runner Controller | GitHub Self-Hosted CI Executor |
| HashiCorp Vault | Secrets Management |
| Metaphor | (development, staging, production) instance of sample Next.js app |
| Ingress Nginx | Ingress Controller |
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
### GitHub Prerequisites

- A GitHub [organisation](https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch).
- A new GitHub [account](https://docs.github.com/en/get-started/signing-up-for-github/signing-up-for-a-new-github-account) for your `kbot` automation user.
- A GitHub [personal access token](../../../common/git-auth.mdx) for your `kbot` account.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import CloudflareDNS from "../../../common/partials/common/_cloudflare-dns.mdx";

## Create your new kubefirst cluster

Adjust the following command with your GitHub and Akamai (Linode) tokens in addition to the appropriate values for your new platform.

```shell
export GITLAB_TOKEN=glpat-xxxxxxxxxxxxxxxx
export LINODE_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

kubefirst beta akamai create \
--alerts-email [email protected] \
--git-provider gitlab \
--gitlab-group your-fully-qualified-gitlab-group/or-sub-group \
--dns-provider cloudflare \
--domain-name your-domain.io \
--cluster-name kubefirst
```

<CloudflareDNS />
16 changes: 16 additions & 0 deletions versioned_docs/version-2.8/akamai/partials/gitlab/_overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
`kubefirst beta akamai create` provisions a local [Akamai](https://akamai.com) Kubernetes cluster to host your cloud native environment locally.

Your Akamai cluster will include:

| Application | Description |
|---------------------------------|-----------------------------------------------------------------------------|
| Argo CD | GitOps Continuous Delivery |
| Argo Workflows | Application Continuous Integration |
| Atlantis | Terraform Workflow Automation |
| cert-manager | Certificate Automation Utility |
| ChartMuseum | Helm Chart Registry |
| External Secrets Operators | Syncs Kubernetes secrets with Vault secrets |
| GitLab Runner | GitLab Self-Hosted CI Executor |
| HashiCorp Vault | Secrets Management |
| Metaphor | (development, staging, production) instance of sample Next.js app |
| Ingress Nginx | Ingress Controller |
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
### GitLab

- Create or use an existing [GitLab account](https://gitlab.com).
- Create a [GitLab group](https://docs.gitlab.com/ee/user/group/) with the name you want.

:::note GitLab SaaS offering has limitations that require us to use groups contrary to GitHub which can be use without an organization.
:::
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Cluster Management
sidebar_position: 3
description: cluster creation and lifecycle management powered by gitops
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import CLUSTERS from "../../common/clusters.mdx";

<CLUSTERS />
48 changes: 48 additions & 0 deletions versioned_docs/version-2.8/akamai/quick-start/install/cli.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
hide_title: true
sidebar_label: CLI Installer
sidebar_position: 3
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import GitHubPrerequisites from "../../../common/partials/github/_prerequisites.mdx";
import GitHubClusterCreateCmd from "../../partials/github/_cluster-create.mdx";
import GitLabPrerequisites from "../../../common/partials/gitlab/_prerequisites.mdx";
import GitLabClusterCreateCmd from "../../partials/gitlab/_cluster-create.mdx";
import AkamaiCloudPrerequisites from "../../partials/common/_prerequisites.mdx";
import CommonCloudPrerequisites from "../../../common/partials/common/_prerequisites.mdx";
import CommonClusterConnectivity from "../../partials/common/_cluster-connectivity.mdx";
import CommonRootCredentialsCmd from "../../../common/partials/common/_root-credentials-cmd.mdx";
import CommonTerminalOutput from "../../../common/partials/common/_terminal-output.mdx";
import styles from "../../../stylesheets/tabs.module.css";
import GitHubHandoffScreen from "../../../img/akamai/github/handoff-screen.png";
import GitLabHandoffScreen from "../../../img/akamai/gitlab/handoff-screen.png";
import CLI from "../../../common/partials/common/_cli.mdx";
import GitHubLogo from '../../../common/components/GitHubLogo.jsx'
import GitLabLogo from '../../../common/components/GitLabLogo.jsx'

export const TabLabel = ({ imgSrc, label, alt }) => (
<div className="git-tab">
<img src={imgSrc} alt={alt} />
<span>{label}</span>
</div>
);

<CLI />
<CommonCloudPrerequisites />
<AkamaiCloudPrerequisites />

<Tabs groupId="git_provider" defaultValue="github" queryString>

<TabItem attributes={{ className: styles.github }} value="github" label={ <GitHubLogo /> }>
<GitHubPrerequisites />
<GitHubClusterCreateCmd />
<CommonTerminalOutput cloud="Akamai" minutes="10" handoffScreen={GitHubHandoffScreen} />
</TabItem>

</Tabs>

<CommonRootCredentialsCmd cloud="akamai" />
<CommonClusterConnectivity />
9 changes: 9 additions & 0 deletions versioned_docs/version-2.8/akamai/quick-start/install/ui.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
hide_title: true
sidebar_label: UI Installer
sidebar_position: 2
image: "https://kubefirst.konstruct.io/docs/img/kubefirst.svg"
---
import UI from "../../../common/ui.mdx";

<UI />
Loading
Loading