An open API service indexing awesome lists of open source software.

https://github.com/rdavid/gento

The agent of Red Hat OpenShift.
https://github.com/rdavid/gento

kubernetes linux openshift posix redo shell

Last synced: 3 months ago
JSON representation

The agent of Red Hat OpenShift.

Awesome Lists containing this project

README

          

// Settings:
:toc: macro
:!toc-title:
// URLs:
:img-hoc: https://hitsofcode.com/github/rdavid/gento?branch=master&label=hits%20of%20code
:img-license: https://img.shields.io/github/license/rdavid/gento?color=blue&labelColor=gray&logo=freebsd&logoColor=lightgray&style=flat
:img-ocp: https://img.shields.io/badge/openshift---?color=gray&logo=redhatopenshift&logoColor=red&style=flat
:img-rh: https://img.shields.io/badge/red%20hat---?color=gray&logo=redhat&logoColor=red&style=flat
:img-releases: https://img.shields.io/github/v/release/rdavid/gento?color=blue&label=%20&logo=semver&logoColor=white&style=flat
:img-test: https://github.com/rdavid/gento/actions/workflows/test.yml/badge.svg
:url-actionlint: https://github.com/rhysd/actionlint
:url-cv: http://cv.rabkin.co.il
:url-dci: https://github.com/redhat-cip/dci-openshift-app-agent
:url-gento: https://github.com/rdavid/gento/blob/master/app/gento
:url-goredo: http://www.goredo.cypherpunks.su/Install.html
:url-hadolint: https://github.com/hadolint/hadolint
:url-hoc: https://hitsofcode.com/view/github/rdavid/gento?branch=master
:url-install: https://github.com/rdavid/gento/blob/master/app/install
:url-license: https://github.com/rdavid/gento/blob/master/LICENSES/0BSD.txt
:url-ocp: https://www.redhat.com/en/technologies/cloud-computing/openshift
:url-redo: http://cr.yp.to/redo.html
:url-releases: https://github.com/rdavid/gento/releases
:url-reuse: https://github.com/fsfe/reuse-action
:url-rh: https://www.redhat.com
:url-shellbase: https://github.com/rdavid/shellbase
:url-shellcheck: https://github.com/koalaman/shellcheck
:url-shfmt: https://github.com/mvdan/sh
:url-test: https://github.com/rdavid/gento/actions/workflows/test.yml
:url-typos: https://github.com/crate-ci/typos
:url-vale: https://vale.sh
:url-yamllint: https://github.com/adrienverge/yamllint

= Gento

image:{img-test}[test,link={url-test}]
image:{img-hoc}[hits of code,link={url-hoc}]
image:{img-releases}[release,link={url-releases}]
image:{img-rh}[red hat,link={url-rh}]
image:{img-ocp}[openshift,link={url-ocp}]
image:{img-license}[license,link={url-license}]

toc::[]

== About

Gento stands for `aGent of Red Hat OpenShift`.
It enables Cloud-Native Applications and Operators in OpenShift using Red Hat
Distributed CI service via {url-dci}[DCI OpenShift App Agent].

== Install

The artifact is a standalone POSIX-compliant shell script named
{url-gento}[`gento`].
Install it from the official releases.
To write to `/usr/local/bin`, RHEL requires administrative privileges.
Therefore, it is necessary to use `sudo` before executing the `tar` command.

[,sh]
----
REL=0.9.20240303
SRC=https://github.com/rdavid/gento/archive/refs/tags/v$REL.tar.gz
curl --location --silent $SRC |
sudo tar \
--directory /usr/local/bin \
--extract \
--gzip \
--strip-components=2 \
gento-$REL/app/gento
----

To install {url-gento}[`gento`] with all dependencies, run the
POSIX-compliant shell script {url-install}[`install`] as `root`:

[,sh]
----
REL=0.9.20240303
SRC=https://github.com/rdavid/gento/archive/refs/tags/v$REL.tar.gz
sudo su -c eval -c "$(
curl --location --silent $SRC |
tar \
--extract \
--gzip \
--to-stdout \
gento-$REL/app/install
)"
----

Run {url-gento}[`gento`] as the `dci-openshift-app-agent` user.
The parameter is a DCI settings file; for better reporting, use the naming
pattern `settings-cnf-name.yml`.
Make sure `/usr/local/bin` is in `dci-openshift-app-agent` user's `PATH`.

[,sh]
----
sudo su - dci-openshift-app-agent
gento settings-cnf-name.yml
----

== Test

The project uses Daniel J. Bernstein's build system {url-redo}[`redo`].
You can install Sergey Matveev's {url-goredo}[`goredo`] implementation.
`redo lint` applies the following linters to the source files:
{url-actionlint}[`actionlint`],
{url-reuse}[`reuse`],
{url-shellcheck}[`shellcheck`],
{url-shfmt}[`shfmt`],
{url-typos}[`typos`],
{url-vale}[`vale`],
{url-yamllint}[`yamllint`].

== License

`gento` is copyright {url-cv}[David Rabkin] and available under a
{url-license}[Zero-Clause BSD license].