Cloud-native build system and release tools tailored to building, releasing, and maintaining Enterprise Linux distributions and forks
Go to file
Mustafa Gezen 1703798d0e
Verify signature regardless of signing status
We get "corrupted"/non-correctly signed RPMs from time to time and added a mechanism to verify signatures and resign if invalid. Unfortunately sometimes rpm --addsign can return a zero exit code regardless of actual error status. Because of this we should always verify signature after signing, this way if it's invalid, we can resign it.
2022-07-27 22:32:36 +02:00
.github/ISSUE_TEMPLATE add issue templates 2022-07-12 11:06:59 -07:00
.ijwb Initial commit 2022-07-07 22:13:21 +02:00
bases Initial commit 2022-07-07 22:13:21 +02:00
build/bazel Initial commit 2022-07-07 22:13:21 +02:00
ci Initial commit 2022-07-07 22:13:21 +02:00
common Fix accidental breakage of prod detection for JS/frontend_server 2022-07-27 22:32:36 +02: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 Initial commit 2022-07-07 22:13:21 +02: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 Initial commit 2022-07-07 22:13:21 +02:00
patches Initial commit 2022-07-07 22:13:21 +02:00
peridot Verify signature regardless of signing status 2022-07-27 22:32:36 +02: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 Initial commit 2022-07-07 22:13:21 +02:00
rules_byc Yumrepofs should translate i386 to i686 2022-07-27 22:32:35 +02:00
rules_raw_ts_library Initial commit 2022-07-07 22:13:21 +02:00
secparse 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 Initial commit 2022-07-07 22:13:21 +02:00
validate Initial commit 2022-07-07 22:13:21 +02:00
vendor Upgrade dependencies 2022-07-14 17:06:34 +02: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 Initial commit 2022-07-07 22:13:21 +02: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.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
go.mod Upgrade dependencies 2022-07-14 17:06:34 +02:00
go.sum Upgrade dependencies 2022-07-14 17:06:34 +02:00
LICENSE Initial commit 2022-07-07 22:13:21 +02:00
nogo.json Initial commit 2022-07-07 22:13:21 +02:00
package.json Upgrade dependencies 2022-07-14 17:06:34 +02:00
peridot.code-workspace Initial commit 2022-07-07 22:13:21 +02:00
README.md Initial commit 2022-07-07 22:13:21 +02:00
tsconfig.json Initial commit 2022-07-07 22:13:21 +02:00
WORKSPACE Formatting 2022-07-27 22:32:36 +02:00
yarn.lock Upgrade dependencies 2022-07-14 17:06:34 +02:00

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
  • secparse - Errata mirroring and publishing platform
    • ui - Product Errata UI
  • 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 //secparse/ui:secparse.server

Find UI server targets

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