From 00461ff738675f69cf62378afa9b4610124cafd8 Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Mon, 4 Mar 2024 15:45:53 -0300 Subject: [PATCH 1/5] Update quick start guide and provided samples --- README.md | 61 +++++-------------- .../samples/atlas_v1_atlasbackuppolicy.yaml | 16 ++++- .../samples/atlas_v1_atlasbackupschedule.yaml | 3 +- .../samples/atlas_v1_atlasdatabaseuser.yaml | 14 ++--- config/samples/atlas_v1_atlasdeployment.yaml | 21 +++++-- config/samples/atlas_v1_atlasproject.yaml | 3 +- 6 files changed, 55 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index b486444324..f62b861f72 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,19 @@ The full documentation for the Operator can be found [here](https://docs.atlas.m ## Quick Start guide +### Prerequisites to Install using kubectl + +Before you install the MongoDB Atlas Operator using `kubectl`, you must: + +1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). +2. Have a Kubernetes solution available to use. + If you need a Kubernetes solution, see the [Kubernetes documentation on picking the right solution](https://kubernetes.io/docs/setup). For testing, MongoDB recommends [Kind](https://kind.sigs.k8s.io/). +3. Choose the version of the operator you want to run + ### Step 1. Deploy Kubernetes operator using all in one config file ``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/main/deploy/all-in-one.yaml +kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//deploy/all-in-one.yaml ``` ### Step 2. Create Atlas Deployment @@ -42,43 +51,17 @@ The `AtlasProject` CustomResource represents Atlas Projects in our Kubernetes cl `projectIpAccessList` with the IP addresses or CIDR blocks of any hosts that will connect to the Atlas Deployment. ``` -cat </config/samples/atlas_v1_atlasproject.yaml ``` **3.** Create an `AtlasDeployment` Custom Resource. -The example below is a minimal configuration to create an M10 Atlas deployment in the AWS US East region. For a full list +The example below is a configuration to create an M10 Atlas deployment in the AWS US East region. For a full list of properties, check `atlasdeployments.atlas.mongodb.com` [CRD specification](config/crd/bases/atlas.mongodb.com_atlasdeployments.yaml)): ``` -cat </config/samples/atlas_v1_atlasdeployment.yaml ``` **4.** Create a database user password Kubernetes Secret @@ -97,21 +80,7 @@ In order to connect to an Atlas Deployment the database user needs to be created reference the password Kubernetes Secret created in the previous step. ``` -cat </config/samples/atlas_v1_atlasdatabaseuser.yaml ``` **6.** Wait for the `AtlasDatabaseUser` Custom Resource to be ready @@ -137,7 +106,7 @@ containers: - name: "CONNECTION_STRING" valueFrom: secretKeyRef: - name: test-atlas-operator-project-test-cluster-theuser + name: test-atlas-operator-project-test-deployment-theuser key: connectionStringStandardSrv ``` diff --git a/config/samples/atlas_v1_atlasbackuppolicy.yaml b/config/samples/atlas_v1_atlasbackuppolicy.yaml index b0e5a89b76..f7c834da5c 100644 --- a/config/samples/atlas_v1_atlasbackuppolicy.yaml +++ b/config/samples/atlas_v1_atlasbackuppolicy.yaml @@ -4,7 +4,19 @@ metadata: name: atlasbackuppolicy-sample spec: items: + - frequencyType: hourly + frequencyInterval: 6 + retentionUnit: days + retentionValue: 2 - frequencyType: daily - frequencyInterval: 3 + frequencyInterval: 1 + retentionUnit: days + retentionValue: 7 + - frequencyType: weekly + frequencyInterval: 1 retentionUnit: weeks - retentionValue: 2 + retentionValue: 4 + - frequencyType: monthly + frequencyInterval: 15 + retentionUnit: months + retentionValue: 12 diff --git a/config/samples/atlas_v1_atlasbackupschedule.yaml b/config/samples/atlas_v1_atlasbackupschedule.yaml index 71f4944e56..4fc25f1303 100644 --- a/config/samples/atlas_v1_atlasbackupschedule.yaml +++ b/config/samples/atlas_v1_atlasbackupschedule.yaml @@ -1,7 +1,7 @@ apiVersion: atlas.mongodb.com/v1 kind: AtlasBackupSchedule metadata: - name: atlasbackupschedule-sample + name: atlasbackupschedule-sample spec: autoExportEnabled: false referenceHourOfDay: 10 @@ -10,7 +10,6 @@ spec: copySettings: - regionName: US_WEST_1 cloudProvider: AWS - replicationSpecId: a1b2c3 shouldCopyOplogs: false frequencies: - WEEKLY diff --git a/config/samples/atlas_v1_atlasdatabaseuser.yaml b/config/samples/atlas_v1_atlasdatabaseuser.yaml index 93bafb4f90..53b0b33209 100644 --- a/config/samples/atlas_v1_atlasdatabaseuser.yaml +++ b/config/samples/atlas_v1_atlasdatabaseuser.yaml @@ -3,14 +3,12 @@ kind: AtlasDatabaseUser metadata: name: my-database-user spec: - databaseName: "admin" - roles: [{ - "databaseName": "admin", - "roleName": "readWriteAnyDatabase" - }] projectRef: name: my-project - - username: david + databaseName: admin + roles: + - databaseName: admin + roleName: readWriteAnyDatabase + username: theuser passwordSecretRef: - name: my-database-user-password \ No newline at end of file + name: the-user-password diff --git a/config/samples/atlas_v1_atlasdeployment.yaml b/config/samples/atlas_v1_atlasdeployment.yaml index 8b3e8da48c..407952fc7d 100644 --- a/config/samples/atlas_v1_atlasdeployment.yaml +++ b/config/samples/atlas_v1_atlasdeployment.yaml @@ -5,9 +5,22 @@ metadata: spec: projectRef: name: my-project + backupRef: + name: atlasbackupschedule-sample deploymentSpec: name: "test-deployment" - providerSettings: - instanceSizeName: M10 - providerName: AWS - regionName: US_EAST_1 + clusterType: REPLICASET + backupEnabled: true + mongoDBMajorVersion: "7.0" + replicationSpecs: + - zoneName: "Zone 1" + regionConfigs: + - providerName: AWS + regionName: US_EAST_1 + priority: 7 + electableSpecs: + instanceSize: M10 + nodeCount: 3 + tags: + - key: team + value: atlas-operator diff --git a/config/samples/atlas_v1_atlasproject.yaml b/config/samples/atlas_v1_atlasproject.yaml index c6aa087692..622132ef3c 100644 --- a/config/samples/atlas_v1_atlasproject.yaml +++ b/config/samples/atlas_v1_atlasproject.yaml @@ -7,4 +7,5 @@ spec: projectIpAccessList: - ipAddress: "192.0.2.15" comment: "IP address for Application Server A" - + - cidrBlock: "203.0.113.0/24" + comment: "CIDR block for Application Server B - D" From 7c0268987756d870b6d9e87b9eb10f55aaad740c Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Tue, 5 Mar 2024 09:25:34 -0300 Subject: [PATCH 2/5] Improve prerequisites description --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f62b861f72..65218a7253 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,8 @@ The full documentation for the Operator can be found [here](https://docs.atlas.m Before you install the MongoDB Atlas Operator using `kubectl`, you must: 1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). -2. Have a Kubernetes solution available to use. - If you need a Kubernetes solution, see the [Kubernetes documentation on picking the right solution](https://kubernetes.io/docs/setup). For testing, MongoDB recommends [Kind](https://kind.sigs.k8s.io/). -3. Choose the version of the operator you want to run +2. Have Kubernetes installed, i.e. [Kind](https://kind.sigs.k8s.io/) +3. Choose the [version of the operator](https://github.com/mongodb/mongodb-atlas-kubernetes/releases) you want to run ### Step 1. Deploy Kubernetes operator using all in one config file From b3e5c869cc4dd84fba41abcf09a664bfc3443421 Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Tue, 5 Mar 2024 10:02:27 -0300 Subject: [PATCH 3/5] Update quick start in the CSV --- ...tlas-kubernetes.clusterserviceversion.yaml | 121 +++++++++--------- 1 file changed, 58 insertions(+), 63 deletions(-) diff --git a/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml b/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml index 02085cb008..422167decb 100644 --- a/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml +++ b/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml @@ -67,101 +67,96 @@ spec: name: atlasteams.atlas.mongodb.com version: v1 description: | - The MongoDB Atlas Operator provides a native integration between the Kubernetes orchestration platform and MongoDB Atlas — - the only multi-cloud document database service that gives you the versatility you need to build sophisticated and resilient applications that can adapt to changing customer demands and market trends. - - > Current Status: *Stable*. The Operator gives users the ability to provision - > Atlas projects, clusters and database users using Kubernetes Specifications and bind connection information - > into applications deployed to Kubernetes. + The MongoDB Atlas Operator provides a native integration between the Kubernetes orchestration platform and MongoDB Atlas + — the only multi-cloud document database service that gives you the versatility you need to build sophisticated and + resilient applications that can adapt to changing customer demands and market trends. + + The full documentation for the Operator can be found [here](https://docs.atlas.mongodb.com/atlas-operator/) ## Quick Start guide - ### Step 1. Deploy Kubernetes operator by clicking Install button. + + ### Prerequisites to Install using kubectl + + Before you install the MongoDB Atlas Operator using `kubectl`, you must: + + 1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). + 2. Have Kubernetes installed, i.e. [Kind](https://kind.sigs.k8s.io/) + 3. Choose the [version of the operator](https://github.com/mongodb/mongodb-atlas-kubernetes/releases) you want to run + + ### Step 1. Deploy Kubernetes operator using all in one config file - ### Step 2. Create Atlas Cluster + ``` + kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//deploy/all-in-one.yaml + ``` + ### Step 2. Create Atlas Deployment + **1.** Create an Atlas API Key Secret + In order to work with the Atlas Operator you need to provide [authentication information](https://docs.atlas.mongodb.com/configure-api-access) - to allow the Atlas Operator to communicate with Atlas API. Once you have generated a Public and Private key in Atlas, you can create a Kuberentes Secret with: + to allow the Atlas Operator to communicate with Atlas API. Once you have generated a Public and Private key in Atlas, + you can create a Kuberentes Secret with: + ``` kubectl create secret generic mongodb-atlas-operator-api-key \ - --from-literal="orgId=" \ - --from-literal="publicApiKey=" \ - --from-literal="privateApiKey=" \ - -n openshift-operators + --from-literal='orgId=' \ + --from-literal='publicApiKey=' \ + --from-literal='privateApiKey=' \ + -n mongodb-atlas-system + + kubectl label secret mongodb-atlas-operator-api-key atlas.mongodb.com/type=credentials -n mongodb-atlas-system ``` - (Note, that you should use the namespace where the Operator was installed - it's `openshift-operators` by default) **2.** Create an `AtlasProject` Custom Resource - + The `AtlasProject` CustomResource represents Atlas Projects in our Kubernetes cluster. You need to specify - `projectIpAccessList` with the IP addresses or CIDR blocks of any hosts that will connect to the Atlas Cluster. + `projectIpAccessList` with the IP addresses or CIDR blocks of any hosts that will connect to the Atlas Deployment. + ``` - apiVersion: atlas.mongodb.com/v1 - kind: AtlasProject - metadata: - name: my-project - spec: - name: Test Atlas Operator Project - projectIpAccessList: - - ipAddress: "192.0.2.15" - comment: "IP address for Application Server A" - - cidrBlock: "203.0.113.0/24" - comment: "CIDR block for Application Server B - D" + kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasproject.yaml ``` + **3.** Create an `AtlasDeployment` Custom Resource. - The example below is a minimal configuration to create an M10 Atlas cluster in the AWS US East region. For a full list of properties, check - `atlasdeployments.atlas.mongodb.com` [CRD specification](config/crd/bases/atlas.mongodb.com_atlasdeployments.yaml)): + + The example below is a configuration to create an M10 Atlas deployment in the AWS US East region. For a full list + of properties, check `atlasdeployments.atlas.mongodb.com` [CRD specification](config/crd/bases/atlas.mongodb.com_atlasdeployments.yaml)): + ``` - apiVersion: atlas.mongodb.com/v1 - kind: AtlasDeployment - metadata: - name: my-atlas-cluster - spec: - name: "Test-cluster" - projectRef: - name: my-project - providerSettings: - instanceSizeName: M10 - providerName: AWS - regionName: US_EAST_1 + kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdeployment.yaml ``` **4.** Create a database user password Kubernetes Secret - The Secret must be created in the same namespace as the `AtlasDeployment` and `AtlasProject` were created. + ``` - kubectl create secret generic the-user-password --from-literal="password=P@@sword%" + kubectl create secret generic the-user-password --from-literal='password=P@@sword%' + + kubectl label secret the-user-password atlas.mongodb.com/type=credentials ``` + (note) To create X.509 user please see [this doc](docs/x509-user.md). + **5.** Create an `AtlasDatabaseUser` Custom Resource - In order to connect to an Atlas Cluster the database user needs to be created. `AtlasDatabaseUser` resource should reference - the password Kubernetes Secret created in the previous step. + In order to connect to an Atlas Deployment the database user needs to be created. `AtlasDatabaseUser` resource should + reference the password Kubernetes Secret created in the previous step. + ``` - apiVersion: atlas.mongodb.com/v1 - kind: AtlasDatabaseUser - metadata: - name: my-database-user - spec: - roles: - - roleName: "readWriteAnyDatabase" - databaseName: "admin" - projectRef: - name: my-project - username: theuser - passwordSecretRef: - name: the-user-password + kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdatabaseuser.yaml ``` **6.** Wait for the `AtlasDatabaseUser` Custom Resource to be ready - Wait until the AtlasDatabaseUser resource gets to "ready" status (it will wait until the cluster is created that may take around 10 minutes): + Wait until the AtlasDatabaseUser resource gets to "ready" status (it will wait until the deployment is created that may + take around 10 minutes): + ``` kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}' True ``` - ### Step 3. Connect your application to the Atlas Cluster + + ### Step 3. Connect your application to the Atlas Deployment - The Atlas Operator will create a Kubernetes Secret with the information necessary to connect to the Atlas Cluster created - in the previous step. An application in the same Kubernetes Cluster can mount and use the Secret: + The Atlas Operator will create a Kubernetes Secret with the information necessary to connect to the Atlas Deployment + created in the previous step. An application in the same Kubernetes Cluster can mount and use the Secret: ``` ... @@ -171,7 +166,7 @@ spec: - name: "CONNECTION_STRING" valueFrom: secretKeyRef: - name: test-atlas-operator-project-test-cluster-theuser + name: test-atlas-operator-project-test-deployment-theuser key: connectionStringStandardSrv ``` From 9aac04776ff8107ae537e2099168d8f788cd13e5 Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Mon, 18 Mar 2024 17:30:37 +0100 Subject: [PATCH 4/5] refer to official docs --- README.md | 118 +++--------------- ...tlas-kubernetes.clusterserviceversion.yaml | 115 +++-------------- 2 files changed, 32 insertions(+), 201 deletions(-) diff --git a/README.md b/README.md index 65218a7253..f747270f57 100644 --- a/README.md +++ b/README.md @@ -9,115 +9,25 @@ resilient applications that can adapt to changing customer demands and market tr The full documentation for the Operator can be found [here](https://docs.atlas.mongodb.com/atlas-operator/) -## Quick Start guide +## Getting Started -### Prerequisites to Install using kubectl +### Supported features -Before you install the MongoDB Atlas Operator using `kubectl`, you must: +* Create and configure a project, or connect to an existing one. +* Deploy, manage, scale, and tear down clusters. +* Support for serverless instances. +* Create and edit database users. +* Manage IP Access Lists, network peering and private endpoints. +* Configure and control Atlas’s fully managed cloud backup. +* Configure federated authentication for your Atlas organization +* Integrate Atlas monitoring with Prometheus. -1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). -2. Have Kubernetes installed, i.e. [Kind](https://kind.sigs.k8s.io/) -3. Choose the [version of the operator](https://github.com/mongodb/mongodb-atlas-kubernetes/releases) you want to run +... and more. -### Step 1. Deploy Kubernetes operator using all in one config file +To view the list of custom resources and each CR's schema, visit our [reference](https://www.mongodb.com/docs/atlas/operator/stable/custom-resources/) +documentation. See the [Quickstart](https://www.mongodb.com/docs/atlas/operator/stable/ak8so-quick-start/) to get started +with Atlas Kubernetes Operator. -``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//deploy/all-in-one.yaml -``` - -### Step 2. Create Atlas Deployment - -**1.** Create an Atlas API Key Secret - -In order to work with the Atlas Operator you need to -provide [authentication information](https://docs.atlas.mongodb.com/configure-api-access) -to allow the Atlas Operator to communicate with Atlas API. Once you have generated a Public and Private key in Atlas, -you can create a Kuberentes Secret with: - -``` -kubectl create secret generic mongodb-atlas-operator-api-key \ - --from-literal='orgId=' \ - --from-literal='publicApiKey=' \ - --from-literal='privateApiKey=' \ - -n mongodb-atlas-system - -kubectl label secret mongodb-atlas-operator-api-key atlas.mongodb.com/type=credentials -n mongodb-atlas-system -``` - -**2.** Create an `AtlasProject` Custom Resource - -The `AtlasProject` CustomResource represents Atlas Projects in our Kubernetes cluster. You need to specify -`projectIpAccessList` with the IP addresses or CIDR blocks of any hosts that will connect to the Atlas Deployment. - -``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasproject.yaml -``` - -**3.** Create an `AtlasDeployment` Custom Resource. - -The example below is a configuration to create an M10 Atlas deployment in the AWS US East region. For a full list -of properties, check -`atlasdeployments.atlas.mongodb.com` [CRD specification](config/crd/bases/atlas.mongodb.com_atlasdeployments.yaml)): - -``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdeployment.yaml -``` - -**4.** Create a database user password Kubernetes Secret - -``` -kubectl create secret generic the-user-password --from-literal='password=P@@sword%' - -kubectl label secret the-user-password atlas.mongodb.com/type=credentials -``` - -(note) To create X.509 user please see [this doc](docs/x509-user.md). - -**5.** Create an `AtlasDatabaseUser` Custom Resource - -In order to connect to an Atlas Deployment the database user needs to be created. `AtlasDatabaseUser` resource should -reference the password Kubernetes Secret created in the previous step. - -``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdatabaseuser.yaml -``` - -**6.** Wait for the `AtlasDatabaseUser` Custom Resource to be ready - -Wait until the AtlasDatabaseUser resource gets to "ready" status (it will wait until the deployment is created that may -take around 10 minutes): - -``` -kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}' -True -``` - -### Step 3. Connect your application to the Atlas Deployment - -The Atlas Operator will create a Kubernetes Secret with the information necessary to connect to the Atlas Deployment -created in the previous step. An application in the same Kubernetes Cluster can mount and use the Secret: - -``` -... -containers: -- name: test-app - env: - - name: "CONNECTION_STRING" - valueFrom: - secretKeyRef: - name: test-atlas-operator-project-test-deployment-theuser - key: connectionStringStandardSrv - -``` - -## Additional information or features - -In certain cases you can modify the default operator behaviour via [annotations](docs/annotations.md). - -Operator support Third Party Integration. - -- [Mongodb Atlas Operator sample](docs/project-integration.md) -- [Atlas documentation Atlas](https://docs.atlas.mongodb.com/reference/api/third-party-integration-settings/) ## How to Contribute diff --git a/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml b/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml index 422167decb..bcb89300c2 100644 --- a/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml +++ b/config/manifests/bases/mongodb-atlas-kubernetes.clusterserviceversion.yaml @@ -67,109 +67,30 @@ spec: name: atlasteams.atlas.mongodb.com version: v1 description: | - The MongoDB Atlas Operator provides a native integration between the Kubernetes orchestration platform and MongoDB Atlas - — the only multi-cloud document database service that gives you the versatility you need to build sophisticated and - resilient applications that can adapt to changing customer demands and market trends. - - The full documentation for the Operator can be found [here](https://docs.atlas.mongodb.com/atlas-operator/) - - ## Quick Start guide - - ### Prerequisites to Install using kubectl - - Before you install the MongoDB Atlas Operator using `kubectl`, you must: - - 1. Install [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/). - 2. Have Kubernetes installed, i.e. [Kind](https://kind.sigs.k8s.io/) - 3. Choose the [version of the operator](https://github.com/mongodb/mongodb-atlas-kubernetes/releases) you want to run - - ### Step 1. Deploy Kubernetes operator using all in one config file - - ``` - kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//deploy/all-in-one.yaml - ``` - - ### Step 2. Create Atlas Deployment - - **1.** Create an Atlas API Key Secret - - In order to work with the Atlas Operator you need to provide [authentication information](https://docs.atlas.mongodb.com/configure-api-access) - to allow the Atlas Operator to communicate with Atlas API. Once you have generated a Public and Private key in Atlas, - you can create a Kuberentes Secret with: - - ``` - kubectl create secret generic mongodb-atlas-operator-api-key \ - --from-literal='orgId=' \ - --from-literal='publicApiKey=' \ - --from-literal='privateApiKey=' \ - -n mongodb-atlas-system - - kubectl label secret mongodb-atlas-operator-api-key atlas.mongodb.com/type=credentials -n mongodb-atlas-system - ``` - - **2.** Create an `AtlasProject` Custom Resource - - The `AtlasProject` CustomResource represents Atlas Projects in our Kubernetes cluster. You need to specify - `projectIpAccessList` with the IP addresses or CIDR blocks of any hosts that will connect to the Atlas Deployment. + The MongoDB Atlas Operator provides a native integration between the Kubernetes orchestration platform and MongoDB + Atlas — the only multi-cloud document database service that gives you the versatility you need to build sophisticated + and resilient applications that can adapt to changing customer demands and market trends. - ``` - kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasproject.yaml - ``` - - **3.** Create an `AtlasDeployment` Custom Resource. - - The example below is a configuration to create an M10 Atlas deployment in the AWS US East region. For a full list - of properties, check `atlasdeployments.atlas.mongodb.com` [CRD specification](config/crd/bases/atlas.mongodb.com_atlasdeployments.yaml)): - - ``` - kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdeployment.yaml - ``` - - **4.** Create a database user password Kubernetes Secret - - ``` - kubectl create secret generic the-user-password --from-literal='password=P@@sword%' - - kubectl label secret the-user-password atlas.mongodb.com/type=credentials - ``` - - (note) To create X.509 user please see [this doc](docs/x509-user.md). - - **5.** Create an `AtlasDatabaseUser` Custom Resource - - In order to connect to an Atlas Deployment the database user needs to be created. `AtlasDatabaseUser` resource should - reference the password Kubernetes Secret created in the previous step. + The full documentation for the Operator can be found [here](https://docs.atlas.mongodb.com/atlas-operator/) - ``` - kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes//config/samples/atlas_v1_atlasdatabaseuser.yaml - ``` - **6.** Wait for the `AtlasDatabaseUser` Custom Resource to be ready + ## Getting Started - Wait until the AtlasDatabaseUser resource gets to "ready" status (it will wait until the deployment is created that may - take around 10 minutes): - - ``` - kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}' - True - ``` - - ### Step 3. Connect your application to the Atlas Deployment + ### Supported features - The Atlas Operator will create a Kubernetes Secret with the information necessary to connect to the Atlas Deployment - created in the previous step. An application in the same Kubernetes Cluster can mount and use the Secret: + * Create and configure a project, or connect to an existing one. + * Deploy, manage, scale, and tear down clusters. + * Support for serverless instances. + * Create and edit database users. + * Manage IP Access Lists, network peering and private endpoints. + * Configure and control Atlas’s fully managed cloud backup. + * Configure federated authentication for your Atlas organization + * Integrate Atlas monitoring with Prometheus. - ``` - ... - containers: - - name: test-app - env: - - name: "CONNECTION_STRING" - valueFrom: - secretKeyRef: - name: test-atlas-operator-project-test-deployment-theuser - key: connectionStringStandardSrv + ... and more. - ``` + To view the list of custom resources and each CR's schema, visit our [reference](https://www.mongodb.com/docs/atlas/operator/stable/custom-resources/) + documentation. See the [Quickstart](https://www.mongodb.com/docs/atlas/operator/stable/ak8so-quick-start/) to get + started with Atlas Kubernetes Operator. displayName: MongoDB Atlas Operator icon: - base64data: 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mrIHXO4A/U+GbMqu5Kcp5HLA+xl9UwbovQWCq/XeGvs4fQBS1FXiBjg4BIbzlL3m8e7O1t7+PdPo7wdVb3KbaWTEXAAADRxpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IlhNUCBDb3JlIDQuNC4wLUV4aXYyIj4KIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgIHhtbG5zOkdJTVA9Imh0dHA6Ly93d3cuZ2ltcC5vcmcveG1wLyIKICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICB4bXBNTTpEb2N1bWVudElEPSJnaW1wOmRvY2lkOmdpbXA6ZDk1YjhmMjctMWM0NS00YjU1LWEwZTMtNmNmMjM0Yzk1ZWVkIgogICB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmVhMGY5MTI5LWJlMDItNDVjOS1iNGU4LTU3N2MxZTBiZGJhNyIKICAgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjcyNmY4ZGFlLTM4ZTYtNGQ4Ni1hNTI4LWM0NTc4ZGE4ODA0NSIKICAgZGM6Rm9ybWF0PSJpbWFnZS9wbmciCiAgIEdJTVA6QVBJPSIyLjAiCiAgIEdJTVA6UGxhdGZvcm09Ik1hYyBPUyIKICAgR0lNUDpUaW1lU3RhbXA9IjE2MzQ4MzgwMTYyMTQ2MTMiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4yNCIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiPgogICA8eG1wTU06SGlzdG9yeT4KICAgIDxyZGY6U2VxPgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAgICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1YWNhZmVhMC0xZmY5LTRiMmUtYmY0NC02NTM3MzYwMGQzNjEiCiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTWFjIE9TKSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyMS0xMC0yMVQxODo0MDoxNiswMTowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz6528V0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAB3RJTUUH5QoVESgQ+iToFAAAA8xJREFUeNrlW01PU0EUPTPV+oqb4h+wENYKXbmzsjLEKPAHwB1xQ6N7adiboBtrSAT5AaQmBpuYSN25MS17k5Zf0MemFGznungttCkf782bmTels2w6mbnnnnPv3DvzYrBhrMytIT01gz9/f5temkVv/NMUwKsg1MFEGvlizeTy3ALj9zuuGAf4T2QzydEBACwHINXzwwSOE29N7iAWqe7BsoOYsEdITx2ZigcsIupnzqh/8SC0/6Wx+aNy8yTg6X7rWsfEbu96/71JAGQzyY7n/Rg2AcZ3dQdFswA0Exs+je8KYUZ3UDQXA1bmlgFsScwkMFrEx++F4QXgPN/LaZpQR6IxiY2SO6QSGMj3Qd00jpPE5+FkgDz1B3kAMYt8sTQ8AGQzSTTHyqG83z+qcBpplVLQK4Hm2KpC473U2BzLDgcDwgY+QwFRIwP4knLjuwFRIQv0MGB5PgnntKwFAMUs0MMA53Rem/Ge25I4ufvCXgkQVrVXsSSW7JTAq7lpCJQNnK4IEJNhW2jqGdDGsrH6QrB5GyXwWMKXLoi5gdnL8dwuCXjRvy4xs0vjVGDonMa9MNlALQPiJxlJOcvruOlM2yMBzuQ3Q3Al44BFADA8lJ9LrtSKnD2wBwAhe/hhIVIZpWxiQJgG5qHkohYBoPP4q6tks2Qfh1GBzu3xhWQckM0eWgAIfprrBE+SN4LZBACTNIQzF4KO5EAnmxgQwhtckj2WMeBA8gARpqQ9sAcAAfnrbLk4QGBUsQcAHmIzXFLLrbZFDMgXS1KZoN2W1DHVwj6iUH8O4FQKPCcWc3t6AkGCTin0dpUDQPhq6OREgNixD4BmvBBYBlKNTaqpuChVD8B2wQWj98EnOrVA3hf4YHExJLb1l3FUsBeAfLEG0Bef//Y8H28FqSW2VT2p1VgNUi5QLKC4z1qCqoBYt78fkC/WfMWCwMUM21H5oFrzA4n4xrUt724xQy0fxRRVkd/LKQ0lWgHYLrgAvfQXN1vXSYAAmlUeS7VH63yxBMIVUvDdB1jX8S2BmZbYp70scNkRmXtXaQkOXN4b3FJNfbMAAEDzzoLcFRhV4TReaztOGAPAiwdPLgDh8OqUR7M6XoiaB6CbGtts4cLzwbtv1N8Z7hiv+Rsi823xzb0KRB8T7gMA3jxj59dcZoz3snBUY+VpCmD7nautXGcva2Aog8Siqa/Hov1sbuAxJZXgHC/o1Hz0Ehgsmn71/FIxaXz0AAwS8sj0ihYAcBb5CVJ9weFnwLnR1K6PHgC9FyJsFCVwq+9afAQlIITbnxXMjv+6222dh4/VtAAAAABJRU5ErkJggg== From f13dd5200c802297bef9afe5cfe97432387e237f Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Mon, 18 Mar 2024 18:21:47 +0100 Subject: [PATCH 5/5] Apply suggestions from code review Co-authored-by: Sergiusz Urbaniak --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f747270f57..7ee9365d5a 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ The full documentation for the Operator can be found [here](https://docs.atlas.m ### Supported features -* Create and configure a project, or connect to an existing one. -* Deploy, manage, scale, and tear down clusters. -* Support for serverless instances. +* Create and configure an Atlas Project, or connect to an existing one. +* Deploy, manage, scale, and tear down Atlas clusters. +* Support for Atlas serverless instances. * Create and edit database users. * Manage IP Access Lists, network peering and private endpoints. * Configure and control Atlas’s fully managed cloud backup. @@ -24,7 +24,7 @@ The full documentation for the Operator can be found [here](https://docs.atlas.m ... and more. -To view the list of custom resources and each CR's schema, visit our [reference](https://www.mongodb.com/docs/atlas/operator/stable/custom-resources/) +To view the list of custom resources and their respective schemas, visit our [reference](https://www.mongodb.com/docs/atlas/operator/stable/custom-resources/) documentation. See the [Quickstart](https://www.mongodb.com/docs/atlas/operator/stable/ak8so-quick-start/) to get started with Atlas Kubernetes Operator.