-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #341 from gthiemonge/octavia-rsyslog
Octavia rsyslog - log offloading support
- Loading branch information
Showing
29 changed files
with
2,115 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,256 @@ | ||
--- | ||
apiVersion: apiextensions.k8s.io/v1 | ||
kind: CustomResourceDefinition | ||
metadata: | ||
annotations: | ||
controller-gen.kubebuilder.io/version: v0.11.1 | ||
creationTimestamp: null | ||
name: octaviarsyslogs.octavia.openstack.org | ||
spec: | ||
group: octavia.openstack.org | ||
names: | ||
kind: OctaviaRsyslog | ||
listKind: OctaviaRsyslogList | ||
plural: octaviarsyslogs | ||
singular: octaviarsyslog | ||
scope: Namespaced | ||
versions: | ||
- additionalPrinterColumns: | ||
- description: NetworkAttachments | ||
jsonPath: .status.networkAttachments | ||
name: NetworkAttachments | ||
type: string | ||
- description: Status | ||
jsonPath: .status.conditions[0].status | ||
name: Status | ||
type: string | ||
- description: Message | ||
jsonPath: .status.conditions[0].message | ||
name: Message | ||
type: string | ||
name: v1beta1 | ||
schema: | ||
openAPIV3Schema: | ||
description: OctaviaRsyslog is the Schema for the octaviaworkers API | ||
properties: | ||
apiVersion: | ||
description: 'APIVersion defines the versioned schema of this representation | ||
of an object. Servers should convert recognized schemas to the latest | ||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' | ||
type: string | ||
kind: | ||
description: 'Kind is a string value representing the REST resource this | ||
object represents. Servers may infer this from the endpoint the client | ||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' | ||
type: string | ||
metadata: | ||
type: object | ||
spec: | ||
description: OctaviaRsyslogSpec defines common state for all Octavia Amphora | ||
Controllers | ||
properties: | ||
adminLogTargets: | ||
description: AdminLogTargets is a list of OctaviaRsyslogTarget, the | ||
admin logs are forwarded to those targets. Use only when forwarding | ||
to an external Rsyslog server. | ||
items: | ||
properties: | ||
host: | ||
type: string | ||
port: | ||
type: integer | ||
protocol: | ||
type: string | ||
required: | ||
- host | ||
- port | ||
- protocol | ||
type: object | ||
type: array | ||
containerImage: | ||
default: quay.io/podified-antelope-centos9/openstack-rsyslog:current-podified | ||
description: ContainerImage - Amphora Controller Container Image URL | ||
type: string | ||
defaultConfigOverwrite: | ||
additionalProperties: | ||
type: string | ||
description: 'ConfigOverwrite - interface to overwrite default config | ||
files like e.g. logging.conf or policy.json. But can also be used | ||
to add additional files. Those get added to the service config dir | ||
in /etc/<service> . TODO: -> implement' | ||
type: object | ||
networkAttachments: | ||
default: | ||
- octavia | ||
description: NetworkAttachments is a list of NetworkAttachment resource | ||
names to expose the services to the given network | ||
items: | ||
type: string | ||
type: array | ||
nodeSelector: | ||
additionalProperties: | ||
type: string | ||
description: NodeSelector to target subset of worker nodes running | ||
this service | ||
type: object | ||
resources: | ||
description: Resources - Compute Resources required by this service | ||
(Limits/Requests). https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ | ||
properties: | ||
claims: | ||
description: "Claims lists the names of resources, defined in | ||
spec.resourceClaims, that are used by this container. \n This | ||
is an alpha field and requires enabling the DynamicResourceAllocation | ||
feature gate. \n This field is immutable. It can only be set | ||
for containers." | ||
items: | ||
description: ResourceClaim references one entry in PodSpec.ResourceClaims. | ||
properties: | ||
name: | ||
description: Name must match the name of one entry in pod.spec.resourceClaims | ||
of the Pod where this field is used. It makes that resource | ||
available inside a container. | ||
type: string | ||
required: | ||
- name | ||
type: object | ||
type: array | ||
x-kubernetes-list-map-keys: | ||
- name | ||
x-kubernetes-list-type: map | ||
limits: | ||
additionalProperties: | ||
anyOf: | ||
- type: integer | ||
- type: string | ||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ | ||
x-kubernetes-int-or-string: true | ||
description: 'Limits describes the maximum amount of compute resources | ||
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' | ||
type: object | ||
requests: | ||
additionalProperties: | ||
anyOf: | ||
- type: integer | ||
- type: string | ||
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ | ||
x-kubernetes-int-or-string: true | ||
description: 'Requests describes the minimum amount of compute | ||
resources required. If Requests is omitted for a container, | ||
it defaults to Limits if that is explicitly specified, otherwise | ||
to an implementation-defined value. Requests cannot exceed Limits. | ||
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' | ||
type: object | ||
type: object | ||
serviceAccount: | ||
description: ServiceAccount - service account name used internally | ||
to provide Octavia services the default SA name | ||
type: string | ||
serviceUser: | ||
default: octavia | ||
description: 'ServiceUser - service user name (TODO: beagles, do we | ||
need this at all)' | ||
type: string | ||
tenantLogTargets: | ||
description: TenantLogTargets is a list of OctaviaRsyslogTarget, the | ||
tenant logs are forwarded to those targets. Use only when forwarding | ||
to an external Rsyslog server. | ||
items: | ||
properties: | ||
host: | ||
type: string | ||
port: | ||
type: integer | ||
protocol: | ||
type: string | ||
required: | ||
- host | ||
- port | ||
- protocol | ||
type: object | ||
type: array | ||
required: | ||
- serviceAccount | ||
type: object | ||
status: | ||
description: OctaviaRsyslogStatus defines the observed state of the Octavia | ||
Amphora Controller | ||
properties: | ||
conditions: | ||
description: Conditions | ||
items: | ||
description: Condition defines an observation of a API resource | ||
operational state. | ||
properties: | ||
lastTransitionTime: | ||
description: Last time the condition transitioned from one status | ||
to another. This should be when the underlying condition changed. | ||
If that is not known, then using the time when the API field | ||
changed is acceptable. | ||
format: date-time | ||
type: string | ||
message: | ||
description: A human readable message indicating details about | ||
the transition. | ||
type: string | ||
reason: | ||
description: The reason for the condition's last transition | ||
in CamelCase. | ||
type: string | ||
severity: | ||
description: Severity provides a classification of Reason code, | ||
so the current situation is immediately understandable and | ||
could act accordingly. It is meant for situations where Status=False | ||
and it should be indicated if it is just informational, warning | ||
(next reconciliation might fix it) or an error (e.g. DB create | ||
issue and no actions to automatically resolve the issue can/should | ||
be done). For conditions where Status=Unknown or Status=True | ||
the Severity should be SeverityNone. | ||
type: string | ||
status: | ||
description: Status of the condition, one of True, False, Unknown. | ||
type: string | ||
type: | ||
description: Type of condition in CamelCase. | ||
type: string | ||
required: | ||
- lastTransitionTime | ||
- status | ||
- type | ||
type: object | ||
type: array | ||
desiredNumberScheduled: | ||
description: DesiredNumberScheduled - total number of the nodes which | ||
should be running Daemon | ||
format: int32 | ||
type: integer | ||
hash: | ||
additionalProperties: | ||
type: string | ||
description: Map of hashes to track e.g. job status | ||
type: object | ||
networkAttachments: | ||
additionalProperties: | ||
items: | ||
type: string | ||
type: array | ||
description: NetworkAttachment status of the deployment pods | ||
type: object | ||
observedGeneration: | ||
description: ObservedGeneration - the most recent generation observed | ||
for this service. If the observed generation is less than the spec | ||
generation, then the controller has not processed the latest changes | ||
injected by the opentack-operator in the top-level CR (e.g. the | ||
ContainerImage) | ||
format: int64 | ||
type: integer | ||
readyCount: | ||
description: ReadyCount of Octavia Amphora Controllers | ||
format: int32 | ||
type: integer | ||
type: object | ||
type: object | ||
served: true | ||
storage: true | ||
subresources: | ||
status: {} |
Oops, something went wrong.