Skip to content

Commit 6b7f646

Browse files
Backport owls 91993 (#2976)
* Fluentd sidecar injection Co-authored-by: Ryan Eberhard <[email protected]>
1 parent 2454705 commit 6b7f646

40 files changed

+2091
-211
lines changed

documentation/domains/Domain.json

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,10 @@
368368
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.LocalObjectReference"
369369
}
370370
},
371+
"fluentdSpecification": {
372+
"description": "Automatic fluentd sidecar injection. If specified, the operator will deploy a sidecar container alongside each WebLogic Server instance that runs the fluentd, Optionally, the introspector job pod can be enabled to deploy with the fluentd sidecar container. WebLogic Server instances that are already running when the `fluentdSpecification` field is created or deleted, will not be affected until they are restarted. When any given server is restarted for another reason, such as a change to the `restartVersion`, then the newly created pod will have the fluentd sidecar or not, as appropriate",
373+
"$ref": "#/definitions/FluentdSpecification"
374+
},
371375
"domainUID": {
372376
"pattern": "^[a-z0-9-.]{1,45}$",
373377
"description": "Domain unique identifier. It is recommended that this value be unique to assist in future work to identify related domains in active-passive scenarios across data centers; however, it is only required that this value be unique within the namespace, similarly to the names of Kubernetes resources. This value is distinct and need not match the domain name from the WebLogic domain configuration. Defaults to the value of `metadata.name`.",
@@ -569,6 +573,54 @@
569573
}
570574
}
571575
},
576+
"FluentdSpecification": {
577+
"type": "object",
578+
"properties": {
579+
"image": {
580+
"description": "The Fluentd container image name. Defaults to fluent/fluentd-kubernetes-daemonset:v1.14.5-debian-elasticsearch7-1.1",
581+
"type": "string"
582+
},
583+
"imagePullPolicy": {
584+
"description": "The image pull policy for the Fluentd sidecar container image. Legal values are Always, Never, and IfNotPresent. Defaults to Always if image ends in :latest; IfNotPresent, otherwise.",
585+
"type": "string",
586+
"enum": [
587+
"Always",
588+
"Never",
589+
"IfNotPresent"
590+
]
591+
},
592+
"fluentdConfiguration": {
593+
"description": "The fluentd configuration text, specify your own custom fluentd configuration.",
594+
"type": "string"
595+
},
596+
"elasticSearchCredentials": {
597+
"description": "Fluentd elastic search credentials. A Kubernetes secret in the same namespace of the domain. It must contains 4 keys: elasticsearchhost - ElasticSearch Host Service Address, elasticsearchport - Elastic Search Service Port, elasticsearchuser - Elastic Search Service User Name, elasticsearchpassword - Elastic Search User Password",
598+
"type": "string"
599+
},
600+
"resources": {
601+
"description": "Memory and CPU minimum requirements and limits for the fluentd container. See `kubectl explain pods.spec.containers.resources`.",
602+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements"
603+
},
604+
"watchIntrospectorLogs": {
605+
"description": "Fluentd will watch introspector logs",
606+
"type": "boolean"
607+
},
608+
"env": {
609+
"description": "A list of environment variables to set in the fluentd container. See `kubectl explain pods.spec.containers.env`.",
610+
"type": "array",
611+
"items": {
612+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.EnvVar"
613+
}
614+
},
615+
"volumeMounts": {
616+
"description": "Volume mounts for fluentd container",
617+
"type": "array",
618+
"items": {
619+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.VolumeMount"
620+
}
621+
}
622+
}
623+
},
572624
"Istio": {
573625
"type": "object",
574626
"properties": {

documentation/domains/Domain.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ The specification of the operation of the WebLogic domain. Required.
2626
| `domainHomeInImage` | Boolean | Deprecated. Use `domainHomeSourceType` instead. Ignored if `domainHomeSourceType` is specified. True indicates that the domain home file system is present in the container image specified by the image field. False indicates that the domain home file system is located on a persistent volume. Defaults to unset. |
2727
| `domainHomeSourceType` | string | Domain home file system source type: Legal values: Image, PersistentVolume, FromModel. Image indicates that the domain home file system is present in the container image specified by the `image` field. PersistentVolume indicates that the domain home file system is located on a persistent volume. FromModel indicates that the domain home file system will be created and managed by the operator based on a WDT domain model. If this field is specified, it overrides the value of `domainHomeInImage`. If both fields are unspecified, then `domainHomeSourceType` defaults to Image. |
2828
| `domainUID` | string | Domain unique identifier. It is recommended that this value be unique to assist in future work to identify related domains in active-passive scenarios across data centers; however, it is only required that this value be unique within the namespace, similarly to the names of Kubernetes resources. This value is distinct and need not match the domain name from the WebLogic domain configuration. Defaults to the value of `metadata.name`. |
29+
| `fluentdSpecification` | [Fluentd Specification](#fluentd-specification) | Automatic fluentd sidecar injection. If specified, the operator will deploy a sidecar container alongside each WebLogic Server instance that runs the fluentd, Optionally, the introspector job pod can be enabled to deploy with the fluentd sidecar container. WebLogic Server instances that are already running when the `fluentdSpecification` field is created or deleted, will not be affected until they are restarted. When any given server is restarted for another reason, such as a change to the `restartVersion`, then the newly created pod will have the fluentd sidecar or not, as appropriate |
2930
| `httpAccessLogInLogHome` | Boolean | Specifies whether the server HTTP access log files will be written to the same directory specified in `logHome`. Otherwise, server HTTP access log files will be written to the directory configured in the WebLogic domain configuration. Defaults to true. |
3031
| `image` | string | The WebLogic Server image; required when `domainHomeSourceType` is Image or FromModel; otherwise, defaults to container-registry.oracle.com/middleware/weblogic:12.2.1.4. |
3132
| `imagePullPolicy` | string | The image pull policy for the WebLogic Server image. Legal values are Always, Never, and IfNotPresent. Defaults to Always if image ends in :latest; IfNotPresent, otherwise. |
@@ -113,6 +114,19 @@ The current status of the operation of the WebLogic domain. Updated automaticall
113114
| `overridesConfigMap` | string | The name of the ConfigMap for WebLogic configuration overrides. If this field is specified, then the value of `spec.configOverrides` is ignored. |
114115
| `secrets` | Array of string | A list of names of the Secrets for WebLogic configuration overrides or model. If this field is specified, then the value of `spec.configOverrideSecrets` is ignored. |
115116

117+
### Fluentd Specification
118+
119+
| Name | Type | Description |
120+
| --- | --- | --- |
121+
| `elasticSearchCredentials` | string | Fluentd elastic search credentials. A Kubernetes secret in the same namespace of the domain. It must contains 4 keys: elasticsearchhost - ElasticSearch Host Service Address, elasticsearchport - Elastic Search Service Port, elasticsearchuser - Elastic Search Service User Name, elasticsearchpassword - Elastic Search User Password |
122+
| `env` | Array of [Env Var](k8s1.13.5.md#env-var) | A list of environment variables to set in the fluentd container. See `kubectl explain pods.spec.containers.env`. |
123+
| `fluentdConfiguration` | string | The fluentd configuration text, specify your own custom fluentd configuration. |
124+
| `image` | string | The Fluentd container image name. Defaults to fluent/fluentd-kubernetes-daemonset:v1.14.5-debian-elasticsearch7-1.1 |
125+
| `imagePullPolicy` | string | The image pull policy for the Fluentd sidecar container image. Legal values are Always, Never, and IfNotPresent. Defaults to Always if image ends in :latest; IfNotPresent, otherwise. |
126+
| `resources` | [Resource Requirements](k8s1.13.5.md#resource-requirements) | Memory and CPU minimum requirements and limits for the fluentd container. See `kubectl explain pods.spec.containers.resources`. |
127+
| `volumeMounts` | Array of [Volume Mount](k8s1.13.5.md#volume-mount) | Volume mounts for fluentd container |
128+
| `watchIntrospectorLogs` | Boolean | Fluentd will watch introspector logs |
129+
116130
### Managed Server
117131

118132
| Name | Type | Description |

documentation/domains/index.html

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1289,6 +1289,10 @@
12891289
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.LocalObjectReference"
12901290
}
12911291
},
1292+
"fluentdSpecification": {
1293+
"description": "Automatic fluentd sidecar injection. If specified, the operator will deploy a sidecar container alongside each WebLogic Server instance that runs the fluentd, Optionally, the introspector job pod can be enabled to deploy with the fluentd sidecar container. WebLogic Server instances that are already running when the `fluentdSpecification` field is created or deleted, will not be affected until they are restarted. When any given server is restarted for another reason, such as a change to the `restartVersion`, then the newly created pod will have the fluentd sidecar or not, as appropriate",
1294+
"$ref": "#/definitions/FluentdSpecification"
1295+
},
12921296
"domainUID": {
12931297
"pattern": "^[a-z0-9-.]{1,45}$",
12941298
"description": "Domain unique identifier. It is recommended that this value be unique to assist in future work to identify related domains in active-passive scenarios across data centers; however, it is only required that this value be unique within the namespace, similarly to the names of Kubernetes resources. This value is distinct and need not match the domain name from the WebLogic domain configuration. Defaults to the value of `metadata.name`.",
@@ -1490,6 +1494,54 @@
14901494
}
14911495
}
14921496
},
1497+
"FluentdSpecification": {
1498+
"type": "object",
1499+
"properties": {
1500+
"image": {
1501+
"description": "The Fluentd container image name. Defaults to fluent/fluentd-kubernetes-daemonset:v1.14.5-debian-elasticsearch7-1.1",
1502+
"type": "string"
1503+
},
1504+
"imagePullPolicy": {
1505+
"description": "The image pull policy for the Fluentd sidecar container image. Legal values are Always, Never, and IfNotPresent. Defaults to Always if image ends in :latest; IfNotPresent, otherwise.",
1506+
"type": "string",
1507+
"enum": [
1508+
"Always",
1509+
"Never",
1510+
"IfNotPresent"
1511+
]
1512+
},
1513+
"fluentdConfiguration": {
1514+
"description": "The fluentd configuration text, specify your own custom fluentd configuration.",
1515+
"type": "string"
1516+
},
1517+
"elasticSearchCredentials": {
1518+
"description": "Fluentd elastic search credentials. A Kubernetes secret in the same namespace of the domain. It must contains 4 keys: elasticsearchhost - ElasticSearch Host Service Address, elasticsearchport - Elastic Search Service Port, elasticsearchuser - Elastic Search Service User Name, elasticsearchpassword - Elastic Search User Password",
1519+
"type": "string"
1520+
},
1521+
"resources": {
1522+
"description": "Memory and CPU minimum requirements and limits for the fluentd container. See `kubectl explain pods.spec.containers.resources`.",
1523+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.ResourceRequirements"
1524+
},
1525+
"watchIntrospectorLogs": {
1526+
"description": "Fluentd will watch introspector logs",
1527+
"type": "boolean"
1528+
},
1529+
"env": {
1530+
"description": "A list of environment variables to set in the fluentd container. See `kubectl explain pods.spec.containers.env`.",
1531+
"type": "array",
1532+
"items": {
1533+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.EnvVar"
1534+
}
1535+
},
1536+
"volumeMounts": {
1537+
"description": "Volume mounts for fluentd container",
1538+
"type": "array",
1539+
"items": {
1540+
"$ref": "https://github.com/garethr/kubernetes-json-schema/blob/master/v1.13.5/_definitions.json#/definitions/io.k8s.api.core.v1.VolumeMount"
1541+
}
1542+
}
1543+
}
1544+
},
14931545
"Istio": {
14941546
"type": "object",
14951547
"properties": {

0 commit comments

Comments
 (0)