

Bienvenido a las baterías incluidas: ¡la mejor plataforma para el desarrollo de servicios modernos! Construido en Kubernetes y de código abierto, nuestra plataforma de software le brinda una experiencia de infraestructura increíble e inclusiva gracias a una interfaz de usuario intuitiva y una automatización avanzada.
En este repositorio, encontrará todo lo que necesita para contribuir al desarrollo. Desde código y scripts hasta documentación e información, este es el centro de todas las baterías incluidas .
¡Construyamos algo increíble juntos!
El método más fácil es usar nuestra interfaz de usuario alojada para configurar una instalación. Luego, use el script de instalación sin dependencias para descargar nuestra herramienta bi que iniciará Kubernetes (localmente a través de Kind o en un proveedor de nubes a través de Pulumi), todas las dependencias basadas en contenedores de código abierto y el servidor de control incluía las baterías.
bi e iniciará la instalación desde JWK firmada por la base de casas.Si desea probar todo esto por un corto tiempo sin registrarse, eso es posible. Sin embargo, la instalación dejará de funcionar después de unas pocas horas de no poder informar el estado.
bi del último lanzamiento de Githubmaster , ejecute bi start bootstrap/local.spec.json Para comenzar a desarrollar o cambiar el código, asegúrese de que su sistema operativo esté configurado y listo para funcionar. Recomendamos usar una máquina Linux, pero nuestro código debería funcionar en cualquier sistema con un Docker Daemon (o compatible) y una carcasa similar a UNIX. Necesitaremos algunas dependencias, ASDF y luego iniciar un clúster Kubernetes configurado para el desarrollo.
Dependiendo de su distribución de Linux, deberá instalar las siguientes dependencias:
Para sistemas basados en 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-chromedriverPara sistemas basados en 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 chromedriverDespués de instalar las dependencias, Asegúrese de que Docker esté habilitado y su usuario tiene los privilegios correctos:
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp dockerPara MacOS, deberá instalar las siguientes dependencias además de Docker Desktop o Podman.
brew install cmake flock direnvasdf ASDF es un administrador de versiones para varios idiomas. Lo usamos para administrar las herramientas que son útiles en el proyecto. Deberá instalar asdf y algunos complementos:
git clone https://github.com/asdf-vm/asdf.git ~ /.asdf --branch v0.14.0Luego agregue lo siguiente a su perfil de Bash (otras conchas variarán ligeramente):
. $HOME /.asdf/asdf.sh
. $HOME /.asdf/completions/asdf.bash
eval " $( direnv hook bash ) "Luego instale todos los complementos necesarios:
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 Este monorepo contiene múltiples partes que se unen para construir la plataforma incluida las baterías . bix es nuestra herramienta de desarrollo que ayuda a administrar las diferentes partes del proyecto.
TLDR: bix bootstrap && bix dev
static contiene el código que construye e implementa baterías incluidas .
Las publicaciones públicas están en static/src/content/posts .
Hay otras páginas de documentos en static/src/content/docs .
Este es el directorio principal. Utiliza el marco de Phoenix, y hay varias aplicaciones de elixir diferentes en platform_umbrella/apps mientras que la configuración global está en platform_umbrella/config .
Esta es la aplicación para componentes compartidos y UI. Se utiliza en la web de control del servidor de control y en la web del servidor doméstico, y ejecuta una instancia de libro de cuentos en el desarrollo.
Este es el principal repositorio de ECTO para el servidor de control que se instala en los Kubernetes del cliente.
Esta es la aplicación web de Phoenix. Es principalmente Phoenix.Component , Phoenix.LiveComponent y Phoenix.LiveView . Utilizando ampliamente CSS de viento de cola como el estilo.
Este es el código para obtener el uso de la facturación y almacenarlo. Será el servidor doméstico centralizado en el que todos los clústeres informan para las actualizaciones de versión y la facturación.
Esta es la interfaz de usuario para la facturación e iniciar nuevos grupos.
Para iniciar el tipo de clúster de Kubernetes, inicie los servicios, incluidos Postgres, cree los DB y sembrados con resumen objetivo.
bix bootstrapLuego inicie el control y los servidores web en inicio y los procesos de fondo. Esto también abrirá una consola IEX donde puede explorar el estado del proceso:
bix devAhora hay tres servidores web accesibles:
Para abrir un editor totalmente configurado, simplemente CD en el directorio principal y luego abrir el espacio de trabajo everything :
cd batteries-included && code .vscode/everything.code-workspace