Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
606c357
Initial Changes Commit - helm charts to setup Serverless Location Dep…
shubhamgupta-dev Dec 16, 2025
df69932
Changes
shubhamgupta-dev Dec 16, 2025
9ac2438
Changes
shubhamgupta-dev Dec 16, 2025
f465595
Changes
shubhamgupta-dev Dec 16, 2025
a31b007
Changes 2.0
shubhamgupta-dev Dec 16, 2025
d8298c7
NR-492295 - Helm for Serverless Location Deployment
shubhamgupta-dev Dec 17, 2025
0210b09
NR-492295 - Helm for Serverless Location Deployment
shubhamgupta-dev Dec 17, 2025
44ffd89
NR-492295 - Helm for Serverless Location Deployment 1.0
shubhamgupta-dev Dec 17, 2025
b3cdf61
Merge branch 'master' into master
shubhamgupta-dev Dec 17, 2025
5c68aab
Lint Fix
shubhamgupta-dev Dec 17, 2025
c62aa21
Lint Fix
shubhamgupta-dev Dec 17, 2025
c3c0f9b
Lint Fix 1.0
shubhamgupta-dev Dec 18, 2025
4959268
Merge branch 'master' into master
shubhamgupta-dev Dec 18, 2025
bafc379
Lint Fix 2.0
shubhamgupta-dev Dec 18, 2025
3156f91
Merge branch 'master' into master
shubhamgupta-dev Dec 18, 2025
c64ed17
Removed difference content
shubhamgupta-dev Dec 18, 2025
52dada5
Merge remote-tracking branch 'origin/master'
shubhamgupta-dev Dec 18, 2025
cef8d81
corrected the readme.md
shubhamgupta-dev Dec 19, 2025
cdbb152
Added public location config
shubhamgupta-dev Dec 19, 2025
fabc7a9
Added public location config
shubhamgupta-dev Dec 19, 2025
dfae7b5
Modified the Roles permissions
shubhamgupta-dev Dec 19, 2025
7ad88a1
Merge branch 'master' into master
shubhamgupta-dev Dec 22, 2025
e7403ab
Modified the deployment.yaml
shubhamgupta-dev Dec 22, 2025
b276d47
Updated the newrelic/job-manager image name
shubhamgupta-dev Jan 6, 2026
e132f92
Merge branch 'master' into master
shubhamgupta-dev Jan 6, 2026
eabb07b
feat(networkpolicy): enable worker network policy with egress protection
msivant Jan 29, 2026
4532142
feat(job-manager): add runtime pod RBAC and enhanced network policies
msivant Jan 29, 2026
dac44f1
Merge branch 'newrelic:master' into master
shubhamgupta-dev Jan 29, 2026
5057af1
chore(.gitignore): remove unnecessary .claude entry
msivant Jan 29, 2026
bcd3484
feat(serviceaccount): disable automount of service account token for …
msivant Jan 29, 2026
56aa445
Merge pull request #1 from shubhamgupta-dev/sm/NR-511366
msivant Feb 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/ct-install.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ chart-dirs:
# - library # I leave this commented for clarity's sake
- charts

# Exclude charts that don't have published Docker images yet
excluded-charts:
- job-manager

chart-repos:
- newrelic-helm-charts=https://newrelic.github.io/helm-charts
- newrelic-cdn-helm-charts=https://helm-charts.newrelic.com
Expand Down
23 changes: 23 additions & 0 deletions charts/job-manager/.helmignore
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/
25 changes: 25 additions & 0 deletions charts/job-manager/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: v2
name: job-manager
description: New Relic Job Manager for K8s-based Location Deployment
type: application
version: 1.0.0
appVersion: release-1
home: https://github.com/orgs/newrelic/teams/infraplat
maintainers:
- name: nr-mdadhich
- name: nr-mjuvvadi
- name: shubhamgupta-dev
- name: msivant
- name: sbendict
email: infraplusplatform@newrelic.com
keywords:
- job-manager
- newrelic
- kubernetes
dependencies:
- name: node-api-runtime
version: 1.0.47
condition: node-api-runtime.enabled
- name: node-browser-runtime
version: 2.0.12
condition: node-browser-runtime.enabled
402 changes: 402 additions & 0 deletions charts/job-manager/README.md

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions charts/job-manager/charts/node-api-runtime/.helmignore
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/
19 changes: 19 additions & 0 deletions charts/job-manager/charts/node-api-runtime/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v2
name: node-api-runtime
description: New Relic Synthetics Api Runtime
type: application
version: 1.0.47
appVersion: 1.2.134
home: https://github.com/orgs/newrelic/teams/infraplat
maintainers:
- name: nr-mdadhich
- name: nr-mjuvvadi
- name: shubhamgupta-dev
- name: msivant
- name: sbendict
email: infraplusplatform@newrelic.com
keywords:
- synthetics
- job-manager
- node-api-runtime
- newrelic
26 changes: 26 additions & 0 deletions charts/job-manager/charts/node-api-runtime/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# node-api-runtime

## Chart Details

## Configuration

| Parameter | Description | Default |
|-----------------------|------------------------------------------------------------------------------------------------------------------------|----------------------------------------|
| `parallelism` | Number of node-api-runtime jobs to execute in parallel | `1` |
| `completions` | Number of node-api-runtime jobs that you expect to execute per minute (multiplied by the value of `parallelism` above) | `6` |
| `imagePullSecrets` | The name of a Secret object used to pull an image from a specified container registry | |
| `nameOverride` | The nameOverride replaces the name of the chart in the Chart.yaml file. | |
| `fullnameOverride` | Name override used for your installation in place of the default | |
| `appVersionOverride` | Release version of node-api-runtime to use in place of the version specified in [Chart.yaml](Chart.yaml) | |
| `image.repository` | The container to pull. | `newrelic/synthetics-node-api-runtime` |
| `image.pullPolicy` | The pull policy. | `IfNotPresent` |
| `appArmorProfileName` | Name of an AppArmor profile to load. | |
| `resources` | Resource requests and limits. | |
| `podAnnotations` | Annotations to be added to the node-api-runtime pod | |
| `podSecurityContext` | Custom security context for the node-api-runtime pod | |
| `securityContext` | Custom security context for the node-api-runtime containers | |
| `labels` | labels to be added to all node-api-runtime resources | |
| `annotations` | Annotations to be added to the node-api-runtime pod | |
| `nodeSelector` | Node labels for node-api-runtime pod assignment | |
| `tolerations` | Node taints to tolerate for node-api-runtime | |
| `affinity` | Pod affinity for node-api-runtime | |
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "node-api-runtime.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "node-api-runtime.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "node-api-runtime.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Allows to override the appVersion to use.
*/}}
{{- define "node-api-runtime.appVersion" -}}
{{- default .Chart.AppVersion .Values.appVersionOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}

{{/*
Allows overriding of the job-manager Service hostname
*/}}
{{- define "job-manager.hostname" -}}
{{- default "job-manager" .Values.global.hostnameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "node-api-runtime.labels" -}}
helm.sh/chart: {{ include "node-api-runtime.chart" . }}
{{ include "node-api-runtime.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "node-api-runtime.selectorLabels" -}}
app.kubernetes.io/name: {{ include "node-api-runtime.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Pod annotations
*/}}
{{- define "node-api-runtime.podAnnotations" -}}
{{- if or .Values.appArmorProfileName .Values.annotations -}}
annotations:
{{- if .Values.appArmorProfileName }}
container.apparmor.security.beta.kubernetes.io/{{ .Chart.Name }}: localhost/{{ .Values.appArmorProfileName }}
{{- end }}
{{- range $key, $val := .Values.annotations }}
{{ $key }}: {{ $val | quote }}
{{- end }}
{{- end -}}
{{- end -}}
72 changes: 72 additions & 0 deletions charts/job-manager/charts/node-api-runtime/templates/job.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: {{ include "node-api-runtime.fullname" . }}
namespace: {{ .Release.Namespace }}
labels:
{{- include "node-api-runtime.labels" . | nindent 4 }}
{{- with .Values.labels -}}
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
schedule: "* * * * *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
parallelism: {{ .Values.parallelism }}
completions: {{ .Values.completions }}
ttlSecondsAfterFinished: {{ .Values.ttlSecondsAfterFinished }}
template:
metadata:
labels:
{{- include "node-api-runtime.selectorLabels" . | nindent 12 }}
{{- with .Values.labels -}}
{{ toYaml . | nindent 12 }}
{{- end }}
{{- include "node-api-runtime.podAnnotations" . | nindent 10 }}
spec:
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 12 }}
containers:
- name: {{ .Chart.Name }}
securityContext:
{{- toYaml .Values.securityContext | nindent 16 }}
image: "{{ .Values.image.repository }}:{{ include "node-api-runtime.appVersion" . }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: GET_JOB_URL
value: "{{- printf "http://%s:8080/job/get" (include "job-manager.hostname" .) }}"
- name: POST_RESULT_URL
value: "{{- printf "http://%s:8080/api/v1/submit/job" (include "job-manager.hostname" .) }}"
- name: CHECK_TIMEOUT
value: {{ .Values.global.checkTimeout | quote }}
resources:
{{- toYaml .Values.resources | nindent 16 }}
{{ if include "job-manager.toMountCustomNodeModules" . }}
volumeMounts:
{{- include "job-manager.customNodeModulesMount" . | nindent 16 }}
{{ end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 12 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 12 }}
{{- end }}

{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 12 }}
{{- end }}
restartPolicy: OnFailure
{{ if include "job-manager.toMountCustomNodeModules" . }}
volumes:
- name: {{ include "job-manager.volumeName" . | quote }}
persistentVolumeClaim:
claimName: {{ include "job-manager.claimName" . | quote }}
{{ end }}
57 changes: 57 additions & 0 deletions charts/job-manager/charts/node-api-runtime/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# This is a YAML-formatted file that contains default values for node-api-runtime.
# Declare variables to be passed into your templates.

