Automatically creates Debian packaging for Go packages

Build Status

dh-make-golang is a tool to automatically create Debian packaging for Go packages. Its goal is to automate away as much of the work as possible when creating a Debian package for a Go library package or Go program.

Overview

All you need to specify is a Go package name. In your current working directory, a new directory will be created containing a git repository. Inside that repository, you’ll find the Go package’s source code plus the necessary Debian packaging files to build a Debian package. The packaging adheres to the pkg-go packaging guidelines and hence can be placed alongside the other team-maintained packages in pkg-go, hosted on Debian’s salsa.

Usage/example

For an introductory example, see this annotated demonstration of how to use dh-make-golang.

dh-make-golang’s usage of the internet

dh-make-golang makes heavy use of online resources to improve the resulting package. In no particular order and depending on where your package is hosted, dh-make-golang may query:

  • By virtue of using go get, the specified Go package and all of its dependencies will be downloaded. This step can quickly cause dozens of megabytes to be transferred, so be careful if you are on a metered internet connection.
  • The output of filter-packages.sh, hosted on https://people.debian.org/~stapelberg/dh-make-golang/. This is used to figure out whether dependencies are already packaged in Debian, and whether you are about to duplicate somebody else’s work.
  • GitHub’s API, to get the license, repository creator, description and README for Go packages hosted on GitHub.
