diff --git a/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml b/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml index 5972c7feea..8269016c8e 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml @@ -522,6 +522,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer diff --git a/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml b/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml index e43ba1b89f..caa6dbd7e7 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml @@ -43,6 +43,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -484,6 +692,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -509,6 +731,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password diff --git a/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml b/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml index 7e1f8f1e67..8e6c23aca4 100644 --- a/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml +++ b/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml @@ -111,8 +111,8 @@ metadata: description: The MongoDB Atlas Kubernetes Operator enables easy management of Clusters in MongoDB Atlas operators.operatorframework.io/builder: operator-sdk-v1.15.0+git operators.operatorframework.io/project_layout: go.kubebuilder.io/v2 - containerImage: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 - name: mongodb-atlas-kubernetes.v1.3.0 + containerImage: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 + name: mongodb-atlas-kubernetes.v1.4.0 namespace: placeholder spec: apiservicedefinitions: {} @@ -420,7 +420,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 imagePullPolicy: Always livenessProbe: httpGet: @@ -476,7 +476,7 @@ spec: type: OwnNamespace - supported: true type: SingleNamespace - - supported: false + - supported: true type: MultiNamespace - supported: true type: AllNamespaces @@ -495,5 +495,5 @@ spec: maturity: beta provider: name: MongoDB, Inc - version: 1.3.0 - replaces: mongodb-atlas-kubernetes.v1.2.0 + version: 1.4.0 + replaces: mongodb-atlas-kubernetes.v1.3.0 diff --git a/deploy/all-in-one.yaml b/deploy/all-in-one.yaml index ee82b21d53..b6bb367784 100644 --- a/deploy/all-in-one.yaml +++ b/deploy/all-in-one.yaml @@ -990,6 +990,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer @@ -1314,6 +1316,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -1755,6 +1965,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -1780,6 +2004,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password @@ -2283,7 +2781,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/clusterwide/clusterwide-config.yaml b/deploy/clusterwide/clusterwide-config.yaml index 8894b8f73a..126457514a 100644 --- a/deploy/clusterwide/clusterwide-config.yaml +++ b/deploy/clusterwide/clusterwide-config.yaml @@ -256,7 +256,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/clusterwide/crds.yaml b/deploy/clusterwide/crds.yaml index f7584f661b..62913fa095 100644 --- a/deploy/clusterwide/crds.yaml +++ b/deploy/clusterwide/crds.yaml @@ -965,6 +965,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer @@ -1285,6 +1287,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -1726,6 +1936,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -1751,6 +1975,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password diff --git a/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml b/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml index af59bc5e20..31fb412a01 100644 --- a/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml @@ -519,6 +519,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer diff --git a/deploy/crds/atlas.mongodb.com_atlasprojects.yaml b/deploy/crds/atlas.mongodb.com_atlasprojects.yaml index f271898ceb..335f810554 100644 --- a/deploy/crds/atlas.mongodb.com_atlasprojects.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasprojects.yaml @@ -40,6 +40,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -481,6 +689,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -506,6 +728,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password diff --git a/deploy/namespaced/crds.yaml b/deploy/namespaced/crds.yaml index f7584f661b..62913fa095 100644 --- a/deploy/namespaced/crds.yaml +++ b/deploy/namespaced/crds.yaml @@ -965,6 +965,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer @@ -1285,6 +1287,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -1726,6 +1936,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -1751,6 +1975,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password diff --git a/deploy/namespaced/namespaced-config.yaml b/deploy/namespaced/namespaced-config.yaml index cfa97b38e8..de18828c5a 100644 --- a/deploy/namespaced/namespaced-config.yaml +++ b/deploy/namespaced/namespaced-config.yaml @@ -262,7 +262,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/openshift/crds.yaml b/deploy/openshift/crds.yaml index f7584f661b..62913fa095 100644 --- a/deploy/openshift/crds.yaml +++ b/deploy/openshift/crds.yaml @@ -965,6 +965,8 @@ spec: type: string noTableScan: type: boolean + oplogMinRetentionHours: + type: string oplogSizeMB: format: int64 type: integer @@ -1285,6 +1287,214 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + alertConfigurationSyncEnabled: + description: AlertConfigurationSyncEnabled is a flag that enables/disables + Alert Configurations sync for the current Project. If true - project + alert configurations will be synced according to AlertConfigurations. + If not - alert configurations will not be modified by the operator. + They can be managed through API, cli, UI. + type: boolean + alertConfigurations: + description: AlertConfiguration is a list of Alert Configurations + configured for the current Project. + items: + properties: + enabled: + description: If omitted, the configuration is disabled. + type: boolean + eventTypeName: + description: The type of event that will trigger an alert. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + type: object + type: array + auditing: + description: Auditing represents MongoDB Maintenance Windows + properties: + auditAuthorizationSuccess: + description: 'Indicates whether the auditing system captures successful + authentication attempts for audit filters using the "atype" + : "authCheck" auditing event. For more information, see auditAuthorizationSuccess' + type: boolean + auditFilter: + description: JSON-formatted audit filter used by the project + type: string + enabled: + description: Denotes whether or not the project associated with + the {GROUP-ID} has database auditing enabled. + type: boolean + type: object cloudProviderAccessRoles: description: CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. @@ -1726,6 +1936,20 @@ spec: type: string type: object type: array + settings: + description: Settings allow to set Project Settings for the project + properties: + isCollectDatabaseSpecificsStatisticsEnabled: + type: boolean + isDataExplorerEnabled: + type: boolean + isPerformanceAdvisorEnabled: + type: boolean + isRealtimePerformancePanelEnabled: + type: boolean + isSchemaAdvisorEnabled: + type: boolean + type: object withDefaultAlertsSettings: default: true description: Flag that indicates whether to create the new project @@ -1751,6 +1975,280 @@ spec: status: description: AtlasProjectStatus defines the observed state of AtlasProject properties: + alertConfigurations: + description: AlertConfigurations contains a list of alert configuration + statuses + items: + properties: + acknowledgedUntil: + description: The date through which the alert has been acknowledged. + Will not be present if the alert has never been acknowledged. + type: string + acknowledgementComment: + description: The comment left by the user who acknowledged the + alert. Will not be present if the alert has never been acknowledged. + type: string + acknowledgingUsername: + description: The username of the user who acknowledged the alert. + Will not be present if the alert has never been acknowledged. + type: string + alertConfigId: + description: ID of the alert configuration that triggered this + alert. + type: string + clusterId: + description: The ID of the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + clusterName: + description: The name the cluster to which this alert applies. + Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER. + type: string + created: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was created. + type: string + currentValue: + description: CurrentValue represents current value of the metric + that triggered the alert. Only present for alerts of type + HOST_METRIC. + properties: + number: + description: The value of the metric. + type: string + units: + description: The units for the value. Depends on the type + of metric. + type: string + type: object + enabled: + description: If omitted, the configuration is disabled. + type: boolean + errorMessage: + description: ErrorMessage is massage if the alert configuration + is in an incorrect state. + type: string + eventTypeName: + description: The type of event that will trigger an alert. + type: string + groupId: + description: Unique identifier of the project that owns this + alert configuration. + type: string + hostId: + description: ID of the host to which the metric pertains. Only + present for alerts of type HOST, HOST_METRIC, and REPLICA_SET. + type: string + hostnameAndPort: + description: The hostname and port of each host to which the + alert applies. Only present for alerts of type HOST, HOST_METRIC, + and REPLICA_SET. + type: string + id: + description: Unique identifier. + type: string + lastNotified: + description: When the last notification was sent for this alert. + Only present if notifications have been sent. + type: string + matchers: + description: You can filter using the matchers array only when + the EventTypeName specifies an event for a host, replica set, + or sharded cluster. + items: + properties: + fieldName: + description: Name of the field in the target object to + match on. + type: string + operator: + description: The operator to test the field’s value. + type: string + value: + description: Value to test with the specified operator. + type: string + type: object + type: array + metricName: + description: The name of the measurement whose value went outside + the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD. + type: string + metricThreshold: + description: MetricThreshold causes an alert to be triggered. + properties: + metricName: + description: Name of the metric to check. + type: string + mode: + description: This must be set to AVERAGE. Atlas computes + the current metric value as an average. + type: string + operator: + description: Operator to apply when checking the current + metric value against the threshold value. + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value. + type: string + required: + - threshold + type: object + notifications: + description: Notifications are sending when an alert condition + is detected. + items: + properties: + apiToken: + description: Slack API token or Bot token. Populated for + the SLACK notifications type. If the token later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the token. + type: string + channelName: + description: Slack channel name. Populated for the SLACK + notifications type. + type: string + datadogApiKey: + description: Datadog API Key. Found in the Datadog dashboard. + Populated for the DATADOG notifications type. + type: string + datadogRegion: + description: Region that indicates which API URL to use + type: string + delayMin: + description: Number of minutes to wait after an alert + condition is detected before sending out the first notification. + type: integer + emailAddress: + description: Email address to which alert notifications + are sent. Populated for the EMAIL notifications type. + type: string + emailEnabled: + description: Flag indicating if email notifications should + be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + flowName: + description: Flowdock flow namse in lower-case letters. + type: string + flowdockApiToken: + description: The Flowdock personal API token. Populated + for the FLOWDOCK notifications type. If the token later + becomes invalid, Atlas sends an email to the project + owner and eventually removes the token. + type: string + intervalMin: + description: Number of minutes to wait between successive + notifications for unacknowledged alerts that are not + resolved. + type: integer + mobileNumber: + description: Mobile number to which alert notifications + are sent. Populated for the SMS notifications type. + type: string + opsGenieApiKey: + description: Opsgenie API Key. Populated for the OPS_GENIE + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the token. + type: string + opsGenieRegion: + description: Region that indicates which API URL to use. + type: string + orgName: + description: Flowdock organization name in lower-case + letters. This is the name that appears after www.flowdock.com/app/ + in the URL string. Populated for the FLOWDOCK notifications + type. + type: string + roles: + description: The following roles grant privileges within + a project. + items: + type: string + type: array + serviceKey: + description: PagerDuty service key. Populated for the + PAGER_DUTY notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + smsEnabled: + description: Flag indicating if text message notifications + should be sent. Populated for ORG, GROUP, and USER notifications + types. + type: boolean + teamId: + description: Unique identifier of a team. + type: string + teamName: + description: Label for the team that receives this notification. + type: string + typeName: + description: Type of alert notification. + type: string + username: + description: Name of the Atlas user to which to send notifications. + Only a user in the project that owns the alert configuration + is allowed here. Populated for the USER notifications + type. + type: string + victorOpsApiKey: + description: VictorOps API key. Populated for the VICTOR_OPS + notifications type. If the key later becomes invalid, + Atlas sends an email to the project owner and eventually + removes the key. + type: string + victorOpsRoutingKey: + description: VictorOps routing key. Populated for the + VICTOR_OPS notifications type. If the key later becomes + invalid, Atlas sends an email to the project owner and + eventually removes the key. + type: string + type: object + type: array + replicaSetName: + description: Name of the replica set. Only present for alerts + of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET. + type: string + resolved: + description: When the alert was closed. Only present if the + status is CLOSED. + type: string + sourceTypeName: + description: For alerts of the type BACKUP, the type of server + being backed up. + type: string + status: + description: 'The current state of the alert. Possible values + are: TRACKING, OPEN, CLOSED, CANCELED' + type: string + threshold: + description: Threshold causes an alert to be triggered. + properties: + operator: + description: 'Operator to apply when checking the current + metric value against the threshold value. it accepts the + following values: GREATER_THAN, LESS_THAN' + type: string + threshold: + description: Threshold value outside which an alert will + be triggered. + type: string + units: + description: The units for the threshold value + type: string + type: object + updated: + description: Timestamp in ISO 8601 date and time format in UTC + when this alert configuration was last updated. + type: string + type: object + type: array authModes: description: AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password diff --git a/deploy/openshift/openshift.yaml b/deploy/openshift/openshift.yaml index 76b998b2f7..52d411bd8e 100644 --- a/deploy/openshift/openshift.yaml +++ b/deploy/openshift/openshift.yaml @@ -261,7 +261,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.4.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/third_party_licenses.txt b/third_party_licenses.txt index 127aab9946..6ca919b391 100644 --- a/third_party_licenses.txt +++ b/third_party_licenses.txt @@ -1,5 +1,5 @@ ,https://github.com/mongodb/mongodb-atlas-kubernetes/blob/HEAD/LICENSE,Apache-2.0 -cloud.google.com/go/compute/metadata,https://github.com/googleapis/google-cloud-go/blob/compute/v1.7.0/compute/LICENSE,Apache-2.0 +cloud.google.com/go/compute/metadata,https://github.com/googleapis/google-cloud-go/blob/compute/v1.10.0/compute/LICENSE,Apache-2.0 github.com/PuerkitoBio/purell,https://github.com/PuerkitoBio/purell/blob/v1.1.1/LICENSE,BSD-3-Clause github.com/PuerkitoBio/urlesc,https://github.com/PuerkitoBio/urlesc/blob/de5bf2ad4578/LICENSE,BSD-3-Clause github.com/beorn7/perks/quantile,https://github.com/beorn7/perks/blob/v1.0.1/LICENSE,MIT @@ -40,27 +40,27 @@ github.com/prometheus/common,https://github.com/prometheus/common/blob/v0.32.1/L github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg,https://github.com/prometheus/common/blob/v0.32.1/internal/bitbucket.org/ww/goautoneg/README.txt,BSD-3-Clause github.com/prometheus/procfs,https://github.com/prometheus/procfs/blob/v0.7.3/LICENSE,Apache-2.0 github.com/spf13/pflag,https://github.com/spf13/pflag/blob/v1.0.5/LICENSE,BSD-3-Clause -go.mongodb.org/atlas/mongodbatlas,https://github.com/mongodb/go-client-mongodb-atlas/blob/v0.16.0/LICENSE,Apache-2.0 +go.mongodb.org/atlas/mongodbatlas,https://github.com/mongodb/go-client-mongodb-atlas/blob/v0.18.0/LICENSE,Apache-2.0 go.uber.org/atomic,https://github.com/uber-go/atomic/blob/v1.9.0/LICENSE.txt,MIT go.uber.org/multierr,https://github.com/uber-go/multierr/blob/v1.7.0/LICENSE.txt,MIT go.uber.org/zap,https://github.com/uber-go/zap/blob/v1.23.0/LICENSE.txt,MIT -golang.org/x/net,https://cs.opensource.google/go/x/net/+/bea034e7:LICENSE,BSD-3-Clause -golang.org/x/oauth2,https://cs.opensource.google/go/x/oauth2/+/0ebed06d:LICENSE,BSD-3-Clause -golang.org/x/sys,https://cs.opensource.google/go/x/sys/+/3c1f3524:LICENSE,BSD-3-Clause -golang.org/x/term,https://cs.opensource.google/go/x/term/+/03fcf44c:LICENSE,BSD-3-Clause -golang.org/x/text,https://cs.opensource.google/go/x/text/+/v0.3.7:LICENSE,BSD-3-Clause +golang.org/x/net,https://cs.opensource.google/go/x/net/+/v0.1.0:LICENSE,BSD-3-Clause +golang.org/x/oauth2,https://cs.opensource.google/go/x/oauth2/+/6fdb5e3d:LICENSE,BSD-3-Clause +golang.org/x/sys/unix,https://cs.opensource.google/go/x/sys/+/v0.1.0:LICENSE,BSD-3-Clause +golang.org/x/term,https://cs.opensource.google/go/x/term/+/v0.1.0:LICENSE,BSD-3-Clause +golang.org/x/text,https://cs.opensource.google/go/x/text/+/v0.4.0:LICENSE,BSD-3-Clause golang.org/x/time/rate,https://cs.opensource.google/go/x/time/+/579cf78f:LICENSE,BSD-3-Clause gomodules.xyz/jsonpatch/v2,https://github.com/gomodules/jsonpatch/blob/v2.2.0/v2/LICENSE,Apache-2.0 -google.golang.org/protobuf,https://github.com/protocolbuffers/protobuf-go/blob/v1.28.0/LICENSE,BSD-3-Clause +google.golang.org/protobuf,https://github.com/protocolbuffers/protobuf-go/blob/v1.28.1/LICENSE,BSD-3-Clause gopkg.in/inf.v0,https://github.com/go-inf/inf/blob/v0.9.1/LICENSE,BSD-3-Clause gopkg.in/yaml.v2,https://github.com/go-yaml/yaml/blob/v2.4.0/LICENSE,Apache-2.0 gopkg.in/yaml.v3,https://github.com/go-yaml/yaml/blob/v3.0.1/LICENSE,MIT -k8s.io/api,https://github.com/kubernetes/api/blob/v0.25.0/LICENSE,Apache-2.0 +k8s.io/api,https://github.com/kubernetes/api/blob/v0.25.3/LICENSE,Apache-2.0 k8s.io/apiextensions-apiserver/pkg/apis/apiextensions,https://github.com/kubernetes/apiextensions-apiserver/blob/v0.25.0/LICENSE,Apache-2.0 -k8s.io/apimachinery/pkg,https://github.com/kubernetes/apimachinery/blob/v0.25.0/LICENSE,Apache-2.0 -k8s.io/apimachinery/third_party/forked/golang,https://github.com/kubernetes/apimachinery/blob/v0.25.0/third_party/forked/golang/LICENSE,BSD-3-Clause -k8s.io/client-go,https://github.com/kubernetes/client-go/blob/v0.25.0/LICENSE,Apache-2.0 -k8s.io/client-go/third_party/forked/golang/template,https://github.com/kubernetes/client-go/blob/v0.25.0/third_party/forked/golang/LICENSE,BSD-3-Clause +k8s.io/apimachinery/pkg,https://github.com/kubernetes/apimachinery/blob/v0.25.3/LICENSE,Apache-2.0 +k8s.io/apimachinery/third_party/forked/golang,https://github.com/kubernetes/apimachinery/blob/v0.25.3/third_party/forked/golang/LICENSE,BSD-3-Clause +k8s.io/client-go,https://github.com/kubernetes/client-go/blob/v0.25.3/LICENSE,Apache-2.0 +k8s.io/client-go/third_party/forked/golang/template,https://github.com/kubernetes/client-go/blob/v0.25.3/third_party/forked/golang/LICENSE,BSD-3-Clause k8s.io/component-base/config,https://github.com/kubernetes/component-base/blob/v0.25.0/LICENSE,Apache-2.0 k8s.io/klog/v2,https://github.com/kubernetes/klog/blob/v2.70.1/LICENSE,Apache-2.0 k8s.io/kube-openapi/pkg,https://github.com/kubernetes/kube-openapi/blob/67bda5d908f1/LICENSE,Apache-2.0