From 5e7d5cefa6c9da75d2e8152b0d67b2b54fcd1fb8 Mon Sep 17 00:00:00 2001 From: Helder Santana Date: Mon, 18 Mar 2024 18:28:02 +0100 Subject: [PATCH] CLOUDP-222191: Update quick start guide and provided samples (#1421) --------- Co-authored-by: Sergiusz Urbaniak --- README.md | 150 ++---------------- ...tlas-kubernetes.clusterserviceversion.yaml | 120 +++----------- .../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 +- 7 files changed, 72 insertions(+), 255 deletions(-) diff --git a/README.md b/README.md index b486444324..7ee9365d5a 100644 --- a/README.md +++ b/README.md @@ -9,147 +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 -### Step 1. Deploy Kubernetes operator using all in one config file +### Supported features -``` -kubectl apply -f https://raw.githubusercontent.com/mongodb/mongodb-atlas-kubernetes/main/deploy/all-in-one.yaml -``` +* 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. +* Configure federated authentication for your Atlas organization +* Integrate Atlas monitoring with Prometheus. -### Step 2. Create Atlas Deployment +... and more. -**1.** Create an Atlas API Key Secret +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. -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. - -``` -cat < 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 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. + ## Getting Started - ### Step 2. Create Atlas Cluster + ### Supported features - **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 openshift-operators - ``` - (Note, that you should use the namespace where the Operator was installed - it's `openshift-operators` by default) + * 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. - **2.** Create an `AtlasProject` Custom Resource + ... and more. - 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. - ``` - 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" - ``` - **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)): - ``` - 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 - ``` - - **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%" - ``` - - **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. - ``` - 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 - ``` - **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): - ``` - kubectl get atlasdatabaseusers my-database-user -o=jsonpath='{.status.conditions[?(@.type=="Ready")].status}' - True - ``` - ### Step 3. Connect your application to the Atlas Cluster - - 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: - - ``` - ... - containers: - - name: test-app - env: - - name: "CONNECTION_STRING" - valueFrom: - secretKeyRef: - name: test-atlas-operator-project-test-cluster-theuser - key: connectionStringStandardSrv - - ``` + 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== 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"