Skip to content

Commit 4e83c67

Browse files
committed
Add nexus 3.24
1 parent 30a8c96 commit 4e83c67

File tree

10 files changed

+188
-0
lines changed

10 files changed

+188
-0
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.cr-index/*
2+
.cr-release-packages/*

docs/index.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,19 @@ entries:
1111
urls:
1212
- https://github.com/tsailiming/helm-charts/releases/download/mlflow-0.1.0/mlflow-0.1.0.tgz
1313
version: 0.1.0
14+
nexus:
15+
- apiVersion: v2
16+
appVersion: 3.24.0
17+
created: "2020-07-03T12:39:14.357517+08:00"
18+
dependencies:
19+
- name: sonatype-nexus
20+
repository: https://oteemo.github.io/charts/
21+
version: 2.1.0
22+
description: A Helm chart for deploying Sonatype Nexus
23+
digest: c936ee2361d02d36bb6c85ec2ccaea321c88a10df4867c7ea98f4d25e44d9549
24+
name: nexus
25+
type: application
26+
urls:
27+
- https://github.com/tsailiming/helm-charts/releases/download/nexus-0.1.0/nexus-0.1.0.tgz
28+
version: 0.1.0
1429
generated: "2020-06-03T13:25:52.894984+08:00"

nexus/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Chart.lock
2+
charts/*

nexus/.helmignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/

nexus/Chart.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: v2
2+
name: nexus
3+
description: A Helm chart for deploying Sonatype Nexus
4+
type: application
5+
version: 0.1.0
6+
appVersion: 3.24.0
7+
dependencies:
8+
- name: sonatype-nexus
9+
version: 2.1.0
10+
repository: "https://oteemo.github.io/charts/"

nexus/README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Sonatype Nexus
2+
3+
This is an extension of the upstream Sonatype Nexus chart maintained at https://github.com/oteemo/charts. While we work with them to upstream our changes, we are just pulling in their chart as a dependency.
4+
5+
The values file contained in this repository allows us to deploy the following:
6+
7+
- Nexus at a given version (currently default of 3.22.1)
8+
- Deploys the Nexus Kubernetes plugin which allows us to configure Nexus with a series of ConfigMaps
9+
- By default, configures Nexus with the Red Hat and JBoss Maven repositories
10+
- Configures a docker registry on port 5000
11+
12+
Any of these values can be changed or extended by adding or removing values from the provided values.yaml
13+
14+
To use this chart for installation, you can run the following from this directory:
15+
16+
```sh
17+
> helm dep up
18+
> oc project <my-nexus-project>
19+
> helm install <my-release-name> .
20+
```
21+
22+
After this has been run, you can retrieve your route and login with the default nexus credentials of `admin:admin123`

nexus/templates/NOTES.txt

Whitespace-only changes.

nexus/templates/_helpers.tpl

Whitespace-only changes.

nexus/templates/rolebinding.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: rbac.authorization.k8s.io/v1
2+
kind: RoleBinding
3+
metadata:
4+
name: nexus-admin
5+
roleRef:
6+
apiGroup: rbac.authorization.k8s.io
7+
kind: ClusterRole
8+
name: admin
9+
subjects:
10+
- kind: ServiceAccount
11+
name: nexus-sonatype-nexus
12+
namespace: {{ .Release.Namespace }}

nexus/values.yaml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
sonatype-nexus:
2+
nexus:
3+
imageName: sonatype/nexus3
4+
imageTag: 3.24.0
5+
service:
6+
type: ClusterIP
7+
podAnnotations: {}
8+
securityContextEnabled: false
9+
route:
10+
enabled: true
11+
name: nexus
12+
portName: nexus-service
13+
path: '""'
14+
nexusProxy:
15+
enabled: false
16+
persistence:
17+
storageSize: 20Gi
18+
serviceAccount:
19+
name: nexus
20+
annotations: {}
21+
additionalConfigMaps:
22+
- name: jboss-public
23+
labels:
24+
nexus-type: repository
25+
data:
26+
recipe: 'MavenProxy'
27+
remoteUrl: 'https://repository.jboss.org/nexus/content/groups/public/'
28+
blobStoreName: 'default'
29+
strictContentTypeValidation: 'true'
30+
versionPolicy: 'RELEASE'
31+
layoutPolicy: 'STRICT'
32+
- name: redhat-ga
33+
labels:
34+
nexus-type: repository
35+
data:
36+
recipe: 'MavenProxy'
37+
remoteUrl: 'https://maven.repository.redhat.com/ga/'
38+
blobStoreName: 'default'
39+
strictContentTypeValidation: 'true'
40+
versionPolicy: 'RELEASE'
41+
layoutPolicy: 'STRICT'
42+
- name: redhat-earlyaccess
43+
labels:
44+
nexus-type: repository
45+
data:
46+
recipe: 'MavenProxy'
47+
remoteUrl: 'https://maven.repository.redhat.com/earlyaccess/all/'
48+
blobStoreName: 'default'
49+
strictContentTypeValidation: 'true'
50+
versionPolicy: 'RELEASE'
51+
layoutPolicy: 'STRICT'
52+
- name: redhat-public
53+
labels:
54+
nexus-type: repository
55+
data:
56+
recipe: 'MavenGroup'
57+
members: jboss-public,redhat-ga,redhat-earlyaccess
58+
blobStoreName: 'default'
59+
- name: maven-public
60+
labels:
61+
nexus-type: repository
62+
data:
63+
recipe: 'MavenGroup'
64+
members: maven-releases,maven-snapshots,maven-central,redhat-public
65+
- name: docker-registry
66+
labels:
67+
nexus-type: repository
68+
data:
69+
recipe: 'DockerHosted'
70+
httpPort: '5000'
71+
blobStoreName: 'default'
72+
strictContentTypeValidation: 'true'
73+
v1Enabled: 'true'
74+
writePolicy: 'ALLOW'
75+
forceBasicAuth: 'true'
76+
deployment:
77+
annotations: {}
78+
initContainers:
79+
- name: k8s-plugin-puller
80+
image: curlimages/curl:latest
81+
imagePullPolicy: Always
82+
command: ['sh','-c']
83+
args: ['curl -L -o /k8s-plugin/nexus-openshift-plugin.jar https://github.com/sonatype-nexus-community/nexus-kubernetes-openshift/releases/download/v0.2.8/nexus-openshift-plugin-0.2.8.jar']
84+
volumeMounts:
85+
- name: k8s-plugin
86+
mountPath: /k8s-plugin
87+
additionalVolumes:
88+
- name: k8s-plugin
89+
emptyDir: {}
90+
additionalVolumeMounts:
91+
- mountPath: /opt/sonatype/nexus/deploy/nexus-openshift-plugin.jar
92+
name: k8s-plugin
93+
subPath: nexus-openshift-plugin.jar
94+
service:
95+
enabled: true
96+
name: nexus-service
97+
labels: {}
98+
annotations: {}
99+
portName: nexus-service
100+
port: 8081
101+
targetPort: 8081
102+
ports: []

0 commit comments

Comments
 (0)