Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[charts/csm-authorization] feature-261: Authorization helm chart #109

Merged
merged 13 commits into from
May 4, 2022

Conversation

atye
Copy link
Contributor

@atye atye commented Apr 19, 2022

Is this a new chart?

Yes

What this PR does / why we need it:

Creates a helm chart for CSM-Authorization.

Which issue(s) is this PR associated with:

Special notes for your reviewer:

How to install the chart and some explanations:

  1. Create the karavi-config-secret containing the secret string to sign JWTs. Use the file samples/csm-authorization/config.yaml.

kubectl create secret generic karavi-config-secret -n <namespace> --from-file=config.yaml=samples/csm-authorization/config.yaml

  1. cd charts/csm-authorization and run helm dependency update. This will bundle cert-manager and ingress-nginx with the in-house redis chart.

  2. Modify the values.yaml in charts/csm-authorization/values.yaml to appropriate values. Some code changes are required for the services to run via helm so you have to use the images built from feature-261: Role Service karavi-authorization#167. See values file below.

Most of the values fields are self-explanatory.

hostname is the host rule for the Ingresses that will be registered with the nginx load balancer accessed via the master node.

redis.storageClass is the storage class redis will use. This can be anything.

authorization:
  # images to use in installation
  images:
    proxyService: dellemc/csm-authorization-proxy:nightly
    tenantService: dellemc/csm-authorization-tenant:nightly
    roleService: dellemc/csm-authorization-role:nightly
    opa: openpolicyagent/opa
    opaKubeMgmt: openpolicyagent/kube-mgmt:0.11

  # hostname for the ingress rules that expose the services
  hostname: csm-authorization.com

  logLevel: debug

  zipkin: {}
    # collectoruri: http://DNS-hostname:9411/api/v2/spans
    # probability: 1

redis:
  images:
    redis: redis:6.0.8-alpine
    commander: rediscommander/redis-commander:latest

  storageClass: local-storage

If you want local storage, here is an example:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: local-pv
spec:
  capacity:
    storage: 8Gi
  volumeMode: Filesystem
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Delete
  storageClassName: local-storage
  hostPath:
    path: /tmp
  1. Install the chart. If you are in charts/csm-authorization:

helm -n <namespace> install <name> .

  1. Install the driver with authorization. If the driver is on the same cluster as authorization, you can use the k8s DNS network address of the ingress-nginx-controller for the proxyHost.

For example, if I installed authorization in the auth namespace with the name auth, I would use auth-ingress-nginx-controller.auth.svc.cluster.local:443 as the proxyHost for the driver.

The tenant and role services are exposed via tenant.hostname and role.hostname, respectively. To access the services, you must have the cluster master node in /etc/hosts that aligns with the hostname. Example for using csmauth.com:

10.0.0.1 csmauth.com
10.0.0.1 tenant.csmauth.com
10.0.0.1 role.csmauth.com

Run kubectl -n <namespace> get service to see the exposed 443 port of the LoadBalancer and use that to connect.

All tenant commands should work.

karavictl tenant list --insecure --addr tenant.csmauth.com:32371

Role create should work.

karavictl role create --role=foo=powerflex=11e4e7d35817bd0f=mypool=75GB --addr role.csmauth.com:32371 --insecure

Checklist:

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • Chart Version bumped
  • Variables are documented in the chart README.md
  • Title of the PR starts with the chart name (e.g. [charts_dir/mychartname]) if applicable

Copy link
Collaborator

@hoppea2 hoppea2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@tdawe
Copy link
Collaborator

tdawe commented Apr 20, 2022

Should this PR target a release branch instead of main? Once merged to main, this helm chart will be publicly available from our helm repository.

@atye atye changed the base branch from main to csm-authorization-release April 20, 2022 14:11
@atye
Copy link
Contributor Author

atye commented Apr 20, 2022

@tdawe

Created the csm-authorization-release from main and targeting that now.

@@ -0,0 +1,6 @@
apiVersion: v2
name: redis
description: A Helm chart for Kubernetes
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this say 'A Helm chart for Redis'?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, updated.

