

Bienvenue aux batteries incluses - la plate-forme ultime pour le développement de services modernes! Construit sur Kubernetes et Open-source, notre plate-forme logicielle vous offre une expérience d'infrastructure incroyable et inclusive grâce à une interface utilisateur intuitive et une automatisation avancée.
Dans ce dépôt, vous trouverez tout ce dont vous avez besoin pour contribuer au développement. Du code et des scripts à la documentation et aux informations, c'est le centre des batteries incluses .
Construisons quelque chose d'incroyable ensemble!
La méthode la plus simple consiste à utiliser notre interface utilisateur hébergée pour configurer une installation. Ensuite, utilisez le script d'installation de non-dépendances pour télécharger notre outil bi qui démarrera Kubernetes (localement via Kind ou sur un fournisseur de cloud via Pulumi), toutes les dépendances basées sur les conteneurs open source et les batteries incluaient le serveur de contrôle.
bi et démarrez l'installation à partir de JWK signé par Home Base.Si vous voulez essayer tout cela pendant une courte période sans vous inscrire, c'est possible. Cependant, l'installation cessera de fonctionner après quelques heures de ne pas être en mesure de signaler l'état.
bi à partir de la dernière version githubmaster , Run bi start bootstrap/local.spec.json Pour commencer à développer ou à modifier le code, assurez-vous que votre système d'exploitation est configuré et prêt à partir. Nous vous recommandons d'utiliser une machine Linux, mais notre code devrait fonctionner sur n'importe quel système avec un démon Docker (ou compatible) et une coque de type Unix. Nous aurons besoin de quelques dépendances, ASDF, puis pour démarrer un cluster Kubernetes configuré pour le développement.
Selon votre distribution Linux, vous devrez installer les dépendances suivantes:
Pour les systèmes basés sur Ubuntu / APT:
sudo apt-get install -y docker.io build-essential curl git cmake
libssl-dev pkg-config autoconf
m4 libncurses5-dev inotify-tools direnv jq
# Building and Testing deps not needed for most uses
sudo apt-get install -y chromium-browser chromium-chromedriverPour les systèmes basés sur Fedora / DNF:
sudo dnf install -y docker gcc gcc-c++ make curl git
cmake openssl-devel pkgconfig autoconf m4 ncurses-devel
inotify-tools direnv jq
# Building/Testing deps
sudo dnf install -y chromium chromedriverAprès avoir installé les dépendances, assurez-vous que Docker est activé et que votre utilisateur a les bons privilèges:
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp dockerPour MacOS, vous devrez installer les dépendances suivantes en plus de Docker Desktop ou Podman.
brew install cmake flock direnvasdf ASDF est un gestionnaire de version pour plusieurs langues. Nous l'utilisons pour gérer les outils utiles dans le projet. Vous devrez installer asdf et quelques plugins:
git clone https://github.com/asdf-vm/asdf.git ~ /.asdf --branch v0.14.0Puis ajoutez ce qui suit à votre profil bash (les autres coquilles varieront légèrement):
. $HOME /.asdf/asdf.sh
. $HOME /.asdf/completions/asdf.bash
eval " $( direnv hook bash ) "Ensuite, installez tous les plugins nécessaires:
asdf plugin add erlang
asdf plugin add elixir
asdf plugin add nodejs
asdf plugin add golang
asdf plugin add goreleaser
asdf plugin add kubectl
asdf plugin add shfmt
asdf plugin add awscli
asdf plugin add kind
asdf install Ce monorepo contient plusieurs pièces qui se réunissent pour construire la plate-forme incluse des batteries . bix est notre outil de développement qui aide à gérer les différentes parties du projet.
TLDR: bix bootstrap && bix dev
static contient le code qui construit et déploie les batteries incluses .
Les publications publiques sont en static/src/content/posts .
Il existe d'autres pages DOCS dans static/src/content/docs .
Ceci est le répertoire principal. Il utilise le framework Phoenix, et il existe plusieurs applications d'élixir différentes dans platform_umbrella/apps tandis que la configuration globale est dans platform_umbrella/config .
Il s'agit de l'application pour les composants partagés et l'interface utilisateur. Il est utilisé dans Control Server Web and Home Server Web et exécute une instance de livre de contes en développement.
Il s'agit du principal repo ecto du serveur de contrôle qui est installé sur les Kubernetes du client.
Il s'agit de l'application Web Phoenix. Il s'agit principalement Phoenix.Component , Phoenix.LiveComponent et Phoenix.LiveView . Utilisation de CSS de vent arrière comme style.
Ceci est le code pour obtenir l'utilisation de la facturation et le stocker. Ce sera le serveur domestique centralisé dans lequel tous les clusters rapportent pour les mises à jour de la version et la facturation.
Ceci est l'interface utilisateur pour la facturation et le démarrage de nouveaux grappes.
Pour démarrer le type de cluster Kubernetes, démarrez les services, y compris les Postgres, créez les DB et semenez-les avec un résumé cible.
bix bootstrapDémarrez ensuite le contrôle et les serveurs Web domestiques et les processus d'arrière-plan. Cela ouvrira également une console IEX où vous pouvez explorer l'état du processus:
bix devMaintenant, il y a trois serveurs Web accessibles:
Pour ouvrir un éditeur entièrement configuré, CD simplement dans le Dir principal, puis ouvrez l'espace de travail everything :
cd batteries-included && code .vscode/everything.code-workspace