Giter VIP home page Giter VIP logo

rules_distroless's Introduction

Bazel rules for fetching Debian packages

This ruleset designed to replace commands such as apt-get install, passwd, groupadd, useradd, update-ca-certificates.

Note

rules_distroless is an beta software and doesn't have a stable Public API yet, however many are already using it in production.

See Adopters section to see who's already using it.

Usage

Our examples demonstrate how to accomplish typical tasks such as create a new user group or create a new home directory.

We also we have distroless-specific rules that could be useful

  • flatten: flatten multiple tar archives.
  • os_release: create a /etc/os-release file
  • locale: strip /usr/lib/locale to be smaller.
  • dpkg_statusd: creates a package database at /var/lib/dpkg/status.d for scanners to discover installed packages.

Public API Docs

  • apt Repository rule for fetching/installing Debian/Ubuntu packages.
  • linux Various rules for creating Linux specific files.

Installation

See the install instructions on the release notes: https://github.com/GoogleContainerTools/rules_distroless/releases

To use a commit rather than a release, you can point at any SHA of the repo.

With bzlmod, you can use archive_override or git_override. For WORKSPACE, you modify the http_archive call; for example to use commit abc123 with a WORKSPACE file:

  1. Replace url = "https://github.com/GoogleContainerTools/rules_distroless/releases/download/v0.1.0/rules_distroless-v0.1.0.tar.gz" with a GitHub-provided source archive like url = "https://github.com/GoogleContainerTools/rules_distroless/archive/abc123.tar.gz"
  2. Replace strip_prefix = "rules_distroless-0.1.0" with strip_prefix = "rules_distroless-abc123"
  3. Update the sha256. The easiest way to do this is to comment out the line, then Bazel will print a message with the correct value.

Note that GitHub source archives don't have a strong guarantee on the sha256 stability, see https://github.blog/2023-02-21-update-on-the-future-stability-of-source-code-archives-and-hashes

Contributing

This ruleset is primarily funded to support distroless. We may not work on feature requests that do not support this mission. We will however accept fully tested contributions via pull requests if they align with the project goals (ex. a different compression format) and may reject requests that do not (ex. supporting a non deb based packaging format).

Adopters

An adopter? Add your company here by sending us a Pull Request.

rules_distroless's People

Contributors

thesayyn avatar loosebazooka avatar benmccown avatar alexeagle avatar jacobshirley avatar alexconrey avatar mortenmj avatar lazcamus avatar ericlchen1 avatar notbobthebuilder avatar prestonvanloon avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.