@@ -388,3 +388,128 @@ To remove the |k8s-crds|:
388
388
389
389
kubectl delete crd --all
390
390
391
+ .. _k8s-disable-feature-controls:
392
+
393
+ Disable |onprem| Feature Controls
394
+ ---------------------------------
395
+
396
+ When you manage an |onprem| project through the |k8s-op-short|, the
397
+ |k8s-op-short| places the ``EXTERNALLY_MANAGED_LOCK`` :opsmgr:`feature
398
+ control policy
399
+ </reference/api/controlled-features/get-all-feature-control-policies/#response>`
400
+ on the project. This policy disables certain features in the |onprem|
401
+ application that might compromise your |k8s-op-short| configuration. If
402
+ you need to use these blocked features, you can remove the policy
403
+ through the :opsmgr:`feature controls API
404
+ </reference/api/controlled-features/update-controlled-features-for-one-project/>`,
405
+ make changes in the |onprem| application, and then restore the original
406
+ policy through the :opsmgr:`API
407
+ </reference/api/controlled-features/update-controlled-features-for-one-project/>`.
408
+
409
+ .. warning::
410
+
411
+ The following procedure enables you to use features in the |onprem|
412
+ application that are otherwise blocked by the |k8s-op-short|.
413
+
414
+ 1. :opsmgr:`Retrieve the feature control policies
415
+ </reference/api/controlled-features/get-controlled-features-for-one-project/>`
416
+ for your |onprem| project.
417
+
418
+ .. code-block:: sh
419
+
420
+ curl --user "{USERNAME}:{APIKEY}" --digest \
421
+ --header "Accept: application/json" \
422
+ --header "Content-Type: application/json" \
423
+ --include \
424
+ --request GET "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/controlledFeature?pretty=true"
425
+
426
+ .. important::
427
+
428
+ Save the response that the API returns. After you make changes in
429
+ the |onprem| application, you must add these policies back to
430
+ the project.
431
+
432
+ Your response should be similar to:
433
+
434
+ .. code-block:: json
435
+
436
+ {
437
+ "created": "2020-02-25T04:09:42Z",
438
+ "externalManagementSystem": {
439
+ "name": "mongodb-enterprise-operator",
440
+ "systemId": "6d6c139ae5528707b6e8e3b2",
441
+ "version": "1.4.2"
442
+ },
443
+ "policies": [
444
+ {
445
+ "disabledParams": [],
446
+ "policy": "EXTERNALLY_MANAGED_LOCK"
447
+ },
448
+ {
449
+ "disabledParams": [],
450
+ "policy": "DISABLE_AUTHENTICATION_MECHANISMS"
451
+ }
452
+ ],
453
+ "updated": "2020-02-25T04:10:12Z"
454
+ }
455
+
456
+ #. :opsmgr:`Update
457
+ </reference/api/controlled-features/update-controlled-features-for-one-project/>`
458
+ the ``policies`` array with an empty list:
459
+
460
+ .. code-block:: sh
461
+
462
+ curl --user "{USERNAME}:{APIKEY}" --digest \
463
+ --header "Accept: application/json" \
464
+ --header "Content-Type: application/json" \
465
+ --include \
466
+ --request PUT "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/controlledFeature?pretty=true" \
467
+ --data
468
+ '{
469
+ "externalManagementSystem": {
470
+ "name": "mongodb-enterprise-operator",
471
+ "systemId": "6d6c139ae5528707b6e8e3b2",
472
+ "version": "1.4.2"
473
+ },
474
+ "policies": []
475
+ }'
476
+
477
+ The previously blocked features are now available in the
478
+ |onprem| application.
479
+
480
+ #. Make your changes in the |onprem| application.
481
+
482
+ #. :opsmgr:`Update
483
+ </reference/api/controlled-features/update-controlled-features-for-one-project/>`
484
+ the ``policies`` array with the original feature control policies:
485
+
486
+ .. code-block:: sh
487
+
488
+ curl --user "{USERNAME}:{APIKEY}" --digest \
489
+ --header "Accept: application/json" \
490
+ --header "Content-Type: application/json" \
491
+ --include \
492
+ --request PUT "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/controlledFeature?pretty=true" \
493
+ --data
494
+ '{
495
+ "externalManagementSystem": {
496
+ "name": "mongodb-enterprise-operator",
497
+ "systemId": "6d6c139ae5528707b6e8e3b2",
498
+ "version": "1.4.2"
499
+ },
500
+ "policies": [
501
+ {
502
+ "disabledParams": [],
503
+ "policy": "EXTERNALLY_MANAGED_LOCK"
504
+ },
505
+ {
506
+ "disabledParams": [],
507
+ "policy": "DISABLE_AUTHENTICATION_MECHANISMS"
508
+ }
509
+ ]
510
+ }'
511
+
512
+ The features are now blocked again, preventing you from making
513
+ furher changes through the |onprem| application. However, the
514
+ |k8s-op-short| retains any changes you made in the |onprem|
515
+ application while features were available.
0 commit comments