Skip to content

Commit

Permalink
docs: create v2.2 documentation (#343)
Browse files Browse the repository at this point in the history
  • Loading branch information
fharper authored Jun 29, 2023
1 parent 88333ba commit b74f1a0
Show file tree
Hide file tree
Showing 205 changed files with 4,060 additions and 0 deletions.
29 changes: 29 additions & 0 deletions versioned_docs/version-2.2/aws/advanced/certificates.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Certificates
---

import * as config from "@site/docs/constants.js"

<div
style={{
display: "flex",
justifyContent: "flex-end",
alignItems: "center",
}}
>
<div>
<img src={config.AWS_LOGO_URL} height="50" width="120" />
</div>
</div>

## SSL Certificates

In cloud versions of the kubefirst platform, we use [cert-manager](https://cert-manager.io/) with a [Let's Encrypt](https://letsencrypt.org) ClusterIssuer for TLS encryption to all of our services on Ingress. These certificates are requested automatically, and will auto-renew.

On local versions of the kubefirst platform, we leverage [mkcert](https://github.com/FiloSottile/mkcert) to generate certificates for a domain we host at `kubefirst.dev`.

To trust mkcerts in your browser, run

```bash
mkcert -install
```
55 changes: 55 additions & 0 deletions versioned_docs/version-2.2/aws/advanced/install.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
hide_title: true
sidebar_label: Install
sidebar_position: 2
custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: the installation process for kubefirst cli
image: "https://docs.kubefirst.io/img/logo.svg"
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import styles from "@site/docs/stylesheets/tabs.module.css";
import ReactDom from 'react-dom'
import * as config from "@site/docs/constants.js"

<div
style={{
display: "flex",
justifyContent: "flex-end",
alignItems: "center",
}}
>
<div>
<img src={config.AWS_LOGO_URL} height="50" width="120" />
</div>
</div>

import GitHubInstall from '@site/docs/aws/partials/github/_install.mdx'
import GitLabInstall from '@site/docs/aws/partials/gitlab/_install.mdx'

<Tabs groupId="git_provider" defaultValue="github" queryString>
<TabItem
attributes={{className: styles.github}}
value="github"
label={
<div className="git-tab">
<img src="https://assets.kubefirst.com/console/github.svg" />
<span>GitHub</span>
</div>
}
>
<GitHubInstall />
</TabItem>
<TabItem
value="gitlab"
attributes={{className: styles.gitlab}}
label={
<div className="git-tab">
<img src="https://assets.kubefirst.com/console/gitlab.svg" />
<span>GitLab</span>
</div>
}
>
<GitLabInstall />
</TabItem>
</Tabs>
29 changes: 29 additions & 0 deletions versioned_docs/version-2.2/aws/advanced/security.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Security
---

import * as config from "@site/docs/constants.js"

<div
style={{
display: "flex",
justifyContent: "flex-end",
alignItems: "center",
}}
>
<div>
<img src={config.AWS_LOGO_URL} height="50" width="120" />
</div>
</div>

## Installation Account

kubefirst runs against your public cloud provider and leverages your personal cloud credentials in order to conduct the provisioning of the kubefirst platform. We do not embed your credentials into the platform in any way, they are only used during the installation process.

## Granular Kubernetes Service Accounts with Explicit IAM Roles for Cloud Access

Each of our platform services has the potential to require access to cloud resources to take advantage of artifact storage, database access, KMS encryption, or things of that nature. Each service account on the platform comes with a dedicated least privilege IAM policy to grant granular and controlled access to cloud resources on the platform.

## Additional Layers of Security

GitLab, Vault, Atlantis, and External Secrets Operator have had additional security measures implemented in accordance with the respective applications own security guidelines. Each of these have been implemented to provide reasonable starting points on top of a solid security posture for your core application dependencies.
13 changes: 13 additions & 0 deletions versioned_docs/version-2.2/aws/advanced/styles.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.gitlab {
color: #fc6d26;
}
.gitlab[aria-selected='true'] {
border-bottom-color: #fc6d26;
}

.github {
color: black;
}
.github[aria-selected='true'] {
border-bottom-color: black;
}
11 changes: 11 additions & 0 deletions versioned_docs/version-2.2/aws/credits.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
hide_title: true
sidebar_label: Credits
# custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: how to destroy your kubefirst platform
image: "https://docs.kubefirst.io/img/logo.svg"
---

import Credits from "@site/docs/common/credits.mdx"

<Credits />
11 changes: 11 additions & 0 deletions versioned_docs/version-2.2/aws/deprovision.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
hide_title: true
sidebar_label: Deprovision
# custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: how to destroy your kubefirst platform
image: "https://docs.kubefirst.io/img/logo.svg"
---

import Deprovision from '@site/docs/common/deprovision.mdx'

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

import ExploreArgocd from "@site/docs/common/argocd.mdx"

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


import ExploreGitOps from "@site/docs/common/gitops.mdx"

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

import ExploreMetaphor from "@site/docs/common/metaphor.mdx"

<ExploreMetaphor />
8 changes: 8 additions & 0 deletions versioned_docs/version-2.2/aws/explore/platform.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Telemetry
sidebar_position: 6
---

import ExploreTelemetry from "@site/docs/common/telemetry.mdx"

<ExploreTelemetry />
8 changes: 8 additions & 0 deletions versioned_docs/version-2.2/aws/explore/terraform.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Terraform & Atlantis
sidebar_position: 5
---

import ExploreTerraform from "@site/docs/common/terraform.mdx"

<ExploreTerraform />
19 changes: 19 additions & 0 deletions versioned_docs/version-2.2/aws/explore/user-creation.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: User Creation
sidebar_position: 5
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import styles from "@site/docs/stylesheets/tabs.module.css";

import GitHubUserCreation from '@site/docs/civo/partials/github/_user-creation.mdx'
import GitLabUserCreation from '@site/docs/civo/partials/gitlab/_user-creation.mdx'

<Tabs groupId="git_provider" defaultValue="github" queryString>
<TabItem value="github" label="GitHub" attributes={{className: styles.github}}>
<GitHubUserCreation />
</TabItem>
<TabItem value="gitlab" label="GitLab" attributes={{className: styles.gitlab}}>
<GitLabUserCreation />
</TabItem>
</Tabs>
8 changes: 8 additions & 0 deletions versioned_docs/version-2.2/aws/explore/vault.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: Vault
sidebar_position: 4
---

import ExploreVault from "@site/docs/common/vault.mdx"

<ExploreVault />
11 changes: 11 additions & 0 deletions versioned_docs/version-2.2/aws/faq.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
hide_title: true
sidebar_label: FAQ
# custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: frequently asked quesitons about the platform
image: "https://docs.kubefirst.io/img/logo.svg"
---

import FAQ from "@site/docs/common/faq.mdx"

<FAQ />
14 changes: 14 additions & 0 deletions versioned_docs/version-2.2/aws/gitops-catalog.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
hide_title: true
display_sidebar: aws
sidebar_label: GitOps Catalog
# custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: using the kubefirst gitops catalog
keywords:
- aws
image: 'https://docs.kubefirst.io/img/logo.svg'
---

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

<GitOpsCatalog />
74 changes: 74 additions & 0 deletions versioned_docs/version-2.2/aws/overview.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
hide_title: true
sidebar_label: Overview
sidebar_position: 1
# custom_edit_url: https://github.com/facebook/docusaurus/edit/main/docs/api-doc-markdown.md
description: an overview of the kubefirst platform
image: "https://docs.kubefirst.io/img/logo.svg"
---

import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
import styles from "@site/docs/stylesheets/tabs.module.css";
import ReactDom from 'react-dom'
import * as config from "@site/docs/constants.js"

<div
style={{
display: "flex",
justifyContent: "flex-end",
alignItems: "center",
}}
>
<div>
<img src={config.AWS_LOGO_URL} height="50" width="120" />
</div>
</div>

import GitHubOverview from '@site/docs/aws/partials/github/_overview.mdx'
import GitLabOverview from '@site/docs/aws/partials/gitlab/_overview.mdx'

# Overview

The aws provisioning process will:
- create a vpc, subnets, iam, and eks cluster in your specified aws account
<!-- details below this line apply everywhere -->
- create a gitops git repository from our gitops-template, customized for you, and store it in your git provider
- install argocd and register it with your gitops repo so that your main branch powers the platform
- install all the platform apps using argocd gitops preconfigured sync waves (gitops repo `/registry` folder)
- apply terraform to configure Vault (gitops repo `/terraform/vault` folder)
- bind a webhook to atlantis to automate terraform executions
- integrate argo workflows with your git provider
- install argo workflow automation to build containers, publish charts, and provide gitops delivery pipelines
- install a sample app git repository that uses this automation to demonstrate gitops app delivery and promotion (metaphor repo)

![kubefirst AWS with GitHub Cluster Diagram](../img/aws/github/installation-diagram-light.png#light-mode)![kubefirst AWS with GitHub Cluster Diagram](../img/aws/github/installation-diagram-dark.png#dark-mode)

# Applications

<Tabs groupId="git_provider" defaultValue="github" queryString>
<TabItem
attributes={{className: styles.github}}
value="github"
label={
<div className="git-tab">
<img src="https://assets.kubefirst.com/console/github.svg" />
<span>GitHub</span>
</div>
}
>
<GitHubOverview />
</TabItem>
<TabItem
value="gitlab"
attributes={{className: styles.gitlab}}
label={
<div className="git-tab">
<img src="https://assets.kubefirst.com/console/gitlab.svg" />
<span>GitLab</span>
</div>
}
>
<GitLabOverview />
</TabItem>
</Tabs>
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

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

To view all cluster pods, run

```bash
kubectl get pods -A
```
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#platforms-details).
25 changes: 25 additions & 0 deletions versioned_docs/version-2.2/aws/partials/common/_prerequisites.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Prerequisites

### Local Prerequisites

If you are on macOS, and have [Homebrew](https://brew.sh) installed, you can run:

```shell
brew install kubefirst/tools/kubefirst
```

To upgrade an existing kubefirst CLI to the latest version run:

```shell
brew update
brew upgrade kubefirst
```

There are other ways to install kubefirst for different operating systems, architectures, and containerized environments. See our [installation README](https://github.com/kubefirst/kubefirst/blob/main/build/README.md) for details.

#### AWS Prerequisites

1. Create an AWS account with billing enabled.
2. Establish a public hosted zone with DNS routing established ([docs](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/AboutHZWorkingWith.html)).
3. Connect with [Administrator Access](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AdministratorAccessserviceLevelSummary) IAM credentials to your AWS account ([docs](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys)).
4. Our Homebrew package will automatically install the [AWS IAM Authenticator](https://docs.aws.amazon.com/eks/latest/userguide/install-aws-iam-authenticator.html) dependency. If you use another installation method, you will need to install this utility.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Root credentials

To obtain your 3 initial passwords, run

```bash
kubefirst aws root-credentials
```

![terminal handoff](../../../img/common/kubefirst/root-credentials.png)

:::note the `kubefirst aws root-credentials` command was introduced in 2.0.1
:::
Loading

0 comments on commit b74f1a0

Please sign in to comment.