Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

operator microcks (1.8.0) #3384

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.8.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.8.0
createdAt: 2023-10-16T13:03:45Z
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.8.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.8.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.8.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: [email protected]
provider:
name: Microcks.io
replaces: microcks-operator.v1.7.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.8.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 operators/microcks/1.8.0/manifests/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: {}
7 changes: 7 additions & 0 deletions operators/microcks/1.8.0/metadata/annotations.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
annotations:
operators.operatorframework.io.bundle.channel.default.v1: stable
operators.operatorframework.io.bundle.channels.v1: stable
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: microcks
Loading