Skip to content

Commit

Permalink
chore: #113 Prepare OLM deployment files
Browse files Browse the repository at this point in the history
Signed-off-by: Laurent Broudoux <laurent.broudoux@gmail.com>
  • Loading branch information
lbroudoux committed Mar 13, 2024
1 parent 57e5b5e commit e942b4e
Show file tree
Hide file tree
Showing 3 changed files with 299 additions and 0 deletions.
6 changes: 6 additions & 0 deletions deploy/olm/1.9.0/microcks-operator.package.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
packageName: microcks
channels:
- name: alpha
currentCSV: microcks-operator.v0.3.0
- name: stable
currentCSV: microcks-operator.v1.9.0
271 changes: 271 additions & 0 deletions deploy/olm/1.9.0/microcks-operator.v1.9.0.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,271 @@
apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
metadata:
name: microcks-operator.v1.9.0
namespace: placeholder
annotations:
capabilities: Seamless Upgrades
categories: "Integration & Delivery"
description: "Open Source mocking and testing platform for API and microservices"
certified: "false"
containerImage: quay.io/microcks/microcks-ansible-operator:1.9.0
createdAt: 2024-03-13T14:17:43Z
support: microcks.github.io
repository: https://github.com/microcks/microcks-ansible-operator
alm-examples: |-
[
{
"apiVersion": "microcks.github.io/v1alpha1",
"kind": "MicrocksInstall",
"metadata": {
"name": "my-microcksinstall"
},
"spec": {
"name": "my-microcksinstall",
"version": "1.9.0",
"microcks": {
"replicas": 1
},
"postman": {
"replicas": 1
},
"keycloak": {
"install": true,
"persistent": true,
"volumeSize": "1Gi"
},
"mongodb": {
"install": true,
"persistent": true,
"volumeSize": "2Gi"
}
}
},
{
"apiVersion": "microcks.github.io/v1alpha1",
"kind": "MicrocksInstall",
"metadata": {
"name": "my-microcksinstall-minikube"
},
"spec": {
"name": "my-microcksinstall-minikube",
"version": "1.9.0",
"microcks": {
"replicas": 2,
"url": "microcks.192.168.99.100.nip.io"
},
"postman": {
"replicas": 2
},
"keycloak": {
"install": true,
"persistent": true,
"volumeSize": "1Gi",
"url": "keycloak.192.168.99.100.nip.io"
},
"mongodb": {
"install": true,
"persistent": true,
"volumeSize": "2Gi"
}
}
}
]
spec:
displayName: Microcks Operator
version: 1.9.0
description: >
Microcks is an Open source tool for API and microservices mocking and testing. It provides a platform for referencing, deploying mocks and allow contract-testing of your APIs.
It can also be considered as a Service Virtualization solution because it will allow you to provide fake API or Service implementation before development being actually done.
It supports Async APIs, REST APIs, gRPC, GraphQL and SOAP WebServices. It perfectly integrates into an iterative, contract-first delivery process.
Microcks tries not reinventing the wheel and let you capitalize on already known tools of standards. It supports [AsyncAPI Specifications](https://asyncapi.com),
[OpenAPI Specification](https://www.openapis.org/) `3.x`, [gRPC Protobuf](https://grpc.io/), [GraphQL Schema](https://graphql.org) out-of-the-box and can also relies on popular
tools like [SoapUI](http://www.soapui.com) or [Postman](http://www.getpostman.io) to edit your API request / response samples as well as your test scripts.
### Operator features
* **Create/Destroy**: Easily launch Microcks installations (`MicrocksInstall` custom resource) for your Kubernetes namespace
### MicrocksInstall options
* **keycloak** component can be deployed as part of the install or you can reuse an existing instance. You can reference an existing `Secret` for providing TLS certificates for securing the `Ingress`,
* **mongodb** component can be deployed as part of the install or you can reuse an existing instance, You can reference an existing `Secret` for providing connection credentials,
* **features** component allow to activate optional features like the mocking of AsyncAPIs. In case you turn `features.async.enabled` to `true` and `features.async.kafka.install` to `true`, you must have the [Strimzi Operator](https://operatorhub.io/operator/strimzi-kafka-operator) already installed on your cluster/namespace.
### Documentation
Documentation to the current _master_ branch as well as all releases can be found on our [GitHub](https://github.com/microcks/microcks-ansible-operator).
### License
Microcks is licensed under the [Apache License, Version 2.0](https://github.com/microcks/microcks/blob/master/LICENSE).
keywords: ['mock', 'test', 'API', 'microservice']
maintainers:
- name: lbroudoux
email: laurent.broudoux@gmail.com
provider:
name: Microcks.io
replaces: microcks-operator.v1.8.1
maturity: alpha
labels:
name: microcks-operator
selector:
matchLabels:
name: microcks-operator
links:
- name: Product Page
url: https://microcks.io
- name: Microcks Operator Source Code
url: https://github.com/microcks/microcks-ansible-operator
icon:
- base64data: >-
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
mediatype: image/png
installModes:
- type: OwnNamespace
supported: true
- type: SingleNamespace
supported: true
- type: MultiNamespace
supported: false
- type: AllNamespaces
supported: false
install:
strategy: deployment
spec:
permissions:
- serviceAccountName: microcks-ansible-operator
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- '*'
- apiGroups:
- route.openshift.io
resources:
- routes/custom-host
verbs:
- create
- apiGroups:
- networking.k8s.io
resources:
- ingresses
verbs:
- '*'
- apiGroups:
- monitoring.coreos.com
resources:
- servicemonitors
verbs:
- get
- create
- apiGroups:
- kafka.strimzi.io
resources:
- kafkas
- kafkatopics
verbs:
- '*'
- apiGroups:
- microcks.github.io
resources:
- '*'
verbs:
- '*'
deployments:
- name: microcks-ansible-operator
spec:
replicas: 1
selector:
matchLabels:
name: microcks-ansible-operator
template:
metadata:
labels:
name: microcks-ansible-operator
spec:
serviceAccountName: microcks-ansible-operator
containers:
- name: microcks-ansible-operator
image: quay.io/microcks/microcks-ansible-operator:1.9.0
imagePullPolicy: Always
env:
- name: WATCH_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.annotations['olm.targetNamespaces']
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: OPERATOR_NAME
value: "microcks-ansible-operator"
customresourcedefinitions:
owned:
- name: microcksinstalls.microcks.github.io
version: v1alpha1
kind: MicrocksInstall
displayName: MicrocksInstall
description: Represents a Microcks installation
resources:
- kind: Service
name: ''
version: v1
- kind: Deployment
name: ''
version: v1
- kind: Pod
name: ''
version: v1
- kind: ConfigMap
name: ''
version: v1
- kind: Secret
name: ''
version: v1
- kind: PersistentVolumeClaim
name: ''
version: v1
specDescriptors:
- description: Name of your MicrocksInstall
displayName: Name
path: name
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:label'
- description: Version of Microcks to install
displayName: Version
path: version
x-descriptors:
- 'urn:alm:descriptor:com.tectonic.ui:label'
22 changes: 22 additions & 0 deletions deploy/olm/1.9.0/microcksinstall.crd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: microcksinstalls.microcks.github.io
spec:
group: microcks.github.io
names:
kind: MicrocksInstall
listKind: MicrocksInstallList
plural: microcksinstalls
singular: microcksinstall
scope: Namespaced
versions:
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
subresources:
status: {}

0 comments on commit e942b4e

Please sign in to comment.