
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.3.0
  name: logcollectors.operator.tigera.io
spec:
  group: operator.tigera.io
  names:
    kind: LogCollector
    listKind: LogCollectorList
    plural: logcollectors
    singular: logcollector
  scope: Cluster
  versions:
  - name: v1
    schema:
      openAPIV3Schema:
        description: LogCollector installs the components required for Tigera flow
          and DNS log collection. At most one instance of this resource is supported.
          It must be named "tigera-secure". When created, this installs fluentd on
          all nodes configured to collect Tigera log data and export it to Tigera's
          Elasticsearch cluster as well as any additionally configured destinations.
        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: Specification of the desired state for Tigera log collection.
            properties:
              additionalSources:
                description: Configuration for importing audit logs from managed kubernetes
                  cluster log sources.
                properties:
                  eksCloudwatchLog:
                    description: If specified with EKS Provider in Installation, enables
                      fetching EKS audit logs.
                    properties:
                      fetchInterval:
                        description: 'Cloudwatch audit logs fetching interval in seconds.
                          Default: 60'
                        format: int32
                        type: integer
                      groupName:
                        description: Cloudwatch log-group name containing EKS audit
                          logs.
                        type: string
                      region:
                        description: AWS Region EKS cluster is hosted in.
                        type: string
                      streamPrefix:
                        description: 'Prefix of Cloudwatch log stream containing EKS
                          audit logs in the log-group. Default: kube-apiserver-audit-'
                        type: string
                    required:
                    - groupName
                    - region
                    type: object
                type: object
              additionalStores:
                description: Configuration for exporting flow, audit, and DNS logs
                  to external storage.
                properties:
                  s3:
                    description: If specified, enables exporting of flow, audit, and
                      DNS logs to Amazon S3 storage.
                    properties:
                      bucketName:
                        description: Name of the S3 bucket to send logs
                        type: string
                      bucketPath:
                        description: Path in the S3 bucket where to send logs
                        type: string
                      region:
                        description: AWS Region of the S3 bucket
                        type: string
                    required:
                    - bucketName
                    - bucketPath
                    - region
                    type: object
                  splunk:
                    description: If specified, enables exporting of flow, audit, and
                      DNS logs to splunk.
                    properties:
                      endpoint:
                        description: Location for splunk's http event collector end
                          point. example `https://1.2.3.4:8088`
                        type: string
                    required:
                    - endpoint
                    type: object
                  syslog:
                    description: If specified, enables exporting of flow, audit, and
                      DNS logs to syslog.
                    properties:
                      endpoint:
                        description: 'Location of the syslog server. example: tcp://1.2.3.4:601'
                        type: string
                      logTypes:
                        description: LogTypes contains a list of types of logs to
                          export to syslog. By default, if this field is omitted,
                          it will be set to include all possible values.
                        items:
                          description: SyslogLogType represents the allowable log
                            types for syslog. Allowable values are Audit, DNS, Flows
                            and IDSEvents. * Audit corresponds to audit logs for both
                            Kubernetes resources and Enterprise custom resources.
                            * DNS corresponds to DNS logs generated by Calico node.
                            * Flows corresponds to flow logs generated by Calico node.
                            * IDSEvents corresponds to event logs for the intrusion
                            detection system (anomaly detection, suspicious IPs, suspicious
                            domains and global alerts).
                          enum:
                          - Audit
                          - DNS
                          - Flows
                          - IDSEvents
                          type: string
                        type: array
                      packetSize:
                        description: 'PacketSize defines the maximum size of packets
                          to send to syslog. In general this is only needed if you
                          notice long logs being truncated. Default: 1024'
                        format: int32
                        type: integer
                    required:
                    - endpoint
                    - logTypes
                    type: object
                type: object
              collectProcessPath:
                description: 'Configuration for enabling/disabling process path collection
                  in flowlogs. If Enabled, this feature sets hostPID to true in order
                  to read process cmdline. Default: Enabled'
                enum:
                - Enabled
                - Disabled
                type: string
            type: object
          status:
            description: Most recently observed state for Tigera log collection.
            properties:
              state:
                description: State provides user-readable status.
                type: string
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
