mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-13 01:36:23 +00:00
Update premix landing page
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
This commit is contained in:
BIN
manuscript/images/premix.png
Normal file
BIN
manuscript/images/premix.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 159 KiB |
@@ -1,13 +1,41 @@
|
||||
# Premix Repository
|
||||
|
||||
"Premix" is a private git repository available to [GitHub sponsors](https://github.com/sponsors/funkypenguin), which includes:
|
||||
"Premix" is a private repository shared with [GitHub sponsors](https://github.com/sponsors/funkypenguin), which contains the necessary files and automation to quickly deploy any recipe, or even an entire [swarm](/docker/) / [cluster](/kubernetes/)! :muscle:
|
||||
|
||||
1. Necessary docker-compose and env files for all published recipes
|
||||
2. Ansible playbook for deploying the cookbook stack, as well as individual recipes
|
||||
3. Helm charts for deploying recipes into Kubernetes
|
||||

|
||||
|
||||
The intention of Premix is that sponsors can launch any recipe with just a `git pull` followed by `ansible-playbook ...` (*Docker Swarm _or_ Kubernetes*), `docker stack deploy ...` (*Docker Swarm*), or `helm install ...` (*Kubernetes*).
|
||||
## Benefits
|
||||
|
||||
## Data Layout
|
||||
### 🎁 Early access
|
||||
|
||||
Generally, each recipe with necessary files is contained within its own folder. The intention is that a sponsor could run `git clone git@github.com:funkypenguin/geek-cookbook-premix.git /var/data/config`, and the recipes would be laid out per the [data layout](/reference/data_layout/).
|
||||
Recipes are usually "baked" in premix first, before they are published on the website. Having access to premix means having access to all the freshest recipes!
|
||||
|
||||
### ⛳️ Eliminate toil
|
||||
|
||||
Building hosts, installing OS and deploying tooling is all "prep" for the really fun stuff - deploying and using recipes!
|
||||
|
||||
Premix [eliminates TOIL](https://sre.google/sre-book/eliminating-toil/) with an ansible playbook to deploy a fresh cluster automatically, or apply individual recipes to an existing cluster.
|
||||
|
||||
(*You still have to "feed" the playbook your configuration, but it's centralized, repeatable, and versionable*.)
|
||||
|
||||
### 🏔 Proven stability
|
||||
|
||||
The ansible playbook used to deploy clusters is also used to validate all PRs in CI, giving assurance that new recipes and changes introduced will work alongside existing ones. Additionally, the CI swarm/cluster is routinely rebuilt "from scratch" to validate the playbook end-to-end.
|
||||
|
||||
### 📈 Ongoing updates
|
||||
|
||||
Typically you'd fork the repository to overlay your own config and changes. As more recipes are added to premix, incorporating these into your repo is a simple git merge operation, which can be automated or manually triggered.
|
||||
|
||||
## How to get Premix
|
||||
|
||||
To get invited to the premix repo, follow these steps:
|
||||
|
||||
1. Become a **public** [sponsor](https://github.com/sponsors/funkypenguin) on GitHub
|
||||
2. Join us in the [Discord server](http://chat.funkypenguin.co.nz)
|
||||
3. Link your accounts at [PenguinPatrol](penguinpatrol.funkypenguin.co.nz)
|
||||
4. Say something in any of the discord channels (*this triggers the bot*)
|
||||
|
||||
You'll receive an invite to premix to the email address associated with your GitHub account, and a fancy VIP role in the Discord server! 💪
|
||||
|
||||
!!! question "Why require public sponsorship?"
|
||||
Public sponsorship is required for the bot to realize that you're a sponsor, based on what the GitHub API provides
|
||||
@@ -226,11 +226,10 @@ nav:
|
||||
# - Webook Receiver: kubernetes/wip.md
|
||||
- 🚀 Get Premix!:
|
||||
- premix/index.md
|
||||
- Ansible:
|
||||
- Operation: premix/ansible/operation.md
|
||||
- Design: premix/ansible/design.md
|
||||
- Swarm: premix/swarm.md
|
||||
- Kubernetes: premix/kubernetes.md
|
||||
- Operation: premix/ansible/operation.md
|
||||
- Design: premix/ansible/design.md
|
||||
# - Swarm: premix/swarm.md
|
||||
# - Kubernetes: premix/kubernetes.md
|
||||
- CHANGELOG: CHANGELOG.md
|
||||
- Support: support.md
|
||||
- Contribute: community/contribute.md
|
||||
|
||||
Reference in New Issue
Block a user