-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
- Loading branch information
Showing
70 changed files
with
165 additions
and
205 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,20 +1,28 @@ | ||
--- | ||
name: Syntax Validation | ||
name: Check spelling & grammar | ||
on: [push, workflow_dispatch] | ||
|
||
jobs: | ||
syntax-check: | ||
check-syntax: | ||
name: vale | ||
runs-on: ubuntu-latest | ||
steps: | ||
|
||
- name: Checkout this repository | ||
uses: actions/[email protected] | ||
uses: actions/[email protected] | ||
|
||
- name: Setup Python | ||
uses: actions/[email protected] | ||
with: | ||
python-version: '3.12.4' | ||
|
||
- name: Install Vale | ||
run: | | ||
wget https://github.com/errata-ai/vale/releases/download/v2.30.0/vale_2.30.0_Linux_64-bit.tar.gz -O vale.tar.gz | ||
tar -xvzf vale.tar.gz vale | ||
rm vale.tar.gz | ||
- name: Setup Python | ||
uses: ruby/[email protected] | ||
with: | ||
ruby-version: '3.3.4' | ||
|
||
- name: Validate the syntax | ||
run: ./vale --config=.vale.ini *.md | ||
uses: errata-ai/[email protected] | ||
with: | ||
fail_on_error: true | ||
version: 3.6.1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,54 +1,51 @@ | ||
The kubefirst 2.3 release introduces kubernetes cluster lifecycle management to the platform to provide our users with the ability | ||
to create their own opinionated workload clusters in a way that takes advantage of their management cluster. We're introducing both | ||
physical clusters, which will be created in your cloud account, as well as virtual clusters, which are also isolated kubernetes | ||
clusters, but which run inside your management cluster. | ||
The kubefirst 2.3 release introduces Kubernetes cluster lifecycle management to the platform to provide our users with the ability to create their own opinionated workload clusters in a way that takes advantage of their management cluster. We're introducing both physical clusters, which will be created in your cloud account, as well as virtual clusters, which are also isolated Kubernetes clusters, but which run inside your management cluster. | ||
|
||
![cluster creation in kubefirst user interface](../img/kubefirst/getting-started/cluster-creation.gif) | ||
|
||
## GitOps-Oriented Workload Clusters | ||
|
||
By default, a new kubefirst will provide you with 2 template-driven directories that will drive how your workload clusters are created. | ||
|
||
![cluster template directories in gitops repository](../img/kubefirst/getting-started/cluster-template.png) | ||
![cluster template directories in GitOps repository](../img/kubefirst/getting-started/cluster-template.png) | ||
|
||
Each cluster that you create from these templates through our management interface will orchestrate the following: | ||
|
||
- new Argo CD project in the management cluster's Argo CD instance to encapsulate the apps that are delivered to that new cluster | ||
- a new app-of-apps for your cluster will be added to your `registry/clusters` directory in your `gitops` repo and bound to your manangement cluster's orchestration in `registry/clusters/<management-cluster>/components/clusters` | ||
- an optional environment binding so a new cluster can establish a space for a new environment in your gitops repository | ||
- a new app-of-apps for your cluster will be added to your `registry/clusters` directory in your `gitops` repository and bound to your management cluster's orchestration in `registry/clusters/<management-cluster>/components/clusters` | ||
- an optional environment binding so a new cluster can establish a space for a new environment in your `gitops` repository | ||
|
||
![cluster binding in management clusters directory](../img/kubefirst/getting-started/cluster-binding.png) | ||
|
||
## Cluster Provisioning Orchestration | ||
|
||
![production workload cluster app-of-apps in Argo CD](../img/kubefirst/getting-started/cluster-argocd.png) | ||
|
||
If you inspect your templates for cluster and vcluster, you'll find them to be very similar. They will both create new kubernetes clusters with the following components preloaded: | ||
If you inspect your templates for cluster and vcluster, you'll find them to be very similar. They will both create new Kubernetes clusters with the following components preloaded: | ||
|
||
- infrastructure (virtual): vcluster kubernetes cluster that will run in a namespace in your management cluster, with an additional bootstrap app to configure the cluster with crossplane-managed terraform | ||
- infrastructure (physical): crossplane-managed terraform that creates a kubernetes cluster tailored to your cloud and configures the cluster | ||
- infrastructure (virtual): vcluster Kubernetes cluster that will run in a namespace in your management cluster, with an additional bootstrap app to configure the cluster with crossplane-managed Terraform | ||
- infrastructure (physical): crossplane-managed Terraform that creates a Kubernetes cluster tailored to your cloud and configures the cluster | ||
- ingress-nginx ingress controller | ||
- external-dns preconfigured for your domain | ||
- external-secrets-operator with preconfigured secret store to access vault in the management cluster | ||
- external-secrets-operator with preconfigured secret store to access Vault in the management cluster | ||
- cert-manager with clusterissuers preconfigured | ||
- reloader for pod restart automation | ||
- optional binding to an environment directory in your gitops repo | ||
- you can customize this template in your gitops repository as your needs require | ||
- optional binding to an environment directory in your `gitops` repository | ||
- you can customize this template in your `gitops` repository as your needs require | ||
|
||
:::tip | ||
The Kubefirst Console "Physical Clusters" feature will be the first feature of our upcoming Pro tier. We'd love for you to try it out and tell us what you think during its free introductory period. | ||
The kubefirst Console "Physical Clusters" feature will be the first feature of our upcoming Pro tier. We'd love for you to try it out and tell us what you think during its free introductory period. | ||
|
||
We plan to keep the Kubefirst Console "Virtual Clusters" feature on the Community tier at no cost. | ||
We plan to keep the kubefirst Console "Virtual Clusters" feature on the Community tier at no cost. | ||
|
||
You will always be able to create anything you need on your own without our user interface, and we hope you find that starting point immensly valuable. We hope to earn your business with our management interface. Thank you sincerely to all of our customers. | ||
You will always be able to create anything you need on your own without our user interface, and we hope you find that starting point immensely valuable. We hope to earn your business with our management interface. Thank you sincerely to all of our customers. | ||
::: | ||
|
||
## Operating your workload clusters | ||
|
||
When you create a cluster in our UI we place the gitops content for the cluster and its apps in your gitops repository. You'll be able to see it in your gitops repo commits. | ||
When you create a cluster in our UI we place the GitOps content for the cluster and its apps in your `gitops` repository. You'll be able to see it in your `gitops` repository commits. | ||
|
||
Cluster creation takes about 6 minutes to fully sync in Argo CD for virtual clusters. Physical clusters take anywhere from 5 to 25 minutes to fully sync, depending on the cloud, the weather, or anything in between. | ||
|
||
Your workload cluster will have a starting point app-of-apps in Argo CD in the `clusters` app and will share your cluster's name. | ||
|
||
When you delete a cluster, kubefirst will remove the binding from your management cluster so that it begins deleting in Argo CD, but we must leave the directory there so that the apps can remove gracefully. You're free to remove it once cluster deprovisioning has completed successfully. Deletion takes time to deprovision resources - can be anywhere from 5 to 15 minites depending on the cloud. Be patient and inspect the deprovision operation in argocd. | ||
When you delete a cluster, kubefirst will remove the binding from your management cluster so that it begins deleting in Argo CD, but we must leave the directory there so that the apps can remove gracefully. You're free to remove it once cluster deprovisioning has completed successfully. Deletion takes time to deprovision resources - can be anywhere from 5 to 15 minutes depending on the cloud. Be patient and inspect the deprovision operation in Argo CD. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
### General | ||
|
||
- [Let's encrypt](https://letsencrypt.org/) is limited to 50 weekly certificates with an additional limitations of 5 per subdomains. We use Let's encrypt to automatically create certicicates for your domains. In most cases, this won't be an issue, but you may reach that limit if you create, and destroy often kubefirst clusters using the same domain during a short period. You can use the [Let's Debug Toolkit](https://tools.letsdebug.net/cert-search) to check those, but note that the result isn't always valid. | ||
- [Let's encrypt](https://letsencrypt.org/) is limited to 50 weekly certificates with an additional limitations of 5 per subdomains. We use Let's encrypt to automatically create certificates for your domains. In most cases, this won't be an issue, but you may reach that limit if you create, and destroy often kubefirst clusters using the same domain during a short period. You can use the [Let's Debug Toolkit](https://tools.letsdebug.net/cert-search) to check those, but note that the result isn't always valid. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
We currenctly do not support Windows directly, but you can easily use kubefirst using [WSL](https://learn.microsoft.com/en-us/windows/wsl/about) (tested with Ubuntu). To install the lastest WSL version, please follow the [Microsoft documentation on how to install Linux on Windows](https://learn.microsoft.com/en-us/windows/wsl/install). | ||
We currently do not support Windows directly, but you can easily use kubefirst using [WSL](https://learn.microsoft.com/en-us/windows/wsl/about) (tested with Ubuntu). To install the latest WSL version, please follow the [Microsoft documentation on how to install Linux on Windows](https://learn.microsoft.com/en-us/windows/wsl/install). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.