To learn about the Software Templates that were used in this workshop, explore the scaffolder-templates
folder. For additional Template examples, see https://github.com/janus-idp/software-templates
To set up your own workshop cluster, implement the following changes to the demo-setup installation process:
-
When asked to clone the
janus-idp/demo-setup
repo, create a checkout of thisworkshop
branch instead:git clone https://github.com/ryanj/janus-platforms.git cd janus-platforms/ansible/cluster-setup git checkout workshop
-
When asked to fork the
janus-idp/software-templates
repo to your new GH Org, fork this repo instead:https://github.com/redhat-scholars/backstage-workshop
. Make sure to change the name of the resulting repo to:software-templates
-
After creating your new GH Org, visit the
org/settings/member_privileges
admin page, and change the Base permissions for all repos to "Write"open "https://github.com/organizations/$GITHUB_ORGANIZATION/settings/member_privileges/"
If you a using a ROSA cluster that is configured to use GH Auth for cluster access, proceed to the next section to install the Namespace Configuration Operator
Warning
|
This section is NOT intended for RHPD users! This section is ONLY for ROSA users who have configured GH Auth as their primary authentication scheme! |
-
Optionally, install the CoP Namespace Configuration Operator from OperatorHub:
oc new-project namespace-configuration-operator oc create -f https://raw.githubusercontent.com/redhat-cop/namespace-configuration-operator/master/config/operatorhub/operator.yaml
-
Wait for the operator installation to complete…
-
After the operator installation has completed, install the following
UserConfig
yaml:cat <<EOF | oc create -f - kind: UserConfig apiVersion: redhatcop.redhat.io/v1alpha1 metadata: name: test-user-config spec: annotationSelector: {} identityExtraFieldSelector: {} labelSelector: {} providerName: GitHub templates: - excludedPaths: - .spec.replicas - .metadata - .status objectTemplate: | - apiVersion: project.openshift.io/v1 kind: Project metadata: name: {{ .Name }} - apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: {{ .Name }}-rolebinding namespace: {{ .Name }} roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: admin subjects: - apiGroup: rbac.authorization.k8s.io kind: User name: {{ .Name }} EOF