@atye atye closed this Apr 21, 2022
@atye atye reopened this Apr 27, 2022
@atye atye changed the title feature-261: Authorization helm chart [charts/csm-authorization] feature-261: Authorization helm chart Apr 27, 2022
@atye atye merged commit 47fdd68 into csm-authorization-release May 4, 2022
@EvgenyUglov EvgenyUglov mentioned this pull request May 11, 2022
3 tasks
atye added a commit that referenced this pull request May 19, 2022
* add authorization chart

* use nginx

* update arguments and names

* ad redis chart

* update .gitignore

* remove traefik dependency

* typo

* fix comments

* images in values and NOTES.txt

* update redis chart

* add policies

* add role service

* minor fixes
sharmilarama added a commit that referenced this pull request Jun 21, 2022
* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
forrestxia pushed a commit that referenced this pull request Jul 7, 2022
* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
forrestxia added a commit that referenced this pull request Jul 7, 2022
* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
forrestxia added a commit that referenced this pull request Jul 9, 2022
* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
forrestxia added a commit that referenced this pull request Sep 21, 2022
* Update otel-collector-config.yaml

updated tls settings for otel

* Update Chart.yaml

increment helm chart version

* Update otel-collector-config.yaml

updating correct tls settings

* Update otel-collector-config.yaml

update tls settings

