Code Monkey home page Code Monkey logo

library's Introduction

OpenShift Image Streams and Templates

This repository contains a curated set of image streams and templates for OpenShift. See the official OpenShift documentation for more information about image streams and templates.

Overview

Official

Provided and supported by Red Hat, official Templates and ImageStreams are listed in the top level of this repository, making it easy for developers to get started creating applications with the newest technologies.

You can check to see which of the official Templates and ImageStreams are available in your OpenShift cluster by doing one of the following:

  • Log into the web console and click Add to Project

  • List them for the openshift project using the Command Line Interface

    $ oc get templates -n openshift
    $ oc get imagestreams -n openshift

Community

Community templates and image streams are not provided or supported by Red Hat. This curated list of community maintained resources exemplify OpenShift best practices and provide clear documentation to serve as a reference for other developers.

Building the Library

You must build the library executable before you can run the import.

# requires go 1.13+
$ make build

Running the Script

# Imports the official.yaml and community.yaml without any
# additional flags or filters
$ make import

# Increase the log level
# Supported levels: 0,2,5,8
$ make import LOGLEVEL=2

# Imports the templates and imagestreams into some_dir
$ make import DIR=some_dir

# Imports only the foo.yaml and bar.yaml documents
$ make import DOCUMENTS=foo.yaml,bar.yaml

# Imports only the templates and imagestreams tagged with
# tag1 OR tag2
$ make import TAGS=tag1,tag2

# Imports only the templates and imagestreams tagged with
# tag1 AND tag2
$ make import TAGS=tag1,tag2 MATCHALL=true

Verifying Your Updates

$ make verify

The make verify command runs the following checks:

  • verifies the Go syntax (using gofmt)
  • verifies that make import has been run

Contributing

Adding Your Template or ImageStream

  • Fork the openshift/library repository on github
  • Add your template or image stream to the community.yaml or official.yaml file in the top level of this project
  • Run the make import command and make sure that your template(s) and/or image-stream(s) are processed and written to the correct directory under the community or official folder and that no errors have occurred.
  • Run the make verify command and ensure that no errors occur
  • Commit and push your changes to your fork of the github repository
    • Make sure to commit any changes in the community and official folders
  • Create a pull request against the openshift/library upstream repository

That's it! Your pull request will be reviewed by a member of the OpenShift Team and merged if everything looks good.

YAML file structure:

variables: # (optional) top level block item
  <variable_name>: <value> # (optional)
data: # (required) top level block item
  <folder_name>: # (required) folder that the below items will be stored in
    imagestreams: # (optional) list of image-streams to process into the above folder
      - location: # (required) github url to a json file or folder of json files
        regex: # (optional) matched against ['metadata']['name'] in the json file
        suffix: # (optional) suffix for the file that is created ex: ruby-<suffix>.json
        docs: # (optional) web address of the documentation for this image-stream
    templates: # (optional) list of templates to process into the above folder
      - location: # (required) github url to a template or folder of templates in json format
        regex: # (optional) matched against ['metadata']['name'] in the json file
        suffix: # (optional) suffix for the file that is created ex: ruby-<suffix>.json
        docs: # (optional) web address of the documentation for this template

Variables

Anything under the data block can contain a reference to a variable by using the following syntax:

{variable_name}

You must also specify a value for that variable name under the variables block with the following syntax:

<variable_name>: <value>

Organization

Listings in the official.yaml file will be created in a sub folder of the official top level folder. Listings in the community.yaml file will be created in a sub folder of the community top level folder.

folder_name

The folder_name is a sub folder which represents a logical grouping for a set of templates or image-streams in the top level official or community folders.

location

The location must be a publicly available url that points to either a template, image-stream, or image-stream list file in JSON or YAML format

docs

The docs is a field to list the web address of the documentation for the template, image-stream, or image-stream list

regex

The regex is a plain string that is matched against the ['metadata']['name'] element in the template or image-stream. Make sure that the regex string that you provide is descriptive enough to only match the ['metadata']['name'] that you are trying to target.

suffix

The suffix is applied to the end of the filename that is created right before the .json file extension and can contain dashes (-) or underscores (_).

Additional information

Creating templates, image-streams, and image-stream lists

You can find more information about creating templates and image-streams in the official OpenShift Documentation. Below are some quick links to important sections:

library's People

Contributors

adambkaplan avatar astefanutti avatar bekionel avatar bparees avatar coreydaley avatar davidesalerno avatar dinhxuanvu avatar drichtarik avatar gabemontero avatar galderz avatar hhorak avatar jfdenise avatar jmtd avatar lance avatar lholmquist avatar luciddreamz avatar luck3y avatar msmagnanijr avatar openshift-ci[bot] avatar openshift-merge-robot avatar oprudkyi avatar rcernich avatar sguilhen avatar slaskawi avatar spolti avatar sspeiche avatar tmds avatar vbusch avatar vhalbert avatar yselkowitz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

