Skip to content

jairoFernandez/kubefirst

 
 

Repository files navigation

GitOps Infrastructure & Application Delivery Platform

Install |  Twitter |  LinkedIn |  Slack |  Blog


Kubefirst CLI

The Kubefirst CLI is a cloud provisioning tool. With simple setup and two CLI commands, we create a kubernetes cluster managed with automated Infrastructure as Code, GitOps asset management and application delivery, secrets management, a sample application delivered to development, staging, and production, and so much more. It's an open source platform ready to be customized to suit your company's needs.

kubefirst architecture diagram/

DNS Setup

In order to install Kubefirst it's required to have a public domain. For root domains, setting the --hosted-zone-name is enough, in case you want to use subdomains, and the domain is hosted on AWS, please follow the AWS documentation.

Provisioned services on root domain will be hosted as:

argocd.example.com
gitlab.example.com
...

Provisioned services on subdomains will be hosted as:

argocd.subdomain.example.com
gitlab.subdomain.example.com
...

Installing the CLI

brew install kubefirst/tools/kubefirst

Learn more

Other installation techniques:

Details Here

Initialization

Since Kubefirst 1.9 version, GitHub is also available as a Git platform provider alongside GitLab.

localhost

localhost enables Kubefirst to be installed in your local machine, not requiring an AWS account, using localhost you can:

kubefirst local

GitLab

To prepare the installation using GitLab you can:

kubefirst init \
--admin-email [email protected] \
--cloud aws \
--hosted-zone-name yourdomain.com \
--region us-east-1 \
--profile default \
--cluster-name your_cluster_name \
--s3-suffix you-s3-bucket-name \
--git-provider gitlab \
--aws-nodes-spot

GitHub

To prepare the installation using GitHub you can:

export KUBEFIRST_GITHUB_AUTH_TOKEN=your_github_auth_token

kubefirst init \
--admin-email [email protected] \
--cloud aws \
--hosted-zone-name yourdomain.com \
--region us-east-1 \
--profile default \
--cluster-name your-cluster-name \
--github-owner your-github-organization-name 

Creation

At this point, everything is ready to start provisioning the cloud services, and for that run:

kubefirst cluster create

Destroy

It will destroy the kubefirst management cluster, and clean up every change made in the cloud.

kubefirst cluster destroy

or for kubefirst local:

kubefirst local destroy

What to do next

Learn More - Getting Started

If you want learn more

Access ArgoCD

aws eks update-kubeconfig --name your_cluster_name
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d
kubectl -n argocd port-forward svc/argocd-server 8080:80

Available Commands

The Provisioning Process

kubefirst provisioning diagram

Feed K-Ray

Did you know our superhero mascot K-Ray gets its frictionless superpowers from a healthy diet of GitHub stars? K-Ray gets soooo hungry too - you wouldn't believe it. Feed K-Ray a GitHub star ⭐ above to bookmark our project and keep K-Ray happy!!

Star History Chart

About

The Kubefirst Open Source Platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 99.5%
  • Other 0.5%