From d49b7e6bcd9b87d6a72b664447133a5c447254d1 Mon Sep 17 00:00:00 2001 From: Git Git Date: Wed, 28 Sep 2022 14:48:03 -0700 Subject: [PATCH] Update master Wed 28 Sep 2022 02:48:03 PM PDT --- repo/components/index.yaml | 2 +- repo/entitled/index.yaml | 2 +- repo/ibm-helm/ibm-chart-dev-0.4.0.tgz | Bin 0 -> 40044 bytes repo/ibm-helm/ibm-chart-dev.md | 210 ++++++++++++++++++++++++++ repo/ibm-helm/index.yaml | 39 ++++- repo/samples/index.yaml | 2 +- repo/stable/index.yaml | 2 +- 7 files changed, 252 insertions(+), 5 deletions(-) create mode 100644 repo/ibm-helm/ibm-chart-dev-0.4.0.tgz create mode 100644 repo/ibm-helm/ibm-chart-dev.md diff --git a/repo/components/index.yaml b/repo/components/index.yaml index 35176f0d8c..b6dc38f202 100644 --- a/repo/components/index.yaml +++ b/repo/components/index.yaml @@ -4010,4 +4010,4 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/components/zenhelper-0.1.5.tgz version: 0.1.5 -generated: 2022-09-27T19:20:49.75641346Z +generated: 2022-09-28T14:46:24.747659074-07:00 diff --git a/repo/entitled/index.yaml b/repo/entitled/index.yaml index 52ad08d868..a18e73a3bb 100644 --- a/repo/entitled/index.yaml +++ b/repo/entitled/index.yaml @@ -2702,4 +2702,4 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/entitled/ibm-wml-accelerator-prod-1.0.0.tgz version: 1.0.0 -generated: 2022-09-27T19:19:53.129838054Z +generated: 2022-09-28T14:45:31.246667959-07:00 diff --git a/repo/ibm-helm/ibm-chart-dev-0.4.0.tgz b/repo/ibm-helm/ibm-chart-dev-0.4.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4b48a7683edc7318b01c06dfbdc742d564df900f GIT binary patch literal 40044 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 is ... brief sentence regarding product +* Add "-Beta" as suffix if beta version - beta versions are generally < 1.0.0 +* Don't include versions of charts or products + +## Introduction +This chart ... +* Paragraph overview of the workload +* Include links to external sources for more product info +* Don't say "for xxx" - the chart should remain a general chart not directly stating target platform. + +## Chart Details +* Simple bullet list of what is deployed as the standard config +* General description of the topology of the workload +* Keep it short and specific with items such as : ingress, services, storage, pods, statefulsets, etc. + +## Prerequisites +* See the [IBM Cloud Pak Dependency Management Guidance](https://ibm.biz/Bdfjqd) for help with this section. +* Kubernetes Level - indicate if specific APIs must be enabled (i.e. Kubernetes 1.6 with Beta APIs enabled) +* PersistentVolume requirements (if persistence.enabled) - PV provisioner support, StorageClass defined, etc. (i.e. PersistentVolume provisioner support in underlying infrastructure with ibmc-file-gold StorageClass defined if persistance.enabled=true) +* Simple bullet list of CPU, MEM, Storage requirements +* Even if the chart only exposes a few resource settings, this section needs to be inclusive of all / total resources of all charts and subcharts. +* Describe any custom image policy requirements if using a non-whitelisted image repository. +* +### SecurityContextConstraints Requirements +_WRITER NOTES: Replace the Predefined SCC Name and SCC Definition with the required values in your chart. See [ https://ibm.biz/icppbk-psp] for help._ + +This chart requires a SecurityContextConstraints to be bound to the target namespace prior to installation. To meet this requirement there may be cluster scoped as well as namespace scoped pre and post actions that need to occur. + +The predefined OpenShift SecurityContextConstraints name: `anyuid` has been verified for this chart, if your target namespace is bound to this SecurityContextConstraints resource you can proceed to install the chart. + +This chart also defines a custom SecurityContextConstraints which can be used to finely control the permissions/capabilities needed to deploy this chart. You can enable this custom SecurityContextConstraints resource using the supplied instructions/scripts in the pak_extension pre-install directory. + +- From the user interface, you can copy and paste the following snippets to enable the custom SecurityContextConstraints + - Custom SecurityContextConstraints definition: + ``` + apiVersion: security.openshift.io/v1 + kind: SecurityContextConstraints + metadata: + name: ibm-chart-dev-scc + readOnlyRootFilesystem: false + allowedCapabilities: + - CHOWN + - DAC_OVERRIDE + - SETGID + - SETUID + - NET_BIND_SERVICE + seLinux: + type: MustRunAs + supplementalGroups: + type: RunAsAny + runAsUser: + type: RunAsAny + fsGroup: + rule: RunAsAny + volumes: + - configMap + - secret + ``` + +## Resources Required +* Describes Minimum System Resources Required + +## Pre-install steps + +Before installing the chart to your cluster, the cluster admin must perform the following pre-install steps. + +* Create a namespace +* Create a ServiceAccount + ``` + apiVersion: v1 + kind: ServiceAccount + metadata: + name: {{ sa_name }}-nginxref-nginx + imagePullSecrets: + - name: sa-{{ NAMESPACE }} + ``` +* Create a RoleBinding + ``` + apiVersion: rbac.authorization.k8s.io/v1beta1 + kind: RoleBinding + metadata: + name: {{ rb_name }}-rb + roleRef: + apiGroup: rbac.authorization.k8s.io + kind: Role + name: {{ role_name }}-role + subjects: + - kind: ServiceAccount + name: {{ sa_name }}-nginxref-nginx + namespace: {{ NAMESPACE }} + ``` +* Create a Role + ``` + apiVersion: rbac.authorization.k8s.io/v1 + kind: Role + metadata: + name: {{ role_name }}-role + rules: + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - watch + - list + ``` + +If you use the custom security configuration provided here, you must specify messagesight-sa as the service account for your charts. + + +## Installing the Chart +* Include at the basic things necessary to install the chart from the Helm CLI - the general happy path +* Include setup of other items required +* Security privileges required to deploy chart (role, SecurityContextConstraint, etc) +* Include verification of the chart +* Ensure CLI only and avoid any product-specific language used + +To install the chart with the release name `my-release`: + +```bash +$ helm install --tls --namespace --name my-release stable/ +``` + +The command deploys on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation. + + +> **Tip**: List all releases using `helm list` + +* Generally teams have subsections for : + * Verifying the Chart + * Uninstalling the Chart + +### Verifying the Chart +See the instruction (from NOTES.txt within chart) after the helm installation completes for chart verification. The instruction can also be viewed by running the command: helm status my-release --tls. + +### Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```bash +$ helm delete my-release --purge --tls +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. If a delete can result in orphaned components include instructions with additional commands required for clean-up. + +For example : + +When deleting a release with stateful sets the associated persistent volume will need to be deleted. +Do the following after deleting the chart release to clean up orphaned Persistent Volumes. + +```console +$ kubectl delete pvc -l release=my-release +``` + +### Cleanup any pre-reqs that were created +If cleanup scripts were included in the pak_extensions/post-delete directory; run them to cleanup namespace and cluster scoped resources when appropriate. + +## Configuration +* Define all the parms in the values.yaml +* Include "how used" information +* If special configuration impacts a "set of values", call out the set of values required (a = true, y = abc_value, c = 1) to get a desired outcome. One example may be setting on multiple values to turn on or off TLS. + +The following tables lists the configurable parameters of the chart and their default values. + +| Parameter | Description | Default | +| ----------------------- | --------------------------------------------- | ---------------------------------------------------------- | +| `replicaCount` | Number of deployment replicas | `1` | +| `image.repository` | `PRODUCTNAME` image repository | `nginx` | +| `image.pullPolicy` | Image pull policy | `Always` if `imageTag` is `latest`, else `IfNotPresent` | +| `image.tag` | `PRODUCTNAME` image tag | `stable` | +| `service.type` | k8s service type exposing ports, e.g. `NodePort`| `ClusterIP` | +| `service.externalPort` | External TCP Port for this service | `80` | +| `ingress.enabled` | Ingress enabled | `false` | +| `ingress.hosts` | Host to route requests based on | `false` | +| `ingress.annotations` | Meta data to drive ingress class used, etc. | `nil` | +| `ingress.tls` | TLS secret to secure channel from client / host | `nil` | +| `resources.requests.memory`| Memory resource requests | `128Mi` | +| `resources.requests.cpu` | CPU resource requests | `100m' | +| `resources.limits.memory` | Memory resource limits | `128Mi` | +| `resources.limits.cpu` | CPU resource limits | `100m` | +| `dashboard.enabled` | Enable automatic load of grafana dashboard | `true` | + + +A subset of the above parameters map to the env variables defined in [(PRODUCTNAME)](PRODUCTDOCKERURL). For more information please refer to the [(PRODUCTNAME)](PRODUCTDOCKERURL) image documentation. + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. + +Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example, + +> **Tip**: You can use the default values.yaml + +## Storage +* Define how storage works with the workload +* Dynamic vs PV pre-created +* Considerations if using hostpath, local volume, empty dir +* Loss of data considerations +* Any special quality of service or security needs for storage + +## Limitations +* Deployment limits - can you deploy more than once, can you deploy into different namespace +* List specific limitations such as platforms, security, replica's, scaling, upgrades etc.. - noteworthy limits identified +* List deployment limitations such as : restrictions on deploying more than once or into custom namespaces. +* Not intended to provide chart nuances, but more a state of what is supported and not - key items in simple bullet form. +* Does it work on ROKS or ? + +## Documentation +* Can have as many supporting links as necessary for this specific workload however don't overload the consumer with unnecessary information. +* Can be links to special procedures in the knowledge center. diff --git a/repo/ibm-helm/index.yaml b/repo/ibm-helm/index.yaml index a1ea53500c..83bcd3063c 100644 --- a/repo/ibm-helm/index.yaml +++ b/repo/ibm-helm/index.yaml @@ -298,6 +298,43 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm/ibm-b2bi-prod-2.0.0.tgz version: 2.0.0 + ibm-chart-dev: + - apiVersion: v2 + appVersion: "1.1" + created: "2022-09-28T14:47:27.477518021-07:00" + dependencies: + - alias: sch + name: ibm-sch + repository: '@sch' + version: ^1.2.19 + description: 'IBM provides ... (Note: first 97 chars are displayed + in OCP Developer Catalog) Documentation For additional details regarding + install parameters check: http://ibm.biz/-readme. License By installing + this product you accept the license terms http://ibm.biz/-license.' + digest: 2c7adde1f8512e0354aae4dfc31dcceafa1262e071e4d69448173bb1d334d112 + home: https://github.com/IBM/charts/blob/master/README.md + icon: http://raw.githubusercontent.com/IBM/charts/master/logo/icp-logo-box.svg + keywords: + - Tech + - amd64 + - ppc64le + - reference + - sample + - nginx + - Tools + - Beta + - Limited + - Development + - RHOCP + - Other + kubeVersion: '>=1.19.0' + maintainers: + - email: camgit@us.ibm.com + name: IBM + name: ibm-chart-dev + urls: + - https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm/ibm-chart-dev-0.4.0.tgz + version: 0.4.0 ibm-connect-direct: - apiVersion: v2 appVersion: 6.2.0.4_ifix022 @@ -8093,4 +8130,4 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/ibm-helm/ibm-ucv-prod-2.3.0.tgz version: 2.3.0 -generated: "2022-09-27T19:22:08.450985106Z" +generated: "2022-09-28T14:47:27.474833167-07:00" diff --git a/repo/samples/index.yaml b/repo/samples/index.yaml index 50aa909d42..d8418922e8 100644 --- a/repo/samples/index.yaml +++ b/repo/samples/index.yaml @@ -185,4 +185,4 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/samples/ibm-sch-1.2.8.tgz version: 1.2.8 -generated: 2022-09-27T19:19:57.306321548Z +generated: 2022-09-28T14:45:37.199424925-07:00 diff --git a/repo/stable/index.yaml b/repo/stable/index.yaml index 4bb552482c..88ec887a1d 100644 --- a/repo/stable/index.yaml +++ b/repo/stable/index.yaml @@ -5314,4 +5314,4 @@ entries: urls: - https://raw.githubusercontent.com/IBM/charts/master/repo/stable/ibm-ws-dyn-agent-dev-1.0.0.tgz version: 1.0.0 -generated: 2022-09-27T19:22:47.905176453Z +generated: 2022-09-28T14:48:01.742167992-07:00