diff --git a/bundle/manifests/atlas.mongodb.com_atlasbackuppolicies.yaml b/bundle/manifests/atlas.mongodb.com_atlasbackuppolicies.yaml index 2f89a03aa9..cdb5333110 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasbackuppolicies.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasbackuppolicies.yaml @@ -122,5 +122,5 @@ status: acceptedNames: kind: "" plural: "" - conditions: [] - storedVersions: [] + conditions: null + storedVersions: null diff --git a/bundle/manifests/atlas.mongodb.com_atlasbackupschedules.yaml b/bundle/manifests/atlas.mongodb.com_atlasbackupschedules.yaml index a5c68acdae..9ad46054a3 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasbackupschedules.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasbackupschedules.yaml @@ -121,5 +121,5 @@ status: acceptedNames: kind: "" plural: "" - conditions: [] - storedVersions: [] + conditions: null + storedVersions: null diff --git a/bundle/manifests/atlas.mongodb.com_atlasdatabaseusers.yaml b/bundle/manifests/atlas.mongodb.com_atlasdatabaseusers.yaml index 5dc04464da..3a38e628cf 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasdatabaseusers.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasdatabaseusers.yaml @@ -219,5 +219,5 @@ status: acceptedNames: kind: "" plural: "" - conditions: [] - storedVersions: [] + conditions: null + storedVersions: null diff --git a/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml b/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml index 7970d8d7d5..5972c7feea 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasdeployments.yaml @@ -804,5 +804,5 @@ status: acceptedNames: kind: "" plural: "" - conditions: [] - storedVersions: [] + conditions: null + storedVersions: null diff --git a/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml b/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml index 032bbf4cd7..e43ba1b89f 100644 --- a/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml +++ b/bundle/manifests/atlas.mongodb.com_atlasprojects.yaml @@ -57,7 +57,6 @@ spec: Currently only AWS is supported. type: string required: - - iamAssumedRoleArn - providerName type: object type: array @@ -74,6 +73,8 @@ spec: - name type: object encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers properties: awsKms: description: AwsKms specifies AWS KMS configuration details and @@ -765,5 +766,5 @@ status: acceptedNames: kind: "" plural: "" - conditions: [] - storedVersions: [] + conditions: null + storedVersions: null diff --git a/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml b/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml index 4297d95692..7e1f8f1e67 100644 --- a/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml +++ b/bundle/manifests/mongodb-atlas-kubernetes.clusterserviceversion.yaml @@ -106,13 +106,13 @@ metadata: } } ] - capabilities: Basic Install + capabilities: Full Lifecycle categories: Database 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.2.0 - name: mongodb-atlas-kubernetes.v1.2.0 + containerImage: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 + name: mongodb-atlas-kubernetes.v1.3.0 namespace: placeholder spec: apiservicedefinitions: {} @@ -420,7 +420,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.annotations['olm.targetNamespaces'] - image: mongodb/mongodb-atlas-kubernetes-operator:1.2.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 imagePullPolicy: Always livenessProbe: httpGet: @@ -495,5 +495,5 @@ spec: maturity: beta provider: name: MongoDB, Inc - version: 1.2.0 - replaces: mongodb-atlas-kubernetes.v1.1.0 + version: 1.3.0 + replaces: mongodb-atlas-kubernetes.v1.2.0 diff --git a/deploy/all-in-one.yaml b/deploy/all-in-one.yaml index 1bcdc812c9..ee82b21d53 100644 --- a/deploy/all-in-one.yaml +++ b/deploy/all-in-one.yaml @@ -11,7 +11,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null labels: app.kubernetes.io/component: controller @@ -127,18 +127,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null labels: app.kubernetes.io/component: controller @@ -253,18 +247,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null labels: app.kubernetes.io/component: controller @@ -477,18 +465,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null labels: app.kubernetes.io/component: controller @@ -1286,18 +1268,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null labels: app.kubernetes.io/component: controller @@ -1338,6 +1314,23 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + cloudProviderAccessRoles: + description: CloudProviderAccessRoles is a list of Cloud Provider + Access Roles configured for the current Project. + items: + properties: + iamAssumedRoleArn: + description: IamAssumedRoleArn is the ARN of the IAM role that + is assumed by the Atlas cluster. + type: string + providerName: + description: ProviderName is the name of the cloud provider. + Currently only AWS is supported. + type: string + required: + - providerName + type: object + type: array connectionSecretRef: description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas @@ -1350,6 +1343,65 @@ spec: required: - name type: object + encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers + properties: + awsKms: + description: AwsKms specifies AWS KMS configuration details and + whether Encryption at Rest is enabled for an Atlas project. + properties: + accessKeyID: + type: string + customerMasterKeyID: + type: string + enabled: + type: boolean + region: + type: string + roleId: + type: string + secretAccessKey: + type: string + valid: + type: boolean + type: object + azureKeyVault: + description: AzureKeyVault specifies Azure Key Vault configuration + details and whether Encryption at Rest is enabled for an Atlas + project. + properties: + azureEnvironment: + type: string + clientID: + type: string + enabled: + type: boolean + keyIdentifier: + type: string + keyVaultName: + type: string + resourceGroupName: + type: string + secret: + type: string + subscriptionID: + type: string + tenantID: + type: string + type: object + googleCloudKms: + description: GoogleCloudKms specifies GCP KMS configuration details + and whether Encryption at Rest is enabled for an Atlas project. + properties: + enabled: + type: boolean + keyVersionResourceID: + type: string + serviceAccountKey: + type: string + type: object + type: object integrations: description: Integrations is a list of MongoDB Atlas integrations for the project @@ -1562,6 +1614,67 @@ spec: description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. type: string + networkPeers: + description: NetworkPeers is a list of Network Peers configured for + the current Project. + items: + properties: + accepterRegionName: + description: AccepterRegionName is the provider region name + of user's vpc. + type: string + atlasCidrBlock: + description: Atlas CIDR. It needs to be set if ContainerID is + not set. + type: string + awsAccountId: + description: AccountID of the user's vpc. + type: string + azureDirectoryId: + description: AzureDirectoryID is the unique identifier for an + Azure AD directory. + type: string + azureSubscriptionId: + description: AzureSubscriptionID is the unique identifier of + the Azure subscription in which the VNet resides. + type: string + containerId: + description: ID of the network peer container. If not set, operator + will create a new container with ContainerRegion and AtlasCIDRBlock + input. + type: string + containerRegion: + description: ContainerRegion is the provider region name of + Atlas network peer container. If not set, AccepterRegionName + is used. + type: string + gcpProjectId: + description: User GCP Project ID. Its applicable only for GCP. + type: string + networkName: + description: GCP Network Peer Name. Its applicable only for + GCP. + type: string + providerName: + description: ProviderName is the name of the provider. If not + set, it will be set to "AWS". + type: string + resourceGroupName: + description: ResourceGroupName is the name of your Azure resource + group. + type: string + routeTableCidrBlock: + description: User VPC CIDR. + type: string + vnetName: + description: VNetName is name of your Azure VNet. Its applicable + only for Azure. + type: string + vpcId: + description: AWS VPC ID. + type: string + type: object + type: array privateEndpoints: description: PrivateEndpoints is a list of Private Endpoints configured for the current Project. @@ -1675,6 +1788,43 @@ spec: items: type: string type: array + cloudProviderAccessRoles: + description: CloudProviderAccessRoles contains a list of configured + cloud provider access roles. AWS support only + items: + properties: + atlasAWSAccountArn: + type: string + atlasAssumedRoleExternalId: + type: string + authorizedDate: + type: string + createdDate: + type: string + errorMessage: + type: string + featureUsages: + items: + properties: + featureId: + type: string + featureType: + type: string + type: object + type: array + iamAssumedRoleArn: + type: string + providerName: + type: string + roleId: + type: string + status: + type: string + required: + - atlasAssumedRoleExternalId + - providerName + type: object + type: array conditions: description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource @@ -1735,6 +1885,72 @@ spec: id: description: The ID of the Atlas Project type: string + networkPeers: + description: The list of network peers that are configured for current + project + items: + properties: + atlasGcpProjectId: + description: ProjectID of Atlas container. Applicable only for + GCP. It's needed to add network peer connection. + type: string + atlasNetworkName: + description: Atlas Network Name. Applicable only for GCP. It's + needed to add network peer connection. + type: string + connectionId: + description: Unique identifier of the network peer connection. + Applicable only for AWS. + type: string + containerId: + description: ContainerID of Atlas network peer container. + type: string + errorMessage: + description: Error state of the network peer. Applicable only + for GCP. + type: string + errorState: + description: Error state of the network peer. Applicable only + for Azure. + type: string + errorStateName: + description: Error state of the network peer. Applicable only + for AWS. + type: string + gcpProjectId: + description: ProjectID of the user's vpc. Applicable only for + GCP. + type: string + id: + description: Unique identifier for NetworkPeer. + type: string + providerName: + description: Cloud provider for which you want to retrieve a + network peer. + type: string + region: + description: Region for which you want to create the network + peer. It isn't needed for GCP + type: string + status: + description: Status of the network peer. Applicable only for + GCP and Azure. + type: string + statusName: + description: Status of the network peer. Applicable only for + AWS. + type: string + vpc: + description: VPC is general purpose field for storing the name + of the VPC. VPC is vpcID for AWS, user networkName for GCP, + and vnetName for Azure. + type: string + required: + - id + - providerName + - region + type: object + type: array observedGeneration: description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator @@ -1817,12 +2033,6 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: v1 kind: ServiceAccount @@ -2073,7 +2283,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: mongodb/mongodb-atlas-kubernetes-operator:1.2.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/clusterwide/clusterwide-config.yaml b/deploy/clusterwide/clusterwide-config.yaml index 852dc7842a..8894b8f73a 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.2.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/clusterwide/crds.yaml b/deploy/clusterwide/crds.yaml index cb80fd2cfe..f7584f661b 100644 --- a/deploy/clusterwide/crds.yaml +++ b/deploy/clusterwide/crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackuppolicies.atlas.mongodb.com spec: @@ -114,18 +114,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackupschedules.atlas.mongodb.com spec: @@ -236,18 +230,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdatabaseusers.atlas.mongodb.com spec: @@ -456,18 +444,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdeployments.atlas.mongodb.com spec: @@ -1261,18 +1243,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasprojects.atlas.mongodb.com spec: @@ -1309,6 +1285,23 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + cloudProviderAccessRoles: + description: CloudProviderAccessRoles is a list of Cloud Provider + Access Roles configured for the current Project. + items: + properties: + iamAssumedRoleArn: + description: IamAssumedRoleArn is the ARN of the IAM role that + is assumed by the Atlas cluster. + type: string + providerName: + description: ProviderName is the name of the cloud provider. + Currently only AWS is supported. + type: string + required: + - providerName + type: object + type: array connectionSecretRef: description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas @@ -1321,6 +1314,65 @@ spec: required: - name type: object + encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers + properties: + awsKms: + description: AwsKms specifies AWS KMS configuration details and + whether Encryption at Rest is enabled for an Atlas project. + properties: + accessKeyID: + type: string + customerMasterKeyID: + type: string + enabled: + type: boolean + region: + type: string + roleId: + type: string + secretAccessKey: + type: string + valid: + type: boolean + type: object + azureKeyVault: + description: AzureKeyVault specifies Azure Key Vault configuration + details and whether Encryption at Rest is enabled for an Atlas + project. + properties: + azureEnvironment: + type: string + clientID: + type: string + enabled: + type: boolean + keyIdentifier: + type: string + keyVaultName: + type: string + resourceGroupName: + type: string + secret: + type: string + subscriptionID: + type: string + tenantID: + type: string + type: object + googleCloudKms: + description: GoogleCloudKms specifies GCP KMS configuration details + and whether Encryption at Rest is enabled for an Atlas project. + properties: + enabled: + type: boolean + keyVersionResourceID: + type: string + serviceAccountKey: + type: string + type: object + type: object integrations: description: Integrations is a list of MongoDB Atlas integrations for the project @@ -1533,6 +1585,67 @@ spec: description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. type: string + networkPeers: + description: NetworkPeers is a list of Network Peers configured for + the current Project. + items: + properties: + accepterRegionName: + description: AccepterRegionName is the provider region name + of user's vpc. + type: string + atlasCidrBlock: + description: Atlas CIDR. It needs to be set if ContainerID is + not set. + type: string + awsAccountId: + description: AccountID of the user's vpc. + type: string + azureDirectoryId: + description: AzureDirectoryID is the unique identifier for an + Azure AD directory. + type: string + azureSubscriptionId: + description: AzureSubscriptionID is the unique identifier of + the Azure subscription in which the VNet resides. + type: string + containerId: + description: ID of the network peer container. If not set, operator + will create a new container with ContainerRegion and AtlasCIDRBlock + input. + type: string + containerRegion: + description: ContainerRegion is the provider region name of + Atlas network peer container. If not set, AccepterRegionName + is used. + type: string + gcpProjectId: + description: User GCP Project ID. Its applicable only for GCP. + type: string + networkName: + description: GCP Network Peer Name. Its applicable only for + GCP. + type: string + providerName: + description: ProviderName is the name of the provider. If not + set, it will be set to "AWS". + type: string + resourceGroupName: + description: ResourceGroupName is the name of your Azure resource + group. + type: string + routeTableCidrBlock: + description: User VPC CIDR. + type: string + vnetName: + description: VNetName is name of your Azure VNet. Its applicable + only for Azure. + type: string + vpcId: + description: AWS VPC ID. + type: string + type: object + type: array privateEndpoints: description: PrivateEndpoints is a list of Private Endpoints configured for the current Project. @@ -1646,6 +1759,43 @@ spec: items: type: string type: array + cloudProviderAccessRoles: + description: CloudProviderAccessRoles contains a list of configured + cloud provider access roles. AWS support only + items: + properties: + atlasAWSAccountArn: + type: string + atlasAssumedRoleExternalId: + type: string + authorizedDate: + type: string + createdDate: + type: string + errorMessage: + type: string + featureUsages: + items: + properties: + featureId: + type: string + featureType: + type: string + type: object + type: array + iamAssumedRoleArn: + type: string + providerName: + type: string + roleId: + type: string + status: + type: string + required: + - atlasAssumedRoleExternalId + - providerName + type: object + type: array conditions: description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource @@ -1706,6 +1856,72 @@ spec: id: description: The ID of the Atlas Project type: string + networkPeers: + description: The list of network peers that are configured for current + project + items: + properties: + atlasGcpProjectId: + description: ProjectID of Atlas container. Applicable only for + GCP. It's needed to add network peer connection. + type: string + atlasNetworkName: + description: Atlas Network Name. Applicable only for GCP. It's + needed to add network peer connection. + type: string + connectionId: + description: Unique identifier of the network peer connection. + Applicable only for AWS. + type: string + containerId: + description: ContainerID of Atlas network peer container. + type: string + errorMessage: + description: Error state of the network peer. Applicable only + for GCP. + type: string + errorState: + description: Error state of the network peer. Applicable only + for Azure. + type: string + errorStateName: + description: Error state of the network peer. Applicable only + for AWS. + type: string + gcpProjectId: + description: ProjectID of the user's vpc. Applicable only for + GCP. + type: string + id: + description: Unique identifier for NetworkPeer. + type: string + providerName: + description: Cloud provider for which you want to retrieve a + network peer. + type: string + region: + description: Region for which you want to create the network + peer. It isn't needed for GCP + type: string + status: + description: Status of the network peer. Applicable only for + GCP and Azure. + type: string + statusName: + description: Status of the network peer. Applicable only for + AWS. + type: string + vpc: + description: VPC is general purpose field for storing the name + of the VPC. VPC is vpcID for AWS, user networkName for GCP, + and vnetName for Azure. + type: string + required: + - id + - providerName + - region + type: object + type: array observedGeneration: description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator @@ -1788,9 +2004,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/crds/atlas.mongodb.com_atlasbackuppolicies.yaml b/deploy/crds/atlas.mongodb.com_atlasbackuppolicies.yaml index ff67432048..2e63a9db10 100644 --- a/deploy/crds/atlas.mongodb.com_atlasbackuppolicies.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasbackuppolicies.yaml @@ -1,10 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackuppolicies.atlas.mongodb.com spec: @@ -116,9 +115,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/crds/atlas.mongodb.com_atlasbackupschedules.yaml b/deploy/crds/atlas.mongodb.com_atlasbackupschedules.yaml index 7ac80e042d..5baca9e869 100644 --- a/deploy/crds/atlas.mongodb.com_atlasbackupschedules.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasbackupschedules.yaml @@ -1,10 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackupschedules.atlas.mongodb.com spec: @@ -115,9 +114,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/crds/atlas.mongodb.com_atlasdatabaseusers.yaml b/deploy/crds/atlas.mongodb.com_atlasdatabaseusers.yaml index acb79df32d..59a81f6aa4 100644 --- a/deploy/crds/atlas.mongodb.com_atlasdatabaseusers.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasdatabaseusers.yaml @@ -1,10 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdatabaseusers.atlas.mongodb.com spec: @@ -213,9 +212,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml b/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml index 88be0cd6fc..af59bc5e20 100644 --- a/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasdeployments.yaml @@ -1,10 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdeployments.atlas.mongodb.com spec: @@ -798,9 +797,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/crds/atlas.mongodb.com_atlasprojects.yaml b/deploy/crds/atlas.mongodb.com_atlasprojects.yaml index dc4d4c3e51..f271898ceb 100644 --- a/deploy/crds/atlas.mongodb.com_atlasprojects.yaml +++ b/deploy/crds/atlas.mongodb.com_atlasprojects.yaml @@ -1,10 +1,9 @@ - --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasprojects.atlas.mongodb.com spec: @@ -41,6 +40,23 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + cloudProviderAccessRoles: + description: CloudProviderAccessRoles is a list of Cloud Provider + Access Roles configured for the current Project. + items: + properties: + iamAssumedRoleArn: + description: IamAssumedRoleArn is the ARN of the IAM role that + is assumed by the Atlas cluster. + type: string + providerName: + description: ProviderName is the name of the cloud provider. + Currently only AWS is supported. + type: string + required: + - providerName + type: object + type: array connectionSecretRef: description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas @@ -53,6 +69,65 @@ spec: required: - name type: object + encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers + properties: + awsKms: + description: AwsKms specifies AWS KMS configuration details and + whether Encryption at Rest is enabled for an Atlas project. + properties: + accessKeyID: + type: string + customerMasterKeyID: + type: string + enabled: + type: boolean + region: + type: string + roleId: + type: string + secretAccessKey: + type: string + valid: + type: boolean + type: object + azureKeyVault: + description: AzureKeyVault specifies Azure Key Vault configuration + details and whether Encryption at Rest is enabled for an Atlas + project. + properties: + azureEnvironment: + type: string + clientID: + type: string + enabled: + type: boolean + keyIdentifier: + type: string + keyVaultName: + type: string + resourceGroupName: + type: string + secret: + type: string + subscriptionID: + type: string + tenantID: + type: string + type: object + googleCloudKms: + description: GoogleCloudKms specifies GCP KMS configuration details + and whether Encryption at Rest is enabled for an Atlas project. + properties: + enabled: + type: boolean + keyVersionResourceID: + type: string + serviceAccountKey: + type: string + type: object + type: object integrations: description: Integrations is a list of MongoDB Atlas integrations for the project @@ -265,6 +340,67 @@ spec: description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. type: string + networkPeers: + description: NetworkPeers is a list of Network Peers configured for + the current Project. + items: + properties: + accepterRegionName: + description: AccepterRegionName is the provider region name + of user's vpc. + type: string + atlasCidrBlock: + description: Atlas CIDR. It needs to be set if ContainerID is + not set. + type: string + awsAccountId: + description: AccountID of the user's vpc. + type: string + azureDirectoryId: + description: AzureDirectoryID is the unique identifier for an + Azure AD directory. + type: string + azureSubscriptionId: + description: AzureSubscriptionID is the unique identifier of + the Azure subscription in which the VNet resides. + type: string + containerId: + description: ID of the network peer container. If not set, operator + will create a new container with ContainerRegion and AtlasCIDRBlock + input. + type: string + containerRegion: + description: ContainerRegion is the provider region name of + Atlas network peer container. If not set, AccepterRegionName + is used. + type: string + gcpProjectId: + description: User GCP Project ID. Its applicable only for GCP. + type: string + networkName: + description: GCP Network Peer Name. Its applicable only for + GCP. + type: string + providerName: + description: ProviderName is the name of the provider. If not + set, it will be set to "AWS". + type: string + resourceGroupName: + description: ResourceGroupName is the name of your Azure resource + group. + type: string + routeTableCidrBlock: + description: User VPC CIDR. + type: string + vnetName: + description: VNetName is name of your Azure VNet. Its applicable + only for Azure. + type: string + vpcId: + description: AWS VPC ID. + type: string + type: object + type: array privateEndpoints: description: PrivateEndpoints is a list of Private Endpoints configured for the current Project. @@ -378,6 +514,43 @@ spec: items: type: string type: array + cloudProviderAccessRoles: + description: CloudProviderAccessRoles contains a list of configured + cloud provider access roles. AWS support only + items: + properties: + atlasAWSAccountArn: + type: string + atlasAssumedRoleExternalId: + type: string + authorizedDate: + type: string + createdDate: + type: string + errorMessage: + type: string + featureUsages: + items: + properties: + featureId: + type: string + featureType: + type: string + type: object + type: array + iamAssumedRoleArn: + type: string + providerName: + type: string + roleId: + type: string + status: + type: string + required: + - atlasAssumedRoleExternalId + - providerName + type: object + type: array conditions: description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource @@ -438,6 +611,72 @@ spec: id: description: The ID of the Atlas Project type: string + networkPeers: + description: The list of network peers that are configured for current + project + items: + properties: + atlasGcpProjectId: + description: ProjectID of Atlas container. Applicable only for + GCP. It's needed to add network peer connection. + type: string + atlasNetworkName: + description: Atlas Network Name. Applicable only for GCP. It's + needed to add network peer connection. + type: string + connectionId: + description: Unique identifier of the network peer connection. + Applicable only for AWS. + type: string + containerId: + description: ContainerID of Atlas network peer container. + type: string + errorMessage: + description: Error state of the network peer. Applicable only + for GCP. + type: string + errorState: + description: Error state of the network peer. Applicable only + for Azure. + type: string + errorStateName: + description: Error state of the network peer. Applicable only + for AWS. + type: string + gcpProjectId: + description: ProjectID of the user's vpc. Applicable only for + GCP. + type: string + id: + description: Unique identifier for NetworkPeer. + type: string + providerName: + description: Cloud provider for which you want to retrieve a + network peer. + type: string + region: + description: Region for which you want to create the network + peer. It isn't needed for GCP + type: string + status: + description: Status of the network peer. Applicable only for + GCP and Azure. + type: string + statusName: + description: Status of the network peer. Applicable only for + AWS. + type: string + vpc: + description: VPC is general purpose field for storing the name + of the VPC. VPC is vpcID for AWS, user networkName for GCP, + and vnetName for Azure. + type: string + required: + - id + - providerName + - region + type: object + type: array observedGeneration: description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator @@ -520,9 +759,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/namespaced/crds.yaml b/deploy/namespaced/crds.yaml index cb80fd2cfe..f7584f661b 100644 --- a/deploy/namespaced/crds.yaml +++ b/deploy/namespaced/crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackuppolicies.atlas.mongodb.com spec: @@ -114,18 +114,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackupschedules.atlas.mongodb.com spec: @@ -236,18 +230,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdatabaseusers.atlas.mongodb.com spec: @@ -456,18 +444,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdeployments.atlas.mongodb.com spec: @@ -1261,18 +1243,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasprojects.atlas.mongodb.com spec: @@ -1309,6 +1285,23 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + cloudProviderAccessRoles: + description: CloudProviderAccessRoles is a list of Cloud Provider + Access Roles configured for the current Project. + items: + properties: + iamAssumedRoleArn: + description: IamAssumedRoleArn is the ARN of the IAM role that + is assumed by the Atlas cluster. + type: string + providerName: + description: ProviderName is the name of the cloud provider. + Currently only AWS is supported. + type: string + required: + - providerName + type: object + type: array connectionSecretRef: description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas @@ -1321,6 +1314,65 @@ spec: required: - name type: object + encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers + properties: + awsKms: + description: AwsKms specifies AWS KMS configuration details and + whether Encryption at Rest is enabled for an Atlas project. + properties: + accessKeyID: + type: string + customerMasterKeyID: + type: string + enabled: + type: boolean + region: + type: string + roleId: + type: string + secretAccessKey: + type: string + valid: + type: boolean + type: object + azureKeyVault: + description: AzureKeyVault specifies Azure Key Vault configuration + details and whether Encryption at Rest is enabled for an Atlas + project. + properties: + azureEnvironment: + type: string + clientID: + type: string + enabled: + type: boolean + keyIdentifier: + type: string + keyVaultName: + type: string + resourceGroupName: + type: string + secret: + type: string + subscriptionID: + type: string + tenantID: + type: string + type: object + googleCloudKms: + description: GoogleCloudKms specifies GCP KMS configuration details + and whether Encryption at Rest is enabled for an Atlas project. + properties: + enabled: + type: boolean + keyVersionResourceID: + type: string + serviceAccountKey: + type: string + type: object + type: object integrations: description: Integrations is a list of MongoDB Atlas integrations for the project @@ -1533,6 +1585,67 @@ spec: description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. type: string + networkPeers: + description: NetworkPeers is a list of Network Peers configured for + the current Project. + items: + properties: + accepterRegionName: + description: AccepterRegionName is the provider region name + of user's vpc. + type: string + atlasCidrBlock: + description: Atlas CIDR. It needs to be set if ContainerID is + not set. + type: string + awsAccountId: + description: AccountID of the user's vpc. + type: string + azureDirectoryId: + description: AzureDirectoryID is the unique identifier for an + Azure AD directory. + type: string + azureSubscriptionId: + description: AzureSubscriptionID is the unique identifier of + the Azure subscription in which the VNet resides. + type: string + containerId: + description: ID of the network peer container. If not set, operator + will create a new container with ContainerRegion and AtlasCIDRBlock + input. + type: string + containerRegion: + description: ContainerRegion is the provider region name of + Atlas network peer container. If not set, AccepterRegionName + is used. + type: string + gcpProjectId: + description: User GCP Project ID. Its applicable only for GCP. + type: string + networkName: + description: GCP Network Peer Name. Its applicable only for + GCP. + type: string + providerName: + description: ProviderName is the name of the provider. If not + set, it will be set to "AWS". + type: string + resourceGroupName: + description: ResourceGroupName is the name of your Azure resource + group. + type: string + routeTableCidrBlock: + description: User VPC CIDR. + type: string + vnetName: + description: VNetName is name of your Azure VNet. Its applicable + only for Azure. + type: string + vpcId: + description: AWS VPC ID. + type: string + type: object + type: array privateEndpoints: description: PrivateEndpoints is a list of Private Endpoints configured for the current Project. @@ -1646,6 +1759,43 @@ spec: items: type: string type: array + cloudProviderAccessRoles: + description: CloudProviderAccessRoles contains a list of configured + cloud provider access roles. AWS support only + items: + properties: + atlasAWSAccountArn: + type: string + atlasAssumedRoleExternalId: + type: string + authorizedDate: + type: string + createdDate: + type: string + errorMessage: + type: string + featureUsages: + items: + properties: + featureId: + type: string + featureType: + type: string + type: object + type: array + iamAssumedRoleArn: + type: string + providerName: + type: string + roleId: + type: string + status: + type: string + required: + - atlasAssumedRoleExternalId + - providerName + type: object + type: array conditions: description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource @@ -1706,6 +1856,72 @@ spec: id: description: The ID of the Atlas Project type: string + networkPeers: + description: The list of network peers that are configured for current + project + items: + properties: + atlasGcpProjectId: + description: ProjectID of Atlas container. Applicable only for + GCP. It's needed to add network peer connection. + type: string + atlasNetworkName: + description: Atlas Network Name. Applicable only for GCP. It's + needed to add network peer connection. + type: string + connectionId: + description: Unique identifier of the network peer connection. + Applicable only for AWS. + type: string + containerId: + description: ContainerID of Atlas network peer container. + type: string + errorMessage: + description: Error state of the network peer. Applicable only + for GCP. + type: string + errorState: + description: Error state of the network peer. Applicable only + for Azure. + type: string + errorStateName: + description: Error state of the network peer. Applicable only + for AWS. + type: string + gcpProjectId: + description: ProjectID of the user's vpc. Applicable only for + GCP. + type: string + id: + description: Unique identifier for NetworkPeer. + type: string + providerName: + description: Cloud provider for which you want to retrieve a + network peer. + type: string + region: + description: Region for which you want to create the network + peer. It isn't needed for GCP + type: string + status: + description: Status of the network peer. Applicable only for + GCP and Azure. + type: string + statusName: + description: Status of the network peer. Applicable only for + AWS. + type: string + vpc: + description: VPC is general purpose field for storing the name + of the VPC. VPC is vpcID for AWS, user networkName for GCP, + and vnetName for Azure. + type: string + required: + - id + - providerName + - region + type: object + type: array observedGeneration: description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator @@ -1788,9 +2004,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/namespaced/namespaced-config.yaml b/deploy/namespaced/namespaced-config.yaml index 2ec641f693..cfa97b38e8 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.2.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/deploy/openshift/crds.yaml b/deploy/openshift/crds.yaml index cb80fd2cfe..f7584f661b 100644 --- a/deploy/openshift/crds.yaml +++ b/deploy/openshift/crds.yaml @@ -2,7 +2,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackuppolicies.atlas.mongodb.com spec: @@ -114,18 +114,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasbackupschedules.atlas.mongodb.com spec: @@ -236,18 +230,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdatabaseusers.atlas.mongodb.com spec: @@ -456,18 +444,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasdeployments.atlas.mongodb.com spec: @@ -1261,18 +1243,12 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.4.1 + controller-gen.kubebuilder.io/version: v0.9.2 creationTimestamp: null name: atlasprojects.atlas.mongodb.com spec: @@ -1309,6 +1285,23 @@ spec: description: AtlasProjectSpec defines the desired state of Project in Atlas properties: + cloudProviderAccessRoles: + description: CloudProviderAccessRoles is a list of Cloud Provider + Access Roles configured for the current Project. + items: + properties: + iamAssumedRoleArn: + description: IamAssumedRoleArn is the ARN of the IAM role that + is assumed by the Atlas cluster. + type: string + providerName: + description: ProviderName is the name of the cloud provider. + Currently only AWS is supported. + type: string + required: + - providerName + type: object + type: array connectionSecretRef: description: ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas @@ -1321,6 +1314,65 @@ spec: required: - name type: object + encryptionAtRest: + description: EncryptionAtRest allows to set encryption for AWS, Azure + and GCP providers + properties: + awsKms: + description: AwsKms specifies AWS KMS configuration details and + whether Encryption at Rest is enabled for an Atlas project. + properties: + accessKeyID: + type: string + customerMasterKeyID: + type: string + enabled: + type: boolean + region: + type: string + roleId: + type: string + secretAccessKey: + type: string + valid: + type: boolean + type: object + azureKeyVault: + description: AzureKeyVault specifies Azure Key Vault configuration + details and whether Encryption at Rest is enabled for an Atlas + project. + properties: + azureEnvironment: + type: string + clientID: + type: string + enabled: + type: boolean + keyIdentifier: + type: string + keyVaultName: + type: string + resourceGroupName: + type: string + secret: + type: string + subscriptionID: + type: string + tenantID: + type: string + type: object + googleCloudKms: + description: GoogleCloudKms specifies GCP KMS configuration details + and whether Encryption at Rest is enabled for an Atlas project. + properties: + enabled: + type: boolean + keyVersionResourceID: + type: string + serviceAccountKey: + type: string + type: object + type: object integrations: description: Integrations is a list of MongoDB Atlas integrations for the project @@ -1533,6 +1585,67 @@ spec: description: Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. type: string + networkPeers: + description: NetworkPeers is a list of Network Peers configured for + the current Project. + items: + properties: + accepterRegionName: + description: AccepterRegionName is the provider region name + of user's vpc. + type: string + atlasCidrBlock: + description: Atlas CIDR. It needs to be set if ContainerID is + not set. + type: string + awsAccountId: + description: AccountID of the user's vpc. + type: string + azureDirectoryId: + description: AzureDirectoryID is the unique identifier for an + Azure AD directory. + type: string + azureSubscriptionId: + description: AzureSubscriptionID is the unique identifier of + the Azure subscription in which the VNet resides. + type: string + containerId: + description: ID of the network peer container. If not set, operator + will create a new container with ContainerRegion and AtlasCIDRBlock + input. + type: string + containerRegion: + description: ContainerRegion is the provider region name of + Atlas network peer container. If not set, AccepterRegionName + is used. + type: string + gcpProjectId: + description: User GCP Project ID. Its applicable only for GCP. + type: string + networkName: + description: GCP Network Peer Name. Its applicable only for + GCP. + type: string + providerName: + description: ProviderName is the name of the provider. If not + set, it will be set to "AWS". + type: string + resourceGroupName: + description: ResourceGroupName is the name of your Azure resource + group. + type: string + routeTableCidrBlock: + description: User VPC CIDR. + type: string + vnetName: + description: VNetName is name of your Azure VNet. Its applicable + only for Azure. + type: string + vpcId: + description: AWS VPC ID. + type: string + type: object + type: array privateEndpoints: description: PrivateEndpoints is a list of Private Endpoints configured for the current Project. @@ -1646,6 +1759,43 @@ spec: items: type: string type: array + cloudProviderAccessRoles: + description: CloudProviderAccessRoles contains a list of configured + cloud provider access roles. AWS support only + items: + properties: + atlasAWSAccountArn: + type: string + atlasAssumedRoleExternalId: + type: string + authorizedDate: + type: string + createdDate: + type: string + errorMessage: + type: string + featureUsages: + items: + properties: + featureId: + type: string + featureType: + type: string + type: object + type: array + iamAssumedRoleArn: + type: string + providerName: + type: string + roleId: + type: string + status: + type: string + required: + - atlasAssumedRoleExternalId + - providerName + type: object + type: array conditions: description: Conditions is the list of statuses showing the current state of the Atlas Custom Resource @@ -1706,6 +1856,72 @@ spec: id: description: The ID of the Atlas Project type: string + networkPeers: + description: The list of network peers that are configured for current + project + items: + properties: + atlasGcpProjectId: + description: ProjectID of Atlas container. Applicable only for + GCP. It's needed to add network peer connection. + type: string + atlasNetworkName: + description: Atlas Network Name. Applicable only for GCP. It's + needed to add network peer connection. + type: string + connectionId: + description: Unique identifier of the network peer connection. + Applicable only for AWS. + type: string + containerId: + description: ContainerID of Atlas network peer container. + type: string + errorMessage: + description: Error state of the network peer. Applicable only + for GCP. + type: string + errorState: + description: Error state of the network peer. Applicable only + for Azure. + type: string + errorStateName: + description: Error state of the network peer. Applicable only + for AWS. + type: string + gcpProjectId: + description: ProjectID of the user's vpc. Applicable only for + GCP. + type: string + id: + description: Unique identifier for NetworkPeer. + type: string + providerName: + description: Cloud provider for which you want to retrieve a + network peer. + type: string + region: + description: Region for which you want to create the network + peer. It isn't needed for GCP + type: string + status: + description: Status of the network peer. Applicable only for + GCP and Azure. + type: string + statusName: + description: Status of the network peer. Applicable only for + AWS. + type: string + vpc: + description: VPC is general purpose field for storing the name + of the VPC. VPC is vpcID for AWS, user networkName for GCP, + and vnetName for Azure. + type: string + required: + - id + - providerName + - region + type: object + type: array observedGeneration: description: ObservedGeneration indicates the generation of the resource specification that the Atlas Operator is aware of. The Atlas Operator @@ -1788,9 +2004,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/deploy/openshift/openshift.yaml b/deploy/openshift/openshift.yaml index 9ad09b0a1d..76b998b2f7 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.2.0 + image: mongodb/mongodb-atlas-kubernetes-operator:1.3.0 imagePullPolicy: Always livenessProbe: httpGet: diff --git a/third_party_licenses.txt b/third_party_licenses.txt index 55af127ad7..127aab9946 100644 --- a/third_party_licenses.txt +++ b/third_party_licenses.txt @@ -1,31 +1,40 @@ ,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.5.0/compute/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 +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 github.com/cespare/xxhash/v2,https://github.com/cespare/xxhash/blob/v2.1.2/LICENSE.txt,MIT github.com/davecgh/go-spew/spew,https://github.com/davecgh/go-spew/blob/v1.1.1/LICENSE,ISC -github.com/evanphx/json-patch,https://github.com/evanphx/json-patch/blob/v5.6.0/LICENSE,BSD-3-Clause -github.com/fsnotify/fsnotify,https://github.com/fsnotify/fsnotify/blob/v1.5.1/LICENSE,BSD-3-Clause -github.com/go-logr/logr,https://github.com/go-logr/logr/blob/v1.2.2/LICENSE,Apache-2.0 +github.com/emicklei/go-restful/v3,https://github.com/emicklei/go-restful/blob/v3.8.0/LICENSE,MIT +github.com/evanphx/json-patch/v5,https://github.com/evanphx/json-patch/blob/v5.6.0/v5/LICENSE,BSD-3-Clause +github.com/fsnotify/fsnotify,https://github.com/fsnotify/fsnotify/blob/v1.5.4/LICENSE,BSD-3-Clause +github.com/go-logr/logr,https://github.com/go-logr/logr/blob/v1.2.3/LICENSE,Apache-2.0 github.com/go-logr/zapr,https://github.com/go-logr/zapr/blob/v1.2.3/LICENSE,Apache-2.0 +github.com/go-openapi/jsonpointer,https://github.com/go-openapi/jsonpointer/blob/v0.19.5/LICENSE,Apache-2.0 +github.com/go-openapi/jsonreference,https://github.com/go-openapi/jsonreference/blob/v0.19.5/LICENSE,Apache-2.0 +github.com/go-openapi/swag,https://github.com/go-openapi/swag/blob/v0.19.14/LICENSE,Apache-2.0 github.com/gogo/protobuf,https://github.com/gogo/protobuf/blob/v1.3.2/LICENSE,BSD-3-Clause github.com/golang/groupcache/lru,https://github.com/golang/groupcache/blob/41bb18bfe9da/LICENSE,Apache-2.0 github.com/golang/protobuf,https://github.com/golang/protobuf/blob/v1.5.2/LICENSE,BSD-3-Clause -github.com/google/go-cmp/cmp,https://github.com/google/go-cmp/blob/v0.5.7/LICENSE,BSD-3-Clause +github.com/google/gnostic,https://github.com/google/gnostic/blob/v0.5.7-v3refs/LICENSE,Apache-2.0 +github.com/google/go-cmp/cmp,https://github.com/google/go-cmp/blob/v0.5.9/LICENSE,BSD-3-Clause github.com/google/go-querystring/query,https://github.com/google/go-querystring/blob/v1.1.0/LICENSE,BSD-3-Clause github.com/google/gofuzz,https://github.com/google/gofuzz/blob/v1.2.0/LICENSE,Apache-2.0 github.com/google/uuid,https://github.com/google/uuid/blob/v1.3.0/LICENSE,BSD-3-Clause -github.com/googleapis/gnostic,https://github.com/googleapis/gnostic/blob/v0.5.5/LICENSE,Apache-2.0 github.com/hashicorp/errwrap,https://github.com/hashicorp/errwrap/blob/v1.0.0/LICENSE,MPL-2.0 github.com/hashicorp/go-multierror,https://github.com/hashicorp/go-multierror/blob/v1.1.1/LICENSE,MPL-2.0 github.com/imdario/mergo,https://github.com/imdario/mergo/blob/v0.3.12/LICENSE,BSD-3-Clause +github.com/josharian/intern,https://github.com/josharian/intern/blob/v1.0.0/license.md,MIT github.com/json-iterator/go,https://github.com/json-iterator/go/blob/v1.1.12/LICENSE,MIT +github.com/mailru/easyjson,https://github.com/mailru/easyjson/blob/v0.7.6/LICENSE,MIT github.com/matttproud/golang_protobuf_extensions/pbutil,https://github.com/matttproud/golang_protobuf_extensions/blob/c182affec369/LICENSE,Apache-2.0 github.com/modern-go/concurrent,https://github.com/modern-go/concurrent/blob/bacd9c7ef1dd/LICENSE,Apache-2.0 github.com/modern-go/reflect2,https://github.com/modern-go/reflect2/blob/v1.0.2/LICENSE,Apache-2.0 github.com/mongodb-forks/digest,https://github.com/mongodb-forks/digest/blob/v1.0.4/COPYING,Apache-2.0 +github.com/munnerz/goautoneg,https://github.com/munnerz/goautoneg/blob/a7dc8b61c822/LICENSE,BSD-3-Clause github.com/openlyinc/pointy,https://github.com/openlyinc/pointy/blob/v1.1.2/LICENSE,MIT github.com/pkg/errors,https://github.com/pkg/errors/blob/v0.9.1/LICENSE,BSD-2-Clause -github.com/prometheus/client_golang/prometheus,https://github.com/prometheus/client_golang/blob/v1.12.1/LICENSE,Apache-2.0 +github.com/prometheus/client_golang/prometheus,https://github.com/prometheus/client_golang/blob/v1.12.2/LICENSE,Apache-2.0 github.com/prometheus/client_model/go,https://github.com/prometheus/client_model/blob/v0.2.0/LICENSE,Apache-2.0 github.com/prometheus/common,https://github.com/prometheus/common/blob/v0.32.1/LICENSE,Apache-2.0 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 @@ -34,30 +43,31 @@ github.com/spf13/pflag,https://github.com/spf13/pflag/blob/v1.0.5/LICENSE,BSD-3- go.mongodb.org/atlas/mongodbatlas,https://github.com/mongodb/go-client-mongodb-atlas/blob/v0.16.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.21.0/LICENSE.txt,MIT -golang.org/x/net,https://cs.opensource.google/go/x/net/+/5463443f:LICENSE,BSD-3-Clause -golang.org/x/oauth2,https://cs.opensource.google/go/x/oauth2/+/ee480838:LICENSE,BSD-3-Clause -golang.org/x/sys,https://cs.opensource.google/go/x/sys/+/bc2c85ad:LICENSE,BSD-3-Clause +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/time/rate,https://cs.opensource.google/go/x/time/+/0e9765cc: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.27.1/LICENSE,BSD-3-Clause +google.golang.org/protobuf,https://github.com/protocolbuffers/protobuf-go/blob/v1.28.0/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.23.4/LICENSE,Apache-2.0 -k8s.io/apiextensions-apiserver/pkg/apis/apiextensions,https://github.com/kubernetes/apiextensions-apiserver/blob/v0.23.4/LICENSE,Apache-2.0 -k8s.io/apimachinery/pkg,https://github.com/kubernetes/apimachinery/blob/v0.23.4/LICENSE,Apache-2.0 -k8s.io/apimachinery/third_party/forked/golang,https://github.com/kubernetes/apimachinery/blob/v0.23.4/third_party/forked/golang/LICENSE,BSD-3-Clause -k8s.io/client-go,https://github.com/kubernetes/client-go/blob/v0.23.4/LICENSE,Apache-2.0 -k8s.io/client-go/third_party/forked/golang/template,https://github.com/kubernetes/client-go/blob/v0.23.4/third_party/forked/golang/LICENSE,BSD-3-Clause -k8s.io/component-base/config,https://github.com/kubernetes/component-base/blob/v0.23.4/LICENSE,Apache-2.0 -k8s.io/klog/v2,https://github.com/kubernetes/klog/blob/v2.40.1/LICENSE,Apache-2.0 -k8s.io/kube-openapi/pkg,https://github.com/kubernetes/kube-openapi/blob/424119656bbf/LICENSE,Apache-2.0 -k8s.io/utils,https://github.com/kubernetes/utils/blob/3a6ce19ff2f9/LICENSE,Apache-2.0 -k8s.io/utils/internal/third_party/forked/golang/net,https://github.com/kubernetes/utils/blob/3a6ce19ff2f9/internal/third_party/forked/golang/LICENSE,BSD-3-Clause -sigs.k8s.io/controller-runtime,https://github.com/kubernetes-sigs/controller-runtime/blob/v0.11.1/LICENSE,Apache-2.0 -sigs.k8s.io/json,https://github.com/kubernetes-sigs/json/blob/9f7c6b3444d2/LICENSE,Apache-2.0 -sigs.k8s.io/structured-merge-diff/v4,https://github.com/kubernetes-sigs/structured-merge-diff/blob/v4.2.1/LICENSE,Apache-2.0 +k8s.io/api,https://github.com/kubernetes/api/blob/v0.25.0/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/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 +k8s.io/kube-openapi/pkg/validation/spec,https://github.com/kubernetes/kube-openapi/blob/67bda5d908f1/pkg/validation/spec/LICENSE,Apache-2.0 +k8s.io/utils,https://github.com/kubernetes/utils/blob/ee6ede2d64ed/LICENSE,Apache-2.0 +k8s.io/utils/internal/third_party/forked/golang/net,https://github.com/kubernetes/utils/blob/ee6ede2d64ed/internal/third_party/forked/golang/LICENSE,BSD-3-Clause +sigs.k8s.io/controller-runtime,https://github.com/kubernetes-sigs/controller-runtime/blob/v0.13.0/LICENSE,Apache-2.0 +sigs.k8s.io/json,https://github.com/kubernetes-sigs/json/blob/f223a00ba0e2/LICENSE,Apache-2.0 +sigs.k8s.io/structured-merge-diff/v4,https://github.com/kubernetes-sigs/structured-merge-diff/blob/v4.2.3/LICENSE,Apache-2.0 sigs.k8s.io/yaml,https://github.com/kubernetes-sigs/yaml/blob/v1.3.0/LICENSE,MIT