Skip to content

Commit

Permalink
Merge pull request #62 from Appdynamics/release-appdynamics-collector…
Browse files Browse the repository at this point in the history
…s-1.19.1062

AppD Charts appdynamics-collectors (1.19.1062)
  • Loading branch information
brathina-spectro authored Mar 4, 2024
2 parents 47c86e2 + ff1bf13 commit 13c172e
Show file tree
Hide file tree
Showing 267 changed files with 23,343 additions and 0 deletions.
26 changes: 26 additions & 0 deletions packs/appdynamics-collectors-1.19.1062/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
## The Appdynamics Collector Cloud Helm Charts
An Add-on pack for Spectro Cloud to use the monitoring of k8s cluster with AppDynamics collectors.

## Appdynamics Cloud Helm Charts
This repository maintains helm charts for installing Appdynamics Cloud Collector.

## Parameters
| Parameter | Description |
|-----------|-------------|
| clusterName | String to specify the name of the k8s cluster |
| endpoint | The endpoint Tenant to which you want to send the data to. Please refer the product guide link from References for more details |
| clientId | clientId of your Tenant . Please refer the product guide link from References for more details |
| clientSecret | clientSecret of your Tenant. Please refer the product guide link from References for more details |
| tokenUrl | tokenUrl of your Tenant. Please refer the product guide link from References for more details |
| tenantId | tenantId of your Tenant. Please refer the product guide link from References for more details |


## References
To enable log collection for your cluster, please refer:
https://docs.appdynamics.com/fso/cloud-native-app-obs/en/kubernetes-and-app-service-monitoring/log-collection/onboard-logs-from-kubernetes/configure-the-log-collector

Here is the guide to auto-instrument your application.
https://docs.appdynamics.com/fso/cloud-native-app-obs/en/kubernetes-and-app-service-monitoring/application-performance-monitoring-with-opentelemetry/configure-services-running-inside-a-supported-kubernetes-cluster/auto-instrument-your-services-using-opentelemetry-operator-for-kubernetes

Here is the complete product guide about the AppDynamics collectors.
https://docs.appdynamics.com/fso/cloud-native-app-obs/en/kubernetes-and-app-service-monitoring/install-kubernetes-and-app-service-monitoring
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/

LICENSES/
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
dependencies:
- name: appdynamics-cloud-k8s-monitoring
repository: ""
version: 1.19.0
- name: appdynamics-cloud-db-collector
repository: ""
version: 1.7.0
- name: appdynamics-network-monitoring
repository: ""
version: 0.2.0
- name: appdynamics-otel-collector
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 24.2.0-1454
- name: appdynamics-security-collector
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 1.0.26
- name: appdynamics-otel-instrumentation
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 24.2.0-1454
digest: sha256:beec5df8dacd1b5b2c39cf34168072800e629a5eb3458eb0425f78fbd7f00548
generated: "2024-02-28T10:12:04.050246356Z"
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
apiVersion: v2
appVersion: 1.19.1062
dependencies:
- name: appdynamics-cloud-k8s-monitoring
repository: ""
version: 1.19.0
- name: appdynamics-cloud-db-collector
repository: ""
version: 1.7.0
- condition: appdynamics-network-monitoring.enabled
name: appdynamics-network-monitoring
repository: ""
version: 0.2.0
- condition: appdynamics-otel-collector.enabled
name: appdynamics-otel-collector
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 24.2.0-1454
- condition: appdynamics-security-collector.enabled
name: appdynamics-security-collector
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 1.0.26
- condition: appdynamics-otel-instrumentation.enabled
name: appdynamics-otel-instrumentation
repository: https://artifactory.bare.appdynamics.com/artifactory/appd-helm
version: 24.2.0-1454
description: Helm Charts for installing Appdynamics Collectors
home: https://appdynamics.com
icon: https://raw.githubusercontent.com/CiscoDevNet/appdynamics-charts/master/logo.png
keywords:
- appdynamics
- cloud
- collector
- cluster
- kubernetes
- monitoring
- pod
- deployment
maintainers:
- email: support@appdynamics.com
name: AppDynamics
name: appdynamics-collectors
type: application
version: 1.19.1062
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
APPDYNAMICS
END USER LICENSE AGREEMENT

