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:
: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-install: https://github.com/rdavid/gento/blob/master/app/install
:url-license: https://github.com/rdavid/gento/blob/master/LICENSE
:url-redo: http://cr.yp.to/redo.html
:url-shellbase: https://github.com/rdavid/shellbase
:url-shellcheck: https://github.com/koalaman/shellcheck
:url-shfmt: https://github.com/mvdan/sh
:url-typos: https://github.com/crate-ci/typos
:url-vale: https://vale.sh
:url-yamllint: https://github.com/adrienverge/yamllint

= Gento

image:https://github.com/rdavid/gento/actions/workflows/test.yml/badge.svg[tests,link=https://github.com/rdavid/gento/actions/workflows/test.yml]
image:https://hitsofcode.com/github/rdavid/gento?branch=master&label=hits%20of%20code[hits of code,link=https://hitsofcode.com/view/github/rdavid/gento?branch=master]
image:https://img.shields.io/github/v/release/rdavid/gento?color=blue&label=%20&logo=semver&logoColor=white&style=flat[release),link=https://github.com/rdavid/gento/releases]
image:https://img.shields.io/badge/red%20hat---?color=gray&logo=redhat&logoColor=red&style=flat[red hat,link=https://www.redhat.com]
image:https://img.shields.io/badge/openshift---?color=gray&logo=redhatopenshift&logoColor=red&style=flat[openshift,link=https://www.redhat.com/en/technologies/cloud-computing/openshift]
image:https://img.shields.io/github/license/rdavid/gento?color=blue&labelColor=gray&logo=freebsd&logoColor=lightgray&style=flat[license,link=https://github.com/rdavid/gento/blob/master/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,
`Portable Operating System Interface for uniX`, shell script file called
{url-gento}[`gento`].
Install the file from the officially released versions.
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 POSIX-compliant shell
script file {url-install}[`install`] as a process owned by the superuser:

[,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 `dci-openshift-app-agent` user, the parameter is a
DCI settings file, expected name pattern is `settings-cnf-name.yml` for better
reporting.
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-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].