apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "charts.helm.k8s.io/v1alpha1",
          "kind": "OpenshiftArtifactoryHa",
          "metadata": {
            "name": "openshiftartifactoryha"
          },
          "spec": {
            "artifactory-ha": {
              "artifactory": {
                "image": {
                  "repository": "registry.connect.redhat.com/jfrog/artifactory-pro",
                  "version": "7.7.3"
                },
                "joinKey": "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE",
                "masterKey": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
                "node": {
                  "replicaCount": 2,
                  "waitForPrimaryStartup": {
                    "enabled": false
                  }
                }
              },
              "database": {
                "driver": "OVERRIDE",
                "password": "OVERRIDE",
                "type": "OVERRIDE",
                "url": "OVERRIDE",
                "user": "OVERRIDE"
              },
              "initContainerImage": "registry.redhat.io/ubi8-minimal",
              "nginx": {
                "http": {
                  "externalPort": 80,
                  "internalPort": 8080
                },
                "https": {
                  "externalPort": 443,
                  "internalPort": 8443
                },
                "image": {
                  "repository": "registry.redhat.io/rhel8/nginx-116",
                  "version": "latest"
                },
                "service": {
                  "ssloffload": false
                },
                "tlsSecretName": "OVERRIDE"
              },
              "postgresql": {
                "enabled": false
              },
              "waitForDatabase": false
            }
          }
        }
      ]
    capabilities: Basic Install
    categories: "Developer Tools,Integration & Delivery"
    description: "JFrog Artifactory Enterprise deploys Artifactory in a high availability environment across multiple pods"
    containerImage: registry.connect.redhat.com/jfrog/artifactory-operator:7.7.3
    createdAt: 2020-03-25T00:00:00Z
    support: JFrog
    certified: "true"
    repository: https://github.com/jfrog/JFrog-Cloud-Installers/tree/openshift4/Openshift4
  name: artifactory-ha-operator.v1.0.3
  namespace: default
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
      - description: Represents Artifactory HA Instances
        displayName: Artifactory HA
        kind: OpenshiftArtifactoryHa
        name: openshiftartifactoryhas.charts.helm.k8s.io
        resources:
          - kind: Deployment
            version: v1
          - kind: Service
            version: v1
          - kind: ReplicaSet
            version: v1
          - kind: Pod
            version: v1
          - kind: Secret
            version: v1
          - kind: ConfigMap
            version: v1
          - kind: StatefulSet
            version: apps/v1
        version: v1alpha1
  description: |
    ## Overview

    Openshift Operator to deploy JFrog Artifactory Enterprise into your Openshift cluster.

    ## Usage

    An external DB is required. The operator will not deploy a DB but will require you to specify the configuration values to connect to it.

    Search for JFrog and click JFrog Artifactory Enterprise Operator to install.

    Go to the Installed Operators.

    Wait for the JFrog Artifactory Enterprise Operator to complete the installation.

    Open the Operator and click on the provided API: Artifactory HA.

    Click Create New Instance and provide the following parameters for your DB configuration:

    ```
    DATABASE_TYPE
    DATABASE_DRIVER
    DATABASE_URL
    DATABASE_USER
    DATABASE_PASSWORD
    ```

    In addition to use TLS you will need to first create a k8s tls secret to store your .crt and .key file into.

    Then supply the value of this k8s secret into the TLS_SECRET field.

    Click Create for Artifactory Enterprise to deploy into OpenShift and connect to it on the external IP exposed by the load balancer.

  displayName: JFrog Artifactory Enterprise Operator
  provider:
    name: JFrog
  links:
    - name: JFrog
      url: https://www.jfrog.com
    - name: JFrog Artifact Repository
      url: https://jfrog.com/artifactory/
    - name: Artifactory Video
      url: https://www.youtube.com/watch?v=r2_A5CPo43U
  icon:
    - base64data: [encoded data, 25728 characters]
      mediatype: image/png
  maintainers:
    - name: JFrog
      email: partner-support@jfrog.com
  install:
    spec:
      deployments:
      - name: artifactory-ha-operatorvi
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: artifactory-ha-operator
          strategy: {}
          template:
            metadata:
              labels:
                name: artifactory-ha-operator
            spec:
              containers:
              - env:
                - name: WATCH_NAMESPACE
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.annotations['olm.targetNamespaces']
                - name: POD_NAME
                  valueFrom:
                    fieldRef:
                      fieldPath: metadata.name
                - name: OPERATOR_NAME
                  value: artifactory-ha-operator
                - name: RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/artifactory-pro:7.7.3
                - name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY
                  value: registry.redhat.io/rhel8/nginx-116:latest
                image: registry.connect.redhat.com/jfrog/artifactory-operator:7.7.3
                imagePullPolicy: Always
                name: artifactory-ha-operator
                resources: {}
              serviceAccountName: artifactory-ha-operator
      permissions:
      - rules:
        - apiGroups:
          - ""
          resources:
          - pods
          - services
          - services/finalizers
          - endpoints
          - persistentvolumeclaims
          - events
          - configmaps
          - secrets
          - serviceaccounts
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - apps
          resources:
          - deployments
          - daemonsets
          - replicasets
          - statefulsets
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - ""
          resources:
          - namespaces
          verbs:
          - get
        - apiGroups:
          - ""
          resourceNames:
          - artifactory-ha-operator
          resources:
          - '*'
          verbs:
          - '*'
        - apiGroups:
          - ""
          resources:
          - events
          verbs:
          - create
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - servicemonitors
          verbs:
          - get
          - create
        - apiGroups:
          - apps
          resourceNames:
          - artifactory-ha-operator
          resources:
          - deployments/finalizers
          verbs:
          - update
        - apiGroups:
          - ""
          resources:
          - pods
          verbs:
          - get
        - apiGroups:
          - apps
          resources:
          - replicasets
          - deployments
          verbs:
          - get
        - apiGroups:
          - charts.helm.k8s.io
          resources:
          - '*'
          verbs:
          - create
          - delete
          - get
          - list
          - patch
          - update
          - watch
        - apiGroups:
          - networking.k8s.io
          resources:
          - '*'
          verbs:
          - '*'
        - apiGroups:
          - policy
          resources:
          - '*'
          verbs:
          - '*'
        - apiGroups:
          - rbac.authorization.k8s.io
          resources:
          - '*'
          verbs:
          - '*'
        serviceAccountName: artifactory-ha-operator
    strategy: deployment
  installModes:
    - supported: true
      type: OwnNamespace
    - supported: true
      type: SingleNamespace
    - supported: false
      type: MultiNamespace
    - supported: true
      type: AllNamespaces
  keywords:
    - "DevOps"
    - "CI/CD"
    - "Developers"
    - "Software"
    - "Productivity"
    - "Artifact Repository"
    - "Repository Manager"
    - "Docker"
    - "Maven"
    - "Git"
    - "Helm"
    - "npm"
    - "go"
    - "golang"
    - "kubernetes"
    - "k8s"
    - "rpm"
    - "yum"
  maturity: alpha
  version: 1.0.3
  replaces: artifactory-ha-operator.v1.0.2