130
openshift/gitlab.yml
Normal file
130
openshift/gitlab.yml
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
---
|
||||||
|
- name: Deploy gitlab on OCP
|
||||||
|
hosts: localhost
|
||||||
|
gather_facts: false
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: create cert-manager-operator namespace
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
name: cert-manager-operator
|
||||||
|
api_version: v1
|
||||||
|
kind: Namespace
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: create OperatorGroup object for cert-manager-operator
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: operators.coreos.com/v1
|
||||||
|
kind: OperatorGroup
|
||||||
|
metadata:
|
||||||
|
name: cert-manager-operator-operatorgroup
|
||||||
|
namespace: cert-manager-operator
|
||||||
|
spec:
|
||||||
|
targetNamespaces:
|
||||||
|
- cert-manager-operator
|
||||||
|
|
||||||
|
- name: create cert-manager-operator subscription
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: operators.coreos.com/v1alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
operators.coreos.com/openshift-cert-manager-operator.cert-manager-operator: ''
|
||||||
|
name: openshift-cert-manager-operator
|
||||||
|
namespace: cert-manager-operator
|
||||||
|
spec:
|
||||||
|
channel: stable-v1
|
||||||
|
installPlanApproval: Automatic
|
||||||
|
name: openshift-cert-manager-operator
|
||||||
|
source: redhat-operators
|
||||||
|
sourceNamespace: openshift-marketplace
|
||||||
|
|
||||||
|
- name: create gitlab-system namespace
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
name: gitlab-system
|
||||||
|
api_version: v1
|
||||||
|
kind: Namespace
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: create OperatorGroup object for gitlab-operator-kubernetes
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: operators.coreos.com/v1
|
||||||
|
kind: OperatorGroup
|
||||||
|
metadata:
|
||||||
|
name: gitlab-operator-kubernetes-operatorgroup
|
||||||
|
namespace: gitlab-system
|
||||||
|
spec:
|
||||||
|
targetNamespaces:
|
||||||
|
- gitlab-system
|
||||||
|
|
||||||
|
- name: create gitlab subscription
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: operators.coreos.com/v1alpha1
|
||||||
|
kind: Subscription
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
operators.coreos.com/gitlab-operator-kubernetes.gitlab-system: ''
|
||||||
|
name: gitlab-operator-kubernetes
|
||||||
|
namespace: gitlab-system
|
||||||
|
spec:
|
||||||
|
channel: stable
|
||||||
|
installPlanApproval: Automatic
|
||||||
|
name: gitlab-operator-kubernetes
|
||||||
|
source: community-operators
|
||||||
|
sourceNamespace: openshift-marketplace
|
||||||
|
|
||||||
|
- name: wait for gitlab operator to install
|
||||||
|
k8s_info:
|
||||||
|
api_version: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
name: gitlabs.apps.gitlab.com
|
||||||
|
register: crd_gitlab
|
||||||
|
until: crd_gitlab.resources | list | length == 1
|
||||||
|
retries: 10
|
||||||
|
delay: 30
|
||||||
|
|
||||||
|
- name: Wait until gitlab-operator is up
|
||||||
|
k8s_info:
|
||||||
|
api_version: v1
|
||||||
|
kind: Deployment
|
||||||
|
name: gitlab-controller-manager
|
||||||
|
namespace: gitlab-system
|
||||||
|
register: pod_list
|
||||||
|
until: pod_list | json_query('resources[*].status.readyReplicas') | unique >= [1]
|
||||||
|
retries: 10
|
||||||
|
delay: 30
|
||||||
|
|
||||||
|
- name: Deploy a GitLab instance
|
||||||
|
redhat.openshift.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: apps.gitlab.com/v1beta1
|
||||||
|
kind: GitLab
|
||||||
|
metadata:
|
||||||
|
name: gitlab
|
||||||
|
namespace: gitlab-system
|
||||||
|
spec:
|
||||||
|
chart:
|
||||||
|
version: "6.11.0"
|
||||||
|
values:
|
||||||
|
nginx-ingress:
|
||||||
|
enabled: false
|
||||||
|
certmanager:
|
||||||
|
install: false
|
||||||
|
global:
|
||||||
|
hosts:
|
||||||
|
domain: "{{ cluster_domain }}" # apps.cluster-9xrlv.9xrlv.sandbox644.opentlc.com
|
||||||
|
ingress:
|
||||||
|
class: none
|
||||||
|
configureCertmanager: true
|
||||||
|
annotations:
|
||||||
|
route.openshift.io/termination: "edge"
|
||||||
|
certmanager-issuer:
|
||||||
|
email: "{{ cert_email | default('nobody@nowhere.nosite') }}"
|
||||||
@@ -23,3 +23,24 @@ controller_templates:
|
|||||||
notification_templates_error: Telemetry
|
notification_templates_error: Telemetry
|
||||||
credentials:
|
credentials:
|
||||||
- "OpenShift Credential"
|
- "OpenShift Credential"
|
||||||
|
|
||||||
|
- name: OpenShift / GitLab
|
||||||
|
job_type: run
|
||||||
|
inventory: "Demo Inventory"
|
||||||
|
project: "Ansible official demo project"
|
||||||
|
playbook: "openshift/gitlab.yml"
|
||||||
|
notification_templates_started: Telemetry
|
||||||
|
notification_templates_success: Telemetry
|
||||||
|
notification_templates_error: Telemetry
|
||||||
|
credentials:
|
||||||
|
- "OpenShift Credential"
|
||||||
|
survey_enabled: true
|
||||||
|
survey:
|
||||||
|
name: ''
|
||||||
|
description: ''
|
||||||
|
spec:
|
||||||
|
- question_name: Enter the base domain for your cluster
|
||||||
|
default: 'Example: apps.cluster-123ab.123ab.sandbox987.opentlc.com'
|
||||||
|
type: text
|
||||||
|
variable: cluster_domain
|
||||||
|
required: true
|
||||||
|
|||||||
Reference in New Issue
Block a user