UNCLASSIFIED

Commit 64d8d739 authored by Andy Maksymowicz's avatar Andy Maksymowicz
Browse files

Merge branch 'operator-repo-initialpush' into 'development'

Mirror of repo available on open internet.

See merge request !1
parents 8fb6dc63 b3cbc173
Pipeline #250778 failed with stages
in 40 seconds
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-standalone-pod-template
spec:
version: 4.2.2-ent
type: Standalone
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
podSpec:
podTemplate:
spec:
hostAliases:
- ip: "1.2.3.4"
hostnames: ["hostname"]
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-replica-set
spec:
members: 3
version: 4.0.0-ent
service: my-service
# Indicates featureCompatibilityVersion. This attribute will make the data
# format to persist in a particular version, maybe older, allowing for
# future downgrades if necessary.
featureCompatibilityVersion: "3.6"
# Please Note: The default Kubernetes cluster domain is `cluster.local`.
# If your cluster has been configured with another domain, you can specify it
# with the `clusterDomain` attribute.
# clusterDomain: mycompany.net
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
type: ReplicaSet
# log level affects the level of logging for the agent. Use DEBUG cautiously as log file size may grow very quickly
logLevel: WARN
persistent: true
podSpec:
cpu: '0.25'
# note: it's important to always specify memory otherwise wired tiger cache will be calculated incorrectly and
# monitoring tools will report the size of Kubernetes node instead of the real size of the container
memory: 512M
# "multiple" persistence allows to mount different directories to different Persistent Volumes
persistence:
multiple:
data:
storage: 10Gi
journal:
storage: 1Gi
labelSelector:
matchLabels:
app: "my-app"
logs:
storage: 500M
storageClass: standard
# For podAffinity and nodeAffinity see Kubernetes Docs
# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
podAntiAffinityTopologyKey: nodeId
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: security
operator: In
values:
- S1
topologyKey: failure-domain.beta.kubernetes.io/zone
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-sharded-cluster
spec:
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.0-ent
service: my-service
# Indicates featureCompatibilityVersion. This attribute will make the data
# format to persist in a particular version, maybe older, allowing for
# future downgrades if necessary.
featureCompatibilityVersion: "3.6"
# Please Note: The default Kubernetes cluster domain is `cluster.local`.
# If your cluster has been configured with another domain, you can specify it
# with the `clusterDomain` attribute.
# clusterDomain: mycompany.net
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
type: ShardedCluster
persistent: true
configSrvPodSpec:
cpu: '0.5'
# note: it's important to always specify memory otherwise wired tiger cache will be calculated incorrectly and
# monitoring tools will report the size of Kubernetes node instead of the real size of the container
memory: 512M
# if "persistence" element is omitted then Operator uses the default size (5G) for mounting single Persistent Volume
# for config server
# For podAffinity and nodeAffinity see Kubernetes Docs
# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
podAntiAffinityTopologyKey: kubernetes.io/hostname
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: security
operator: In
values:
- S1
topologyKey: failure-domain.beta.kubernetes.io/zone
mongosPodSpec:
cpu: '0.8'
memory: 1G
podAntiAffinityTopologyKey: rackId
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: another-node-label-key
operator: In
values:
- another-node-label-value
shardPodSpec:
cpu: '0.6'
memory: 3G
persistence:
multiple:
# if the child of "multiple" is omitted then the default size will be used.
# 16G for "data", 1G for "journal", 3Gb for "logs"
data:
storage: 20G
logs:
storage: 4G
storageClass: standard
podAntiAffinityTopologyKey: kubernetes.io/hostname
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-standalone
spec:
version: 4.0.0-ent
service: my-service
# Indicates featureCompatibilityVersion. This attribute will make the data
# format to persist in a particular version, maybe older, allowing for
# future downgrades if necessary.
featureCompatibilityVersion: "4.0"
# Please Note: The default Kubernetes cluster domain is `cluster.local`.
# If your cluster has been configured with another domain, you can specify it
# with the `clusterDomain` attribute.
# clusterDomain: mycompany.net
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
type: Standalone
persistent: true
podSpec:
cpu: '0.25'
# note: it's important to always specify memory otherwise wired tiger cache will be calculated incorrectly and
# monitoring tools will report the size of Kubernetes node instead of the real size of the container
memory: 512M
# "single" persistence allows to mount different directories to single Persistent Volume
persistence:
single:
storage: 12G
storageClass: standard
labelSelector:
matchExpressions:
- {key: environment, operator: In, values: [dev]}
# For podAffinity and nodeAffinity see Kubernetes Docs
# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: security
operator: In
values:
- S1
topologyKey: failure-domain.beta.kubernetes.io/zone
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/e2e-az-name
operator: In
values:
- e2e-az1
- e2e-az2
---
apiVersion: v1
kind: ConfigMap
metadata:
name: my-project
data:
projectName: My Ops/Cloud Manager Project
baseUrl: http://my-ops-cloud-manager-url
# Optional parameters
# If orgId is omitted a new organization will be created, with the same name as the Project.
orgId: my-org-id
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-tls-enabled-rs
spec:
type: ReplicaSet
members: 3
version: 4.0.4-ent
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
# look into `replica-set-persistent-volumes.yaml` for an example on how to use
# Kubernetes Persistent Volumes in your MDB deployment.
persistent: false
# This will create a TLS enabled Replica Set, which means that all the traffic
# between members of the Replica Set and clients, will be encrypted using TLS
# certificates. These certificates will be generated on the fly by the operator
# using the Kubernetes CA.
# Please refer to Kubernetes TLS Documentation on how to approve these certs:
#
# https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/
#
security:
tls:
enabled: true
# The default TLS mode is 'requireTLS' but it can be customized using the
# the `additionalMongodConfig` structure. Please find more information here:
# https://docs.mongodb.com/manual/reference/configuration-options/#net.ssl.mode
additionalMongodConfig:
net:
ssl:
mode: "preferSSL"
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-sharded-cluster
spec:
type: ShardedCluster
shardCount: 2
mongodsPerShardCount: 3
mongosCount: 2
configServerCount: 3
version: 4.0.6-ent
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
persistent: false
# This will create a TLS enabled Sharded Cluster, which means that
# all the traffic between Shards and clients will be encrypted using
# TLS certificates. These certificates will be generated on the fly
# by the operator using the Kubernetes CA. Please refer to
# Kubernetes TLS Documentation on how to approve these certs:
#
# https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/
#
security:
tls:
enabled: true
---
apiVersion: mongodb.com/v1
kind: MongoDB
metadata:
name: my-tls-standalone
spec:
version: 4.0.0-ent
opsManager:
configMapRef:
name: my-project
credentials: my-credentials
type: Standalone
persistent: true
# This will create a TLS enabled Standalone which means that the
# traffic will be encrypted using TLS certificates. These
# certificates will be generated on the fly by the operatror using
# the Kubernetes CA.
# Please refer to Kubernetes TLS Documentation on how to approve these certs:
#
# https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/
#
security:
tls:
enabled: true
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment