Giter VIP home page Giter VIP logo

containers-quickstarts's Introduction

Build Status License

Containers Quickstarts by Red Hat's Community of Practice

This repository is meant to help bootstrap users of the OpenShift Container Platform to get started in building and using Source-to-Image to build applications to run in OpenShift.

For more details on what a Quickstart is, please read our contribution guide.

What's In This Repo?

This repo contains OpenShift related quickstarts of several different flavors.

Reference Implementations

A set of examples of deploying various technologies on OpenShift

Custom S2I Base Images

A collection of custom built S2I base images

Jenkins Agent Images

A set of images we've developed for running as agent pods in a Jenkins Pipeline on OpenShift

Customized Jenkins Masters

A set of buildConfigs for building custom Jenkins images for OpenShift.

Gitlab Runners

Gitlab Runners for your Gitlab CI/CD.

Utilities

Developer Tools

  • Tool Box - An OpenShift deployable container image that provides some necessary developer tools

Github Actions

To enable actions in your fork:

  1. Fork this repository
  2. Actions -> Click the button to enable
  3. Settings -> Secrets
Secret Description
REGISTRY_URI Registry to push images to, ex: quay.io
REGISTRY_REPOSITORY Repository to push images to, ex: your quay username
REGISTRY_USERNAME Username used to push to registry
REGISTRY_PASSWORD Password used to push to registry

NOTE: It is recommended to use a service account for registry credentials, for example quay.io can create a robot account associated with your personal account.

Related Content

  • Container Pipelines - A set of Jenkins pipelines for OpenShift
  • Labs Ubiquitous Journey - (The New and Improved Labs CI/CD using GitOps for OpenShift v4.x) A collection of ArgoCD apps for:
    • Bootstrapping a cluster with some projects, roles, bindings and creating an ArgoCD instance using the Operator
    • Deployments for an end-to-end pipeline using many modern testing and quality tools such as Jenkins, Nexus, Sonarqube, etc.
    • Project management tooling such as Wekan and Mattermost Chat
  • Labs Helm Charts - A library of OpenShift ready Helm3 Charts
  • OpenShift Templates - A library of OpenShift template examples & references
  • OpenShift Applier - An automation framework for keeping manifests and templates applied to a cluster
  • No longer maintained - Labs CI/CD - A comprehensive end-to-end pipeline using many modern testing and quality tools. Suitable for OpenShift v3.x

Contributing

Checkout out our contribution guide for more details on how to contribute content to this repo.

No longer maintained

build-docker-generic build-s2i-executable build-s2i-gows build-s2i-jekyll build-s2i-liberty cert-manager-configs deprecated github-runner-ubi8 gitlab-ce gogs hoverfly hygieia ipa-server jenkins-masters mongodb ocp4-logging rabbitmq s2i-mvn-gradle sonarqube tower-ocp-custom ubi7-gitlab-runner zalenium

containers-quickstarts's People

Contributors

alyibrahim avatar branic avatar buuhsmead avatar ckavili avatar dependabot[bot] avatar deweya avatar eformat avatar etsauer avatar garethahealy avatar huddlesj avatar infosec812 avatar itewk avatar jfilipcz avatar jkupferer avatar makentenza avatar nesanton avatar oybed avatar pabrahamsson avatar paulbarfuss avatar pcarney8 avatar raffaelespazzoli avatar renovate[bot] avatar sabre1041 avatar springdo avatar stocky37 avatar syvanen avatar tomgeorge avatar tompage1994 avatar tylerauerbeck avatar usrbinkat 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

containers-quickstarts's Issues

How to do CI in this repo