* update observability metric service immage taags for CSM .3 release (#124)

* align authorization sidecar with CSM 1.3 release (#126)

* add support for PowerScale topology (#123)

* Rollback otel-collecter image version to 0.42.0 (#131)

* Update code owners list (#132)

* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

* Correct codeowners format (#133)

* add support for csm-metrics-powerscale (#129)

Add powerscale configuration to support csm-metrics-powerscale:
  - Add karavi-metrics-powerscale.yaml, karavi-metrics-powerscale.yaml;
  - Add pscale configuration to karavi-observability-configmap.yaml,
  values.yaml, cert-manager.yaml and NOTES.txt.

* Adjust PowerScale polling enable and frequency (#134)

The new enable and frequency are:
capacityMetricsEnabled: "true"
performanceMetricsEnabled: "true"
clusterCapacityPollFrequencySeconds: 30
clusterPerformancePollFrequencySeconds: 20
quotaCapacityPollFrequencySeconds: 30

Co-authored-by: Yiming Bao <yiming.bao@emc.com>

* enable authorization for csm observability powerscale (#135)

* Update Authorization sidecar image to 1.4.0 (#138)

* Update observability image tags for CSM 1.4 release (#142)

Co-authored-by: Yiming Bao <yiming.bao@dell.com>

Co-authored-by: hoppea2 <33433874+hoppea2@users.noreply.github.com>
Co-authored-by: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com>
Co-authored-by: Sharmila Ramamoorthy <sharmila.ramamoorthy@dell.com>
Co-authored-by: YianZong <63342088+YianZong@users.noreply.github.com>
Co-authored-by: taohe1012 <88763781+taohe1012@users.noreply.github.com>
Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
Co-authored-by: baoy1 <105041111+baoy1@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@emc.com>
Co-authored-by: bjiang27 <105997542+bjiang27@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@dell.com>
forrestxia added a commit that referenced this pull request Sep 21, 2022
…148)

* Update otel-collector-config.yaml

updated tls settings for otel

* Update Chart.yaml

increment helm chart version

* Update otel-collector-config.yaml

updating correct tls settings

* Update otel-collector-config.yaml

update tls settings

* update observability metric service immage taags for CSM .3 release (#124)

* align authorization sidecar with CSM 1.3 release (#126)

* add support for PowerScale topology (#123)

* Rollback otel-collecter image version to 0.42.0 (#131)

* Update code owners list (#132)

* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

* Correct codeowners format (#133)

* add support for csm-metrics-powerscale (#129)

Add powerscale configuration to support csm-metrics-powerscale:
  - Add karavi-metrics-powerscale.yaml, karavi-metrics-powerscale.yaml;
  - Add pscale configuration to karavi-observability-configmap.yaml,
  values.yaml, cert-manager.yaml and NOTES.txt.

* Adjust PowerScale polling enable and frequency (#134)

The new enable and frequency are:
capacityMetricsEnabled: "true"
performanceMetricsEnabled: "true"
clusterCapacityPollFrequencySeconds: 30
clusterPerformancePollFrequencySeconds: 20
quotaCapacityPollFrequencySeconds: 30

Co-authored-by: Yiming Bao <yiming.bao@emc.com>

* enable authorization for csm observability powerscale (#135)

* Update Authorization sidecar image to 1.4.0 (#138)

* Update observability image tags for CSM 1.4 release (#142)

Co-authored-by: Yiming Bao <yiming.bao@dell.com>

* Update csm-metrics-powerscale to 1.0.0 (#147)

Update csm-metrics-powerscale to 1.0.0 to accommodate csm-metrics-powerscale release

Co-authored-by: hoppea2 <33433874+hoppea2@users.noreply.github.com>
Co-authored-by: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com>
Co-authored-by: Sharmila Ramamoorthy <sharmila.ramamoorthy@dell.com>
Co-authored-by: YianZong <63342088+YianZong@users.noreply.github.com>
Co-authored-by: taohe1012 <88763781+taohe1012@users.noreply.github.com>
Co-authored-by: forrestxia <105040588+forrestxia@users.noreply.github.com>
Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@emc.com>
Co-authored-by: bjiang27 <105997542+bjiang27@users.noreply.github.com>
atye added a commit that referenced this pull request Dec 13, 2022
* changes for 1.4.0 (#145) (#146)

* charts/karavi-observability: Version fix for csm-metrics-powerscale (#148)

* Update otel-collector-config.yaml

updated tls settings for otel

* Update Chart.yaml

increment helm chart version

* Update otel-collector-config.yaml

updating correct tls settings

* Update otel-collector-config.yaml

update tls settings

* update observability metric service immage taags for CSM .3 release (#124)

* align authorization sidecar with CSM 1.3 release (#126)

* add support for PowerScale topology (#123)

* Rollback otel-collecter image version to 0.42.0 (#131)

* Update code owners list (#132)

* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

* Correct codeowners format (#133)

* add support for csm-metrics-powerscale (#129)

Add powerscale configuration to support csm-metrics-powerscale:
  - Add karavi-metrics-powerscale.yaml, karavi-metrics-powerscale.yaml;
  - Add pscale configuration to karavi-observability-configmap.yaml,
  values.yaml, cert-manager.yaml and NOTES.txt.

* Adjust PowerScale polling enable and frequency (#134)

The new enable and frequency are:
capacityMetricsEnabled: "true"
performanceMetricsEnabled: "true"
clusterCapacityPollFrequencySeconds: 30
clusterPerformancePollFrequencySeconds: 20
quotaCapacityPollFrequencySeconds: 30

Co-authored-by: Yiming Bao <yiming.bao@emc.com>

* enable authorization for csm observability powerscale (#135)

* Update Authorization sidecar image to 1.4.0 (#138)

* Update observability image tags for CSM 1.4 release (#142)

Co-authored-by: Yiming Bao <yiming.bao@dell.com>

* Update csm-metrics-powerscale to 1.0.0 (#147)

Update csm-metrics-powerscale to 1.0.0 to accommodate csm-metrics-powerscale release

Co-authored-by: hoppea2 <33433874+hoppea2@users.noreply.github.com>
Co-authored-by: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com>
Co-authored-by: Sharmila Ramamoorthy <sharmila.ramamoorthy@dell.com>
Co-authored-by: YianZong <63342088+YianZong@users.noreply.github.com>
Co-authored-by: taohe1012 <88763781+taohe1012@users.noreply.github.com>
Co-authored-by: forrestxia <105040588+forrestxia@users.noreply.github.com>
Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@emc.com>
Co-authored-by: bjiang27 <105997542+bjiang27@users.noreply.github.com>

* [charts/csm-application-mobility]: Application Mobility v0.2.0 Release (#159)

* update authorization chart and image versions (#155)

Co-authored-by: baoy1 <105041111+baoy1@users.noreply.github.com>
Co-authored-by: hoppea2 <33433874+hoppea2@users.noreply.github.com>
Co-authored-by: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com>
Co-authored-by: Sharmila Ramamoorthy <sharmila.ramamoorthy@dell.com>
Co-authored-by: YianZong <63342088+YianZong@users.noreply.github.com>
Co-authored-by: taohe1012 <88763781+taohe1012@users.noreply.github.com>
Co-authored-by: forrestxia <105040588+forrestxia@users.noreply.github.com>
Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@emc.com>
Co-authored-by: bjiang27 <105997542+bjiang27@users.noreply.github.com>
Co-authored-by: Trevor Dawe <trevor.dawe@dell.com>
sharmilarama added a commit that referenced this pull request Dec 13, 2022
* Update otel-collector-config.yaml

updated tls settings for otel

* Update Chart.yaml

increment helm chart version

* Update otel-collector-config.yaml

updating correct tls settings

* Update otel-collector-config.yaml

update tls settings

* update observability metric service immage taags for CSM .3 release (#124)

* align authorization sidecar with CSM 1.3 release (#126)

* add support for PowerScale topology (#123)

* Rollback otel-collecter image version to 0.42.0 (#131)

* Update code owners list (#132)

* Add more code owners

* chart/csm-authorization: Release v1.3.0 updates (#128)

* [charts/csm-authorization] feature-261: Authorization helm chart (#109)
* use 1.3.0 (#125)

Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

Co-authored-by: sharmilarama <72404078+sharmilarama@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>

* Correct codeowners format (#133)

* add support for csm-metrics-powerscale (#129)

Add powerscale configuration to support csm-metrics-powerscale:
  - Add karavi-metrics-powerscale.yaml, karavi-metrics-powerscale.yaml;
  - Add pscale configuration to karavi-observability-configmap.yaml,
  values.yaml, cert-manager.yaml and NOTES.txt.

* Adjust PowerScale polling enable and frequency (#134)

The new enable and frequency are:
capacityMetricsEnabled: "true"
performanceMetricsEnabled: "true"
clusterCapacityPollFrequencySeconds: 30
clusterPerformancePollFrequencySeconds: 20
quotaCapacityPollFrequencySeconds: 30

Co-authored-by: Yiming Bao <yiming.bao@emc.com>

* enable authorization for csm observability powerscale (#135)

* Update Authorization sidecar image to 1.4.0 (#138)

* Update observability image tags for CSM 1.4 release (#142)

Co-authored-by: Yiming Bao <yiming.bao@dell.com>

* Update csm-metrics-powerscale to 1.0.0 (#147)

Update csm-metrics-powerscale to 1.0.0 to accommodate csm-metrics-powerscale release

* Update cert-manager to 1.10.0 for Observability (#151)

* update authorization sidecar image (#156)

* Update to latest images

Co-authored-by: hoppea2 <33433874+hoppea2@users.noreply.github.com>
Co-authored-by: shaynafinocchiaro <66699024+shaynafinocchiaro@users.noreply.github.com>
Co-authored-by: YianZong <63342088+YianZong@users.noreply.github.com>
Co-authored-by: taohe1012 <88763781+taohe1012@users.noreply.github.com>
Co-authored-by: forrestxia <105040588+forrestxia@users.noreply.github.com>
Co-authored-by: Aaron Tye <tyeaaron@gmail.com>
Co-authored-by: EvgenyUglov <63835199+EvgenyUglov@users.noreply.github.com>
Co-authored-by: baoy1 <105041111+baoy1@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@emc.com>
Co-authored-by: bjiang27 <105997542+bjiang27@users.noreply.github.com>
Co-authored-by: Yiming Bao <yiming.bao@dell.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants