diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..16e87a0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,37 @@ +# Copyright 2020 The Jetstack cert-manager contributors. +# +# 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. + +FROM alpine:3.11 as chart-get + +RUN apk add wget tar +RUN wget https://charts.jetstack.io/charts/cert-manager-v0.15.0-alpha.0.tgz +# TODO: add some kind of verification +RUN tar xzf cert-manager-v0.15.0-alpha.0.tgz + +FROM quay.io/operator-framework/helm-operator:v0.15.1 + +### Required OpenShift Labels +LABEL name="cert-manager Operator" \ + vendor="Jetstack" \ + version="v0.15.0-alpha.0" \ + release="1" \ + summary="This is the cert-manager operator." \ + description="This operator will deploy cert-manager to the cluster." + +# Required Licenses +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSE /licenses/LICENSE +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSES /licenses/LICENSES + +COPY --from=chart-get /cert-manager/ ${HOME}/helm-charts/cert-manager +COPY watches.yaml ${HOME}/watches.yaml \ No newline at end of file diff --git a/README.md b/README.md index d4dab2a..d8fbd4c 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ -# cert-manager-olm +# cert-manager operator deployment Definitions for the cert-manager operator published via Red Hat's Operator Lifecycle Manager (OLM) + +This repository contains all files that are used to build the [operator](https://operatorhub.io/what-is-an-operator) to deploy cert-manager. +This is to allow users of OpenShift and OperatorHub to easily install cert-manager into their clusters. It is currently an experimental deployment method. +This includes the operator itself, based on the Helm operator as well as Dockerfiles to build [UBI](https://connect.redhat.com/about/faq/what-red-hat-universal-base-image-ubi-0) based images. + +This repository contains all files that are used by the RedHat image builder to release the operator. + +For more info on cert-manager, please see [the cert-manager repository](https://github.com/jetstack/cert-manager) or [cert-manager.io](https://cert-manager.io) \ No newline at end of file diff --git a/bundle/cert-manager-operator/0.15.0-alpha.0/cert-manager-operator.v0.15.0-alpha.0.clusterserviceversion.yaml b/bundle/cert-manager-operator/0.15.0-alpha.0/cert-manager-operator.v0.15.0-alpha.0.clusterserviceversion.yaml new file mode 100644 index 0000000..0f36259 --- /dev/null +++ b/bundle/cert-manager-operator/0.15.0-alpha.0/cert-manager-operator.v0.15.0-alpha.0.clusterserviceversion.yaml @@ -0,0 +1,89 @@ +apiVersion: operators.coreos.com/v1alpha1 +kind: ClusterServiceVersion +metadata: + annotations: + description: "x509 certificate management for Kubernetes" + createdAt: "2020-04-20T12:00:00Z" + support: "cert-manager team" + alm-examples: ' [{"apiVersion":"operator.cert-manager.io/v1alpha1","kind":"CertManager","metadata":{"name":"cert-manager","namespace":"cert-manager"},"spec":{}}]' + capabilities: Full Lifecycle + categories: Security + certified: 'false' + containerImage: quay.io/jetstack/cert-manager-operator:v0.15.0-alpha.0 + repository: https://github.com/jetstack/cert-manager + name: cert-manager-operator.v0.15.0-alpha.0 +spec: + apiservicedefinitions: {} + customresourcedefinitions: + owned: + - kind: CertManager + displayName: CertManager + name: certmanagers.operator.cert-manager.io + version: v1alpha1 + description: 'Represents the cert-manager installation' + description: 'x509 certificate management for Kubernetes' + displayName: cert-manager + icon: + - base64data: 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 + mediatype: image/png + install: + spec: + clusterPermissions: + - serviceAccountName: cert-manager-operator + rules: + - apiGroups: + - '*' + resources: + - '*' + verbs: + - '*' + deployments: + - name: cert-manager-operator + spec: + replicas: 1 + selector: + matchLabels: + app: cert-manager-operator + template: + metadata: + labels: + app: cert-manager-operator + spec: + serviceAccountName: cert-manager-operator + containers: + - name: cert-manager-operator + image: registry.connect.redhat.com/jetstack/cert-manager-operator:v0.15.0-alpha.0 + env: + - name: POD_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: OPERATOR_NAME + value: "cert-manager-operator" + strategy: deployment + installModes: + - supported: false + type: OwnNamespace + - supported: false + type: SingleNamespace + - supported: false + type: MultiNamespace + - supported: true + type: AllNamespaces + keywords: + - TLS + - secrets + - security + - certificates + links: + - name: repository + url: https://github.com/jetstack/cert-manager + - name: conatinerImage + url: https://quay.io/jetstack/cert-manager:latest + maintainers: + - email: cert-manager-maintainers@jetstack.io + name: cert-manager team + maturity: alpha + provider: + name: Jetstack + version: 0.15.0-alpha.0 diff --git a/bundle/cert-manager-operator/0.15.0-alpha.0/certmanagers.operator.cert-manager.io.crd.yaml b/bundle/cert-manager-operator/0.15.0-alpha.0/certmanagers.operator.cert-manager.io.crd.yaml new file mode 100644 index 0000000..3edf23c --- /dev/null +++ b/bundle/cert-manager-operator/0.15.0-alpha.0/certmanagers.operator.cert-manager.io.crd.yaml @@ -0,0 +1,23 @@ +apiVersion: apiextensions.k8s.io/v1beta1 +kind: CustomResourceDefinition +metadata: + name: certmanagers.operator.cert-manager.io +spec: + group: operator.cert-manager.io + names: + kind: CertManager + listKind: CertManagerList + plural: certmanagers + singular: certmanager + scope: Namespaced + subresources: + status: {} + validation: + openAPIV3Schema: + type: object + x-kubernetes-preserve-unknown-fields: true + version: v1alpha1 + versions: + - name: v1alpha1 + served: true + storage: true diff --git a/bundle/cert-manager-operator/cert-manager-operator.package.yaml b/bundle/cert-manager-operator/cert-manager-operator.package.yaml new file mode 100644 index 0000000..3c18885 --- /dev/null +++ b/bundle/cert-manager-operator/cert-manager-operator.package.yaml @@ -0,0 +1,5 @@ +packageName: cert-manager-operator +channels: +- name: alpha + currentCSV: cert-manager-operator.v0.15.0-alpha.0 +defaultChannel: alpha diff --git a/ubi-images/Dockerfile.acmesolver b/ubi-images/Dockerfile.acmesolver new file mode 100644 index 0000000..69e73eb --- /dev/null +++ b/ubi-images/Dockerfile.acmesolver @@ -0,0 +1,31 @@ +# Copyright 2020 The Jetstack cert-manager contributors. +# +# 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. + +FROM quay.io/jetstack/cert-manager-acmesolver:v0.15.0-alpha.0 as source +FROM registry.access.redhat.com/ubi8/ubi-minimal + +COPY --from=source /app /app +# Required Licenses +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSE /licenses/LICENSE +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSES /licenses/LICENSES + +### Required OpenShift Labels +LABEL name="cert-manager acmesolver" \ + vendor="Jetstack" \ + version="v0.15.0-alpha.1" \ + release="1" \ + summary="This is the cert-manager ACME HTTP01 solver image." \ + description="This image contains the resolve for ACME HTTP01 challenges." + +CMD "/app/cmd/acmesolver/acmesolver" \ No newline at end of file diff --git a/ubi-images/Dockerfile.cainjector b/ubi-images/Dockerfile.cainjector new file mode 100644 index 0000000..961851f --- /dev/null +++ b/ubi-images/Dockerfile.cainjector @@ -0,0 +1,32 @@ +# Copyright 2020 The Jetstack cert-manager contributors. +# +# 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. + +FROM quay.io/jetstack/cert-manager-cainjector:v0.15.0-alpha.0 as source +FROM registry.access.redhat.com/ubi8/ubi-minimal + +COPY --from=source /app /app +# Required Licenses +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSE /licenses/LICENSE +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSES /licenses/LICENSES + +### Required OpenShift Labels +LABEL name="cert-manager cainjector" \ + vendor="Jetstack" \ + version="v0.15.0-alpha.0" \ + release="1" \ + summary="This is the cert-manager cainjector." \ + description="This image contains the cert-manager cainjector." + + +CMD "/app/cmd/cainjector/cainjector" \ No newline at end of file diff --git a/ubi-images/Dockerfile.controller b/ubi-images/Dockerfile.controller new file mode 100644 index 0000000..7c3b9f5 --- /dev/null +++ b/ubi-images/Dockerfile.controller @@ -0,0 +1,31 @@ +# Copyright 2020 The Jetstack cert-manager contributors. +# +# 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. + +FROM quay.io/jetstack/cert-manager-controller:v0.15.0-alpha.0 as source +FROM registry.access.redhat.com/ubi8/ubi-minimal + +COPY --from=source /app /app +# Required Licenses +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSE /licenses/LICENSE +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSES /licenses/LICENSES + +### Required OpenShift Labels +LABEL name="cert-manager controller" \ + vendor="Jetstack" \ + version="v0.15.0-alpha.0" \ + release="1" \ + summary="This is the cert-manager controller image." \ + description="This image contains the main cert-manager controller." + +CMD "/app/cmd/controller/controller" \ No newline at end of file diff --git a/ubi-images/Dockerfile.webhook b/ubi-images/Dockerfile.webhook new file mode 100644 index 0000000..31d9805 --- /dev/null +++ b/ubi-images/Dockerfile.webhook @@ -0,0 +1,31 @@ +# Copyright 2020 The Jetstack cert-manager contributors. +# +# 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. + +FROM quay.io/jetstack/cert-manager-webhook:v0.15.0-alpha.0 as source +FROM registry.access.redhat.com/ubi8/ubi-minimal + +COPY --from=source /app /app +# Required Licenses +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSE /licenses/LICENSE +ADD https://raw.githubusercontent.com/jetstack/cert-manager/v0.15.0-alpha.0/LICENSES /licenses/LICENSES + +### Required OpenShift Labels +LABEL name="cert-manager webhook" \ + vendor="Jetstack" \ + version="v0.15.0-alpha.0" \ + release="1" \ + summary="This is the cert-manager webhook image." \ + description="This image contains the webhook server for cert-manager." + +CMD "/app/cmd/webhook/webhook" \ No newline at end of file diff --git a/watches.yaml b/watches.yaml new file mode 100644 index 0000000..aa784e1 --- /dev/null +++ b/watches.yaml @@ -0,0 +1,14 @@ +--- +- version: v1alpha1 + group: operator.cert-manager.io + kind: CertManager + chart: helm-charts/cert-manager + overrideValues: + image.repository: registry.connect.redhat.com/jetstack/cert-manager-controller + image.tag: v0.15.0-alpha.0-ubi + webhook.image.repository: registry.connect.redhat.com/jetstack/cert-manager-webhook + webhook.image.tag: v0.15.0-alpha.0-ubi + cainjector.image.repository: registry.connect.redhat.com/jetstack/cert-manager-cainjector + cainjector.image.tag: v0.15.0-alpha.0-ubi + installCRDs: true + extraArgs[0]: --acme-http01-solver-image=registry.connect.redhat.com/jetstack/cert-manager-acmesolver:v0.15.0-alpha.0-ubi \ No newline at end of file