apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
  annotations:
    alm-examples: |-
      [
        {
          "apiVersion": "charts.helm.k8s.io/v1alpha1",
          "kind": "OpenshiftXray",
          "metadata": {
            "name": "openshiftxray"
          },
          "spec": {
            "xray": {
              "initContainerImage": "registry.connect.redhat.com/jfrog/init:1.0.1",
              "common": {
                "xrayUserId": "1000721035",
                "xrayGroupId": "1000721035",
                "xrayVersion": "3.12.0-1"
              },
              "analysis": {
                "image": {
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/xray-analysis"
                },
                "name": "xray-analysis",
                "podManagementPolicy": "Parallel",
                "preStartCommand": null,
                "updateStrategy": "RollingUpdate"
              },
              "database": {
                "password": "OVERRIDE",
                "url": "OVERRIDE",
                "user": "OVERRIDE"
              },
              "global": {
                "postgresqlTlsSecret": null
              },
              "indexer": {
                "image": {
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/xray-indexer"
                },
                "name": "xray-indexer",
                "podManagementPolicy": "Parallel",
                "updateStrategy": "RollingUpdate"
              },
              "persist": {
                "image": {
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/xray-persist"
                },
                "name": "xray-persist",
                "persistence": {
                  "size": "10Gi"
                },
                "podManagementPolicy": "Parallel",
                "preStartCommand": null,
                "updateStrategy": "RollingUpdate"
              },
              "postgresql": {
                "enabled": false
              },
              "rabbitmq-ha": {
                "enabled": true,
                "image": {
                  "repository": "registry.connect.redhat.com/jfrog/xray-rabbitmq",
                  "tag": "3.12.0-1"
                },
                "rabbitmqUsername": "guest",
                "rabbitmqPassword": "guest",
                "managementUsername": "guest",
                "managementPassword": "guest",
                "initContainer": {
                  "enabled": false
                },
                "securityContext": {
                  "fsGroup": 1000721035,
                  "runAsUser": 1000721035,
                  "runAsGroup": 1000721035
                },
                "replicaCount": 1
              },
              "replicaCount": 1,
              "unifiedUpgradeAllowed":  "true",
              "router": {
                "image": {
                  "imagePullPolicy": "IfNotPresent",
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/xray-router",
                  "tag": "3.12.0-1"
                },
                "name": "router"
              },
              "server": {
                "image": {
                  "registry": "registry.connect.redhat.com",
                  "repository": "jfrog/xray-server"
                },
                "name": "xray-server",
                "podManagementPolicy": "Parallel",
                "replicaCount": 1,
                "updateStrategy": "RollingUpdate"
              },
              "xray": {
                "consoleLog": false,
                "jfrogUrl": "OVERRIDE",
                "joinKey": "OVERRIDE",
                "masterKey": "OVERRIDE"
              }
            }
          }
        }
      ]
    capabilities: Seamless Upgrades
    categories: Developer Tools,Integration & Delivery
    certified: 'true'
    containerImage: registry.connect.redhat.com/jfrog/xray-operator:3.12.0-1
    createdAt: 2020-05-22 00:00:00+00:00
    description: JFrog Xray Enterprise deploys Xray continuous security scanner into
      Openshift (Requires Jfrog Artifactory)
    repository: https://github.com/jfrog/JFrog-Cloud-Installers/tree/openshift4/Openshift4
    support: JFrog
  creationTimestamp: null
  name: xray-operator.v1.1.5
  namespace: default
spec:
  apiservicedefinitions: {}
  customresourcedefinitions:
    owned:
    - description: Represents Xray Instances
      displayName: Xray
      kind: OpenshiftXray
      name: openshiftxrays.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 Xray Continuous Security scanner 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 xray-operator

    ```

    ```

    oc adm policy add-scc-to-user anyuid -z openshiftxray

    ```

    ```

    oc adm policy add-scc-to-user anyuid -z openshiftxray-rabbitmq-ha

    ```


    ## 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 Xray Operator to install.


    Go to the Installed Operators.


    Wait for the JFrog Xray Operator to complete the installation.


    Open the Operator and click on the provided API: Xray


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


    ```

    JFROG_URL

    DATABASE_URL

    DATABASE_USER

    DATABASE_PASSWORD

    ```


    JFROG_URL is the external ip or DNS of your Artifactory to connect Xray to. Artifactory
    is required to use this operator.


    DATABASE_URL must be a Postgresql URL in the format:

    ```

    postgres://postgres-postgresql:5432/xraydb?sslmode=disable

    ```

    DATABASE_USER and DATABASE_PASSWORD must supply a valid user on Postgresql.


    Click Create for Xray to deploy into OpenShift.


    Open Artifactory in a web browser to complete the onboarding wizard for Xray!


    ## Air gap environments


    To use Xray Operator in an air gap environment you will need to download the images as image streams into your Openshift air gap cluster manually.


    Use the image overrides to then specify the image stream locations that are local to your cluster.


    Next you will need to setup the database of index data for xray to use when scanning artifacts.


    Follow the link below for instructions on setup:


    https://www.jfrog.com/confluence/display/JFROG/Configuring+Xray#ConfiguringXray-SynchronizingtheDatabase


    '
  displayName: JFrog Xray Continuous Security Operator
  icon:
  - base64data: [encoded data, 25728 characters]
    mediatype: image/png
  install:
    spec:
      deployments:
      - name: xray-operator
        spec:
          replicas: 1
          selector:
            matchLabels:
              name: xray-operator
          strategy: {}
          template:
            metadata:
              labels:
                name: xray-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: xray-operator
                - name: RELATED_IMAGE_XRAY_SERVER_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-server:3.12.0-1
                - name: RELATED_IMAGE_XRAY_ANALYSIS_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-analysis:3.12.0-1
                - name: RELATED_IMAGE_XRAY_PERSIST_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-persist:3.12.0-1
                - name: RELATED_IMAGE_XRAY_INDEXER_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-indexer:3.12.0-1
                - name: RELATED_IMAGE_XRAY_ROUTER_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-router:3.12.0-1
                - name: RELATED_IMAGE_XRAY_RABBITMQ_IMAGE_REPOSITORY
                  value: registry.connect.redhat.com/jfrog/xray-rabbitmq:3.12.0-1
                image: registry.connect.redhat.com/jfrog/xray-operator:3.12.0-1
                imagePullPolicy: Always
                name: xray-operator
                resources: {}
              serviceAccountName: xray-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:
          - xray-operator
          resources:
          - '*'
          verbs:
          - '*'
        - apiGroups:
          - ''
          resources:
          - events
          verbs:
          - create
        - apiGroups:
          - monitoring.coreos.com
          resources:
          - servicemonitors
          verbs:
          - get
          - create
        - apiGroups:
          - apps
          resourceNames:
          - xray-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: xray-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 Xray Continuous Security
    url: https://jfrog.com/xray/
  - name: JFrog Xray Continuous Security Video
    url: https://youtu.be/wGzyKlQklKQ
  maintainers:
  - email: partner-support@jfrog.com
    name: JFrog
  maturity: alpha
  provider:
    name: JFrog
  replaces: xray-operator.v1.1.4
  version: 1.1.5
status:
  certsLastUpdated: null
  certsRotateAt: null
  lastTransitionTime: null
  lastUpdateTime: null
