Skip to content

Commit

Permalink
[jfrog-platform] 10.17.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
chukka committed Jan 24, 2024
1 parent 974b54d commit 1970a33
Show file tree
Hide file tree
Showing 10 changed files with 114 additions and 158 deletions.
3 changes: 2 additions & 1 deletion stable/jfrog-platform/.helmignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@
*.tmproj
.vscode/

logo/
logo/
tests/
16 changes: 16 additions & 0 deletions stable/jfrog-platform/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
# JFrog Platform Chart Changelog (GA releases only)
All changes to this chart will be documented in this file.

## [10.17.0] - Jan 24, 2023
* **IMPORTANT**
* Added min kubeVersion ">= 1.19.0-0" in chart.yaml
* Removed "Waiting for artifactory to start" conditional check in `postgres-setup-init` init container
* Update pipelines to use its internal redis chart
* Removed obsolete dependency redis chart from chart.yaml
* Update `global.database.initContainerImagePullPolicy` to `IfNotPresent`
* Updated the chart Notes.txt content
* Fix the pre-upgrade-hook for rabbitmq migration
* Update dependency artifactory chart version to 107.77.3
* Update dependency xray chart version to 103.87.9
* Update dependency distribution chart version to 102.22.1
* Update dependency insight chart version to 101.16.6
* Update dependency pipelines chart version to 101.53.4
* Update global.versions.router version to `7.95.0`

## [10.16.5] - Jan 05, 2024
* Update dependency artifactory chart version to 107.71.11
* Update dependency xray chart version to 103.86.10
Expand Down
17 changes: 7 additions & 10 deletions stable/jfrog-platform/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,20 @@ dependencies:
- name: rabbitmq
repository: https://charts.jfrog.io/
version: 11.9.3
- name: redis
repository: https://charts.jfrog.io/
version: 12.10.1
- name: artifactory
repository: https://charts.jfrog.io/
version: 107.71.11
version: 107.77.3
- name: xray
repository: https://charts.jfrog.io/
version: 103.86.10
version: 103.87.9
- name: distribution
repository: https://charts.jfrog.io/
version: 102.21.3
version: 102.22.1
- name: insight
repository: https://charts.jfrog.io/
version: 101.16.5
version: 101.16.6
- name: pipelines
repository: https://charts.jfrog.io/
version: 101.49.6
digest: sha256:e58b9782fa5370c28b3dbb208985e1935a142acf4332b4ae51afd16a7ee34e02
generated: "2024-01-05T12:11:36.43401+05:30"
version: 101.53.4
digest: sha256:f9cf10d922803ead6cfb196700de26f21ff54d13e3b616dd1df1cecc2fac9e44
generated: "2024-01-24T15:31:40.815967+05:30"
20 changes: 8 additions & 12 deletions stable/jfrog-platform/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
apiVersion: v2
appVersion: 7.71.11
appVersion: 7.77.3
dependencies:
- condition: postgresql.enabled
name: postgresql
Expand All @@ -9,30 +9,26 @@ dependencies:
name: rabbitmq
repository: https://charts.jfrog.io/
version: 11.9.3
- condition: redis.enabled
name: redis
repository: https://charts.jfrog.io/
version: 12.10.1
- condition: artifactory.enabled
name: artifactory
repository: https://charts.jfrog.io/
version: 107.71.11
version: 107.77.3
- condition: xray.enabled
name: xray
repository: https://charts.jfrog.io/
version: 103.86.10
version: 103.87.9
- condition: distribution.enabled
name: distribution
repository: https://charts.jfrog.io/
version: 102.21.3
version: 102.22.1
- condition: insight.enabled
name: insight
repository: https://charts.jfrog.io/
version: 101.16.5
version: 101.16.6
- condition: pipelines.enabled
name: pipelines
repository: https://charts.jfrog.io/
version: 101.49.6
version: 101.53.4
description: The Helm chart for JFrog Platform (Universal, hybrid, end-to-end DevOps
automation)
home: https://jfrog.com/platform/
Expand All @@ -47,12 +43,12 @@ keywords:
- pipelines
- jfrog
- devops
kubeVersion: '>= 1.14.0-0'
kubeVersion: '>= 1.19.0-0'
maintainers:
- email: [email protected]
name: Chart Maintainers at JFrog
name: jfrog-platform
sources:
- https://github.com/jfrog/charts
type: application
version: 10.16.5
version: 10.17.0
6 changes: 1 addition & 5 deletions stable/jfrog-platform/ci/platform-ha-values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ artifactory:
persistence:
enabled: false
xray:
replicaCount: 2
replicaCount: 1
common:
persistence:
enabled: false
Expand All @@ -35,10 +35,6 @@ pipelines:
pipelines:
replicaCount: 2

pdnServer:
enabled: true
replicaCount: 2

rabbitmq:
replicaCount: 3
persistence:
Expand Down
37 changes: 0 additions & 37 deletions stable/jfrog-platform/ci/rt-ha-values.yaml

This file was deleted.

