-
Notifications
You must be signed in to change notification settings - Fork 16.8k
Moved Artifactory to stable and updated version to 5.3.2 #1314
Changes from 16 commits
266a42b
dc1f0cd
f22f5cd
73d4a02
54834d8
5b9e47b
c7fd27c
7312c59
acdffb2
ddbd6a8
34ce7ff
c02d548
9e2c8a1
fb226db
7e68a82
3e89133
dc99e38
d6aeb9d
577b918
bac7bcb
a0571f1
7f3f936
f5e02b2
4a788bd
e55e040
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
apiVersion: v1 | ||
name: artifactory | ||
home: https://www.jfrog.com/artifactory/ | ||
version: 5.2.0 | ||
version: 5.4.1 | ||
appVersion: 5.4.1 | ||
description: Universal Repository Manager supporting all major packaging formats, build tools and CI servers. | ||
keywords: | ||
- artifactory | ||
|
@@ -11,4 +13,6 @@ sources: | |
maintainers: | ||
- name: Jainish shah | ||
email: jainishs@jfrog.com | ||
- name: Eldad Assis | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please use the Github username as name. We've started to recommend that because it helps identify the chart maintainer for future review. |
||
email: eldada@jfrog.com | ||
icon: https://raw.githubusercontent.com/JFrogDev/artifactory-dcos/master/images/jfrog_med.png |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# JFrog Artifactory Helm Chart | ||
|
||
## Prerequisites Details | ||
|
||
* Artifactory Pro trial license [get one from here](https://www.jfrog.com/artifactory/free-trial/) | ||
|
||
## Chart Details | ||
This chart will do the following: | ||
|
||
* Deploy Artifactory-oss | ||
* Deploy Artifactory-Pro | ||
|
||
## Installing the Chart | ||
|
||
To install the chart with the release name `artifactory`: | ||
|
||
```bash | ||
$ helm install --name artifactory stable/artifactory | ||
``` | ||
|
||
### Deploying Artifactory OSS | ||
You can deploy Artifactory OSS by using the same instructions as provided for the Pro. | ||
**NOTE:** The Artifactory OSS does not use Nginx, so your Artifactory's Kubernetes service exposes Tomcat's port 8081 as port 80. | ||
|
||
By default it will run Artifactory-pro to run Artifactory-oss comment nginx configuration in value.yaml and use following command: | ||
Remove `nginx-deployment.yaml`, `nginx-pvc.yaml` and `nginx-service.yaml` and change art_service.externalPort to 80 in [values.yaml](values.yaml) before running command to install Artifactory-oss. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is not ideal. You cannot just remove something when you install the chart from the repo. The user would have to download and adapt it. Please add some conditional logic to not include what's not needed for OSS. BTW, why wouldn't you run the OSS version behind Nginx? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
```bash | ||
$ helm install --name artifactory --set artImage.repository=docker.bintray.io/jfrog/artifactory-oss stable/artifactory | ||
``` | ||
|
||
### Accessing Artifactory | ||
**NOTE:** It might take a few minutes for Artifactory's public IP to become available. | ||
Follow the instructions outputted by the install command to get the Artifactory IP to access it. | ||
|
||
### Updating Artifactory | ||
Once you have a new chart version, you can update your deployment with | ||
```bash | ||
$ helm upgrade artifactory --namespace artifactory stable/artifactory | ||
``` | ||
|
||
This will apply any configuration changes on your existing deployment. | ||
|
||
### Customizing Database password | ||
You can override the specified database password (set in [values.yaml](values.yaml)), by passing it as a parameter in the install command line | ||
```bash | ||
$ helm install --name artifactory --namespace artifactory --set dbEnv.dbPass=12_hX34qwerQ2 stable/artifactory | ||
``` | ||
|
||
You can customise other parameters in the same way, by passing them on `helm install` command line. | ||
|
||
### Deleting Artifactory | ||
```bash | ||
$ helm delete --purge artifactory | ||
``` | ||
|
||
This will completely delete your Artifactory Pro deployment. | ||
**IMPORTANT:** This will also delete your data volumes. You will loose all data! | ||
|
||
## Configuration | ||
|
||
The following tables lists the configurable parameters of the artifactory chart and their default values. | ||
|
||
| Parameter | Description | Default | | ||
|---------------------------|-----------------------------------|----------------------------------------------------------| | ||
| `replicaCount` | Replica count for Artifactory deployment| `1` | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Wrong. Used for DB. See below. |
||
| `imagePullPolicy` | Container pull policy | `IfNotPresent` | | ||
| `dbEnv.dbType` | Database type | `postgresql` | | ||
| `dbEnv.dbName` | Database name | `artifactory` | | ||
| `dbEnv.dbUser` | Database username | `artifactory` | | ||
| `dbEnv.dbPass` | Database password | `artXifactory1973` | | ||
| `dbName` | Database name | `postgresql` | | ||
| `dbImage.repository` | Database container image | `docker.bintray.io/postgres` | | ||
| `dbImage.version` | Database container image tag | `9.5.2` | | ||
| `dbService.name` | Database service name | `postgresql` | | ||
| `dbService.type` | Database service type | `ClusterIP` | | ||
| `dbService.externalPort` | Database service external port | `5432` | | ||
| `dbService.internalPort` | Database service internal port | `5432` | | ||
| `dbPersistence.mountPath` | Database persistence volume mount path | `"/var/lib/postgresql/data"` | | ||
| `dbPersistence.enabled` | Database persistence volume enabled | `true` | | ||
| `dbPersistence.accessMode` | Database persistence volume access mode | `ReadWriteOnce` | | ||
| `dbPersistence.size` | Database persistence volume size | `10Gi` | | ||
| `artName` | Artifactory name | `artifactory` | | ||
| `artName.art_replicaCount` | Artifactory replica count | `1` | | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
| `artImage.repository` | Container image | `docker.bintray.io/jfrog/artifactory-pro` | | ||
| `artImage.version` | Container image tag | `5.4.1` | | ||
| `artService.name` | Artifactory service name | `artifactory` | | ||
| `artService.type`| Artifactory service type | `ClusterIP` | | ||
| `artService.externalPort` | Artifactory service external port | `8081` | | ||
| `artService.internalPort` | Artifactory service internal port | `8081` | | ||
| `artPersistence.mountPath` | Artifactory persistence volume mount path | `"/var/opt/jfrog/artifactory"` | | ||
| `artPersistence.enabled` | Artifactory persistence volume enabled | `true` | | ||
| `artPersistence.accessMode` | Artifactory persistence volume access mode | `ReadWriteOnce` | | ||
| `artPersistence.size` | Artifactory persistence volume size | `20Gi` | | ||
| `nxName` | Nginx name | `nginx` | | ||
| `nxName.artReplicaCount` | Nginx replica count | `1` | | ||
| `nxImage.repository` | Container image | `docker.bintray.io/jfrog/nginx-artifactory-pro` | | ||
| `nxImage.version` | Container image tag | `5.4.1` | | ||
| `nxService.name` | Nginx service name | `nginx` | | ||
| `nxService.type`| Nginx service type | `LoadBalancer` | | ||
| `nxService.externalPortHttp` | Nginx service external port | `80` | | ||
| `nxService.externalPortHttp` | Nginx service internal port | `80` | | ||
| `nxService.externalPortHttps` | Nginx service external port | `443` | | ||
| `nxService.externalPortHttps` | Nginx service internal port | `443` | | ||
| `nxEnv.artUrl` | Nginx Environment variable Artifactory URL | `"http://artifactory:8081/artifactory"` | | ||
| `nxEnv.ssl` | Nginx Environment enable ssl | `true` | | ||
| `nxPersistence.mountPath` | Nginx persistence volume mount path | `"/var/opt/jfrog/nginx"` | | ||
| `nxPersistence.enabled` | Nginx persistence volume enabled | `true` | | ||
| `nxPersistence.accessMode` | Nginx persistence volume access mode | `ReadWriteOnce` | | ||
| `nxPersistence.size` | Nginx persistence volume size | `5Gi` | | ||
|
||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. | ||
|
||
|
||
## Useful links | ||
https://www.jfrog.com | ||
https://www.jfrog.com/confluence/ |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
Congratulations. You have just deployed JFrog Artifactory Pro! | ||
|
||
1. Get the Artifactory URL by running these commands: | ||
|
||
{{- if (not (empty .Values.nxService)) }} | ||
|
||
{{- if contains "NodePort" .Values.nxService.type }} | ||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ .Values.nxService.name }}) | ||
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.nxService.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 -w {{ .Values.nxService.name }}' | ||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ .Values.nxService.name }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') | ||
echo http://$SERVICE_IP/ | ||
|
||
{{- else if contains "ClusterIP" .Values.nxService.type }} | ||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "component={{ .Values.nxName }}" -o jsonpath="{.items[0].metadata.name}") | ||
echo http://127.0.0.1:{{ .Values.nxService.externalPortHttp }} | ||
kubectl port-forward --namespace {{ .Release.Namespace }} $POD_NAME {{ .Values.nxService.externalPortHttp }}:{{ .Values.nxService.internalPortHttp }} | ||
|
||
{{- end }} | ||
|
||
{{- else }} | ||
|
||
{{- if contains "NodePort" .Values.artService.type }} | ||
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ .Values.artService.name }}) | ||
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.artService.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 -w {{ .Values.artService.name }}' | ||
|
||
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ .Values.artService.name }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') | ||
echo http://$SERVICE_IP/ | ||
|
||
{{- else if contains "ClusterIP" .Values.artService.type }} | ||
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ .Values.artService.name }}" -o jsonpath="{.items[0].metadata.name}") | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Add Also, use the templates which use the values instead of the values directly. E. g. use |
||
echo http://127.0.0.1:{{ .Values.artService.externalPort }} | ||
kubectl port-forward --namespace {{ .Release.Namespace }} $POD_NAME {{ .Values.artService.externalPort }}:{{ .Values.artService.internalPort }} | ||
|
||
{{- end }} | ||
|
||
{{- end }} | ||
|
||
2. Open Artifactory in your browser | ||
Default credential for Artifactory: | ||
user: admin | ||
password: password |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chart version and app version are two different things. They don't have to be aligned.