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": {
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/artifactory-pro",
                  "tag": "7.12.8-0"
                },
                "joinKey": "OVERRIDE",
                "masterKey": "OVERRIDE",
                "uid": "1000721030",
                "node": {
                  "replicaCount": 2,
                  "waitForPrimaryStartup": {
                    "enabled": false
                  }
                }
              },
              "databaseUpgradeReady": true,
              "database": {
                "driver": "OVERRIDE",
                "password": "OVERRIDE",
                "type": "OVERRIDE",
                "url": "OVERRIDE",
                "user": "OVERRIDE"
              },
              "initContainerImage": "registry.connect.redhat.com/jfrog/init:7.12.8-0",
              "nginx": {
                "uid": "1000720104",
                "gid": "1000720107",
                "http": {
                  "externalPort": 80,
                  "internalPort": 8080
                },
                "https": {
                  "externalPort": 443,
                  "internalPort": 8443
                },
                "image": {
                  "registry": "registry.redhat.io",
                  "repository": "rhel8/nginx-116",
                  "tag": "latest"
                },
                "service": {
                  "ssloffload": false
                },
                "tlsSecretName": "OVERRIDE"
              },
              "postgresql": {
                "enabled": false
              },
              "waitForDatabase": true
            }
          }
        }
      ]
    capabilities: Seamless Upgrades
    operators.operatorframework.io/builder: operator-sdk-v1.3.0
    operators.operatorframework.io/project_layout: helm.sdk.operatorframework.io/v1
    categories: Developer Tools,Integration & Delivery
    certified: 'true'
    containerImage: registry.connect.redhat.com/jfrog/artifactory-operator:7.12.8-0
    createdAt: 2020-03-25 00:00:00+00:00
    description: JFrog Artifactory Enterprise deploys Artifactory in a high availability
      environment across multiple pods
    repository: https://github.com/jfrog/JFrog-Cloud-Installers/tree/openshift4/Openshift4
    support: JFrog
  creationTimestamp: null
  name: artifactory-ha-operator.v1.1.7
  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
        name: ''
        version: v1
      - kind: Service
        name: ''
        version: v1
      - kind: ReplicaSet
        name: ''
        version: v1
      - kind: Pod
        name: ''
        version: v1
      - kind: Secret
        name: ''
        version: v1
      - kind: ConfigMap
        name: ''
        version: v1
      - kind: StatefulSet
        name: ''
        version: apps/v1
      version: v1alpha1
  description: '## Overview

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

    ## Security Context Constraints

    To deploy this helm chart you will need to be a cluster admin w/ access to the anyuid scc and add the operator service account to the anyuid scc.

    ```

    oc adm policy add-scc-to-user anyuid -z artifactory-ha-operator -n openshift-operators

    ```

    Add the service account for the Artifactory chart to deploy successfully:

    ```
    oc adm policy add-scc-to-user anyuid -z openshiftartifactoryha-artifactory-ha -n artifactory
    ```

    ## 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

    ```

    Master key and Join key must be supplied. To generate a new key for each run the command below:


    ```

    # Create a key

    export JOIN_KEY=$(openssl rand -hex 32)

    echo ${JOIN_KEY}

    ```


    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.

    ```
    oc create secret tls my_tls_secret --cert=tls.crt --key=tls.key --namespace=my_namespace
    ```

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

    # Create a route

    To expose Artifactory from Openshift we recommend you create a new route in Openshift.

    You can either use the oc command line tool or the Openshift web console to generate a new route.

    Depending upon where you terminate TLS you will need to either specify pass through or edge.

    Command Line (Edge):

    ```
    oc create route edge --service=openshiftartifactory-ha --cert=tls.crt --key=tls.key --ca-cert=ca.crt --hostname=www.example.com
    ```

    Or for more information visit the official Openshift documentation on routes here:

    https://docs.openshift.com/container-platform/4.6/networking/routes/route-configuration.html


    '
  displayName: JFrog Artifactory Enterprise Operator
  icon:
  - base64data: [encoded data, 25728 characters]
    mediatype: image/png
  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.12.8-0
                - name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY
                  value: registry.redhat.io/rhel8/nginx-116:latest
                image: registry.connect.redhat.com/jfrog/artifactory-operator:7.12.8-0
                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
  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
  maintainers:
  - email: partner-support@jfrog.com
    name: JFrog
  maturity: alpha
  provider:
    name: JFrog
  replaces: artifactory-ha-operator.v1.1.6
  version: 1.1.7
status:
  certsLastUpdated: null
  certsRotateAt: null
  lastTransitionTime: null
  lastUpdateTime: null