80 changes: 36 additions & 44 deletions stable/jfrog-platform/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,65 +1,57 @@
Congratulations. You have just deployed JFrog Platform Chart with following products:

Congratulations, you have just deployed JFrog Platform Chart with the following products:{{- if .Values.artifactory.enabled }} Artifactory{{- end }}{{- if .Values.xray.enabled }}, Xray {{- end }}{{- if .Values.distribution.enabled }}, Distribution{{- end }}{{- if index .Values "insight" "enabled" }}, Insight{{- end }}{{- if .Values.pipelines.enabled }}, Pipelines{{- end }}
{{- if .Values.artifactory.enabled }}
- artifactory
{{- end }}

{{- if .Values.xray.enabled }}
- xray
{{- end }}
---------------------------------------------------------------------------------------------------------------------------------------------------
Instructions for accessing the JFrog Platform
---------------------------------------------------------------------------------------------------------------------------------------------------

{{- if index .Values "insight" "enabled" }}
- insight
{{- end }}
1. The JFrog Platform Chart is being deployed. This process may take up to 10 minutes, depending on your internet connection speed.
You can monitor the deployment status by running the following command:

{{- if .Values.distribution.enabled }}
- distribution
{{- end }}
$ kubectl get pods -w --namespace {{ .Release.Namespace }}

{{- if .Values.pipelines.enabled }}
- pipelines
{{- end }}

{{- if .Values.artifactory.enabled }}

1. Get the Artifactory URL by running these commands:
2. Retrieve the JFrog Platform URL:

{{- if .Values.artifactory.ingress.enabled }}
{{- range .Values.artifactory.ingress.hosts }}
http://{{ . }}
{{- end }}

{{- else if contains "NodePort" .Values.artifactory.nginx.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT/
$ export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }})
$ export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
$ echo http://$NODE_IP:$NODE_PORT/

{{- else if contains "LoadBalancer" .Values.artifactory.nginx.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of the service by running 'kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP/

- Method 1: LoadBalancer Connection (preferred)
It may take a few minutes for the LoadBalancer service to be available.
You can monitor the service status by running this command:

$ kubectl get svc --namespace {{ .Release.Namespace }} -w {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }}

Extract the LoadBalancer IP / Hostname:

$ export SERVICE_HOSTNAME=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }} --template "{{ "{{ range (index .status.loadBalancer.ingress 0) }}{{ . }}{{ end }}" }}")
$ echo http://$SERVICE_HOSTNAME/

- Method 2: Port Forwarding

$ kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }} 8080:{{ .Values.artifactory.nginx.http.internalPort }} &
$ echo http://localhost:8080/

