Skip to content
This repository has been archived by the owner on Dec 12, 2024. It is now read-only.

cert-manager helm operator that can be installed via OLM using original helm chart jetstack/cert-manager

License

Notifications You must be signed in to change notification settings

3scale-ops/cert-manager-helm-operator

Repository files navigation

Cert Manager Helm Operator

test build release license

A Kubernetes Operator based on the Operator SDK (Helm version) to configure official cert-manager operator helm chart, so it can be installed via OLM without having to do any change on current Helm Charts.

The usual Helm Chart file values.yaml, like:

prometheus:
  enabled: true
  servicemonitor:
    enabled: true
    targetPort: 9402
    path: /metrics
    interval: 30s
podDnsConfig:
  nameservers:
    - 1.1.1.1
    - 8.8.8.8
resources:
   requests:
     cpu: 10m
     memory: 96Mi
   limits:
     cpu: 100m
     memory: 256Mi

Need to be encapsulated into a new custom resource called OperatorConfig:

apiVersion: operatorconfigs.operator.cert-manager.io/v1alpha1
kind: OperatorConfig
metadata:
  name: cluster
spec:
  prometheus:
    enabled: true
    servicemonitor:
      enabled: true
      targetPort: 9402
      path: /metrics
      interval: 30s
  podDnsConfig:
    nameservers:
      - 1.1.1.1
      - 8.8.8.8
  resources:
   requests:
     cpu: 10m
     memory: 96Mi
   limits:
     cpu: 100m
     memory: 256Mi

So the operator will create all helm chart resources, using the custom resource name as a prefix for all resources names.

Quick release

You can easily generate the operator for any particular version of the Cert Manager Helm Chart using the container-build target with a specific VERSION.

  • Command
$ VERSION=1.8.0 make container-build
jetstack/cert-manager@1.8.0 downloaded to /home/rael/gh/3scale-ops/cert-manager-helm-operator/helm-charts
docker build -t quay.io/3scale/cert-manager-helm-operator:v1.8.0 .
Sending build context to Docker daemon  321.4MB
Step 1/5 : FROM quay.io/operator-framework/helm-operator:v1.17.0
 ---> b9a34ccc1cc0
Step 2/5 : ENV HOME=/opt/helm
 ---> Using cache
 ---> 28eeebb8f2d5
Step 3/5 : COPY watches.yaml ${HOME}/watches.yaml
 ---> Using cache
 ---> 8ccd06f07a70
Step 4/5 : COPY helm-charts  ${HOME}/helm-charts
 ---> Using cache
 ---> db4111523af7
Step 5/5 : WORKDIR ${HOME}
 ---> Using cache
 ---> 73f0ce5f4901
Successfully built 73f0ce5f4901
Successfully tagged quay.io/3scale/cert-manager-helm-operator:v1.8.0
  • Files generated
$ grep version helm-charts/cert-manager/Chart.yaml
version: v1.8.0
$ tree helm-charts/
helm-charts/
├── README.md
└── cert-manager
    ├── Chart.yaml
    ├── README.md
    ├── templates
    │   ├── NOTES.txt
    │   ├── _helpers.tpl
    │   ├── cainjector-deployment.yaml
...
    │   ├── crds.yaml
    │   ├── deployment.yaml
    │   ├── rbac.yaml
    │   ├── service.yaml
...
    │   ├── webhook-service.yaml
    │   ├── webhook-serviceaccount.yaml
    │   └── webhook-validating-webhook.yaml
    └── values.yaml

For more detailed information, check the documentation available.

Documentation

Contributing

You can contribute by:

  • Raising any issues you find using Cert Manager Helm Operator
  • Fixing issues by opening Pull Requests
  • Submitting a patch or opening a PR
  • Improving documentation
  • Talking about Cert Manager Helm Operator

All bugs, tasks or enhancements are tracked as GitHub issues.

License

Cert Manager Helm Operator is under Apache 2.0 license. See the LICENSE file for details.

About

cert-manager helm operator that can be installed via OLM using original helm chart jetstack/cert-manager

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published