Some initial thoughts on how we can add some level of CI to this repository.

  1. Assume all quickstarts include an applier inventory (#81 )
  2. Set up a travis build to kick off a test of each quickstart in the CASL clusters
  • store a service account secret in an encrypted key in travis
  • use oc (binary in repo?) to deploy a pipeline to openshift
  • utilize 'make-applier-projects-unique' role to prefix all namespaces

install skopeo from an 'official source'

@sabre1041 looks like the skopeo utility has made it's way out to at least the fedora channels.

[esauer@localhost ~]$ dnf info skopeo
Last metadata expiration check: 1 day, 11:43:42 ago on Mon Apr 10 21:34:48 2017.
Available Packages
Name        : skopeo
Arch        : x86_64
Epoch       : 0
Version     : 0.1.17
Release     : 1.dev.git2b3af4a.fc25
Size        : 2.1 M
Repo        : updates
Summary     : Inspect Docker images and repositories on registries
URL         : https://github.com/projectatomic/skopeo
License     : ASL 2.0
Description : Command line utility to inspect images and repositories directly on Docker
            : registries without the need to pull them

Worth updating the image?

Separate Dockerfiles for RHEL and CentOS

We would prefer to have separate Dockerfiles as the desire is to put these under autobuilds so that users don't have to build the images to consume them. We already do a decent job of auto publishing the CentOS versions of the images to docker cloud, and we don't want to have to make a repo change to set up a build in OpenShift. If it becomes that we are repeating 90% of the code between the two, let's look to use common RUN scripts to reduce that.

Convert JSON configurations to YAML

To align with reccommendations from the upstream Kubernetes community, convert the existing JSON based configurations (templates, misc API objects) to YAML format

Need a new s2i builder image that includes gradle

Have a client that has requested a builder image that would include rhel7+/openjdk8+/gradle4+. They use gradle for their builds and are looking to transition a bunch of new projects to OpenShift, but need this new image.

Jenkins slave images not tied to OCP release

Right now we are using 'latest' tag for every single Jenkins Slave container image. We should use the corresponding existing tag aligned with the OCP version and the 'cut release' we use for this repository. We have recently identified some issues while using the 'latest' tag

Fail to pull Kafka image

While following steps to configure Kafka on Openshift, facing an error "Failed to pull image "172.30.1.1:5000/kafka/kafka:latest": rpc error: code = 2 desc = Error: image kafka/kafka:latest not found".
Zookeeper deployment is also failing with error as "Failed to pull image "172.30.1.1:5000/kafka/zookeeper:3.4.11": rpc error: code = 2 desc = Error: image kafka/zookeeper:3.4.11 not found"

Add Erlang Jenkins Slave and Erlang S2I image

Overview

Add the ability for Jenkins to run a slave which can build Erlang applications using Rebar3. Also, add an S2I image build which can convert an Erlang release to a runnable container image using Rebar3

Acceptance criteria

  • A new Jenkins slave image which has Rebar 3 and Erlang/OTP installed for use with creating a "release"
  • A new S2I image which can take an Erlang release created via Rebar 3 and create a runnable container

Jenkins Image Management Slave Template for OpenShift Origin

Hi,

Is there any Skopeo template available for OpenShift Origin cluster?

I want to deploy a Skopeo component on Origin cluster and have a capability of moving images from OpenShift Origin cluster's docker registry to OpenShift Enterprise cluster's docker registry.

Thank you in advance.

Feature Request: Pipeline Enhancements

Some desired features:

@redhat-cop/containerize-it

Update requirements.yml to use appropriate applier versions

The current 3.X releases of the applier are deprecated and will be removed sometime in the future. A number of quickstarts are still referencing these deprecated tags in the requirements.yml files. It would probably be best to get these updated to an appropriate version of the applier moving forward (either 1.x or 2.x)

Create Selenium Jenkins Agents for Chrome and Firefox

As a DevOps team member, I need to be able to run Selenium tests from within Jenkins pipelines. In order to run Selenium tests, I need a Jenkins Agent which can execute Google Chrome and Firefox web browsers in a "headless" environment using Xvfb running as a non-root user.

Repo Needs a New README

We need to define what a "container quickstart" is. I see this looking similar to https://github.com/redhat-cop/container-pipelines/blob/master/README.md

Some ideas for requirements:

  • CentOS (or other community base) for hosting on public registry (currently dockerhub)
  • RHEL (or Atomic) base for enterprise consumption
  • Applier inventory that proves functionality of the quickstart
  • README that includes:
    • Requirements & Assumptions section
    • Quickstart Instructions for getting it up and running
    • Configuration section that talks about any customization options
    • Verification instructions that show the quickstart is working as expected
    • Tear Down commands

update 'jenkins-slave-ansible' to use >=2.5

When running on RHEL hosts, the jenkins-slave-ansible often uses a rather old 2.4.x version of Ansible. This is problematic for various tools, including the openshift-applier, which relies on ansible version >=2.5.x.

Current Ansible version is 2.6, so this issue is to get the jenkins-slave-ansible updated to use Ansible version 2.5 or greater.

Unable to mount volumes for pod "zookeeper-0_zookeeper.."

Dear all,

I followed the instruction reported on the readme, but it seems that during the deployment of zookeeper-0, the pod fails to mount the volume. Into the event log i got this error:

ย  Unable to mount volumes for pod "zookeeper-0_zookeeper(2a0c3a72-3727-11e8-8e85-005056a31518)": timeout expired waiting for volumes to attach/mount for pod "zookeeper"/"zookeeper-0". list of unattached/unmounted volumes=[datadir]

MountVolume.SetUp failed for volume "pv0004" : mount failed: exit status 32 Mounting command: systemd-run Mounting arguments: --description=Kubernetes transient mount for /var/lib/origin/openshift.local.volumes/pods/2a0c3a72-3727-11e8-8e85-005056a31518/volumes/kubernetes.io~nfs/pv0004 --scope -- mount -t nfs lv170170.vtlab.local:/nfsshare/pv0004 /var/lib/origin/openshift.local.volumes/pods/2a0c3a72-3727-11e8-8e85-005056a31518/volumes/kubernetes.io~nfs/pv0004 Output: Running scope as unit run-22561.scope. mount.nfs: No route to host

Do you have idea how I can solve the problem? Thanks in advance.

Eclipse che

Any plans for adding an eclipse che container?

In s2i-liberty make cp recursive for config

In the s2i-liberty image it would be great to make the copy of the config directory recursive which would allow things like including database drivers, etc where you want a more structured file system rather than just dump everything in config (which ends up in usr/servers/defaultServer). To make this change just do the following change in s2i/bin/assemble-runtime:

cp $S2I_DESTINATION/src/config/* /config

To include the -r switch:

cp -r $S2I_DESTINATION/src/config/* /config

Jekyll s2i instructions result in container startup error

If I follow the s2i-jekyll readme, I get successful builds for both the base image and the example openshift-playbooks app, however, when the application container starts, I see a crashloop with the following log output:

`/` is not writable.
Bundler will use `/tmp/bundler/home/unknown' as your home directory temporarily.
bundler: command not found: jekyll
Install missing gem executables with `bundle install`
--

Slave builds are broken

Since #87 was fixed for just one image jenkins-slave-golang the jenkins-slave-generic-template.yml has been defaulted to look for a Dockerfile.rhel7. This means instructions for over ridding this need to be included on the README of each slave that does not have a Dockerfile.rhel7 or a Dockerfile.rhel7 version needs to be included with each slave.

Also any connecting repositories using the jenkins-slave-generic-template.yml template via the openshift-applier should also be updated / version pinned accordingly.

why require to run under user 1001

@sabre1041 ragarding zookeeper
requiring to run with user 1001 creates issues at some customers.
if this is necessary can the reason be explained in the documentation.
Also can we explain why the fsgroup is necessary?

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.