By accessing the Software herein, you (and the organization you represent) ("You") acknowledge and agree that the use
of the Software and open source software are governed by (1) the General Terms found at
https://www.cisco.com/c/dam/en_us/about/doing_business/legal/Cisco_General_Terms.pdf and the applicable Product
Specific Terms found at https://www.cisco.com/c/en/us/about/legal/cloud-and-software/software-terms.html or (2) any
other superseding agreement between AppDynamics, or its parent company Cisco Systems, Inc., as applicable, and You.
References to End User in any superseding agreement shall mean You.

AppDynamics Proprietary and Confidential * Revision 2024.03
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v2
appVersion: 24.2.0
description: Helm Chart to deploy dbcollector as a deployment and corresponding dbconfigs.
home: https://appdynamics.com
icon: https://raw.githubusercontent.com/CiscoDevNet/appdynamics-charts/master/logo.png
keywords:
- appdynamics
- database
- dbcollector
- dbconfig
- kubernetes
- monitoring
- pod
- deployment
maintainers:
- email: support@appdynamics.com
name: AppDynamics
name: appdynamics-cloud-db-collector
version: 1.7.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{{- define "getClusterID" }}
{{- if (lookup "v1" "Namespace" "" "kube-system").metadata }}
clusterID: {{ required "Could not fetch kube-system uid to populate clusterID! " (lookup "v1" "Namespace" "" "kube-system").metadata.uid }}
{{- else -}}
clusterID: {{ .Values.global.clusterId | required "clusterId needs to be specified when kube-system metadata is not accessible!" }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
{{ if .Values.install.dbCollector -}}
apiVersion: cluster.appdynamics.com/v1alpha1
# Kind will match the Kind section in generated CRD at Operator
kind: DbCollector
# Release is picked up from the command
metadata:
name: {{ printf "%s-%s" .Release.Name "appdynamics-db-collector" | trunc 63 }}
namespace: {{ .Release.Namespace }}
spec:
# spec for dbCollector here
{{- $mergedPodConfig := .Values.dbCollectorPod }}
{{- template "podConfigs" $mergedPodConfig }}
{{ with .Values.appdCloudAuth -}}
# CIS credentials
clientId: {{ .clientId }}
# either clientSecret will be present
{{ if .clientSecret -}}
clientSecret: {{ .clientSecret }}
{{ else }}
# if clientSecret is not present then clientSecretKeyRef is expected
clientSecretVarSource: {{- toYaml .clientSecretEnvVar.valueFrom | nindent 4 }}
{{- end }}
endpoint: {{ .endpoint }}
tokenUrl: {{ .tokenUrl }}

{{- end }}

{{ with .Values.dbCollectorConfig -}}
os: "linux"
arch: "amd64"
# Profiling flag and port
pprofEnable: {{ .pprof.enabled }}
{{ if .pprof.enabled -}}
pprofPort: {{ .pprof.port }}
{{- end }}
# Prometheus flag and port
metricEnable: {{ .metric.enabled }}
{{ if .metric.enabled -}}
metricPort: {{ .metric.port }}
{{- end }}
# Log level
logLevel : {{ .logLevel }}
{{- end }}
{{ if ne .Values.dbCollectorPod.image "appdynamics/appdynamics-cloud-db-collector:23.2.0-539"}}
# Mount path for generated config
configMountPath: /opt/appdynamics/appddbcol/conf/generated
{{ end }}
# To control the Agent Management client start by db collector
agentManagementEnabled: {{ .Values.install.agentManagementEnabled }}
# Name of the running instance of db collector. Optional, should be provided by user to distinguish multiple db collector instance on same platform.
collectorInstanceName: {{.Values.dbCollectorName}}
# Name of the Agent should be fixed to release name. Not modified by end user.
collectorName: {{ .Release.Name }}
clusterName: {{ .Values.global.clusterName }}
{{- include "getClusterID" . | nindent 2 }}
{{ end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
{{ if .Values.install.dbMonitoringConfigs -}}
# loop over available dbconfigs to create multiple CRs
{{- range .Values.dbMonitoringConfigs }}
# convert given configname to lower case
{{ $configResName := lower .configName }}
# default dbPasswordSecretName
{{- $dbPasswordSecretName := printf "%s-%s-%s" $.Release.Name $configResName "db-password"}}
---
apiVersion: cluster.appdynamics.com/v1alpha1
# Kind will match the Kind section in generated CRD at Operator
kind: DbConfig
# Release is picked up from the command
metadata:
name: {{ printf "%s-%s" $.Release.Name $configResName | trunc 255 }}
namespace: {{ $.Release.Namespace }}
spec:
# spec for dbConfigs here
dbType: {{ .dbType }}
configName: {{ .configName }}
# if collector name is specified, otherwise default to collector deployed via current release
{{ if not .dbCollector }}
dbCollector:
name: {{ printf "%s-%s" $.Release.Name "appdynamics-db-collector" | trunc 63 }}
namespace: {{ $.Release.Namespace }}
{{ else }}
dbCollector:
name: {{ .dbCollector.name }}
namespace: {{ .dbCollector.namespace }}
{{ end }}
hostname: {{ .hostname }}
hostport: {{ .hostport }}
username: {{ .username }}
# if Secret Name containing the password is given
{{ if .passwordSecretName }}
passwordSecretName: {{ .passwordSecretName }}
# otherwise use the created secret
{{ else }}
passwordSecretName: {{ $dbPasswordSecretName}}
{{ end }}

# database : optional field
{{ if .database -}}
database: {{ .database }}
{{ end -}}
# environment : optional field
{{ if .environment -}}
environment:
platform: {{ .environment.platform }}
{{ end }}
# tlsconfig : optional field
{{ if .tlsConfig -}}
tlsConfig:
# hostnameincertificate : optional field
{{ if .tlsConfig.hostNameInCertificate -}}
hostNameInCertificate: {{ .tlsConfig.hostNameInCertificate }}
{{- end }}
certSecretName: {{ .tlsConfig.certSecretName }}

{{ end }}
{{- end }}
{{ end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# This manifest creates a default secret for the dbconfig whose secret is passed as a string

{{ if .Values.install.dbMonitoringConfigs -}}
# loop over available dbconfigs to create multiple CRs
{{- range .Values.dbMonitoringConfigs }}
# convert given configname to lower case
{{ $configResName := lower .configName }}
# default dbSecretName
{{- $dbPasswordSecretName := printf "%s-%s-%s" $.Release.Name $configResName "db-password"}}

# secret to be created if db passwordSecretName is not provided( provided as a string )
{{ if not .passwordSecretName }}
---
apiVersion: v1
kind: Secret
metadata:
name: {{ $dbPasswordSecretName }}
namespace: {{ $.Release.Namespace }}
type: Opaque
stringData:
password: {{ .password }}
{{ end }}
{{- end }}
{{ end -}}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{{ if or .Values.install.dbCollector .Values.install.dbMonitoringConfigs -}}
{{ if .Capabilities.APIVersions.Has "security.openshift.io/v1/SecurityContextConstraints" -}}
apiVersion: security.openshift.io/v1
kind: SecurityContextConstraints
metadata:
annotations:
kubernetes.io/description: 'dbcollector-privileged-scc is a custom SCC for AppDynamics Cloud Database Collector'
name: dbcollector-privileged-scc
namespace: {{ .Release.Namespace }}
allowHostDirVolumePlugin: false
allowHostIPC: false
allowHostNetwork: false
allowHostPID: false
allowHostPorts: false
allowPrivilegedContainer: false
readOnlyRootFilesystem: false
runAsUser:
type: RunAsAny
seLinuxContext:
type: MustRunAs
users:
- system:serviceaccount:{{ .Release.Namespace }}:{{ .Values.dbcollectorServiceAccount }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{{ if or .Values.install.dbCollector .Values.install.dbMonitoringConfigs -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.dbcollectorServiceAccount }}
namespace: {{ .Release.Namespace }}
{{- end }}
Loading

0 comments on commit 13c172e

Please sign in to comment.