8000 GitHub - kincl/showroom-deployer: Deploy Showroom to OpenShift targets
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

kincl/showroom-deployer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
< 8000 /div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SHOWROOM

Welcome to the Showroom OpenShift application.

Namespace Creation

Showroom has flexible namespace creation to accomodate deployment as cluster-admin, regular users, or service accounts.

  1. Deploying the Helm Chart as cluster-admin (default)

    By default, this Helm Chart attempts to create a Namespace for showroom. Cluster-admin can create and manage cluster resources like Namespaces.

  2. Deploying as Service Account

    If you will be deploying this Helm Chart as a service account, you must create the Namespace in advance. Indicate --set namespace.create=false in your execution of this command to avoid RBAC errors.

  3. Namespace name generation

    By default, namespace names are generated as showroom-GUID. This may be overriden in your helm execution.

Deploy Showroom - Requirements

To deploy Showroom you’ll need:

  • A GUID, indicated to helm as guid

  • A Git repo URL with an Antora website and want OpenShift to build and deploy. Indicated to helm in documentation.repoUrl

  • Login as an OpenShift user that can create cluster resources (namespaces, etc) like cluster-admin

  • FQDN of your default OpenShift route, indicated to helm in deployer.domain

    • Example: apps.shared-410.openshift.redhatworkshops.io

  • Namespace name will always be prefixed as showroom-, and the suffix will be guid. Defaults to showroom-test

    • You can override these with helm by indicating general.namespace=bookbag and general.guid=test.

  • Optional: To provide sample asciidoc attributes to Showroom content, indicate a yaml file with sample user data. content.user_data=<path-to-user-data.yaml>

    • Example

      $HOME/sample_site/user_data.yaml
      ---
      bastion_hostname: my.bastion.hostname.example.com
      bastion_username: eugenedebbs

Deploy Showoom - Procedure

  1. Run helm template with parameters

    git clone https://github.com/rhpds/showroom-deployer
    cd ./showroom-deployer/charts
    
    helm template ./showroom-single-pod \
    --set deployer.domain=apps.shared-410.openshift.redhatworkshops.io \
    --set general.guid=GUID \
    --set-file content.user_data=<path-to-user-data.yaml> \
    --set documentation.repoUrl=https://github.com/rhpds/showroom_template_default \
    | oc apply -f -

Deploy as cluster-admin with helm install

  1. Add the helm repo

    helm repo add rhpds https://rhpds.github.io/showroom-deployer
  2. Refresh the repo

    helm repo update
  3. Install the latest

     helm install myshowroom rhpds/showroom
    --create-namespace \
    --set deployer.domain=apps.shared-410.openshift.redhatworkshops.io \
    --set general.guid=GUID \
    --set-file content.user_data=<path-to-user-data.yaml> \
    --set documentation.repoUrl=https://github.com/rhpds/showroom_template_default
    
    helm install myshowroom myrhpds/showroom --set deployer.domain=apps.shared-410.openshift.redhatworkshops.io --set general.guid=test --set-file content.user_data=/Users/jmaltin/tmp/azure-user-data.yaml --debug --create-namespace --set namespace.create=false
Note
The above creates the namespace showroom-test where the helm release exists, AND creates the namespace showroom-test2 there the actual application is deployed.

Deploy noVNC

For deploying showroom with noVNC, you need to have a host with a VNC server configured and running.

  1. Using Helm

helm install
...
--set novnc.setup=true \
--set novnc.vncServer=my.host.local:5900 \
--set novnc.password=secret123

Hosting Helm Repo with on https://rhpds.github.io/

Prereqs

I added a few actions to the rhpds github org.

  • helm/chart-releaser-action@v1.5.0

  • helm/chart-testing-action@master

Set Up

  1. Setup a branch in your repo which gh-pages will host. Call it gh-pages

    git checkout --orphan gh-pages
    git rm -rf .
    git commit -m "Initial commit for gh-pages" --allow-empty
    git push
  2. Get gh-pages working for your repo.

    1. Go to the settings page on your repository and set the source branch to the gh-pages branch you just created.

  3. Check out the github workflows in this repo for

    1. .github/workflows/release-helm.yaml: Commits to /charts triggering a release to https://rhpds.github.io/<your repo name>

Testing your new Chart Repo

Just like you’d use any Helm repo

  1. Add the repo

    helm repo add myrhpds https://rhpds.github.io/showroom-deployer
  2. Refresh them

    helm repo update
  3. Install the latest

    helm install showroom-single-pod <lots of parameters>

TODO

  1. Basic AgD Integration

  2. Test applicationSet

  3. for dedicated OCP cluster, just install helm chart (?)

ArgoCD - Work in Progress - BROKEN :(

It is possible to deploy the helm chart with ArgoCD. This repo provides an ArgoCD/Application for your convenience.

oc create -f ./setup/argocd/application.yaml

Argo CD - Multi-user installation - Work in Progress - BROKEN :(

The chart can be installed multiple times in one namespace per user. You control this in helm values.yaml.

An easy way to setup and manage a multi-user deployment is via the ArgoCD/ApplicationSet.

oc create -f ./argocd/applicationset.yaml

About

Deploy Showroom to OpenShift targets

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 33.8%
  • Dockerfile 20.8%
  • HTML 19.3%
  • Jinja 13.5%
  • CSS 9.1%
  • Makefile 2.7%
  • Mustache 0.8%
0