# Set this to the maximum number of node-api-runtime jobs you want to run in parallel
parallelism: 1

# Set this to the maximum number of node-api-runtime jobs you expect to execute per minute (multiplied by the value of `parallelism` above)
completions: 6

# The number of seconds after job execution to wait before cleaning up a finished job. The default value of 0 cleans up jobs immediately after they finish.
ttlSecondsAfterFinished: 0

# The imagePullSecrets stores Docker credentials that are used for accessing a registry.
imagePullSecrets: []

# The nameOverride replaces the name of the chart in the Chart.yaml file.
nameOverride: ""

# By default, fullname uses '-. This overrides that and uses the given string instead.
fullnameOverride: ""

# The appVersionOverride overrides the current app version.
appVersionOverride: ""

image:
# This parameter determines what container the pod will run as.
repository: newrelic/synthetics-node-api-runtime
# The pull policy is defaulted to IfNotPresent, which skips pulling an image if it already exists. If pullPolicy is defined without a specific value, it is also set to Always.
pullPolicy: IfNotPresent

## The AppArmor profile name that will be applied to the pods. If set, then the AppArmor profile must exist on the Kubernetes node(s) for this to work.
# appArmorProfileName: ""

resources:
requests:
cpu: "500m"
memory: "1250Mi"
limits:
cpu: "750m"
memory: "2500Mi"

podAnnotations: {}

podSecurityContext: {}

securityContext: {}

labels: {}

annotations: {}

nodeSelector: {}

tolerations: []

affinity: {}

23 changes: 23 additions & 0 deletions charts/job-manager/charts/node-browser-runtime/.helmignore
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/
19 changes: 19 additions & 0 deletions charts/job-manager/charts/node-browser-runtime/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: v2
name: node-browser-runtime
description: New Relic Synthetics Browser Runtime
type: application
version: 2.0.12
appVersion: 3.0.55
home: https://github.com/orgs/newrelic/teams/infraplat
maintainers:
- name: nr-mdadhich
- name: nr-mjuvvadi
- name: shubhamgupta-dev
- name: msivant
- name: sbendict
email: infraplusplatform@newrelic.com
keywords:
- synthetics
- job-manager
- node-browser-runtime
- newrelic
Loading