OpenShift Dev Spaces (#64)
This commit is contained in:
20
openshift/README.md
Normal file
20
openshift/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# OpenShift Demos
|
||||
|
||||
## Table of Contents
|
||||
- [OpenShift Demos](#openshift-demos)
|
||||
- [Table of Contents](#table-of-contents)
|
||||
- [About These Demos](#about-these-demos)
|
||||
- [Jobs](#jobs)
|
||||
- [Pre Setup](#pre-setup)
|
||||
|
||||
## About These Demos
|
||||
This category of demos shows examples of openshift operations and management with Ansible Automation Platform. The list of demos can be found below. See the [Suggested Usage](#suggested-usage) section of this document for recommendations on how to best use these demos.
|
||||
|
||||
### Jobs
|
||||
- [**OpenShift / Dev Spaces**](devspaces.yml) - Install and deploy dev spaces on OCP cluster. After this job has run successfully, login to your OCP cluster, click the application icon (to the left of the bell icon in the top right) to access Dev Spaces
|
||||
|
||||
## Pre Setup
|
||||
This demo requires an OpenShift cluster to deploy to. If you do not have a cluster to use, one can be requested from [demo.redhat.com](https://demo.redhat.com).
|
||||
- Search for the [Red Hat OpenShift Container Platform 4.12 Workshop](https://demo.redhat.com/catalog?item=babylon-catalog-prod/sandboxes-gpte.ocp412-wksp.prod&utm_source=webapp&utm_medium=share-link) item in the catalog and request with the number of users you would like for Dev Spaces.
|
||||
- Login using the admin credentials provided. Click the `admin` username at the top right and select `Copy login command`.
|
||||
- Authenticate and click `Display Token`. This information will be used to populate the OpenShift Credential after you run the setup.
|
||||
112
openshift/devspaces.yml
Normal file
112
openshift/devspaces.yml
Normal file
@@ -0,0 +1,112 @@
|
||||
---
|
||||
- name: Deploy Dev Spaces on OCP
|
||||
hosts: localhost
|
||||
gather_facts: false
|
||||
|
||||
tasks:
|
||||
- name: create namespace
|
||||
redhat.openshift.k8s:
|
||||
name: eclipse-che
|
||||
api_version: v1
|
||||
kind: Namespace
|
||||
state: present
|
||||
|
||||
- name: create dev spaces subscription
|
||||
redhat.openshift.k8s:
|
||||
state: present
|
||||
definition:
|
||||
apiVersion: operators.coreos.com/v1alpha1
|
||||
kind: Subscription
|
||||
metadata:
|
||||
labels:
|
||||
operators.coreos.com/devspaces.openshift-operators: ''
|
||||
name: devspaces
|
||||
namespace: openshift-operators
|
||||
spec:
|
||||
channel: stable
|
||||
installPlanApproval: Automatic
|
||||
name: devspaces
|
||||
source: redhat-operators
|
||||
sourceNamespace: openshift-marketplace
|
||||
|
||||
- name: wait for dev spaces operator to install
|
||||
k8s_info:
|
||||
api_version: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
name: checlusters.org.eclipse.che
|
||||
register: crd_che
|
||||
until: crd_che.resources | list | length == 1
|
||||
retries: 10
|
||||
delay: 30
|
||||
|
||||
- name: Wait until devspaces-operator is up
|
||||
k8s_info:
|
||||
api_version: v1
|
||||
kind: Deployment
|
||||
name: devspaces-operator
|
||||
namespace: openshift-operators
|
||||
register: pod_list
|
||||
until: pod_list|json_query('resources[*].status.readyReplicas')|unique == [1]
|
||||
retries: 10
|
||||
delay: 30
|
||||
|
||||
- name: deploy dev spaces
|
||||
redhat.openshift.k8s:
|
||||
state: present
|
||||
definition:
|
||||
apiVersion: org.eclipse.che/v2
|
||||
kind: CheCluster
|
||||
metadata:
|
||||
name: devspaces
|
||||
namespace: eclipse-che
|
||||
spec:
|
||||
components:
|
||||
cheServer:
|
||||
debug: false
|
||||
logLevel: INFO
|
||||
dashboard: {}
|
||||
database:
|
||||
credentialsSecretName: postgres-credentials
|
||||
externalDb: false
|
||||
postgresDb: dbche
|
||||
postgresHostName: postgres
|
||||
postgresPort: '5432'
|
||||
pvc:
|
||||
claimSize: 1Gi
|
||||
devWorkspace: {}
|
||||
devfileRegistry: {}
|
||||
imagePuller:
|
||||
enable: false
|
||||
spec: {}
|
||||
metrics:
|
||||
enable: true
|
||||
pluginRegistry:
|
||||
openVSXURL: 'https://open-vsx.org'
|
||||
containerRegistry: {}
|
||||
devEnvironments:
|
||||
startTimeoutSeconds: 300
|
||||
secondsOfRunBeforeIdling: -1
|
||||
maxNumberOfWorkspacesPerUser: -1
|
||||
containerBuildConfiguration:
|
||||
openShiftSecurityContextConstraint: container-build
|
||||
disableContainerBuildCapabilities: true
|
||||
defaultEditor: che-incubator/che-code/insiders
|
||||
defaultComponents:
|
||||
- container:
|
||||
image: >-
|
||||
registry.redhat.io/devspaces/udi-rhel8@sha256:aa39ede33bcbda6aa2723d271c79ab8d8fd388c7dfcbc3d4ece745b7e9c84193
|
||||
sourceMapping: /projects
|
||||
name: universal-developer-image
|
||||
defaultNamespace:
|
||||
autoProvision: true
|
||||
template: <username>-devspaces
|
||||
secondsOfInactivityBeforeIdling: 1800
|
||||
storage:
|
||||
pvcStrategy: per-user
|
||||
gitServices: {}
|
||||
networking:
|
||||
auth:
|
||||
gateway:
|
||||
configLabels:
|
||||
app: che
|
||||
component: che-gateway-config
|
||||
25
openshift/setup.yml
Normal file
25
openshift/setup.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
controller_components:
|
||||
- credentials
|
||||
- job_templates
|
||||
|
||||
controller_credentials:
|
||||
- name: OpenShift Credential
|
||||
organization: Default
|
||||
credential_type: OpenShift or Kubernetes API Bearer Token
|
||||
inputs:
|
||||
host: CHANGEME
|
||||
bearer_token: CHANGEME
|
||||
verify_ssl: false
|
||||
|
||||
controller_templates:
|
||||
- name: OpenShift / Dev Spaces
|
||||
job_type: run
|
||||
inventory: "Demo Inventory"
|
||||
project: "Ansible official demo project"
|
||||
playbook: "openshift/devspaces.yml"
|
||||
notification_templates_started: Telemetry
|
||||
notification_templates_success: Telemetry
|
||||
notification_templates_error: Telemetry
|
||||
credentials:
|
||||
- "OpenShift Credential"
|
||||
Reference in New Issue
Block a user