library's Issues

make verify fails

$ make verify
hack/verify-python.sh
Checking for Python errors using pylint
No config file found, using default configuration
************* Module import_content
E:162,18: Undefined variable 'file' (undefined-variable)
FAILURE: Python errors detected!
make: *** [Makefile:4: verify] Error 1

Add Jaeger template/s

Hi,

we would like to add Jaeger https://github.com/jaegertracing/jaeger-openshift templates into this repository to make it easier for people to use it.

There are two types of templates:

  • all-in-one with in-memory storage
  • production which requires Cassandra or Elasticsearch. The problem might be that there is no ES/C* template in this repository which could be re-used. Is there an interest in having a generic ES template?

What are the requirements to add a template to this project? Are there any special support requirements?

Mariadb templates Probe Warning

The following Maria DB Templates have an incorrectly configured liveness/readiness probe:

  • ./official/mariadb/templates/mariadb-ephemeral.json
  • ./official/mariadb/templates/mariadb-persistent.json

When the probes are executed the following warning is logged in the pod:

2021-05-03 20:19:23 29 [Warning] Access denied for user 'userHFP'@'localhost' (using password: YES)
2021-05-03 20:19:27 30 [Warning] Access denied for user 'userHFP'@'localhost' (using password: YES)
2021-05-03 20:19:33 31 [Warning] Access denied for user 'userHFP'@'localhost' (using password: YES)

The probe is missing a ; before the mysqladmin command:

"command": [
	"/bin/sh",
	"-i",
	"-c",
	"MYSQL_PWD=\"$MYSQL_PASSWORD\"; mysqladmin -u $MYSQL_USER ping"
]

Template for RHPAM74-Authoring: Deploy from BCentral triggers redeploy of kie-server pod

Upon upgrading from rhpam73x authoring template to the new rhpam741 authoring template, some critical differences were found.

On 741, using the Deploy function of business central triggers:
[org.kie.server.services.openshift.impl.OpenShiftStartupStrategy] (OkHttp https://172.30.0.1/ ...) KieServer: kieserver-bed9c094-fd97-4dd0-959f-e7b1138b7d95, DC rollout - Begin

This DC rollout is not triggered on 73x.

Issues raised by this:
If using the authoring kie server to rapidly test changes, the user must wait for the new pod to be up and running before committing to a new deploy. Previously it was only required that the kie container be started. Since there is a rolling deployment, the old pod remains active and continues to receive requests (to the new container, while the new pod is starting.)
Problem:
If there is a new container deployment within Business Central (Either via the "Deploy" functionality or via the "Execution Servers" tab) before the new pod is available, that deployment will re-trigger a deployment rollout and the DC of the new pod will not accurately contain the kie container deployment config. This causes the pods to behave erratically often causing a deployment crash loop which can only be resolved by deleting all deployment units and restarting both kie-server and business central pods.
This behaviour makes using the authoring environment very frustrating and time consuming.

arch_* tags not respected since golang conversion

Attempting to reverify #225, I ran library-sync.sh in cluster-samples-operator -- first as-is to establish a baseline -- and noticed that all per-arch barriers have completely broken down; P&Z files landed in ocp-x86_64, and x86-only ones in the P&Z directories. We rely heavily on this functionality in order to keep sane imagestreams for each architecture individually, so it is important that this be fixed.

CC: @gabemontero

question about competing templates

I have one template that is very close to MariaDB/MySQL images/templates though more oriented for all-in-one and corporate setups of OpenShift Origin, i.e.

  • Uses official images from MySQL, Percona or
    MariaDB repositories
  • Uses local fs on node (hostmount SCC) to store files
  • Allows to configure my.cnf on creating service from template or later (via ConfigMap)

https://github.com/oprudkyi/openshift-templates/tree/master/hostmount-official-mysql-percona-mariadb

May I add it to the library or it is over-specialized ?

3scale APIcast image is pulled from incorrect registry

When trying to deploy a 3scale APIcast instance with AMP_RELEASE=2.1.0.GA (the default value is not correct), I get the following:

Failed to pull image "apicast-gateway:2.1.0.GA": rpc error: code = Unknown desc = repository docker.io/apicast-gateway not found: does not exist or no pull access

Screenshot:
openshift_3scale_apicast

Looks like the ImageStream is not being used. The image should be: registry.access.redhat.com/3scale-amp21/apicast-gateway:1.4-2.

cc @maneta

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.