mirror of
https://github.com/ZwareBear/JFrog-Cloud-Installers.git
synced 2026-01-21 04:06:55 -06:00
Openshift Xray Helm and relocated to helm or operator folder
This commit is contained in:
24
Openshift4/operator/artifactory-ha-operator/.gitignore
vendored
Normal file
24
Openshift4/operator/artifactory-ha-operator/.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
|
||||
# Binaries for programs and plugins
|
||||
*.exe
|
||||
*.exe~
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
bin
|
||||
|
||||
# Test binary, build with `go test -c`
|
||||
*.test
|
||||
|
||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||
*.out
|
||||
|
||||
# Kubernetes Generated files - skip generated files, except for vendored files
|
||||
|
||||
!vendor/**/zz_generated.*
|
||||
|
||||
# editor and IDE paraphernalia
|
||||
.idea
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
@@ -0,0 +1,10 @@
|
||||
scorecard:
|
||||
output: json
|
||||
plugins:
|
||||
- basic:
|
||||
cr-manifest:
|
||||
- "deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml"
|
||||
- olm:
|
||||
cr-manifest:
|
||||
- "deploy/crds/charts.helm.k8s.io_v1alpha1_openshiftartifactoryha_cr.yaml"
|
||||
csv-path: "deploy/olm-catalog/artifactory-ha-operator/1.0.3/artifactory-ha-operator.v1.0.3.clusterserviceversion.yaml"
|
||||
26
Openshift4/operator/artifactory-ha-operator/CHANGELOG.md
Executable file
26
Openshift4/operator/artifactory-ha-operator/CHANGELOG.md
Executable file
@@ -0,0 +1,26 @@
|
||||
# JFrog Openshift Artifactory-ha Chart Changelog
|
||||
All changes to this chart will be documented in this file.
|
||||
|
||||
## [3.1.0] - Aug 17, 2020
|
||||
* Updating to latest jfrog/artifactory-ha helm chart version 3.1.0 artifactory version 3.1.0
|
||||
|
||||
## [3.0.5] - July 16, 2020
|
||||
* Updating to latest jfrog/artifactory-ha helm chart version 3.0.5 artifactory version 7.6.3
|
||||
|
||||
## [2.6.0] - June 29, 2020
|
||||
* Updating to latest jfrog/artifactory-ha helm chart version 2.6.0 artifactory version 7.6.1
|
||||
|
||||
## [2.4.6] - May 12, 2020
|
||||
* Updating to latest jfrog/artifactory-ha helm chart version 2.4.6 artifactory version 7.4.3
|
||||
|
||||
## [2.3.0] - April 13, 2020
|
||||
* Updating to latest jfrog/artifactory-ha helm chart version 2.3.0
|
||||
|
||||
## [2.2.9] - April 11, 2020
|
||||
* Fixed issues with master key
|
||||
|
||||
## [2.1.9] - March 17, 2020
|
||||
* Updated Artifactory version to 7.3.2
|
||||
|
||||
## [2.0.35] - March 09, 2020
|
||||
* Updated Artifactory version to 7.2.1
|
||||
@@ -0,0 +1,8 @@
|
||||
# JFrog welcomes community contribution!
|
||||
|
||||
Before we can accept your contribution, process your GitHub pull requests, and thank you full-heartedly, we request that you will fill out and submit JFrog's Contributor License Agreement (CLA).
|
||||
|
||||
[Click here](https://secure.echosign.com/public/hostedForm?formid=5IYKLZ2RXB543N) to submit the JFrog CLA.
|
||||
This should only take a minute to complete and is a one-time process.
|
||||
|
||||
*Thanks for Your Contribution to the Community!* :-)
|
||||
13
Openshift4/operator/artifactory-ha-operator/Dockerfile
Normal file
13
Openshift4/operator/artifactory-ha-operator/Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
||||
# Build the manager binary
|
||||
FROM quay.io/operator-framework/helm-operator:v1.0.1
|
||||
LABEL name="JFrog Artifactory Enterprise Operator" \
|
||||
description="Openshift operator to deploy JFrog Artifactory Enterprise based on the Red Hat Universal Base Image." \
|
||||
vendor="JFrog" \
|
||||
summary="JFrog Artifactory Enterprise Operator" \
|
||||
com.jfrog.license_terms="https://jfrog.com/artifactory/eula/"
|
||||
|
||||
COPY licenses/ /licenses
|
||||
ENV HOME=/opt/helm
|
||||
COPY watches.yaml ${HOME}/watches.yaml
|
||||
COPY helm-charts ${HOME}/helm-charts
|
||||
WORKDIR ${HOME}
|
||||
92
Openshift4/operator/artifactory-ha-operator/Makefile
Normal file
92
Openshift4/operator/artifactory-ha-operator/Makefile
Normal file
@@ -0,0 +1,92 @@
|
||||
# Current Operator version
|
||||
VERSION ?= 0.0.1
|
||||
# Default bundle image tag
|
||||
BUNDLE_IMG ?= controller-bundle:$(VERSION)
|
||||
# Options for 'bundle-build'
|
||||
ifneq ($(origin CHANNELS), undefined)
|
||||
BUNDLE_CHANNELS := --channels=$(CHANNELS)
|
||||
endif
|
||||
ifneq ($(origin DEFAULT_CHANNEL), undefined)
|
||||
BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL)
|
||||
endif
|
||||
BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
|
||||
|
||||
# Image URL to use all building/pushing image targets
|
||||
IMG ?= controller:latest
|
||||
|
||||
all: docker-build
|
||||
|
||||
# Run against the configured Kubernetes cluster in ~/.kube/config
|
||||
run: helm-operator
|
||||
$(HELM_OPERATOR) run
|
||||
|
||||
# Install CRDs into a cluster
|
||||
install: kustomize
|
||||
$(KUSTOMIZE) build config/crd | kubectl apply -f -
|
||||
|
||||
# Uninstall CRDs from a cluster
|
||||
uninstall: kustomize
|
||||
$(KUSTOMIZE) build config/crd | kubectl delete -f -
|
||||
|
||||
# Deploy controller in the configured Kubernetes cluster in ~/.kube/config
|
||||
deploy: kustomize
|
||||
cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG}
|
||||
$(KUSTOMIZE) build config/default | kubectl apply -f -
|
||||
|
||||
# Undeploy controller in the configured Kubernetes cluster in ~/.kube/config
|
||||
undeploy: kustomize
|
||||
$(KUSTOMIZE) build config/default | kubectl delete -f -
|
||||
|
||||
# Build the docker image
|
||||
docker-build:
|
||||
docker build . -t ${IMG}
|
||||
|
||||
# Push the docker image
|
||||
docker-push:
|
||||
docker push ${IMG}
|
||||
|
||||
PATH := $(PATH):$(PWD)/bin
|
||||
SHELL := env PATH=$(PATH) /bin/sh
|
||||
OS = $(shell uname -s | tr '[:upper:]' '[:lower:]')
|
||||
ARCH = $(shell uname -m | sed 's/x86_64/amd64/')
|
||||
OSOPER = $(shell uname -s | tr '[:upper:]' '[:lower:]' | sed 's/darwin/apple-darwin/' | sed 's/linux/linux-gnu/')
|
||||
ARCHOPER = $(shell uname -m )
|
||||
|
||||
kustomize:
|
||||
ifeq (, $(shell which kustomize 2>/dev/null))
|
||||
@{ \
|
||||
set -e ;\
|
||||
mkdir -p bin ;\
|
||||
curl -sSLo - https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.5.4/kustomize_v3.5.4_$(OS)_$(ARCH).tar.gz | tar xzf - -C bin/ ;\
|
||||
}
|
||||
KUSTOMIZE=$(realpath ./bin/kustomize)
|
||||
else
|
||||
KUSTOMIZE=$(shell which kustomize)
|
||||
endif
|
||||
|
||||
helm-operator:
|
||||
ifeq (, $(shell which helm-operator 2>/dev/null))
|
||||
@{ \
|
||||
set -e ;\
|
||||
mkdir -p bin ;\
|
||||
curl -LO https://github.com/operator-framework/operator-sdk/releases/download/v1.0.1/helm-operator-v1.0.1-$(ARCHOPER)-$(OSOPER) ;\
|
||||
mv helm-operator-v1.0.1-$(ARCHOPER)-$(OSOPER) ./bin/helm-operator ;\
|
||||
chmod +x ./bin/helm-operator ;\
|
||||
}
|
||||
HELM_OPERATOR=$(realpath ./bin/helm-operator)
|
||||
else
|
||||
HELM_OPERATOR=$(shell which helm-operator)
|
||||
endif
|
||||
|
||||
# Generate bundle manifests and metadata, then validate generated files.
|
||||
.PHONY: bundle
|
||||
bundle: kustomize
|
||||
operator-sdk generate kustomize manifests -q
|
||||
cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG)
|
||||
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS)
|
||||
operator-sdk bundle validate ./bundle
|
||||
|
||||
# Build the bundle image.
|
||||
.PHONY: bundle-build
|
||||
bundle-build:
|
||||
docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) .
|
||||
4
Openshift4/operator/artifactory-ha-operator/PROJECT
Normal file
4
Openshift4/operator/artifactory-ha-operator/PROJECT
Normal file
@@ -0,0 +1,4 @@
|
||||
domain: jfrog.com
|
||||
layout: helm.sdk.operatorframework.io/v1
|
||||
projectName: artifactory-ha-operator
|
||||
version: 3-alpha
|
||||
144
Openshift4/operator/artifactory-ha-operator/README.md
Normal file
144
Openshift4/operator/artifactory-ha-operator/README.md
Normal file
@@ -0,0 +1,144 @@
|
||||
# JFrog Artifactory Enterprise Operator
|
||||
|
||||
This code base is intended to deploy Artifactory HA as an operator to an Openshift4 cluster. You can run the operator either through the operator-sdk, operator.yaml, or the Operatorhub.
|
||||
|
||||
Openshift OperatorHub has the latest official supported Cluster Service Version (CSV) for the OLM catalog.
|
||||
|
||||
## Getting Started
|
||||
|
||||
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
###### Openshift 4 Cluster
|
||||
|
||||
Available on AWS, GCP, or Azure. Follow the Cloud installer guide available here:
|
||||
|
||||
[Openshift 4 Installers](https://cloud.redhat.com/openshift/install)
|
||||
|
||||
Or run it locally using CodeReadyContainers.
|
||||
|
||||
[Code Ready Container Installer](https://cloud.redhat.com/openshift/install/crc/installer-provisioned)
|
||||
|
||||
Note if you are going to use CodeReadyContainers to test this Operator you will need to ensure:
|
||||
|
||||
```
|
||||
- create at least one Persistent volume of 200Gi per Artifactory node used in HA configuration
|
||||
```
|
||||
|
||||
###### Openshift 4 Command Line Tools
|
||||
|
||||
Download and install the Openshift command line tool: oc
|
||||
|
||||
[Getting Started with CLI](https://docs.openshift.com/container-platform/4.2/cli_reference/openshift_cli/getting-started-cli.html)
|
||||
|
||||
## Cluster Setup
|
||||
###### Security Context Constraints - Anyuid
|
||||
|
||||
Openshift only allows statefulsets / pods to run in specific user and group id ranges.
|
||||
Artifactory currently uses users outside of this allowed range.
|
||||
For this reason the service account for the operator in the jfrog-artifactory namespace must be granted anyuid privileges.
|
||||
|
||||
```
|
||||
oc adm policy add-scc-to-user anyuid system:serviceaccount:jfrog-artifactory:artifactory-ha-operator
|
||||
```
|
||||
|
||||
Where anyuid is the Security context constraint being applied to the service account artifactory-ha-operator in namespace jfrog-artifactory.
|
||||
|
||||
In addition to this the restricted scc policy will need to be changed to allow anyuid:
|
||||
|
||||
```
|
||||
oc patch scc restricted --patch '{"fsGroup":{"type":"RunAsAny"},"runAsUser":{"type":"RunAsAny"},"seLinuxContext":{"type":"RunAsAny"}}' --type=merge
|
||||
```
|
||||
|
||||
The privileged scc policy will need to be changed to include the artifactory-ha-operator as an admin account:
|
||||
|
||||
```
|
||||
oc patch scc privileged --patch '{"users":["system:admin","system:serviceaccount:openshift-infra:build-controller","system:serviceaccount:jfrog-artifactory:artifactory-ha-operator"]}' --type=merge
|
||||
```
|
||||
|
||||
###### Persistent Volumes on Code Ready Containers
|
||||
|
||||
Artifactory HA nodes by default request persistent volume claims 200 Gbs in size.
|
||||
|
||||
If your cluster does not already have existing persistent volumes that are 200Gi you will need to create new persistent volumes that are large enough to bound the claims to.
|
||||
|
||||
## Installation types
|
||||
###### OLM Catalog
|
||||
To install via the OLM catalog download the operator from the Operator hub and install it via the Openshift console GUI
|
||||
|
||||
To test OLM catalog installs you will need to deploy the lastest ClusterServiceVersion found at:
|
||||
|
||||
```
|
||||
deploy/olm-catalog/artifactory-ha-operator/X.X.X/artifactory-ha-operator.vX.X.X.clusterserviceversion.yaml
|
||||
```
|
||||
|
||||
This will install the operator into whatever cluster your kubectl or oc program is currently logged into.
|
||||
|
||||
Please refer to Local Testing section below for full instructions.
|
||||
|
||||
###### Operator YAML
|
||||
To install the operator via the Operator YAML follow the Local Testing tests.
|
||||
|
||||
Instead of running operator-sdk up local for the last step run:
|
||||
|
||||
```
|
||||
oc apply -f deploy/operator.yaml
|
||||
```
|
||||
|
||||
This will deploy the operator into the cluster.
|
||||
|
||||
## Local Testing
|
||||
|
||||
Please refer to cluster setup. Ensure all steps have been completed prior to local testing against code ready containers.
|
||||
|
||||
Follow these steps:
|
||||
|
||||
Install code ready containers if you do not already have it installed.
|
||||
|
||||
Run your cluster with 2 cpus and 8192 MBs of memory at a minimum to support HA:
|
||||
|
||||
```
|
||||
crc start -c 2 -m 8192
|
||||
```
|
||||
|
||||
Recommended settings:
|
||||
|
||||
```
|
||||
crc start -c 4 -m 16384
|
||||
```
|
||||
|
||||
Create file:
|
||||
|
||||
```
|
||||
JFrog-Cloud-Installers/Openshift4/artifactory.cluster.license
|
||||
```
|
||||
|
||||
Paste your license keys into this file for HA configuration of multiple nodes.
|
||||
|
||||
* License keys must be separated by two new lines.
|
||||
|
||||
Run:
|
||||
|
||||
```
|
||||
JFrog-Cloud-Installers/Openshift4/artifactory-ha-operator/setup.sh
|
||||
```
|
||||
|
||||
###### Operator-sdk local
|
||||
|
||||
Run:
|
||||
|
||||
```
|
||||
cd JFrog-Cloud-Installers/Openshift4/artifactory-ha-operator
|
||||
operator-sdk up local
|
||||
```
|
||||
|
||||
## Contributing
|
||||
Please read [CONTRIBUTING.md](JFrog-Cloud-Installers/Openshift4/artifactory-ha-operator/CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
|
||||
|
||||
## Versioning
|
||||
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/jfrog/JFrog-Cloud-Installers/tags).
|
||||
|
||||
## Contact
|
||||
|
||||
Github Issues
|
||||
11
Openshift4/operator/artifactory-ha-operator/build/Dockerfile
Normal file
11
Openshift4/operator/artifactory-ha-operator/build/Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
||||
FROM quay.io/operator-framework/helm-operator:v0.16.0
|
||||
|
||||
LABEL name="JFrog Artifactory Enterprise Operator" \
|
||||
description="Openshift operator to deploy JFrog Artifactory Enterprise based on the Red Hat Universal Base Image." \
|
||||
vendor="JFrog" \
|
||||
summary="JFrog Artifactory Enterprise Operator" \
|
||||
com.jfrog.license_terms="https://jfrog.com/artifactory/eula/"
|
||||
|
||||
COPY licenses/ /licenses
|
||||
COPY watches.yaml ${HOME}/watches.yaml
|
||||
COPY helm-charts/ ${HOME}/helm-charts/
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,7 @@
|
||||
annotations:
|
||||
operators.operatorframework.io.bundle.channel.default.v1: alpha
|
||||
operators.operatorframework.io.bundle.channels.v1: alpha
|
||||
operators.operatorframework.io.bundle.manifests.v1: manifests/
|
||||
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
|
||||
operators.operatorframework.io.bundle.metadata.v1: metadata/
|
||||
operators.operatorframework.io.bundle.package.v1: openshiftartifactoryha-operator
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,7 @@
|
||||
annotations:
|
||||
operators.operatorframework.io.bundle.channel.default.v1: alpha
|
||||
operators.operatorframework.io.bundle.channels.v1: alpha
|
||||
operators.operatorframework.io.bundle.manifests.v1: manifests/
|
||||
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
|
||||
operators.operatorframework.io.bundle.metadata.v1: metadata/
|
||||
operators.operatorframework.io.bundle.package.v1: openshiftartifactoryha-operator
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,7 @@
|
||||
annotations:
|
||||
operators.operatorframework.io.bundle.channel.default.v1: alpha
|
||||
operators.operatorframework.io.bundle.channels.v1: alpha
|
||||
operators.operatorframework.io.bundle.manifests.v1: manifests/
|
||||
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
|
||||
operators.operatorframework.io.bundle.metadata.v1: metadata/
|
||||
operators.operatorframework.io.bundle.package.v1: openshiftartifactoryha-operator
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,7 @@
|
||||
annotations:
|
||||
operators.operatorframework.io.bundle.channel.default.v1: alpha
|
||||
operators.operatorframework.io.bundle.channels.v1: alpha
|
||||
operators.operatorframework.io.bundle.manifests.v1: manifests/
|
||||
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
|
||||
operators.operatorframework.io.bundle.metadata.v1: metadata/
|
||||
operators.operatorframework.io.bundle.package.v1: openshiftartifactoryha-operator
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,12 @@
|
||||
annotations:
|
||||
operators.operatorframework.io.bundle.channel.default.v1: alpha
|
||||
operators.operatorframework.io.bundle.channels.v1: alpha
|
||||
operators.operatorframework.io.bundle.manifests.v1: manifests/
|
||||
operators.operatorframework.io.bundle.mediatype.v1: registry+v1
|
||||
operators.operatorframework.io.bundle.metadata.v1: metadata/
|
||||
operators.operatorframework.io.bundle.package.v1: openshiftartifactoryha-operator
|
||||
operators.operatorframework.io.metrics.builder: operator-sdk-v1.0.1
|
||||
operators.operatorframework.io.metrics.mediatype.v1: metrics+v1
|
||||
operators.operatorframework.io.metrics.project_layout: helm.sdk.operatorframework.io/v1
|
||||
operators.operatorframework.io.test.config.v1: tests/scorecard/
|
||||
operators.operatorframework.io.test.mediatype.v1: scorecard+v1
|
||||
@@ -0,0 +1,29 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ''
|
||||
plural: ''
|
||||
conditions: null
|
||||
storedVersions: null
|
||||
@@ -0,0 +1,13 @@
|
||||
FROM scratch
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
|
||||
COPY 1.0.0/manifests /manifests/
|
||||
COPY 1.0.0/metadata /metadata/
|
||||
LABEL com.redhat.openshift.versions="v4.5,v4.6"
|
||||
LABEL com.redhat.delivery.operator.bundle=true
|
||||
@@ -0,0 +1,13 @@
|
||||
FROM scratch
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
|
||||
COPY 1.0.1/manifests /manifests/
|
||||
COPY 1.0.1/metadata /metadata/
|
||||
LABEL com.redhat.openshift.versions="v4.5,v4.6"
|
||||
LABEL com.redhat.delivery.operator.bundle=true
|
||||
@@ -0,0 +1,13 @@
|
||||
FROM scratch
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
|
||||
COPY 1.0.2/manifests /manifests/
|
||||
COPY 1.0.2/metadata /metadata/
|
||||
LABEL com.redhat.openshift.versions="v4.5,v4.6"
|
||||
LABEL com.redhat.delivery.operator.bundle=true
|
||||
@@ -0,0 +1,14 @@
|
||||
FROM scratch
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
|
||||
COPY 1.0.3/manifests /manifests/
|
||||
COPY 1.0.3/metadata /metadata/
|
||||
LABEL com.redhat.openshift.versions="v4.5,v4.6"
|
||||
LABEL com.redhat.delivery.operator.bundle=true
|
||||
LABEL com.redhat.delivery.backport=true
|
||||
@@ -0,0 +1,26 @@
|
||||
FROM scratch
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
|
||||
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
|
||||
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
|
||||
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
|
||||
LABEL operators.operatorframework.io.bundle.package.v1=openshiftartifactoryha-operator
|
||||
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
|
||||
LABEL operators.operatorframework.io.bundle.channel.default.v1=alpha
|
||||
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.0.1
|
||||
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
|
||||
LABEL operators.operatorframework.io.metrics.project_layout=helm.sdk.operatorframework.io/v1
|
||||
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
|
||||
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
|
||||
|
||||
COPY 1.1.0/manifests /manifests/
|
||||
COPY 1.1.0/metadata /metadata/
|
||||
LABEL com.redhat.openshift.versions="v4.5,v4.6"
|
||||
LABEL com.redhat.delivery.operator.bundle=true
|
||||
LABEL com.redhat.delivery.backport=true
|
||||
@@ -0,0 +1,5 @@
|
||||
channels:
|
||||
- currentCSV: artifactory-ha-operator.v1.1.1
|
||||
name: alpha
|
||||
defaultChannel: ''
|
||||
packageName: openshiftartifactoryha-operator
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,23 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
@@ -0,0 +1,4 @@
|
||||
packageName: openshiftartifactoryha-operator
|
||||
channels:
|
||||
- name: alpha
|
||||
currentCSV: artifactory-ha-operator.v1.0.3
|
||||
@@ -0,0 +1,26 @@
|
||||
# Adds namespace to all resources.
|
||||
namespace: artifactory-ha-operator-system
|
||||
|
||||
# Value of this field is prepended to the
|
||||
# names of all resources, e.g. a deployment named
|
||||
# "wordpress" becomes "alices-wordpress".
|
||||
# Note that it should also match with the prefix (text before '-') of the namespace
|
||||
# field above.
|
||||
namePrefix: artifactory-ha-operator-
|
||||
|
||||
# Labels to add to all resources and selectors.
|
||||
#commonLabels:
|
||||
# someName: someValue
|
||||
|
||||
bases:
|
||||
- ../crd
|
||||
- ../rbac
|
||||
- ../manager
|
||||
# [PROMETHEUS] To enable prometheus monitor, uncomment all sections with 'PROMETHEUS'.
|
||||
#- ../prometheus
|
||||
|
||||
patchesStrategicMerge:
|
||||
# Protect the /metrics endpoint by putting it behind auth.
|
||||
# If you want your controller-manager to expose the /metrics
|
||||
# endpoint w/o any authn/z, please comment the following line.
|
||||
- manager_auth_proxy_patch.yaml
|
||||
@@ -0,0 +1,26 @@
|
||||
# This patch inject a sidecar container which is a HTTP proxy for the
|
||||
# controller manager, it performs RBAC authorization against the Kubernetes API using SubjectAccessReviews.
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: controller-manager
|
||||
namespace: system
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: kube-rbac-proxy
|
||||
image: gcr.io/kubebuilder/kube-rbac-proxy:v0.5.0
|
||||
args:
|
||||
- "--secure-listen-address=0.0.0.0:8443"
|
||||
- "--upstream=http://127.0.0.1:8080/"
|
||||
- "--logtostderr=true"
|
||||
- "--v=10"
|
||||
ports:
|
||||
- containerPort: 8443
|
||||
name: https
|
||||
- name: manager
|
||||
args:
|
||||
- "--metrics-addr=127.0.0.1:8080"
|
||||
- "--enable-leader-election"
|
||||
- "--leader-election-id=artifactory-ha-operator"
|
||||
@@ -0,0 +1,8 @@
|
||||
resources:
|
||||
- manager.yaml
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
images:
|
||||
- name: controller
|
||||
newName: controller
|
||||
newTag: latest
|
||||
@@ -0,0 +1,38 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
name: system
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: controller-manager
|
||||
namespace: system
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
control-plane: controller-manager
|
||||
replicas: 1
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
spec:
|
||||
containers:
|
||||
- image: controller:latest
|
||||
args:
|
||||
- "--enable-leader-election"
|
||||
- "--leader-election-id=artifactory-ha-operator"
|
||||
name: manager
|
||||
resources:
|
||||
limits:
|
||||
cpu: 100m
|
||||
memory: 90Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 60Mi
|
||||
terminationGracePeriodSeconds: 10
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
|
||||
resources:
|
||||
- ../default
|
||||
- ../samples
|
||||
- ../scorecard
|
||||
@@ -0,0 +1,2 @@
|
||||
resources:
|
||||
- monitor.yaml
|
||||
@@ -0,0 +1,16 @@
|
||||
|
||||
# Prometheus Monitor Service (Metrics)
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
metadata:
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
name: controller-manager-metrics-monitor
|
||||
namespace: system
|
||||
spec:
|
||||
endpoints:
|
||||
- path: /metrics
|
||||
port: https
|
||||
selector:
|
||||
matchLabels:
|
||||
control-plane: controller-manager
|
||||
@@ -0,0 +1,7 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: metrics-reader
|
||||
rules:
|
||||
- nonResourceURLs: ["/metrics"]
|
||||
verbs: ["get"]
|
||||
@@ -0,0 +1,13 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: proxy-role
|
||||
rules:
|
||||
- apiGroups: ["authentication.k8s.io"]
|
||||
resources:
|
||||
- tokenreviews
|
||||
verbs: ["create"]
|
||||
- apiGroups: ["authorization.k8s.io"]
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs: ["create"]
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: proxy-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: proxy-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: default
|
||||
namespace: system
|
||||
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
control-plane: controller-manager
|
||||
name: controller-manager-metrics-service
|
||||
namespace: system
|
||||
spec:
|
||||
ports:
|
||||
- name: https
|
||||
port: 8443
|
||||
targetPort: https
|
||||
selector:
|
||||
control-plane: controller-manager
|
||||
@@ -0,0 +1,12 @@
|
||||
resources:
|
||||
- role.yaml
|
||||
- role_binding.yaml
|
||||
- leader_election_role.yaml
|
||||
- leader_election_role_binding.yaml
|
||||
# Comment the following 4 lines if you want to disable
|
||||
# the auth proxy (https://github.com/brancz/kube-rbac-proxy)
|
||||
# which protects your /metrics endpoint.
|
||||
- auth_proxy_service.yaml
|
||||
- auth_proxy_role.yaml
|
||||
- auth_proxy_role_binding.yaml
|
||||
- auth_proxy_client_clusterrole.yaml
|
||||
@@ -0,0 +1,25 @@
|
||||
# permissions to do leader election.
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: leader-election-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- configmaps
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- update
|
||||
- patch
|
||||
- delete
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
- patch
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: leader-election-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: leader-election-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: default
|
||||
namespace: system
|
||||
@@ -0,0 +1,31 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: manager-role
|
||||
rules:
|
||||
##
|
||||
## Base operator rules
|
||||
##
|
||||
# We need to get namespaces so the operator can read namespaces to ensure they exist
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
verbs:
|
||||
- get
|
||||
# We need to manage Helm release secrets
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- secrets
|
||||
verbs:
|
||||
- "*"
|
||||
# We need to create events on CRs about things happening during reconciliation
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- create
|
||||
|
||||
# +kubebuilder:scaffold:rules
|
||||
@@ -0,0 +1,12 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: manager-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: manager-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: default
|
||||
namespace: system
|
||||
@@ -0,0 +1,7 @@
|
||||
apiVersion: scorecard.operatorframework.io/v1alpha3
|
||||
kind: Configuration
|
||||
metadata:
|
||||
name: config
|
||||
stages:
|
||||
- parallel: true
|
||||
tests: []
|
||||
@@ -0,0 +1,16 @@
|
||||
resources:
|
||||
- bases/config.yaml
|
||||
patchesJson6902:
|
||||
- path: patches/basic.config.yaml
|
||||
target:
|
||||
group: scorecard.operatorframework.io
|
||||
version: v1alpha3
|
||||
kind: Configuration
|
||||
name: config
|
||||
- path: patches/olm.config.yaml
|
||||
target:
|
||||
group: scorecard.operatorframework.io
|
||||
version: v1alpha3
|
||||
kind: Configuration
|
||||
name: config
|
||||
# +kubebuilder:scaffold:patchesJson6902
|
||||
@@ -0,0 +1,10 @@
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- basic-check-spec
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: basic
|
||||
test: basic-check-spec-test
|
||||
@@ -0,0 +1,50 @@
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- olm-bundle-validation
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: olm
|
||||
test: olm-bundle-validation-test
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- olm-crds-have-validation
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: olm
|
||||
test: olm-crds-have-validation-test
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- olm-crds-have-resources
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: olm
|
||||
test: olm-crds-have-resources-test
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- olm-spec-descriptors
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: olm
|
||||
test: olm-spec-descriptors-test
|
||||
- op: add
|
||||
path: /stages/0/tests/-
|
||||
value:
|
||||
entrypoint:
|
||||
- scorecard-test
|
||||
- olm-status-descriptors
|
||||
image: quay.io/operator-framework/scorecard-test:v1.0.1
|
||||
labels:
|
||||
suite: olm
|
||||
test: olm-status-descriptors-test
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: operators.coreos.com/v1
|
||||
kind: CatalogSourceConfig
|
||||
metadata:
|
||||
name: artifactory-ha-operator-csc
|
||||
namespace: openshift-marketplace
|
||||
spec:
|
||||
targetNamespace: jfrog-artifactory
|
||||
packages: artifactory-ha-operator
|
||||
@@ -0,0 +1,23 @@
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: openshiftartifactoryhas.charts.helm.k8s.io
|
||||
spec:
|
||||
group: charts.helm.k8s.io
|
||||
names:
|
||||
kind: OpenshiftArtifactoryHa
|
||||
listKind: OpenshiftArtifactoryHaList
|
||||
plural: openshiftartifactoryhas
|
||||
singular: openshiftartifactoryha
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
type: object
|
||||
x-kubernetes-preserve-unknown-fields: true
|
||||
version: v1alpha1
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: true
|
||||
@@ -0,0 +1,97 @@
|
||||
apiVersion: charts.helm.k8s.io/v1alpha1
|
||||
kind: OpenshiftArtifactoryHa
|
||||
metadata:
|
||||
name: openshiftartifactoryha
|
||||
spec:
|
||||
artifactory-ha:
|
||||
database:
|
||||
type: "OVERRIDE"
|
||||
driver: "OVERRIDE"
|
||||
url: "OVERRIDE"
|
||||
user: "OVERRIDE"
|
||||
password: "OVERRIDE"
|
||||
initContainerImage: registry.connect.redhat.com/jfrog/init:1.0.1
|
||||
waitForDatabase: true
|
||||
installerInfo: '{ "productId": "Openshift_artifactory-ha/{{ .Chart.Version }}", "features": [ { "featureId": "ArtifactoryVersion/{{ default .Chart.AppVersion .Values.artifactory.image.version }}" }, { "featureId": "{{ if .Values.postgresql.enabled }}postgresql{{ else }}{{ .Values.database.type }}{{ end }}/0.0.0" }, { "featureId": "Platform/Openshift" }, { "featureId": "Partner/ACC-006983" }, { "featureId": "Channel/Openshift" } ] }'
|
||||
artifactory:
|
||||
uid: "1000721030"
|
||||
## Change to use RH UBI images
|
||||
image:
|
||||
registry: registry.connect.redhat.com
|
||||
repository: jfrog/artifactory-pro
|
||||
tag: 7.9.0
|
||||
node:
|
||||
replicaCount: 2
|
||||
waitForPrimaryStartup:
|
||||
enabled: false
|
||||
masterKey: "OVERRIDE"
|
||||
joinKey: "OVERRIDE"
|
||||
postgresql:
|
||||
enabled: false
|
||||
nginx:
|
||||
uid: "1000720104"
|
||||
gid: "1000720107"
|
||||
image:
|
||||
registry: registry.redhat.io
|
||||
repository: rhel8/nginx-116
|
||||
tag: latest
|
||||
## K8S secret name for the TLS secret to be used for SSL
|
||||
tlsSecretName: "OVERRIDE"
|
||||
service:
|
||||
ssloffload: false
|
||||
http:
|
||||
externalPort: 80
|
||||
internalPort: 8080
|
||||
https:
|
||||
externalPort: 443
|
||||
internalPort: 8443
|
||||
mainConf: |
|
||||
# Main Nginx configuration file
|
||||
worker_processes 4;
|
||||
error_log {{ .Values.nginx.persistence.mountPath }}/logs//error.log warn;
|
||||
pid /tmp/nginx.pid;
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
http {
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
variables_hash_max_size 1024;
|
||||
variables_hash_bucket_size 64;
|
||||
server_names_hash_max_size 4096;
|
||||
server_names_hash_bucket_size 128;
|
||||
types_hash_max_size 2048;
|
||||
types_hash_bucket_size 64;
|
||||
proxy_read_timeout 2400s;
|
||||
client_header_timeout 2400s;
|
||||
client_body_timeout 2400s;
|
||||
proxy_connect_timeout 75s;
|
||||
proxy_send_timeout 2400s;
|
||||
proxy_buffer_size 32k;
|
||||
proxy_buffers 40 32k;
|
||||
proxy_busy_buffers_size 64k;
|
||||
proxy_temp_file_write_size 250m;
|
||||
proxy_http_version 1.1;
|
||||
client_body_buffer_size 128k;
|
||||
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
|
||||
'$status $body_bytes_sent "$http_referer" '
|
||||
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||
log_format timing 'ip = $remote_addr '
|
||||
'user = \"$remote_user\" '
|
||||
'local_time = \"$time_local\" '
|
||||
'host = $host '
|
||||
'request = \"$request\" '
|
||||
'status = $status '
|
||||
'bytes = $body_bytes_sent '
|
||||
'upstream = \"$upstream_addr\" '
|
||||
'upstream_time = $upstream_response_time '
|
||||
'request_time = $request_time '
|
||||
'referer = \"$http_referer\" '
|
||||
'UA = \"$http_user_agent\"';
|
||||
access_log {{ .Values.nginx.persistence.mountPath }}/logs/access.log timing;
|
||||
sendfile on;
|
||||
#tcp_nopush on;
|
||||
keepalive_timeout 65;
|
||||
#gzip on;
|
||||
include {{ .Values.nginx.persistence.mountPath }}/conf.d/*.conf;
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
kind: Namespace
|
||||
apiVersion: v1
|
||||
metadata:
|
||||
name: jfrog-artifactory
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,5 @@
|
||||
channels:
|
||||
- currentCSV: artifactory-ha-operator.v1.0.0
|
||||
name: alpha
|
||||
defaultChannel: alpha
|
||||
packageName: artifactory-ha-operator
|
||||
@@ -0,0 +1,34 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: artifactory-ha-operator
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
name: artifactory-ha-operator
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
name: artifactory-ha-operator
|
||||
spec:
|
||||
serviceAccountName: artifactory-ha-operator
|
||||
containers:
|
||||
- name: artifactory-ha-operator
|
||||
image: registry.connect.redhat.com/jfrog/artifactory-operator
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: WATCH_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- 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"
|
||||
- name: RELATED_IMAGE_NGINX_IMAGE_REPOSITORY
|
||||
value: "registry.redhat.io/rhel8/nginx-116"
|
||||
@@ -0,0 +1,8 @@
|
||||
apiVersion: operators.coreos.com/v1alpha2
|
||||
kind: OperatorGroup
|
||||
metadata:
|
||||
name: jfrog-operator-group
|
||||
namespace: jfrog-artifactory
|
||||
spec:
|
||||
targetNamespaces:
|
||||
- jfrog-artifactory
|
||||
@@ -0,0 +1,89 @@
|
||||
apiVersion: template.openshift.io/v1
|
||||
kind: Template
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: project-request
|
||||
objects:
|
||||
- apiVersion: project.openshift.io/v1
|
||||
kind: Project
|
||||
metadata:
|
||||
annotations:
|
||||
openshift.io/description: JFrog Artifactory
|
||||
openshift.io/display-name: jfrog-artifactory
|
||||
openshift.io/requester: integrations@jfrog.com
|
||||
creationTimestamp: null
|
||||
name: jfrog-artifactory
|
||||
spec: {}
|
||||
status: {}
|
||||
- apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
annotations:
|
||||
openshift.io/description: Allows all pods in this namespace to pull images from
|
||||
this namespace. It is auto-managed by a controller; remove subjects to disable.
|
||||
creationTimestamp: null
|
||||
name: system:image-pullers
|
||||
namespace: jfrog-artifactory
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: system:image-puller
|
||||
subjects:
|
||||
- apiGroup: rbac.authorization.k8s.io
|
||||
kind: Group
|
||||
name: system:serviceaccounts:jfrog-artifactory
|
||||
- apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
annotations:
|
||||
openshift.io/description: Allows builds in this namespace to push images to
|
||||
this namespace. It is auto-managed by a controller; remove subjects to disable.
|
||||
creationTimestamp: null
|
||||
name: system:image-builders
|
||||
namespace: jfrog-artifactory
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: system:image-builder
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: builder
|
||||
namespace: jfrog-artifactory
|
||||
- apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
annotations:
|
||||
openshift.io/description: Allows deploymentconfigs in this namespace to rollout
|
||||
pods in this namespace. It is auto-managed by a controller; remove subjects
|
||||
to disable.
|
||||
creationTimestamp: null
|
||||
name: system:deployers
|
||||
namespace: jfrog-artifactory
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: system:deployer
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: deployer
|
||||
namespace: jfrog-artifactory
|
||||
- apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: admin
|
||||
namespace: jfrog-artifactory
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: admin
|
||||
subjects:
|
||||
- apiGroup: rbac.authorization.k8s.io
|
||||
kind: User
|
||||
name: kubeadmin
|
||||
parameters:
|
||||
- name: PROJECT_NAME
|
||||
- name: PROJECT_DISPLAYNAME
|
||||
- name: PROJECT_DESCRIPTION
|
||||
- name: PROJECT_ADMIN_USER
|
||||
- name: PROJECT_REQUESTING_USER
|
||||
119
Openshift4/operator/artifactory-ha-operator/deploy/role.yaml
Normal file
119
Openshift4/operator/artifactory-ha-operator/deploy/role.yaml
Normal file
@@ -0,0 +1,119 @@
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: artifactory-ha-operator
|
||||
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:
|
||||
- '*'
|
||||
@@ -0,0 +1,11 @@
|
||||
kind: RoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: artifactory-ha-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: artifactory-ha-operator
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: artifactory-ha-operator
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
@@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: artifactory-ha-operator
|
||||
@@ -0,0 +1,10 @@
|
||||
apiVersion: operators.coreos.com/v1alpha1
|
||||
kind: Subscription
|
||||
metadata:
|
||||
name: artifactory-ha-operator
|
||||
namespace: jfrog-artifactory
|
||||
spec:
|
||||
channel: alpha
|
||||
name: artifactory-ha-operator
|
||||
source: artifactory-ha-operator-csc
|
||||
sourceNamespace: openshift-operators
|
||||
@@ -0,0 +1,2 @@
|
||||
## README
|
||||
Should use the latest openshift artifactory ha chart from the partnership artifactory
|
||||
202
Openshift4/operator/artifactory-ha-operator/licenses/LICENSE
Executable file
202
Openshift4/operator/artifactory-ha-operator/licenses/LICENSE
Executable file
@@ -0,0 +1,202 @@
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
8
Openshift4/operator/artifactory-ha-operator/watches.yaml
Normal file
8
Openshift4/operator/artifactory-ha-operator/watches.yaml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
- version: v1alpha1
|
||||
group: charts.helm.k8s.io
|
||||
kind: OpenshiftArtifactoryHa
|
||||
chart: helm-charts/openshift-artifactory-ha
|
||||
overrideValues:
|
||||
artifactory-ha.artifactory.image.override: $RELATED_IMAGE_ARTIFACTORY_IMAGE_REPOSITORY
|
||||
artifactory-ha.nginx.image.override: $RELATED_IMAGE_NGINX_IMAGE_REPOSITORY
|
||||
Reference in New Issue
Block a user