1-Click Infrastructure

Your Kubernetes cluster is up.
Bootstrap Logging, Metrics, Ingress and other infrastructure components now in three steps.

Curated components, the expected features - by @laszlocph

πŸ‘‡

1) Store the configuration in Git

Login with Github and authorize 1ClickInfra to write your configuration repository.
I recommend that you create a new repo for this, and only grant access to that single repo.

Don't have a cluster at hand? You can use any local cluster, like I used k3d in this video: https://www.youtube.com/watch?v=uEZitDmOYgY

2) Choose components

☁️ Cloud
Linode
Vanilla Kubernetes
Linode
Linode
Digital Ocean
Digital Ocean
πŸ“‘ Logging
Grafana Loki
Grafana Loki
⬅️Ingress
Nginx
Nginx
Cert-Manager
Cert-Manager
OAuth2 Proxy
OAuth2 Proxy
πŸ”’ Metrics
Prometheus
Prometheus
πŸ” Secrets
Sealed Secrets
Sealed Secrets
πŸ—ΊοΈ Service Mesh
Linkerd
Linkerd

3) Write configuration to git

No change to write.

Are you worried to log in? The Privacy Policy explains how I use every OAuth scope.

One time setup

Bootstrap the gitops worker on your Kubernetes cluster:

git clone git@github.com:$gitopsRepo.git
kubectl create namespace flux
kubectl apply -f $gitopsRepo/bootstrap

Once you ran the commands, any further change to the configuration repository will be applied to the cluster. This is GitOps.πŸ™Œ

Yes, you can even use this automation for other components and your own apps too. Like I did in this video: https://youtu.be/rlGJM19auJU?t=645

What is this service?

1-Click Infra packages a curated list open-source infrastructure software for Kubernetes clusters.
And while doing so, it gives you a process to version your infrastructure in git.

Hi, I'm Laszlo Fogas πŸ‘‹ or @laszlocph on Twitter,

I've been helping companies building internal developer platforms on Kubernetes for years.
I built 1-Click Infra because even with managed Kubernetes clusters, it is quite a task to equip the cluster with all the needed tooling: with logging, metrics, ingress.

What's wrong with Helm charts?

Helm charts are great. They solve the technical problem of packaging and distributing software for Kubernetes. However, they have to support many use-cases, making it difficult to grasp all the switches and options they provide.

Each chart has a custom documentation, sometimes charts are not compatible, or they have overlapping functionality. They are definitely not tailored for a single cloud provider either.

1-Click Infra uses Helm charts for deployment, gives you good defaults, guarantees that charts work together and that you will face only the necessary choices.

Why shouldn't I use Helm and charts from Github?

You can. However with 1-Click Infra you can spare several days of investigation and fine tuning of the chart parameters. Also, you have to script your Helm commands yourself, and add the automation. 1-Click Infra gives you git based configuration and automation to roll it out.

Can I access the Helm chart parameters?

Yes, you can. 1-Click Infra stores the Helm values.yaml in git, and you can fine tune it if you need more options than what 1-Click Infra exposes. 1-Click Infra then does a 3-way merge making sure that your custom changes are kept.

How exactly 1-Click Infra is gitops?

1-Click Infra only interacts with Github. It stores the configuration in a git repository and it also stores the automation there that applies the configuration.
You install the automation on your Kubernetes cluster with a single command, and from then on any change made to the git repository, will be applied to your cluster.

Technically, 1-Click Infra uses the Helm Operator and writes HelmReleases yaml files to a git repository.
It also provisions FluxCD in this repo, and it is bootstrapped in the cluster with a kubectl command.

Is 1-Click Infra open source?

1-Click Infra uses open-source components, FluxCD and the HelmRelease Operator, however it is not open-source.
The 1-Click Infra code provides this UI and the logic to provision charts in the git repository.

Is 1-Click Infra free?

Yes, you can use 1-Click Infra free of charge. I believe there should exist a tool like this, and the more opinions are in the Kubernetes ecosystem, the better.
Maintaining this service is however a considerable effort, the reason I do it is because it may lead me to a problem that worth solving in a commercial setting.

What if 1-Click Infra goes away?

Well, you will miss out on the updates, and won't get hints how to best operate your cluster, but everything you set up with 1-Click Infra continues to work. After all, it lives in your own git repository and cluster.

I'm on Digital Ocean. Why should I use 1-Click Infra instead the built-on marketplace?

The Digital Ocean Marketplace was a huge inspiration to make 1-Click Infra.
1-Click Infra goes further in two ways:

  • Works on any cloud provider
  • Provides a reproducable cluster state as all configuration is versioned. The DO Marketplace is great, but it only gives you one off commands that are good for installation, but not for the full lifecycle of your cluster
  • You may not believe it, but the DO Marketplace defaults are not as good as 1-Click Infra's. For example 1-Click Infra configures your ingress to see your end user's IP addresses. DO doesn't do this 🀷, but I think it is a rather important setting.

Can I use 1-Click Infra on a local cluster?

Yes you can.

You can use it on any cluster. The good thing is that even if you delete your local cluster, you can reapply the same configuration in a new cluster.
Ingress features though may not work as it needs a working LoadBalancer service type, that typically only works with cloud providers.

I made a video doing just this: https://www.youtube.com/watch?v=uEZitDmOYgY

How does 1-Click Infra compare to other install tools like Arkade?

Arkade is great and its maker, Alex Ellis is a huge inspiration for the whole community.

1-Click Infra has different opinions on the same problem. Instead of a CLI with one-off commands, you get a versioned configuration of your cluster. Arkade uses CLI flags instead of the Helm values.yaml, while 1-Click Infra builds on the values.yaml heavily.
We both agree though, that you should not spend your time figuring out each Helm chart yourself.

Alright, I give it a try, but how will I shut off 1-Click Infra if I decide to not use it eventually?

Locate the `1-Click Infrastructure` app installation on Github. Configure it and click `Uninstall "1-Click Infrastructure"`.

Don't forget to revoke your OAuth grants on Github. Locate `1-Click Infrastructure` then click "Revoke".

Privacy Policy

Terms of Service

Β© 2020 Laszlo Consulting Kft.
All rights reserved.Twitter