{{- else if contains "ClusterIP" .Values.artifactory.nginx.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "component={{ .Values.artifactory.nginx.name }}" -o jsonpath="{.items[0].metadata.name}")
echo http://127.0.0.1:{{ .Values.artifactory.nginx.externalPortHttp }}
kubectl port-forward --namespace {{ .Release.Namespace }} $POD_NAME {{ .Values.artifactory.nginx.externalPortHttp }}:{{ .Values.artifactory.nginx.internalPortHttp }}
$ kubectl port-forward --namespace {{ .Release.Namespace }} svc/{{ include "call-nested" (list . "artifactory" "artifactory.nginx.fullname") }} 8080:{{ .Values.artifactory.nginx.http.internalPort }} &
$ echo http://localhost:8080/
{{- end }}

2. Open Artifactory in your browser
Default credential for Artifactory:
user: admin
password: password

Open Artifactory URL in your browser.
3. Once you have the URL, open your preferred web browser and access the JFrog Platform.
Default credentials for Artifactory:
- Username: admin
- Password: password
{{- end }}

{{- if .Values.postgresql.enabled }}
To extract the database password, run the following
export DB_PASSWORD=$(kubectl get --namespace {{ .Release.Namespace }} $(kubectl get secret --namespace {{ .Release.Namespace }} -o name | grep postgresql) -o jsonpath="{.data.postgresql-password}" | base64 --decode)
echo ${DB_PASSWORD}
---------------------------------------------------------------------------------------------------------------------------------------------------
***WARNING*** You are using the bundled postgresql database from the chart. Bundled postgresql database is not supported for production use cases.
Use an external postgresql database for production deployments.
***WARNING*** You are using the bundled PostgreSQL database from the chart. This bundled database is not suitable for production use cases.
Use an external PostgreSQL database for production deployments.
---------------------------------------------------------------------------------------------------------------------------------------------------
{{- end }}
5 changes: 1 addition & 4 deletions stable/jfrog-platform/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ imagePullSecrets:
Custom init container for Postgres setup
*/}}
{{- define "initdb" -}}
{{- if and .Values.global.database.initDBCreation (ne .Chart.Name "pdn-server") }}
{{- if .Values.global.database.initDBCreation }}
- name: postgres-setup-init
image: {{ .Values.global.database.initContainerSetupDBImage }}
imagePullPolicy: {{ .Values.global.database.initContainerImagePullPolicy }}
Expand All @@ -107,9 +107,6 @@ Custom init container for Postgres setup
- '/bin/bash'
- '-c'
- >
{{- if (ne .Chart.Name "artifactory") }}
until nc -z -w 5 {{ .Release.Name }}-artifactory 8082; do echo "Waiting for artifactory to start"; sleep 10; done;
{{- end }}
echo "Running init db scripts";
bash /scripts/setupPostgres.sh
{{- if eq .Chart.Name "pipelines" }}
Expand Down
70 changes: 39 additions & 31 deletions stable/jfrog-platform/templates/migration-hook.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ roleRef:
---
{{- if .Values.rabbitmq.enabled }}
{{- if .Values.rabbitmq.migration.enabled }}
apiVersion: v1
kind: Pod
apiVersion: batch/v1
kind: Job
metadata:
labels:
app: {{ template "jfrog-platform.name" . }}
Expand All @@ -81,37 +81,45 @@ metadata:
"helm.sh/hook": "pre-upgrade"
"helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded
spec:
serviceAccountName: {{ template "jfrog-platform.rabbitmq.migration.serviceAccountName" . }}
{{- if .Values.rabbitmq.podSecurityContext.enabled }}
securityContext: {{- omit .Values.rabbitmq.podSecurityContext "enabled" | toYaml | nindent 4 }}
{{- end }}
{{- if .Values.global.imagePullSecrets }}
{{- include "jfrog-platform.imagePullSecrets" . | indent 2 }}
{{- end }}
containers:
- name: pre-upgrade-container
image: "{{ include "jfrog-platform.getRegistryByService" (list . "migrationHook") }}/{{ .Values.rabbitmq.migration.image.repository }}:{{ .Values.rabbitmq.migration.image.tag }}"
imagePullPolicy: IfNotPresent
{{- if .Values.rabbitmq.containerSecurityContext.enabled }}
securityContext: {{- tpl (omit .Values.rabbitmq.containerSecurityContext "enabled" | toYaml) . | nindent 10 }}
template:
metadata:
labels:
app: {{ template "jfrog-platform.name" . }}
chart: {{ template "jfrog-platform.chart" . }}
heritage: {{ .Release.Service }}
release: {{ .Release.Name }}
spec:
serviceAccountName: {{ template "jfrog-platform.rabbitmq.migration.serviceAccountName" . }}
{{- if .Values.rabbitmq.podSecurityContext.enabled }}
securityContext: {{- omit .Values.rabbitmq.podSecurityContext "enabled" | toYaml | nindent 8 }}
{{- end }}
{{- if .Values.global.imagePullSecrets }}
{{- include "jfrog-platform.imagePullSecrets" . | indent 6 }}
{{- end }}
command:
- sh
- -c
- |
#!/bin/sh
if [ "$(kubectl get pods -l "app.kubernetes.io/name={{ template "rabbitmq.name" . }}" -o jsonpath='{..status.conditions[?(@.type=="Ready")].status}')" = "True" ]; then
kubectl exec -it {{ .Release.Name }}-{{ template "rabbitmq.name" . }}-0 -- rabbitmqctl enable_feature_flag all
if [ "$?" -ne 0 ]; then
echo "Failed to perform the migration. Please make sure to enable the feature flag in rabbitmq manually [rabbitmqctl enable_feature_flag all] "
exit 1
containers:
- name: pre-upgrade-container
image: "{{ include "jfrog-platform.getRegistryByService" (list . "migrationHook") }}/{{ .Values.rabbitmq.migration.image.repository }}:{{ .Values.rabbitmq.migration.image.tag }}"
imagePullPolicy: IfNotPresent
{{- if .Values.rabbitmq.containerSecurityContext.enabled }}
securityContext: {{- tpl (omit .Values.rabbitmq.containerSecurityContext "enabled" | toYaml) . | nindent 12 }}
{{- end }}
command:
- sh
- -c
- |
#!/bin/sh
if [ "$(kubectl get pods -l "app.kubernetes.io/name={{ template "rabbitmq.name" . }}" -o jsonpath='{..status.conditions[?(@.type=="Ready")].status}')" = "True" ]; then
kubectl exec -it {{ .Release.Name }}-{{ template "rabbitmq.name" . }}-0 -- rabbitmqctl enable_feature_flag all
if [ "$?" -ne 0 ]; then
echo "Failed to perform the migration. Please make sure to enable the feature flag in rabbitmq manually [rabbitmqctl enable_feature_flag all] "
exit 1
else
echo Feature flags executed successfully!
fi
else
echo Feature flags executed successfully!
echo "Rabbitmq pod is not in running state. Ignoring feature flag migration for rabbitmq"
fi
else
echo "Rabbitmq pod is not in running state. Ignoring feature flag migration for rabbitmq"
fi
restartPolicy: Never
terminationGracePeriodSeconds: 0
restartPolicy: Never
terminationGracePeriodSeconds: 0
{{- end }}
{{- end }}
Loading

0 comments on commit 1970a33

Please sign in to comment.