

현대적인 서비스 개발을위한 최고의 플랫폼 인 배터리에 오신 것을 환영합니다! Kubernetes 및 Open-Source를 기반으로하는 소프트웨어 플랫폼은 직관적 인 UI 및 고급 자동화 덕분에 놀라운 올 인 클루 시브 인프라 경험을 제공합니다.
이 저장소에서는 개발에 기여하는 데 필요한 모든 것을 찾을 수 있습니다. 코드 및 스크립트에서 문서 및 정보에 이르기까지 이것은 배터리가 포함 된 모든 것의 허브입니다.
함께 놀라운 것을 만들어 봅시다!
가장 쉬운 방법은 호스팅 된 UI를 사용하여 설치를 구성하는 것입니다. 그런 다음 No-Dependencies 설치 스크립트를 사용하여 Kubernetes (로컬 또는 Pulumi를 통해 클라우드 제공 업체), 모든 오픈 소스 컨테이너 기반 종속성을 시작하는 bi 도구를 다운로드하고 배터리에는 제어 서버가 포함되어 있습니다.
bi 버전을 다운로드하고 Home Base가 서명 한 JWK에서 설치를 시작하는 사용자 정의 설치 스크립트를 실행하십시오.이 모든 것을 가입하지 않고 짧은 시간 동안 시도하고 싶다면 가능합니다. 그러나 몇 시간 동안 상태를보고 할 수없는 후 설치는 작동이 중단됩니다.
bi 다운로드하십시오master 에서 bi start bootstrap/local.spec.json 실행하십시오 코드를 개발하거나 변경하기 위해 운영 체제가 설정되어 준비가되어 있는지 확인하십시오. Linux 시스템을 사용하는 것이 좋습니다. 그러나 코드는 Docker 데몬 (또는 호환)과 Unix와 같은 쉘이있는 모든 시스템에서 작동해야합니다. ASDF의 몇 가지 종속성이 필요하고 개발을 위해 구성된 Kubernetes 클러스터를 시작합니다.
Linux 배포에 따라 다음 종속성을 설치해야합니다.
우분투/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-chromedriverFedora/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 chromedriver종속성을 설치 한 후 Docker가 활성화되고 사용자가 올바른 권한이 있는지 확인하십시오.
sudo systemctl enable docker
sudo systemctl start docker
sudo usermod -aG docker $USER
newgrp dockerMacOS의 경우 Docker Desktop 또는 Podman 외에 다음 종속성을 설치해야합니다.
brew install cmake flock direnvasdf 설치 ASDF는 여러 언어의 버전 관리자입니다. 우리는이를 사용하여 프로젝트에 유용한 도구를 관리합니다. asdf 및 몇 가지 플러그인을 설치해야합니다.
git clone https://github.com/asdf-vm/asdf.git ~ /.asdf --branch v0.14.0그런 다음 Bash 프로파일에 다음을 추가합니다 (다른 쉘은 약간 다릅니다).
. $HOME /.asdf/asdf.sh
. $HOME /.asdf/completions/asdf.bash
eval " $( direnv hook bash ) "그런 다음 필요한 모든 플러그인을 설치하십시오.
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 이 Monorepo에는 배터리 포함 플랫폼을 구축하기 위해 함께 모이는 여러 부품이 포함되어 있습니다. bix 프로젝트의 여러 부분을 관리하는 데 도움이되는 개발 도구입니다.
tldr : bix bootstrap && bix dev
static 포함 된 배터리를 빌드하고 배포하는 코드가 포함되어 있습니다.
공개 게시물은 static/src/content/posts 입니다.
static/src/content/docs 에는 다른 문서 페이지가 있습니다.
이것은 기본 디렉토리입니다. Phoenix 프레임 워크를 사용하며 platform_umbrella/apps 에는 여러 가지 다른 Elixir 응용 프로그램이 있으며 전역 구성은 platform_umbrella/config 에 있습니다.
이것은 공유 구성 요소 및 UI에 대한 응용 프로그램입니다. Control Server 웹 및 홈 서버 웹에서 사용되며 개발중인 스토리 북 인스턴스를 실행합니다.
이것은 고객의 Kubernetes에 설치되는 Control Server의 주요 ecto repo입니다.
이것은 피닉스 웹 응용 프로그램입니다. 대부분 Phoenix.Component , Phoenix.LiveComponent 및 Phoenix.LiveView 입니다. Tailwind CSS를 스타일로 광범위하게 사용합니다.
이것은 청구 사용을 얻고 저장하기위한 코드입니다. 모든 클러스터가 버전 업데이트 및 청구를 위해보고하는 중앙 집중식 홈 서버가됩니다.
이것은 청구 및 새 클러스터를 시작하기위한 UI입니다.
Kubernetes 클러스터를 시작하려면 Postgres를 포함한 서비스를 시작하고 DB를 만들고 대상 요약으로 시드하십시오.
bix bootstrap그런 다음 컨트롤 및 홈 웹 서버 및 배경 프로세스를 시작하십시오. 또한 프로세스 상태를 탐색 할 수있는 IEX 콘솔도 열립니다.
bix dev이제 3 개의 웹 서버에 액세스 할 수 있습니다.
완전히 구성된 편집기를 열려면 단순히 CD를 기본 디르로 열고 everything 작업 공간을 열어줍니다.
cd batteries-included && code .vscode/everything.code-workspace