summaryrefslogtreecommitdiff
path: root/app-emulation/reg
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-01-31 16:00:27 +0000
committerV3n3RiX <venerix@redcorelinux.org>2019-01-31 16:00:27 +0000
commit1db00cc6e94b90c08090bb5b8c406622946c4ae5 (patch)
treec34bf820c2809fb7e08ed5564df2a25cf759516f /app-emulation/reg
parent693cc9b6e847a01c1bb692153021aaf9fb0fab25 (diff)
gentoo resync 31.01.2019
Diffstat (limited to 'app-emulation/reg')
-rw-r--r--app-emulation/reg/Manifest9
-rw-r--r--app-emulation/reg/files/reg-0.15.4-listen-addr.patch47
-rw-r--r--app-emulation/reg/files/reg-0.16.0-config.patch254
-rw-r--r--app-emulation/reg/reg-0.15.8.ebuild48
-rw-r--r--app-emulation/reg/reg-0.16.0_p20190102.ebuild (renamed from app-emulation/reg/reg-0.15.7.ebuild)11
5 files changed, 266 insertions, 103 deletions
diff --git a/app-emulation/reg/Manifest b/app-emulation/reg/Manifest
index 92537df0ad93..dd5dd28430c8 100644
--- a/app-emulation/reg/Manifest
+++ b/app-emulation/reg/Manifest
@@ -1,10 +1,9 @@
-AUX reg-0.15.4-listen-addr.patch 1519 BLAKE2B f25399e776125d433cfbc15b4e48167b7606e1c2e23604d3e68fe1e262b4c1304f12d7e3b9f3cb17de77a485a4be483f17dc3627ba7a19b350e2752ed2c23e68 SHA512 d1d3303ccdf272d8526184a5be1f28107762681cf796a568ff01249b0ff6dc5c9c5c9d6a9f47bb244cdadd42f3b24e9b21fbe3d6cdc8bc410a681d4b606f48d8
+AUX reg-0.16.0-config.patch 8488 BLAKE2B d1c60fe817ef722f522ecd7503a7000b065c01853a01c22c2c37b1c0d10f8062c73636b40565f65de885e8fb583d318230e0c0ed8ca8f958f48369d14595089d SHA512 05a30d6cd08ff823be993cba4089d2290f6f58272c50f79ed3d84c915cdf5154789f9f809e4225b39397eab16052d1a5f002e43794d992184bc9528c2d378ccf
AUX reg.confd 68 BLAKE2B 90fbc7677653b2e1389a0a0dd4c06f8a108fc70f6ae8d53fb94a5ef4669296679cf0f15bf985594837b0d455206f1b928df8a65596e81c0c717c5908c1987b0c SHA512 c0e7e68e8fd09cd46af3a01dc3507ef55dc25016b00e425e673734c864f05c63fcf3dc10b7ca987f166b33cfbfea62ca6c3458b73e28d3683d5bc81cbda84c4e
AUX reg.initd 595 BLAKE2B 36a5fd61c46810c1924c86c00392348e0907501f896114c3c523daebfd110e5ea292d4087fc4a41ba91ccd952c1c6b27fe1b1db60364575352a9eb9e4b207258 SHA512 96919a0d2f29631c4296bcf8adfb78d63f5d732ed350491f7df14f45744c945559110454a0c24726962da7519dd790a37a6c6a2e0d3586599dc7231743fbe03a
-DIST reg-0.15.7.tar.gz 4300839 BLAKE2B 67c9ca344e0a2984559c210cbdb4f5fc42f588f0c50a171c145bc63953b7540cbc166b51a5c209a2ece0c3b5647a34ffc1ac6b439b4e5a243e505c223a1a6fe5 SHA512 4c26aa0a438ac87208c4e269e16a994587ccdab38399a664638dd8c7407cf06f00c43a9c3c71cf4c88fa47a6e4466c8143ee7ee8130a8133518f5017ca34cc2d
-DIST reg-0.15.8.tar.gz 4300575 BLAKE2B 554a6afebf0c662fa4e4076019b25aa600f327cc6d3fbd9aff3462b8d1faf0b790724bb9d66725766087f6e4a2ccf55a61f41e7aba936ed386d97cf52c54afab SHA512 23d45d061e2914818787e6837fd02ba7b4fcf5c96a511d5e6ee66689bfd925870780d7a9fcfe6ee98f2b74ce68f05eecfa9d00852ff79965f59c88684113e0d5
+DIST github.com-go-yaml-yaml-a3f3340b5840cee44f372bddb5880fcbc419b46a.tar.gz 60814 BLAKE2B a77b7d72e2937af71a0734c21bee7a1d7770157c27f1ddfa164c66fd5461f86a2ef46e002087092ef011caae572838bcc9537a8290cd54dfafb7f54423e47c48 SHA512 184a0e658a4eac3b867533cd0e494bd84db94fbe10e8df0d0b755c7ffc95bc99e2f84c0157183ca74cdc79289a85dcf7f1dea8a4c89a253565baf473b3627eae
DIST reg-0.16.0.tar.gz 2991496 BLAKE2B e94a53c79ff062013e091d4c558870ef5c25af181cba201a44fa38b9dfe8816d6f3fd581f4e9a3dafe5b3753a3755c31f8b2f4a347da134a969fc93ac296897c SHA512 1e4d936e406998ffaa176e7834b28970b594f88a339fd8447bef2f944efa9b51c1d35bf71b384b3ed1b3e84be08db6d7fd487f4a3c65aa2de0308d6128cf0070
-EBUILD reg-0.15.7.ebuild 1129 BLAKE2B 4544b2ad0c8bb6c8c5f78739dd8491011e4720d57a6ae33ec4b737934a04817e4f69ecfed4b6154c960b634936932d80982f2434c44e4410f10a871619b68fda SHA512 352bb21c0a996ef99e4e92de2e6f2647be886d4b113b12115e0613ff33390c4a70baaa934f559ef00dd232bb64c2a496f0a139748f829dc9d811c1d2e058c441
-EBUILD reg-0.15.8.ebuild 1126 BLAKE2B 1bf46f235473036c1661ea305c99e47e00903db4d143a37ccbbc14f7d6906806181c37c56b353bd22c38b567ad5b3dc271f6062d75e873c9004f0a70a5eec0f9 SHA512 2fa3b84b0f814308fb9bfa849b9cd9b8af356b098b37bdee816978f5f30440c38f18af25235861cd9b9cc80aaf845d553445bf7da76d07ca04224edc4f8fcee1
+DIST reg-0.16.0_p20190102.tar.gz 2994965 BLAKE2B c7cb8a0eaa1599a5464b7a98c3df0b146dbbfea884260b7c8cbf5393a9384c8875e38ea4e45c5f888c65b9bb8c326cf9934d9b3c32a4809fe8e3b23239e8f2a8 SHA512 90e92c15b7ca4f2a5f943cb80096af0eba50acd7691963609c25f15a6795f886843776180754ab7d28477f1fc3a4b8d916bc9ac99b768368471b31564d14769c
EBUILD reg-0.16.0.ebuild 1126 BLAKE2B b061bda221d78e6104a5c8a00bc347d37f0d3b7462c1ece2bbaf07c3ad5fc6780a03523ffb745f3a642039dfaa6f8ee8d4320dc4f69280303769cfbd1fd960bd SHA512 9853a61cb5025252a2f08279775f79c3848b104fffb5201efd314fc4ecacbbf10ce5700f3d497caba3025c644c43094ea92daeca16dbcacab2d126b9c619e327
+EBUILD reg-0.16.0_p20190102.ebuild 1299 BLAKE2B c100acb533e4688c0d011c1904bb2fcde8760f99a94ee97683d8237550da5c58d9d65694b5545e44785f60403dce2fea7bf7d9c520ee9c66cdb5f48e0865dfd8 SHA512 d0d0295b3ec6adf101ae65a94762977425ed720a75b92d1f384e93d71f8468b643f72fb13e1baa4b59afca89f72ca97275e712cd5c8dddab254b29ec0a992cee
MISC metadata.xml 326 BLAKE2B 82f2440e792104c0c9e1afe4d95b9972efc7b233524637e32f11c2b5746aba7990d88f01a542e25f7a5c9c52aac0c5c1e25bc5703d3e855ea8e8ef4ffe87929c SHA512 9fea1224db7eb9316eff5bd89ebf748cbf35160516b33a9c9a3a07d1db6a2fa64dafcf8623a24af09429f7b76cc94ee02a39145162d0b039cb9d0137bc51a20e
diff --git a/app-emulation/reg/files/reg-0.15.4-listen-addr.patch b/app-emulation/reg/files/reg-0.15.4-listen-addr.patch
deleted file mode 100644
index 21f2759e5b8c..000000000000
--- a/app-emulation/reg/files/reg-0.15.4-listen-addr.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From b3c826e2e48108d832cbe9fc3b630e7ff207915a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
-Date: Wed, 18 Jul 2018 19:47:12 +0200
-Subject: [PATCH] server: Allow to restrict listen address (#115)
-
-e.g. limit to listen on localhost only
----
- server.go | 12 +++++++-----
- 2 files changed, 8 insertions(+), 5 deletions(-)
-
-diff --git a/server.go b/server.go
-index 8866efed..a7cc2048 100644
---- a/server.go
-+++ b/server.go
-@@ -35,6 +35,7 @@ func (cmd *serverCommand) Register(fs *flag.FlagSet) {
-
- fs.StringVar(&cmd.cert, "cert", "", "path to ssl cert")
- fs.StringVar(&cmd.key, "key", "", "path to ssl key")
-+ fs.StringVar(&cmd.listenAddress, "listen-address", "", "address to listen on")
- fs.StringVar(&cmd.port, "port", "8080", "port for server to run on")
- fs.StringVar(&cmd.assetPath, "asset-path", "", "Path to assets and templates")
-
-@@ -48,10 +49,11 @@ type serverCommand struct {
-
- generateAndExit bool
-
-- cert string
-- key string
-- port string
-- assetPath string
-+ cert string
-+ key string
-+ listenAddress string
-+ port string
-+ assetPath string
- }
-
- func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
-@@ -180,7 +182,7 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
-
- // Set up the server.
- server := &http.Server{
-- Addr: ":" + cmd.port,
-+ Addr: cmd.listenAddress + ":" + cmd.port,
- Handler: mux,
- }
- logrus.Infof("Starting server on port %q", cmd.port)
diff --git a/app-emulation/reg/files/reg-0.16.0-config.patch b/app-emulation/reg/files/reg-0.16.0-config.patch
new file mode 100644
index 000000000000..3ec1bf44d032
--- /dev/null
+++ b/app-emulation/reg/files/reg-0.16.0-config.patch
@@ -0,0 +1,254 @@
+From 0ab86b565f437b9dede5d3a7cef56690d8d19bbb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Manuel=20R=C3=BCger?= <manuel@rueg.eu>
+Date: Tue, 18 Sep 2018 15:42:24 +0200
+Subject: [PATCH 2/2] server: Read config from file
+
+---
+ README.md | 4 ++
+ config.yml.example | 37 ++++++++++++++++
+ server.go | 107 +++++++++++++++++++++++++++++++--------------
+ 3 files changed, 114 insertions(+), 34 deletions(-)
+ create mode 100644 config.yml.example
+
+diff --git a/README.md b/README.md
+index 3b1b661f..5e0f0175 100644
+--- a/README.md
++++ b/README.md
+@@ -228,6 +228,7 @@ Flags:
+ -u, --username username for the registry (default: <none>)
+ --listen-address address to listen on (default: <none>)
+ --asset-path Path to assets and templates (default: <none>)
++ --config Path to config file (default: <none>)
+ -f, --force-non-ssl force allow use of non-ssl (default: false)
+ --once generate the templates once and then exit (default: false)
+ --skip-ping skip pinging the registry while establishing connection (default: false)
+@@ -243,6 +244,9 @@ Flags:
+ -p, --password password for the registry (default: <none>)
+ ```
+
++Alternatively you can provide configuration to `reg server` via a file passed to
++`reg server` via as `--config`. See also config.yml.example in this repository.
++
+ **Screenshots:**
+
+ ![home.png](server/home.png)
+diff --git a/config.yml.example b/config.yml.example
+new file mode 100644
+index 00000000..9d4be25f
+--- /dev/null
++++ b/config.yml.example
+@@ -0,0 +1,37 @@
++### Reg Server Settings
++
++## Path to server TLS certificate:
++# cert:
++## Path to server TLS key:
++# key:
++## Address to listen on:
++# listen-address: 0.0.0.0
++## Port to listen on:
++# port: 8080
++## Path Assets are stored under:
++# asset-path: /var/lib/reg
++## Generate static website and exit:
++# once: false
++## Refresh interval:
++# interval: 1h0m0s
++## Debug output
++# debug: false
++## Skip initial ping
++# skip-ping: false
++## Timeout
++# timeout: 1m0s
++
++
++### Registry and Clair Server Settings
++## Registry Server:
++# registry: r.j3ss.co
++## Username to authenticate against registry server
++# username:
++## Password to authenticate against registry server
++# password:
++## If true, do not verify TLS certificates
++# insecure: false
++## Force allow use of non-TLS connections
++# force-nonssl: false
++## Clair Server:
++# clair:
+diff --git a/server.go b/server.go
+index fcd4cd71..0c84d85d 100644
+--- a/server.go
++++ b/server.go
+@@ -4,7 +4,9 @@ import (
+ "context"
+ "flag"
+ "fmt"
++ "gopkg.in/yaml.v2"
+ "html/template"
++ "io/ioutil"
+ "net/http"
+ "os"
+ "path/filepath"
+@@ -29,39 +31,76 @@ func (cmd *serverCommand) LongHelp() string { return serverHelp }
+ func (cmd *serverCommand) Hidden() bool { return false }
+
+ func (cmd *serverCommand) Register(fs *flag.FlagSet) {
+- fs.DurationVar(&cmd.interval, "interval", time.Hour, "interval to generate new index.html's at")
++ fs.DurationVar(&cmd.Interval, "interval", time.Hour, "interval to generate new index.html's at")
+
+- fs.StringVar(&cmd.registryServer, "registry", "", "URL to the private registry (ex. r.j3ss.co)")
+- fs.StringVar(&cmd.registryServer, "r", "", "URL to the private registry (ex. r.j3ss.co)")
++ fs.StringVar(&cmd.RegistryServer, "registry", "", "URL to the private registry (ex. r.j3ss.co)")
++ fs.StringVar(&cmd.RegistryServer, "r", "", "URL to the private registry (ex. r.j3ss.co)")
+
+- fs.StringVar(&cmd.clairServer, "clair", "", "url to clair instance")
++ fs.StringVar(&cmd.ClairServer, "clair", "", "url to clair instance")
+
+- fs.StringVar(&cmd.cert, "cert", "", "path to ssl cert")
+- fs.StringVar(&cmd.key, "key", "", "path to ssl key")
+- fs.StringVar(&cmd.listenAddress, "listen-address", "", "address to listen on")
+- fs.StringVar(&cmd.port, "port", "8080", "port for server to run on")
+- fs.StringVar(&cmd.assetPath, "asset-path", "", "Path to assets and templates")
++ fs.StringVar(&cmd.Cert, "cert", "", "path to ssl cert")
++ fs.StringVar(&cmd.Key, "key", "", "path to ssl key")
++ fs.StringVar(&cmd.ListenAddress, "listen-address", "", "address to listen on")
++ fs.StringVar(&cmd.Port, "port", "8080", "port for server to run on")
+
+- fs.BoolVar(&cmd.generateAndExit, "once", false, "generate the templates once and then exit")
++ fs.StringVar(&cmd.AssetPath, "asset-path", "", "Path to assets and templates")
++ fs.StringVar(&cmd.configPath, "config", "", "Path to config file")
++
++ fs.BoolVar(&cmd.GenerateAndExit, "once", false, "generate the templates once and then exit")
+ }
+
+ type serverCommand struct {
+- interval time.Duration
+- registryServer string
+- clairServer string
+-
+- generateAndExit bool
+-
+- cert string
+- key string
+- listenAddress string
+- port string
+- assetPath string
++ Interval time.Duration `yaml:"interval"`
++ RegistryServer string `yaml:"registry"`
++ ClairServer string `yaml:"clair"`
++ GenerateAndExit bool `yaml:"once"`
++ Cert string `yaml:"cert"`
++ Key string `yaml:"key"`
++ ListenAddress string `yaml:"listen-address"`
++ Port string `yaml:"port"`
++ AssetPath string `yaml:"asset-path"`
++ configPath string
++
++ Password string `yaml:"password"`
++ Username string `yaml:"username"`
++ Insecure bool `yaml:"insecure"`
++ Debug bool `yaml:"debug"`
++ SkipPing bool `yaml:"skip-ping"`
++ ForceNonSSL bool `yaml:"force-nonssl"`
++ Timeout time.Duration `yaml:"timeout"`
+ }
+
+ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
+ // Create the registry client.
+- r, err := createRegistryClient(ctx, cmd.registryServer)
++ if len(cmd.configPath) > 0 {
++ config, err := ioutil.ReadFile(cmd.configPath)
++ if err != nil {
++ return err
++ }
++ yaml.Unmarshal(config, cmd)
++ if err != nil {
++ return err
++ }
++ if len(cmd.Username) > 0 {
++ username = cmd.Username
++ }
++ if len(cmd.Password) > 0 {
++ password = cmd.Password
++ }
++ if cmd.Debug {
++ debug = cmd.Debug
++ }
++ if cmd.Insecure {
++ insecure = cmd.Insecure
++ }
++ if cmd.SkipPing {
++ skipPing = cmd.SkipPing
++ }
++ if cmd.Timeout != 0 {
++ timeout = cmd.Timeout
++ }
++ }
++ r, err := createRegistryClient(ctx, cmd.RegistryServer)
+ if err != nil {
+ return err
+ }
+@@ -69,25 +108,25 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
+ // Create the registry controller for the handlers.
+ rc := registryController{
+ reg: r,
+- generateOnly: cmd.generateAndExit,
++ generateOnly: cmd.GenerateAndExit,
+ }
+
+ // Create a clair client if the user passed in a server address.
+- if len(cmd.clairServer) > 0 {
+- rc.cl, err = clair.New(cmd.clairServer, clair.Opt{
++ if len(cmd.ClairServer) > 0 {
++ rc.cl, err = clair.New(cmd.ClairServer, clair.Opt{
+ Insecure: insecure,
+ Debug: debug,
+ Timeout: timeout,
+ })
+ if err != nil {
+- return fmt.Errorf("creation of clair client at %s failed: %v", cmd.clairServer, err)
++ return fmt.Errorf("creation of clair client at %s failed: %v", cmd.ClairServer, err)
+ }
+ } else {
+ rc.cl = nil
+ }
+ // Get the path to the asset directory.
+- assetDir := cmd.assetPath
+- if len(cmd.assetPath) <= 0 {
++ assetDir := cmd.AssetPath
++ if len(cmd.AssetPath) <= 0 {
+ assetDir, err = os.Getwd()
+ if err != nil {
+ return err
+@@ -131,12 +170,12 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
+ return fmt.Errorf("creating index failed: %v", err)
+ }
+
+- if cmd.generateAndExit {
++ if cmd.GenerateAndExit {
+ logrus.Info("output generated, exiting...")
+ return nil
+ }
+
+- rc.interval = cmd.interval
++ rc.interval = cmd.Interval
+ ticker := time.NewTicker(rc.interval)
+ go func() {
+ // Create more indexes every X minutes based off interval.
+@@ -174,12 +213,12 @@ func (cmd *serverCommand) Run(ctx context.Context, args []string) error {
+
+ // Set up the server.
+ server := &http.Server{
+- Addr: cmd.listenAddress + ":" + cmd.port,
++ Addr: cmd.ListenAddress + ":" + cmd.Port,
+ Handler: mux,
+ }
+- logrus.Infof("Starting server on port %q", cmd.port)
+- if len(cmd.cert) > 0 && len(cmd.key) > 0 {
+- return server.ListenAndServeTLS(cmd.cert, cmd.key)
++ logrus.Infof("Starting server on port %q", cmd.Port)
++ if len(cmd.Cert) > 0 && len(cmd.Key) > 0 {
++ return server.ListenAndServeTLS(cmd.Cert, cmd.Key)
+ }
+ return server.ListenAndServe()
+ }
diff --git a/app-emulation/reg/reg-0.15.8.ebuild b/app-emulation/reg/reg-0.15.8.ebuild
deleted file mode 100644
index 19474d72cfc7..000000000000
--- a/app-emulation/reg/reg-0.15.8.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit golang-build golang-vcs-snapshot user
-
-EGO_PN="github.com/genuinetools/reg"
-GIT_COMMIT="d021aeb0b9786eac1212b5faaa70d11f56c60991"
-ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-KEYWORDS="~amd64"
-
-DESCRIPTION="Docker registry v2 command line client"
-HOMEPAGE="https://github.com/genuinetools/reg"
-SRC_URI="${ARCHIVE_URI}"
-LICENSE="MIT"
-SLOT="0"
-IUSE=""
-
-RESTRICT="test"
-
-pkg_setup() {
- enewgroup reg
- enewuser reg -1 -1 /var/lib/reg reg
-}
-
-src_prepare() {
- pushd src/${EGO_PN} || die
- default
- popd || die
-}
-
-src_compile() {
- pushd src/${EGO_PN} || die
- GOPATH="${S}" go build -v -ldflags "-X ${EGO_PN}/version.GITCOMMIT=${GIT_COMMIT} -X ${EGO_PN}/version.VERSION=${PV}" -o "${S}"/bin/reg . || die
- popd || die
-}
-
-src_install() {
- dobin bin/*
- dodoc src/${EGO_PN}/README.md
- insinto /var/lib/${PN}
- doins -r src/${EGO_PN}/server/*
- newinitd "${FILESDIR}"/reg.initd reg
- newconfd "${FILESDIR}"/reg.confd reg
-
- keepdir /var/log/reg
- fowners -R reg:reg /var/log/reg /var/lib/reg/static
-}
diff --git a/app-emulation/reg/reg-0.15.7.ebuild b/app-emulation/reg/reg-0.16.0_p20190102.ebuild
index b8476ff5ffcd..3d7a774209c3 100644
--- a/app-emulation/reg/reg-0.15.7.ebuild
+++ b/app-emulation/reg/reg-0.16.0_p20190102.ebuild
@@ -1,12 +1,16 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
+
+EGO_VENDOR=( "gopkg.in/yaml.v2 a3f3340b5840cee44f372bddb5880fcbc419b46a github.com/go-yaml/yaml" )
+
inherit golang-build golang-vcs-snapshot user
EGO_PN="github.com/genuinetools/reg"
-GIT_COMMIT="a761fadc9a1f26a9da8113acc4ea5d8d5fbe5043"
-ARCHIVE_URI="https://${EGO_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+GIT_COMMIT="d959057b30da67d5f162790f9d5b5160686901fd"
+ARCHIVE_URI="https://${EGO_PN}/archive/${GIT_COMMIT}.tar.gz -> ${P}.tar.gz
+ ${EGO_VENDOR_URI}"
KEYWORDS="~amd64"
DESCRIPTION="Docker registry v2 command line client"
@@ -25,6 +29,7 @@ pkg_setup() {
src_prepare() {
pushd src/${EGO_PN} || die
+ eapply "${FILESDIR}"/reg-0.16.0-config.patch
default
popd || die
}