GitOps Infrastructure & Application Delivery Platform
Install | Twitter | LinkedIn | Slack | Blog
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.
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
...
brew install kubefirst/tools/kubefirst
Since Kubefirst 1.9 version, GitHub is also available as a Git platform provider alongside GitLab.
localhost enables Kubefirst to be installed in your local machine, not requiring an AWS account, using localhost you can:
kubefirst local
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
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
At this point, everything is ready to start provisioning the cloud services, and for that run:
kubefirst cluster create
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
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
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!!