Moving to a custom namespace

If you loaded IBM® Cloud App Management on one namespace, but want to move to another namespace, modify the image scope of each Docker image.

Procedure

  1. To get the IBM Cloud App Management Docker image list, run the following command:
    helm install --set global.license=accept --name dry-run --dry-run --debug decompressed_ppa_file --tls | awk -F ':' '/image:/{print $2}' | sed -e 's#["]*/##'  | sort | uniq > /tmp/icam-image-list.txt
    Where decompressed_ppa_file is the decompressed Cloud App Management installation image file, such as the ibm-cloud-appmgmt-prod-1.5.0.tgz file.
  2. Modify the image scope by running the following command:
    for i in `cat /tmp/icam-image-list.txt | sed -e 's/_/-u-/g'` do kubectl get images $i -o yaml | sed -e 's/scope: namespace/scope: global/' | kubectl replace -f - done
  3. Edit the global.image.repository setting in the my_release_name/values.yaml file to use the default namespace, where my_release_name is the name of your Cloud App Management Helm chart, such as ibmcloudappmgmt. The following example uses the "mycluster.icp:8500/default" default namespace:
    global:
      environmentSize: "size0"
      imageNamePrefix: ""
      masterIP: 9.42.2.70
      masterPort: 8443
      proxyIP: 9.42.2.70
      proxyHost: "icp-213-1.rtp.raleigh.ibm.com"
      ingress:
        domain: "icp-213-1.rtp.raleigh.ibm.com"
      image:
        repository: "mycluster.icp:8500/default"
      sidecar:
        imageGroup: ""
      persistence:
        enabled: true
        storageClassName: ""
        storageClassOption:
          cassandradata: "local-storage-cassandra"
          cassandrabak: "none"
          zookeeperdata: "local-storage-zookeeper"
          kafkadata: "local-storage-kafka"
          couchdbdata: "local-storage-couchdb"
          datalayerjobs: "local-storage-datalayer"
        storageSize:
          cassandradata: "50Gi"
          cassandrabak: "50Gi"
          zookeeperdata: "1Gi"
          kafkadata: "10Gi"
          couchdbdata: "1Gi"
          datalayerjobs: "1Gi"
    ibm-cem:
      license: "accept"
    Where ibmcloudappmgmt is the release name in the example.
  4. Install Cloud App Management to your custom namespace, such as kube-public, as in the following example:
    helm install --set global.license=accept --name ibmcloudappmgmt --values ~/values.ibmcloudappmgmt.yaml --tls ibm-cloud-appmgmt-prod-1.5.0.tgz --namespace kube-public