Owner
The Universal OS
See https://github.com/Debian/README.Debian for details
The Universal OS
Comments
  • Allow the use of gccgo on architectures without golang-go

    Allow the use of gccgo on architectures without golang-go

    • Build-Depends on gccgo where golang-go is not available i.e., [!amd64 !arm64 !armel !armhf !i386 !ppc64 !ppc64el]
    • Remove Depends on golang-go

    When the debian/control file of a Go program and its dependencies have this change made, this allows the Go program to be built on more platforms, especially powerpc, sparc64, s390x, mips and mipsel, and hopefully more.

    For example, see https://buildd.debian.org/status/package.php?p=go-md2man for the current build status of go-md2man. Of course, my own personal goal is to have Hugo available on as many platforms as possible. :wink:

    Many thanks!

  • Replace

    Replace "_" with "-" in program name

    This is to ensure it follow Debian Maintainer Guide in regard to package name

    Issue appeared when trying to build a repo with _.

    root@cb38face0702:~# ./bin/dh-make-golang github.com/bitly/oauth2_proxy
    2016/09/12 23:07:22 Downloading "github.com/bitly/oauth2_proxy/..."
    2016/09/12 23:07:49 Determining upstream version number
    2016/09/12 23:07:49 WARNING: Lightweight tag "v2.1" found, but the most recent annotated tag is "v0.1"
    2016/09/12 23:07:49     Lightweight tags (created by e.g. "git tag v2.1"
    2016/09/12 23:07:49     with no flag) are problematic because, among other
    2016/09/12 23:07:49     things, they are ignored by "git describe" by default.
    2016/09/12 23:07:49     Please suggest that the upstream replaces the
    2016/09/12 23:07:49     lightweight tags with annotated ones.  See
    2016/09/12 23:07:49     https://github.com/russross/blackfriday/issues/196
    2016/09/12 23:07:49     for details.
    2016/09/12 23:07:49
    2016/09/12 23:07:49 Package version is "2.1+git20160825.15.a9c55bd"
    2016/09/12 23:07:49 Determining package type
    2016/09/12 23:07:49 Assuming you are packaging a program (because "github.com/bitly/oauth2_proxy" defines a main package), use -type to override
    2016/09/12 23:07:49 Determining dependencies
    gbp:error: Couldn't determine upstream package name. Use --interactive.
    2016/09/12 23:07:51 Could not create git repository: exit status 1
    
  • gbp:error: Failed to commit tree:  *** Please tell me who you are.

    gbp:error: Failed to commit tree: *** Please tell me who you are.

    $ dh-make-golang -allow_unknown_hoster github.com/zyedidia/micro 
    ...
    gbp:error: Failed to commit tree: 
    *** Please tell me who you are.
    
    Run
    
      git config --global user.email "[email protected]"
      git config --global user.name "Your Name"
    
    to set your account's default identity.
    Omit --global to set the identity only in this repository.
    

    Is it possible to run it without writing global config? Thanks.

  • dh-make-golang no longer able to calculate dependencies of package with vendoring (as of golang-1.6.2?)

    dh-make-golang no longer able to calculate dependencies of package with vendoring (as of golang-1.6.2?)

    I discovered yesterday that the command:

    dh-make-golang github.com/kardianos/govendor
    

    is no longer able to calculate the necessary dependent Go packages in debian/control. The govender repository contains vendoring in the vendor/ directory.

    But I remember that it worked back on 2016-05-01 (a little more than a month ago) when I created the initial package for govendor, and dh-make-golang has not changed since. Could it have anything to do with recent changes in golang-go packaging, especially the new go1.6.2?

    (I have yet to investigate in depth, but filing an issue so I don't forget.)

  • Implement `clone` command?

    Implement `clone` command?

    I think it could be great to implement a clone command to dh-make-golang. It would work like this:

    $ dh-make-golang clone golang-github-pkg-term
    

    It would perform the following actions:

    • (gbp or git) clone "[email protected]:go-team/packages/$1.git"
    • apt source --tar-only "$1"

    The motivations behind that are simple:

    • It will make cloning a bit easier (only need the package name, not the whole URL)
    • And most important: It will prevent uploads from being rejected in case of checksum mismatch, by forcing to use the .orig.tar.gz that comes from the archive.

    What everyone think about that?

  • Invalid version number error

    Invalid version number error

    here is the start of the log:

    2015/11/30 03:23:39 Downloading "github.com/cihub/seelog/..."
    2015/11/30 03:23:42 Determining upstream version number
    2015/11/30 03:23:42 Package version is "go1.1+git20151102.84.0f89bb7"
    

    Further investigation shows that the author is tagging the "go compiler version" along with "vX.y" tags. This library has two tags: go1.1 and v2.5 both on the same commit. Any Idea if it would be possible to pick the 2.5 from the other tag, though it might be easier to be able to specify a version as a command line argument.

  • Overaggressive pruning (and no configurability)

    Overaggressive pruning (and no configurability)

    I'm trying to use dh-make-golang to package https://getgb.io, but I'm running into trouble right off because https://github.com/constabulary/gb/tree/933576cf5c8367145d3bae615558bac89fda415a/vendor is github.com/constabulary/gb/vendor, but it gets --exclude in the tar invocation, so the orig tarball doesn't have this package.

    My thought for solving this is if the vendor directory exists, let's check if there are *.go files directly inside. If there aren't, we add --exclude, otherwise we leave it in (because it must be a legitimate package). Another way to check for this could be to just do something like go list <gopkg>/vendor and see if it comes back with itself or if it says that's not a valid package.

    For example:

    $ go list github.com/docker/docker/vendor
    can't load package: package github.com/docker/docker/vendor: no buildable Go source files in GOPATH/src/github.com/docker/docker/vendor
    

    Versus:

    $ go list github.com/constabulary/gb/vendor
    github.com/constabulary/gb/vendor
    
  • Allow to make package from specific upstream tag

    Allow to make package from specific upstream tag

    This new flag allow checkout & usage of a specific git tag.

    The behaviour is different from using the git_revision flag, since we will force the tag being used. Using the tag approach is more convenient than using git_revision in the case of multiple tag being used for the same revision.

    I was packaging the github.com/viant/afs library, and dh-make-golang has failed, because of wrongly named tag. The latest version is being point by two tags named v and v0.16.3. In my case dh-make-golang has picked up the v tag, ending up with error because of the v prefix being removed.

    This would not happen if I was able to choose the tag I want to checkout. So this is my approach.

    This should fix #31 and use a different approach than the one proposed in #34

    Just let me know if you considered another approach.

    Cheers

  • Error: 'can't load package: package .: no buildable Go source files in'

    Error: 'can't load package: package .: no buildable Go source files in'

    $ cd $(mktemp -d)
    $ dh-make-golang github.com/agl/ed25519
    $ cd golang-github-agl-ed25519/
    $ git add -A
    $ git commit -m "Initial packaging"
    $ gbp buildpackage
    ...
    dh build --buildsystem=golang --with=golang
       dh_testdir -O--buildsystem=golang
       dh_auto_configure -O--buildsystem=golang
       dh_auto_build -O--buildsystem=golang
    warning: "/..." matched no packages
    can't load package: package .: no buildable Go source files in /tmp/rnd-dir/golang-github-agl-ed25519/obj-x86_64-linux-gnu
    dh_auto_build: go install -v returned exit code 1
    debian/rules:4: recipe for target 'build' failed
    make: *** [build] Error 1
    dpkg-buildpackage: error: debian/rules build gave error exit status 2
    debuild: fatal error at line 1376:
    dpkg-buildpackage -rfakeroot -D -us -uc -i -I failed
    gbp:error: 'debuild -i -I' failed: it exited with 29
    

    It tries to match /... instead of ./... (leading period sign)

  • unexpected HTTP status code: got 500, want 200

    unexpected HTTP status code: got 500, want 200

    Hi, whenever I try to use dh-make-golang make or search I get an error message mentioning a 500 HTTP status code.

    $ dh-make-golang search 'debi.*'                   
    2022/09/23 16:25:04 unexpected HTTP status code: got 500, want 200
    

    This is my first time using dh-make-golang, so I may be doing something wrong.

  • Unmet dependencies: golang-x-text-dev

    Unmet dependencies: golang-x-text-dev

    Hey,

    I'm trying to build a package for our Thola project using dh-make-golang. But after following the given instructions, the command gbp buildpackage --git-pbuilder fails with the following error:

    Need to get 8491 kB/102 MB of archives. After unpacking 575 MB will be used.
    The following packages have unmet dependencies:
     pbuilder-satisfydepends-dummy : Depends: golang-x-text-dev which is a virtual package and is not provided by any available package
    
    Unable to resolve dependencies!  Giving up...
    

    I'm quite unsure if the error is on my side or if it's in the program, so if anyone could help me there or guide me in the right direction that would be very nice!

  • Bump github.com/mattn/go-isatty from 0.0.14 to 0.0.17

    Bump github.com/mattn/go-isatty from 0.0.14 to 0.0.17

    Bumps github.com/mattn/go-isatty from 0.0.14 to 0.0.17.

    Commits
    • ed75e61 Merge pull request #78 from sthibaul/master
    • f646acc Support GNU/Hurd
    • 13e91bf bump
    • 47c6087 update GitHub Workflow
    • f001b72 Merge pull request #75 from tjni/update-x-sys
    • 89699b9 Update golang.org/x/sys for Go 1.18 on M1 Macs.
    • cdb00f1 Merge pull request #68 from tklauser/fix-go.sum
    • 689cfc2 Update go.sum after golang.org/x/sys update
    • d423e9c Merge pull request #67 from tklauser/fix-go-version-gh-action
    • 65c33a1 Use correct field to specify Go version in GitHub action
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • make for golang.org package fails

    make for golang.org package fails "Could not create git repository: import-orig: exit status 1"

    dh-make-golang make golang.org/x/oauth2 fails.

    It looks like it tries to extract a non-existent tar archive.

    2022/12/18 04:34:50 Starting "dh-make-golang v0.6.0 linux/amd64"
    2022/12/18 04:34:50 Downloading "golang.org/x/oauth2/..."
    2022/12/18 04:34:51 Determining upstream version number
    2022/12/18 04:34:51 Found latest tag "v0.3.0"
    2022/12/18 04:34:51 Latest tag "v0.3.0" matches master
    2022/12/18 04:34:51 Package version is "0.3.0"
    2022/12/18 04:34:51 Determining dependencies
    2022/12/18 04:34:53 INFO: Hoster does not provide release tarball
    2022/12/18 04:34:53 WARNING: A package called "golang-golang-x-oauth2-google-dev" is already in Debian! See https://tracker.debian.org/pkg/golang-golang-x-oauth2-google-dev
    2022/12/18 04:34:53 Moving tempfile to "golang-golang-x-oauth2_0.3.0.orig.tar.gz"
    2022/12/18 04:34:53 Adding remote "origin" with URL "[email protected]:go-team/packages/golang-golang-x-oauth2.git"
    2022/12/18 04:34:53 Adding remote "golang" with URL "https://go.googlesource.com/oauth2"
    2022/12/18 04:34:53 Running "git fetch golang"
    remote: Total 2166 (delta 835), reused 2166 (delta 835)
    Receiving objects: 100% (2166/2166), 1.32 MiB | 3.33 MiB/s, done.
    Resolving deltas: 100% (835/835), done.
    From https://go.googlesource.com/oauth2
     * [new branch]      master     -> golang/master
     * [new tag]         v0.3.0     -> v0.3.0
     * [new tag]         v0.1.0     -> v0.1.0
     * [new tag]         v0.2.0     -> v0.2.0
    tar: This does not look like a tar archive
    
    gzip: stdin: unexpected end of file
    tar: Child returned status 1
    tar: Error is not recoverable: exiting now
    gbp:error: Couldn't unpack '/home/matt/golang-golang-x-oauth2_0.3.0.orig.tar.gz': it exited with 2
    2022/12/18 04:34:54 Could not create git repository: import-orig: exit status 1
    
  • Bump golang.org/x/mod from 0.5.1 to 0.7.0

    Bump golang.org/x/mod from 0.5.1 to 0.7.0

    Bumps golang.org/x/mod from 0.5.1 to 0.7.0.

    Commits
    • 7c05a44 sumdb/note: remove dependency on golang.org/x/crypto/ed25519
    • b3066c3 go.mod: update golang.org/x dependencies
    • e3c1277 go.mod: update to tagged x/tools version
    • aac77cd all: fix a few function names on comments
    • 2666ed6 go.mod: ignore cyclic dependency for tagging
    • 2adab6b zip: expand logging and use t.TempDir and t.Cleanup in test helpers
    • 02c9913 sumdb: remove redundant type conversion
    • 8f535f7 sumdb/note: fix some typos
    • ed83ed6 modfile: remove duplicate words from comments
    • f994a2a zip: set PWD consistently for commands in subdirectories
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • no Go files in /tmp/dh-make-golangXXXXXXXX

    no Go files in /tmp/dh-make-golangXXXXXXXX

    here is my system info

    Distributor ID: Debian
    Description:    Debian GNU/Linux bookworm/sid
    Release:        unstable
    Codename:       sid
    

    when i make a deb go package with this command

     dh-make-golang github.com/helm/helm/tree/main/cmd/helm
    

    it complains:

    package github.com/helm/helm: no Go files in /tmp/dh-make-golang65739910/src/github.com/helm/helm 2022/09/29 21:54:32 Could not create a tarball of the upstream source: find mains: ["go" "list" "-f" "{{.ImportPath}} {{.Name}}" "github.com/helm/helm"]: exit status 1

    the full output is here

    2022/09/29 21:54:08 Starting "dh-make-golang v0.6.0 linux/amd64"
    2022/09/29 21:54:08 Continuing with repository root "github.com/helm/helm" instead of specified import path "github.com/helm/helm/tree/main/cmd/helm" (repositories are the unit of packaging in Debian)
    2022/09/29 21:54:08 Downloading "github.com/helm/helm/..."
    2022/09/29 21:54:32 Determining upstream version number
    2022/09/29 21:54:32 Found latest tag "v3.9.0-rc.1"
    2022/09/29 21:54:32 INFO: master is ahead of "v3.9.0-rc.1" by 84 commits
    2022/09/29 21:54:32 Package version is "3.9.0~rc1"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/cmd/helm expects import "helm.sh/helm/v3/cmd/helm"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/internal/ignore expects import "helm.sh/helm/v3/internal/ignore"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/internal/version expects import "helm.sh/helm/v3/internal/version"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/chartutil expects import "helm.sh/helm/v3/pkg/chartutil"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/engine expects import "helm.sh/helm/v3/pkg/engine"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/kube expects import "helm.sh/helm/v3/pkg/kube"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/lint expects import "helm.sh/helm/v3/pkg/lint"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/lint/rules expects import "helm.sh/helm/v3/pkg/lint/rules"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/lint/support expects import "helm.sh/helm/v3/pkg/lint/support"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/plugin expects import "helm.sh/helm/v3/pkg/plugin"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/plugin/cache expects import "helm.sh/helm/v3/pkg/plugin/cache"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/plugin/installer expects import "helm.sh/helm/v3/pkg/plugin/installer"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/provenance expects import "helm.sh/helm/v3/pkg/provenance"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/registry expects import "helm.sh/helm/v3/pkg/registry"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/releaseutil expects import "helm.sh/helm/v3/pkg/releaseutil"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/repo expects import "helm.sh/helm/v3/pkg/repo"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/storage expects import "helm.sh/helm/v3/pkg/storage"
    code in directory /tmp/dh-make-golang65739910/src/github.com/helm/helm/pkg/storage/driver expects import "helm.sh/helm/v3/pkg/storage/driver"
    2022/09/29 21:54:32 WARNING: In findMains: ["go" "list" "-f" "{{.ImportPath}} {{.Name}}" "github.com/helm/helm/..."]: exit status 1
    2022/09/29 21:54:32 Retrying without appending "/..." to repo
    package github.com/helm/helm: no Go files in /tmp/dh-make-golang65739910/src/github.com/helm/helm
    2022/09/29 21:54:32 Could not create a tarball of the upstream source: find mains: ["go" "list" "-f" "{{.ImportPath}} {{.Name}}" "github.com/helm/helm"]: exit status 1```
    
    some package (ie.https://github.com/toorop/go-dkim)can be translated to debian package successfully, while some others failed, I can't find what's wrong.
  • Need to test

    Need to test "dh-make-golang make" with actual repos

    This is to check that dh-make-golang make is actually working with:

    • GitHub, GitLab, Salsa, etc.
    • repos with or without releases or tags
    • Files-Excluded for both "release pristine .tar.gz tarballs" and "compress our own .tar.xz" mode

    Test cases include (but not limited to) repos reported in e.g. the following issues:

    • #135
    • #164
    • #180
Monitoring changes in the source file and automatically compile and run (restart).
Monitoring changes in the source file and automatically compile and run (restart).

dogo Monitoring changes in the source file and automatically compile and run (restart). 中文 Install go get github.com/liudng/dogo Create config Here's

Dec 28, 2022
Automatically creates & tiles .tmx format maps from a world map interface
Automatically creates & tiles .tmx format maps from a world map interface

Autotile Create tiled maps for an arbitrarily large world space from a simple interface, then add larger objects randomly with simple rules (eg. place

Aug 19, 2022
Creates a linux group of users synced to your Google Workspace users and automatically imports their public SSH keys.
Creates a linux group of users synced to your Google Workspace users and automatically imports their public SSH keys.

Creates a linux group of users synced to your Google Workspace users and automatically imports their public SSH keys.

Jan 27, 2022
debiman generates a static manpage HTML repository out of a Debian archive

debiman Goals debiman makes (Debian) manpages accessible in a web browser. Its goals are, in order: completeness: all manpages in Debian should be ava

Jan 4, 2023
a build tool for Go, with a focus on cross-compiling, packaging and deployment

goxc NOTE: goxc has long been in maintenance mode. Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are st

Dec 9, 2022
Go implementation of the Open Packaging Conventions (OPC)

opc Package opc implements the ISO/IEC 29500-2, also known as the Open Packaging Convention. The Open Packaging specification describes an abstract mo

Oct 14, 2022
a build tool for Go, with a focus on cross-compiling, packaging and deployment

goxc NOTE: goxc has long been in maintenance mode. Ever since Go1.5 supported simple cross-compilation, this tool lost much of its value. There are st

Dec 9, 2022
Packaging and encrypting/decrypting your files for Golang

?? Paket – A vault to packaging and encrypt/decrypt your files in golang! pkg.go.dev | Table of Contents ?? Informations ??‍?? ??‍?? What does it do ?

Aug 19, 2022
Nomad Pack is a templating and packaging tool used with HashiCorp Nomad.

Nomad Pack is a templating and packaging tool used with HashiCorp Nomad.

Jan 4, 2023
Docker For Go Application Packaging And Pushing To Docker Hub

DOCKER-FOR-GO-APPLICATION-PACKAGING-AND-PUSHING-TO-DOCKER-HUB ##DOCKER COMMANDS: (Don't forget to navigate to the directory that contains the app and

Jan 22, 2022
Ubuntu packaging of conainerd. :D
Ubuntu packaging of conainerd. :D

containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. It is available as a daemon for Linux

Nov 14, 2021
Tanzu Framework provides a set of building blocks to build atop of the Tanzu platform and leverages Carvel packaging

Tanzu Framework provides a set of building blocks to build atop of the Tanzu platform and leverages Carvel packaging and plugins to provide users with a much stronger, more integrated experience than the loose coupling and stand-alone commands of the previous generation of tools.

Dec 16, 2022
Source code related to an on-site demonstration (for Ardan Labs) of packaging Go applications with Nix

Ardan Labs Nix Demo High-Level Overview We bumbled the scheduling of an earlier presentation about git worktree that a few co-workers attended. In eff

Oct 12, 2022
Tools for the Gio project, most notably gogio for packaging Gio programs

Gio Tools Tools for the Gio project, most notably gogio for packaging Gio programs. Issues File bugs and TODOs through the issue tracker or send an em

Oct 5, 2022
progress_bar creates a single customizable progress bar for Linux terminal.
progress_bar creates a single customizable progress bar for Linux terminal.

progress_bar Go Progress Bar Features progress_bar creates a single customizable progress bar for Linux terminal. Installation go get -u github.com/er

Aug 12, 2022
Creates Prometheus Metrics for PolicyReports and ClusterPolicyReports. It also sends PolicyReportResults to different Targets like Grafana Loki or Slack
Creates Prometheus Metrics for PolicyReports and ClusterPolicyReports. It also sends PolicyReportResults to different Targets like Grafana Loki or Slack

PolicyReporter Motivation Kyverno ships with two types of validation. You can either enforce a rule or audit it. If you don't want to block developers

Aug 6, 2021
A Go program that takes an image, uses pigo to detect a face, and creates a gif that zooms in on the face
A Go program that takes an image, uses pigo to detect a face, and creates a gif that zooms in on the face

ok-zoomer Every GIF is a gift. How it works face detection with esimov/pigo color quantization / dithering with esimov/colorquant image resizing with

Nov 27, 2022
A simple API written in Go that creates badges in SVG format, based on the requested route.

A simple API written in Go that creates badges in SVG format, based on the requested route. Those graphics can be used to style README.md files, or to add tags to webpages.

Jul 2, 2021
ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes

ClickHouse Operator ClickHouse Operator creates, configures and manages ClickHouse clusters running on Kubernetes. Features The ClickHouse Operator fo

Dec 29, 2022
A Terraform module that creates AWS alerts billing for your resources.

terraform-aws-billing-alarms terraform-aws-billing-alarms for project Replace name project to New Project agr 'terraform-aws-billing-alarms' 'new-pr

Oct 20, 2021