Cloud-native build system and release tools tailored to building, releasing, and maintaining Enterprise Linux distributions and forks
Go to file
Mustafa Gezen f96781d3c5
Fine tune manual targets
2022-10-30 04:29:29 +01:00
.github/ISSUE_TEMPLATE add issue templates 2022-07-12 11:06:59 -07:00
.ijwb Add grpc-middleware-prometheus and promhttp dependencies 2022-08-31 20:06:02 +02:00
apollo Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
bases Fine tune manual targets 2022-10-30 04:29:29 +01:00
build/bazel Initial commit 2022-07-07 22:13:21 +02:00
ci Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
common Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
config Remove unnecessary allowed_clusters 2022-10-30 02:40:05 +01:00
docs docs: Pretty up the yumrepofs doc, pending further expansion 2022-07-08 08:19:52 -07:00
dotui Initial commit 2022-07-07 22:13:21 +02:00
google Initial commit 2022-07-07 22:13:21 +02:00
hack Initial commit 2022-07-07 22:13:21 +02:00
hydra Make servicecatalog/js able to do env overridable services 2022-07-27 22:32:36 +02:00
infrastructure Initial commit 2022-07-07 22:13:21 +02:00
initdb Fine tune manual targets 2022-10-30 04:29:29 +01:00
koji Initial commit 2022-07-07 22:13:21 +02:00
modulemd Initial commit 2022-07-07 22:13:21 +02:00
nofussvendor Initial commit 2022-07-07 22:13:21 +02:00
obsidian Change interceptor handling and add prometheus metrics to all services 2022-08-31 20:06:02 +02:00
patches Initial commit 2022-07-07 22:13:21 +02:00
peridot Fine tune manual targets 2022-10-30 04:29:29 +01:00
platforms Initial commit 2022-07-07 22:13:21 +02:00
proto Initial commit 2022-07-07 22:13:21 +02:00
protoc-gen-openapiv2 Initial commit 2022-07-07 22:13:21 +02:00
publisher Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
rules_byc Fine tune manual targets 2022-10-30 04:29:29 +01:00
rules_raw_ts_library Initial commit 2022-07-07 22:13:21 +02:00
servicecatalog Add option to override Hydra and SpiceDB endpoints 2022-07-27 22:32:36 +02:00
spicedb Initial commit 2022-07-07 22:13:21 +02:00
tailwind Initial commit 2022-07-07 22:13:21 +02:00
temporalutils Temporal namespace should be passed to peridotbuilder 2022-07-27 22:32:35 +02:00
third_party Initial commit 2022-07-07 22:13:21 +02:00
tools Initial commit 2022-07-07 22:13:21 +02:00
utils Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
validate Initial commit 2022-07-07 22:13:21 +02:00
vendor Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
views Initial commit 2022-07-07 22:13:21 +02:00
wrksp Initial commit 2022-07-07 22:13:21 +02:00
.bazelignore Initial commit 2022-07-07 22:13:21 +02:00
.bazelrc Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
.bazelversion Initial commit 2022-07-07 22:13:21 +02:00
.editorconfig Initial commit 2022-07-07 22:13:21 +02:00
.envrc Initial commit 2022-07-07 22:13:21 +02:00
.envrc.prod.extarches Initial commit 2022-07-07 22:13:21 +02:00
.envrc.prod.mustafarocky Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
.envrc.prod.quaymirror Initial commit 2022-07-07 22:13:21 +02:00
.envrc.prod.resf Initial commit 2022-07-07 22:13:21 +02:00
.gitignore Initial commit 2022-07-07 22:13:21 +02:00
.gitlab-ci.yml Initial commit 2022-07-07 22:13:21 +02:00
.prettierrc Initial commit 2022-07-07 22:13:21 +02:00
BUILD.bazel Initial commit 2022-07-07 22:13:21 +02:00
CONTRIBUTORS Fix maintainers list 2022-07-08 22:40:40 +02:00
COPYRIGHT Initial commit 2022-07-07 22:13:21 +02:00
LICENSE Initial commit 2022-07-07 22:13:21 +02:00
OWNERS Add owners and prow config 2022-10-30 02:21:39 +02:00
OWNERS_ALIASES Add owners and prow config 2022-10-30 02:21:39 +02:00
README.md Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
WORKSPACE Add support for lookaside rpm import, introduce CLI and machine-to-machine callers support 2022-08-31 20:06:01 +02:00
go.mod Add grpc-middleware-prometheus and promhttp dependencies 2022-08-31 20:06:02 +02:00
go.sum Add grpc-middleware-prometheus and promhttp dependencies 2022-08-31 20:06:02 +02:00
nogo.json Initial commit 2022-07-07 22:13:21 +02:00
package.json Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00
peridot.code-workspace Initial commit 2022-07-07 22:13:21 +02:00
tsconfig.json Initial commit 2022-07-07 22:13:21 +02:00
yarn.lock Sync-01 - 10/30/2022 2022-10-30 02:59:43 +01:00

README.md

distro-tools

Cloud-native build and release tools tailored to building, releasing and maintaining Linux distributions and forks

Structure

Other components pending

  • publisher - Composer for Peridot (currently only includes legacy mode)
  • peridot - Modern build system
  • apollo - Errata mirroring and publishing platform
  • utils - Common utilities
  • modulemd - Modulemd parser in Go

Development

Before the setup install jq, bazelisk, docker and kubectl. A local Kubernetes cluster is also required. Docker Desktop is a good solution.

Initial setup (will soon be replaced by one command dev cluster)

# In the directory where you downloaded istio
bin/istioctl install --set profile=default --set hub=docker.io/querycapistio --set tag=1.12.1 -y
# On aarch64 (ex. M1 Mac) only and add arm64 to list of preferred schedule archs
# Run this while install is running
kubectl -n istio-system edit deployment istio-ingressgateway
sudo hack/deploy_dev_registry
hack/setup_external_dev_services
# Run `kubectl get svc` and add the port of postgres-postgresql to your rc file
# Example:
# postgres-postgresql          NodePort    10.102.68.75     <none>        5432:32442/TCP                  3m32s
# export POSTGRES_PORT="32442"
hack/setup_k8s_dev_env
git clone https://github.com/temporalio/temporal /tmp/temporal && pushd /tmp/temporal && make temporal-sql-tool && popd && hack/setup_dev_temporal /tmp/temporal
# Sometimes the namespace registration may fail because
# Temporal tools CrashLooped before we could run the migrations.
# Run `kubectl delete pods -l "app.kubernetes.io/name=temporal"` and then re-run
# `kubectl exec -it services/temporal-admintools -- tctl --namespace default namespace re`
hack/setup_base_internal_services
# For the cert, mkcert is recommended (mkcert.dev)
# Add default cert using `kubectl -n istio-system create secret tls default-cert --cert=cert.pem --key=cert.key`
# Create the Istio gateway
bazel run //infrastructure/istio-dev

Running ./hack/govendor should create the necessary structure for development

For best experience use IntelliJ+Bazel but govendor creates structure that is compatible with all other Go tools

Auto generate (only) BUILD files for Go

bazel run //:gazelle

Vendor Go dependencies

./hack/govendor

Run UI in development mode

ibazel run //TARGET:TARGET.server - example: ibazel run //apollo/ui:apollo.server

Find UI server targets

bazel query 'attr(tags, "byc_frontend_server", //...)'