Welcome to the One-Click Deployment Platform. This project aims to provide a user-friendly interface for deploying dockerized containers on a Kubernetes cluster.
It's built with the following technologies:
You will need the following to run this project:
Install the Operator Follow the installation instructions provided in the one-click-operator repository.
Install the UI & Backend Check out the deployment folder and change the values for your environment. Then run the following commands:
cd deployment
kubectl apply -k .
Access the UI
# if you are using an ingress
kubectl get ingress -n one-click
# if you want to use port-forwarding
kubectl port-forward -n one-click svc/one-click-ui 8080:80
Access Pocketbase on your URL or localhost:8080 with /_
as the path. Example: localhost:8080/_
. You should see the Pocketbase UI and set your admin user. Then create a new user under users
collection. You can now login with your new user.
Blueprints are an abstraction of a deployment. They contain some predefined values and can be used to deploy a certain container with a single click. You can create your own blueprints and share them with others.
Check out the blueprints folder for examples.
You can create projects which their id's will be the name of the namespace inside the Kubernetes cluster. You can tag these projects to make it more easy to filter (e.g. by environment).
Deployments are based on blueprints. You must create a deployment from a blueprint and customize it to your needs. Each configuration is stored in a rollout. A rollout is a version of a deployment configuration (like a snapshot). So each time you change a configuration, a new rollout is created. You can then rollback to a previous rollout. Deployments within the same project will get created in the same namespace. So keep in mind to not use the same ingress hosts.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open-source community such an amazing place to be, learn, inspire, and create. Any contributions you make are greatly appreciated.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)