From e82e7a3208484ed47ebc47b30c3583712bbb9aab Mon Sep 17 00:00:00 2001 From: Olu Shiyanbade Date: Fri, 2 Sep 2022 11:23:27 +0100 Subject: [PATCH] Remove non resiliency helm3-charts --- Jenkinsfile-Release | 17 +- README.md | 2 +- build.sh | 6 +- docs/nexus-repository-manager-41.1.0.tgz | Bin 12942 -> 0 bytes docs/nexus-repository-manager-41.1.1.tgz | Bin 12941 -> 0 bytes docs/nexus-repository-manager-41.1.2.tgz | Bin 12945 -> 0 bytes docs/nexus-repository-manager-41.1.3.tgz | Bin 12529 -> 0 bytes nexus-repository-manager/Chart.yaml | 40 ---- nexus-repository-manager/LICENSE | 13 -- nexus-repository-manager/README.md | 203 ------------------ nexus-repository-manager/templates/NOTES.txt | 27 --- .../templates/_helpers.tpl | 63 ------ .../templates/configmap-properties.yaml | 17 -- .../templates/configmap.yaml | 15 -- .../templates/deployment.yaml | 163 -------------- .../templates/ingress.yaml | 82 ------- .../templates/proxy-route.yaml | 23 -- nexus-repository-manager/templates/pv.yaml | 26 --- nexus-repository-manager/templates/pvc.yaml | 30 --- nexus-repository-manager/templates/route.yaml | 27 --- .../templates/secret.yaml | 15 -- .../templates/service.yaml | 66 ------ .../templates/serviceaccount.yaml | 15 -- .../templates/test/test-check-logs.yaml | 25 --- .../templates/test/test-connection.yaml | 15 -- .../tests/deployment_test.yaml | 85 -------- .../tests/ingress_test.yaml | 144 ------------- nexus-repository-manager/values.yaml | 178 --------------- 28 files changed, 8 insertions(+), 1289 deletions(-) delete mode 100644 docs/nexus-repository-manager-41.1.0.tgz delete mode 100644 docs/nexus-repository-manager-41.1.1.tgz delete mode 100644 docs/nexus-repository-manager-41.1.2.tgz delete mode 100644 docs/nexus-repository-manager-41.1.3.tgz delete mode 100644 nexus-repository-manager/Chart.yaml delete mode 100644 nexus-repository-manager/LICENSE delete mode 100644 nexus-repository-manager/README.md delete mode 100644 nexus-repository-manager/templates/NOTES.txt delete mode 100644 nexus-repository-manager/templates/_helpers.tpl delete mode 100644 nexus-repository-manager/templates/configmap-properties.yaml delete mode 100644 nexus-repository-manager/templates/configmap.yaml delete mode 100644 nexus-repository-manager/templates/deployment.yaml delete mode 100644 nexus-repository-manager/templates/ingress.yaml delete mode 100644 nexus-repository-manager/templates/proxy-route.yaml delete mode 100644 nexus-repository-manager/templates/pv.yaml delete mode 100644 nexus-repository-manager/templates/pvc.yaml delete mode 100644 nexus-repository-manager/templates/route.yaml delete mode 100644 nexus-repository-manager/templates/secret.yaml delete mode 100644 nexus-repository-manager/templates/service.yaml delete mode 100644 nexus-repository-manager/templates/serviceaccount.yaml delete mode 100644 nexus-repository-manager/templates/test/test-check-logs.yaml delete mode 100644 nexus-repository-manager/templates/test/test-connection.yaml delete mode 100644 nexus-repository-manager/tests/deployment_test.yaml delete mode 100644 nexus-repository-manager/tests/ingress_test.yaml delete mode 100644 nexus-repository-manager/values.yaml diff --git a/Jenkinsfile-Release b/Jenkinsfile-Release index a29062d..8d0a231 100644 --- a/Jenkinsfile-Release +++ b/Jenkinsfile-Release @@ -17,16 +17,6 @@ final jira = [ credentialId : 'jenkins-jira', autoRelease: true, failOnError: true ] -final jiraVersionMappings = [ - 'nexus-repository-manager': 'helm-nxrm', - 'nxrm-aws-resiliency': 'helm-nxrm-aws-resiliency' -] - -final chartLocation = [ - 'nexus-repository-manager': 'nexus-repository-manager', - 'nxrm-aws-resiliency': 'nxrm-aws-resiliency' -] - properties([ parameters([ string( @@ -52,10 +42,11 @@ dockerizedBuildPipeline( buildAndTest: { sonatypeZionGitConfig() runSafely "git checkout ${gitBranch(env)}" - runSafely "./upgrade.sh ./nexus-repository-manager ${chartVersion} ${params.appVersion}" + //runSafely "./upgrade.sh ./nexus-repository-manager ${chartVersion} ${params.appVersion}" runSafely "./upgrade.sh ./nxrm-aws-resiliency ${chartVersion} ${params.appVersion}" - runSafely './build.sh' - runSafely 'git add nxrm-aws-resiliency nexus-repository-manager' + runSafely './build.sh' + runSafely 'git add nxrm-aws-resiliency' + //runSafely 'git add nexus-repository-manager' }, skipVulnerabilityScan: true, archiveArtifacts: 'docs/*', diff --git a/README.md b/README.md index 76ead4a..23a1e68 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ See the [AWS Single-Instance Resiliency Chart](https://github.com/sonatype/nxrm3 * Planning to configure a single Nexus Repository Pro instance within your Kubernetes/EKS cluster with two or more nodes spread across different AZs within an AWS region * Using an external PostgreSQL database (required) -See the [Single-Instance OSS/Pro Kubernetes Chart](https://github.com/sonatype/nxrm3-helm-repository/tree/main/nexus-repository-manager) if you are doing the following: +See the [Single-Instance OSS/Pro Kubernetes Chart](https://github.com/sonatype/helm3-charts/tree/main/charts/nexus-repository-manager) if you are doing the following: * Using embedded OrientDB (required) * Deploying either Nexus Repository Pro or OSS to an on-premises environment with bare metal/VM server (Node) * Deploying a single Nexus Repository instance within a Kubernetes cluster that has a single Node configured diff --git a/build.sh b/build.sh index 2c64c30..443e06a 100755 --- a/build.sh +++ b/build.sh @@ -18,12 +18,12 @@ set -e # lint yaml of charts helm lint ./nxrm-aws-resiliency -helm lint ./nexus-repository-manager +#helm lint ./nexus-repository-manager # unit test (cd ./nxrm-aws-resiliency; helm unittest -3 -t junit -o test-output.xml .) -(cd ./nexus-repository-manager; helm unittest -3 -t junit -o test-output.xml .) +#(cd ./nexus-repository-manager; helm unittest -3 -t junit -o test-output.xml .) # package the charts into tgz archives helm package ./nxrm-aws-resiliency --destination docs -helm package ./nexus-repository-manager --destination docs +#helm package ./nexus-repository-manager --destination docs diff --git a/docs/nexus-repository-manager-41.1.0.tgz b/docs/nexus-repository-manager-41.1.0.tgz deleted file mode 100644 index 103b39fa4d637748699fce78d4bfa0d33c384bc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12942 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 D1rnq} diff --git a/docs/nexus-repository-manager-41.1.2.tgz b/docs/nexus-repository-manager-41.1.2.tgz deleted file mode 100644 index 46d2805b095585102a4478e6a66f15dd621c2d80..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12945 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 H07d}-U08s& diff --git a/docs/nexus-repository-manager-41.1.3.tgz b/docs/nexus-repository-manager-41.1.3.tgz deleted file mode 100644 index 5cc26c19825bde416789283f00575610c07e493c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12529 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 H04f0hwabzY diff --git a/nexus-repository-manager/Chart.yaml b/nexus-repository-manager/Chart.yaml deleted file mode 100644 index 341bf7a..0000000 --- a/nexus-repository-manager/Chart.yaml +++ /dev/null @@ -1,40 +0,0 @@ -apiVersion: v2 -name: nexus-repository-manager - -# This is the chart version. This version number should be incremented each time you make changes -# to the chart and its templates, including the app version. -version: 41.1.3 -# This is the version number of the application being deployed. This version number should be -# incremented each time you make changes to the application. -appVersion: 3.41.1 - -description: Sonatype Nexus Repository Manager - Universal Binary repository - -# A chart can be either an 'application' or a 'library' chart. -# -# Application charts are a collection of templates that can be packaged into versioned archives -# to be deployed. -# -# Library charts provide useful utilities or functions for the chart developer. They're included as -# a dependency of application charts to inject those utilities and functions into the rendering -# pipeline. Library charts do not define any templates and therefore cannot be deployed. -type: application - -keywords: - - artifacts - - dependency - - management - - sonatype - - nexus - - repository - - quickstart - - ci - - repository-manager - - nexus3 -home: https://www.sonatype.com/nexus-repository-oss -icon: https://sonatype.github.io/helm3-charts/NexusRepo_Vertical.svg -sources: - - https://github.com/sonatype/nexus-public -maintainers: - - email: support@sonatype.com - name: Sonatype diff --git a/nexus-repository-manager/LICENSE b/nexus-repository-manager/LICENSE deleted file mode 100644 index 84cbff0..0000000 --- a/nexus-repository-manager/LICENSE +++ /dev/null @@ -1,13 +0,0 @@ -Copyright (c) 2020-present Sonatype, Inc. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/nexus-repository-manager/README.md b/nexus-repository-manager/README.md deleted file mode 100644 index 72843b5..0000000 --- a/nexus-repository-manager/README.md +++ /dev/null @@ -1,203 +0,0 @@ - - -# Nexus Repository - -[Nexus Repository OSS](https://www.sonatype.com/nexus-repository-oss) provides universal support for all major build tools. - -- Store and distribute Maven/Java, npm, NuGet, Helm, Docker, p2, OBR, APT, Go, R, Conan components and more. -- Manage components from dev through delivery: binaries, containers, assemblies, and finished goods. -- Support for the Java Virtual Machine (JVM) ecosystem, including Gradle, Ant, Maven, and Ivy. -- Compatible with popular tools like Eclipse, IntelliJ, Hudson, Jenkins, Puppet, Chef, Docker, and more. - -*Efficiency and Flexibility to Empower Development Teams* - -- Streamline productivity by sharing components internally. -- Gain insight into component security, license, and quality issues. -- Build off-line with remote package availability. -- Integrate with industry-leading build tools. ---- - -## Introduction - -This chart installs a single Nexus Repository instance within a Kubernetes cluster that has a single node (server) configured. It is not appropriate for a resilient Nexus Repository deployment. Refer to our [resiliency documentation](https://help.sonatype.com/repomanager3/planning-your-implementation/resiliency-and-high-availability) for information about resilient Nexus Repository deployment options. - -Use the checklist below to determine if this Helm chart is suitable for your deployment needs. - -### When to Use This Helm Chart -Use this Helm chart if you are doing any of the following: -- Deploying either Nexus Repository Pro or OSS to an on-premises environment with bare metal/VM server (Node) -- Deploying a single Nexus Repository instance within a Kubernetes cluster that has a single Node configured - -> **Note**: If you are using Nexus Repository Pro, your license file and embedded database will reside on the node and be mounted on the container as a Persistent Volume (required). - - -### When Not to Use This Helm Chart -Do not use this Helm chart and, instead, refer to our [resiliency documentation](https://help.sonatype.com/repomanager3/planning-your-implementation/resiliency-and-high-availability) if you are doing any of the following: - -- Deploying Nexus Repository Pro to a cloud environment with the desire for automatic failover across Availability Zones (AZs) within a single region -- Planning to configure a single Nexus Repository Pro instance within your Kubernetes/EKS cluster with two or more nodes spread across different AZs within an AWS region -- Using an external PostgreSQL database - -> **Note**: A Nexus Repository Pro license is required for our resilient deployment options. Your Nexus Repository Pro license file must be stored externally as either mounted from AWS Secrets/Azure Key Vault in AWS/Azure deployments or mounted using Kustomize for on-premises deployments (required). - -> **Note**: We do not currently provide Helm charts for our resilient deployment options. - ---- - -## Prerequisites for This Chart - -- Kubernetes 1.19+ -- PV provisioner support in the underlying infrastructure -- Helm 3 - -### With Open Docker Image - -By default, this Chart uses Sonatype's Public Docker image. If you want to use a different image, run with the following: `--set nexus.imageName=/`. - -### With Red Hat Certified container - -If you're looking run our Certified Red Hat image in an OpenShift4 environment, there is a Certified Operator in OperatorHub. - ---- - -## Adding the repo -To add as a Helm Repo, use the following: -```helm repo add sonatype https://sonatype.github.io/helm3-charts/``` - ---- - -## Testing the Chart -To test the chart, use the following: -```bash -$ helm install --dry-run --debug --generate-name ./ -``` -To test the chart with your own values, use the following: -```bash -$ helm install --dry-run --debug --generate-name -f myvalues.yaml ./ -``` - ---- - -## Installing the Chart - -To install the chart, use the following: - -```bash -$ helm install nexus-rm sonatype/nexus-repository-manager [ --version v29.2.0 ] -``` - -The above command deploys Nexus Repository on the Kubernetes cluster in the default configuration. - -You can pass custom configuration values as follows: - -```bash -$ helm install -f myvalues.yaml sonatype-nexus ./ -``` - -The default login is randomized and can be found in `/nexus-data/admin.password` or you can get the initial static passwords (admin/admin123) -by setting the environment variable `NEXUS_SECURITY_RANDOMPASSWORD` to `false` in your `values.yaml`. - ---- -## Uninstalling the Chart - -To uninstall/delete the deployment, use the following: - -```bash -$ helm list -NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION -plinking-gopher default 1 2021-03-10 15:44:57.301847 -0800 PST deployed nexus-repository-manager-29.2.0 3.29.2 -$ helm delete plinking-gopher -``` - -The command removes all the Kubernetes components associated with the chart and deletes the release. - ---- - -## Configuration - -The following table lists the configurable parameters of the Nexus chart and their default values. - -| Parameter | Description | Default | -|--------------------------------------------|----------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------| -| `deploymentStrategy` | Deployment Strategy | `Recreate` | -| `nexus.imagePullPolicy` | Nexus Repository image pull policy | `IfNotPresent` | -| `nexus.imagePullSecrets` | Secret to download Nexus Repository image from private registry | `nil` | -| `nexus.docker.enabled` | Enable/disable Docker support | `false` | -| `nexus.docker.registries` | Support multiple Docker registries | (see below) | -| `nexus.docker.registries[0].host` | Host for the Docker registry | `cluster.local` | -| `nexus.docker.registries[0].port` | Port for the Docker registry | `5000` | -| `nexus.docker.registries[0].secretName` | TLS Secret Name for the ingress | `registrySecret` | -| `nexus.env` | Nexus Repository environment variables | `[{INSTALL4J_ADD_VM_PARAMS: -Xms1200M -Xmx1200M -XX:MaxDirectMemorySize=2G -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap}]` | -| `nexus.resources` | Nexus Repository resource requests and limits | `{}` | -| `nexus.nexusPort` | Internal port for Nexus Repository service | `8081` | -| `nexus.securityContext` | Security Context (for enabling official image use `fsGroup: 2000`) | `{}` | -| `nexus.labels` | Service labels | `{}` | -| `nexus.podAnnotations` | Pod Annotations | `{}` | -| `nexus.livenessProbe.initialDelaySeconds` | LivenessProbe initial delay | 30 | -| `nexus.livenessProbe.periodSeconds` | Seconds between polls | 30 | -| `nexus.livenessProbe.failureThreshold` | Number of attempts before failure | 6 | -| `nexus.livenessProbe.timeoutSeconds` | Time in seconds after liveness probe times out | `nil` | -| `nexus.livenessProbe.path` | Path for LivenessProbe | / | -| `nexus.readinessProbe.initialDelaySeconds` | ReadinessProbe initial delay | 30 | -| `nexus.readinessProbe.periodSeconds` | Seconds between polls | 30 | -| `nexus.readinessProbe.failureThreshold` | Number of attempts before failure | 6 | -| `nexus.readinessProbe.timeoutSeconds` | Time in seconds after readiness probe times out | `nil` | -| `nexus.readinessProbe.path` | Path for ReadinessProbe | / | -| `nexus.hostAliases` | Aliases for IPs in /etc/hosts | [] | -| `nexus.properties.override` | Set to true to override default nexus.properties | `false` | -| `nexus.properties.data` | A map of custom nexus properties if `override` is set to true | `nexus.scripts.allowCreation: true` | -| `ingress.enabled` | Create an ingress for Nexus Repository | `true` | -| `ingress.annotations` | Annotations to enhance ingress configuration | `{kubernetes.io/ingress.class: nginx}` | -| `ingress.tls.secretName` | Name of the secret storing TLS cert, `false` to use the Ingress' default certificate | `nexus-tls` | -| `ingress.path` | Path for ingress rules. GCP users should set to `/*`. | `/` | -| `tolerations` | tolerations list | `[]` | -| `config.enabled` | Enable configmap | `false` | -| `config.mountPath` | Path to mount the config | `/sonatype-nexus-conf` | -| `config.data` | Configmap data | `nil` | -| `deployment.annotations` | Annotations to enhance deployment configuration | `{}` | -| `deployment.initContainers` | Init containers to run before main containers | `nil` | -| `deployment.postStart.command` | Command to run after starting the container | `nil` | -| `deployment.terminationGracePeriodSeconds` | Update termination grace period (in seconds) | 120s | -| `deployment.additionalContainers` | Add additional Container | `nil` | -| `deployment.additionalVolumes` | Add additional Volumes | `nil` | -| `deployment.additionalVolumeMounts` | Add additional Volume mounts | `nil` | -| `secret.enabled` | Enable secret | `false` | -| `secret.mountPath` | Path to mount the secret | `/etc/secret-volume` | -| `secret.readOnly` | Secret readonly state | `true` | -| `secret.data` | Secret data | `nil` | -| `service.enabled` | Enable additional service | `true` | -| `service.name` | Service name | `nexus3` | -| `service.labels` | Service labels | `nil` | -| `service.annotations` | Service annotations | `nil` | -| `service.type` | Service Type | `ClusterIP` | -| `route.enabled` | Set to true to create route for additional service | `false` | -| `route.name` | Name of route | `docker` | -| `route.portName` | Target port name of service | `docker` | -| `route.labels` | Labels to be added to route | `{}` | -| `route.annotations` | Annotations to be added to route | `{}` | -| `route.path` | Host name of Route e.g. jenkins.example.com | nil | -| `serviceAccount.create` | Set to true to create ServiceAccount | `true` | -| `serviceAccount.annotations` | Set annotations for ServiceAccount | `{}` | -| `serviceAccount.name` | The name of the service account to use. Auto-generate if not set and create is true. | `{}` | -| `persistence.enabled` | Set false to eliminate persistent storage | `true` | -| `persistence.existingClaim` | Specify the name of an existing persistent volume claim to use instead of creating a new one | nil | -| `persistence.storageSize` | Size of the storage the chart will request | `8Gi` | - -### Persistence - -By default, a `PersistentVolumeClaim` is created and mounted into the `/nexus-data` directory. In order to disable this functionality, you can change the `values.yaml` to disable persistence, which will use an `emptyDir` instead. - -> *"An emptyDir volume is first created when a Pod is assigned to a Node, and exists as long as that Pod is running on that node. When a Pod is removed from a node for any reason, the data in the emptyDir is deleted forever."* diff --git a/nexus-repository-manager/templates/NOTES.txt b/nexus-repository-manager/templates/NOTES.txt deleted file mode 100644 index ed3c454..0000000 --- a/nexus-repository-manager/templates/NOTES.txt +++ /dev/null @@ -1,27 +0,0 @@ -{{- if .Values.ingress.enabled }} -1. Your ingresses are available here: - http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $.Values.ingress.hostRepo }}{{ $.Values.ingress.hostPath }} - {{- if $.Values.nexus.docker.enabled }} - {{- range $registry := .Values.nexus.docker.registries }} - https://{{ $registry.host }}/ - {{- end }} - {{- end }} -{{- else if contains "NodePort" .Values.service.type }} -1. Get the application URL by running these commands: - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "nexus.fullname" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") - Your application is available at http://$NODE_IP:$NODE_PORT -{{- else if contains "LoadBalancer" .Values.service.type }} -1. Get the application URL by running these commands: - NOTE: It may take a few minutes for the LoadBalancer IP to be available. - You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "nexus.fullname" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "nexus.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") - {{- range $index, $port := .Values.service.ports }} - Your application is available at http://$SERVICE_IP:{{ $port }} - {{- end }} -{{- else if contains "ClusterIP" .Values.service.type }} -1. Get the application URL by running these commands: - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "nexus.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") - kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8081:80 - Your application is available at http://127.0.0.1 -{{- end }} diff --git a/nexus-repository-manager/templates/_helpers.tpl b/nexus-repository-manager/templates/_helpers.tpl deleted file mode 100644 index e726f1f..0000000 --- a/nexus-repository-manager/templates/_helpers.tpl +++ /dev/null @@ -1,63 +0,0 @@ -{{/* vim: set filetype=mustache: */}} -{{/* -Expand the name of the chart. -*/}} -{{- define "nexus.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 "nexus.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 "nexus.chart" -}} -{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} -{{- end -}} - -{{/* -Common labels -*/}} -{{- define "nexus.labels" -}} -helm.sh/chart: {{ include "nexus.chart" . }} -{{ include "nexus.selectorLabels" . }} -{{- if .Chart.AppVersion }} -app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} -{{- end }} -app.kubernetes.io/managed-by: {{ .Release.Service }} -{{- end -}} - -{{/* -Selector labels -*/}} -{{- define "nexus.selectorLabels" -}} -app.kubernetes.io/name: {{ include "nexus.name" . }} -app.kubernetes.io/instance: {{ .Release.Name }} -{{- end -}} - -{{/* -Create the name of the service account to use -*/}} -{{- define "nexus.serviceAccountName" -}} -{{- if .Values.serviceAccount.create -}} - {{ default (include "nexus.fullname" .) .Values.serviceAccount.name }} -{{- else -}} - {{ default "default" .Values.serviceAccount.name }} -{{- end -}} -{{- end -}} diff --git a/nexus-repository-manager/templates/configmap-properties.yaml b/nexus-repository-manager/templates/configmap-properties.yaml deleted file mode 100644 index c1a5808..0000000 --- a/nexus-repository-manager/templates/configmap-properties.yaml +++ /dev/null @@ -1,17 +0,0 @@ -{{- if .Values.nexus.properties.override -}} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "nexus.name" . }}-properties - labels: {{- include "nexus.labels" . | nindent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -data: - nexus.properties: | - {{- range $k, $v := .Values.nexus.properties.data }} - {{ $k }}={{ $v }} - {{- end }} -{{- end }} \ No newline at end of file diff --git a/nexus-repository-manager/templates/configmap.yaml b/nexus-repository-manager/templates/configmap.yaml deleted file mode 100644 index 55418b1..0000000 --- a/nexus-repository-manager/templates/configmap.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if .Values.config.enabled -}} -apiVersion: v1 -kind: ConfigMap -metadata: - name: {{ template "nexus.name" . }}-conf - labels: -{{ include "nexus.labels" . | indent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -data: -{{ toYaml .Values.config.data | indent 2 }} -{{- end }} \ No newline at end of file diff --git a/nexus-repository-manager/templates/deployment.yaml b/nexus-repository-manager/templates/deployment.yaml deleted file mode 100644 index a1f1880..0000000 --- a/nexus-repository-manager/templates/deployment.yaml +++ /dev/null @@ -1,163 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{ template "nexus.fullname" . }} - labels: -{{ include "nexus.labels" . | indent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -{{- if .Values.deployment.annotations }} - annotations: - {{ toYaml .Values.deployment.annotations | nindent 4 }} -{{- end }} -spec: - replicas: 1 - strategy: - type: {{ .Values.deploymentStrategy }} - selector: - matchLabels: - {{- include "nexus.selectorLabels" . | nindent 6 }} - {{- if .Values.nexus.extraSelectorLabels }} - {{- with .Values.nexus.extraSelectorLabels }} - {{ toYaml . | indent 6 }} - {{- end }} - {{- end }} - template: - metadata: - annotations: - checksum/configmap-properties: {{ include (print .Template.BasePath "/configmap-properties.yaml") $ | sha256sum }} - {{- if .Values.nexus.podAnnotations }} - {{ toYaml .Values.nexus.podAnnotations | nindent 8}} - {{- end }} - labels: - {{- include "nexus.selectorLabels" . | nindent 8 }} - spec: - serviceAccountName: {{ include "nexus.serviceAccountName" . }} - {{- if .Values.deployment.initContainers }} - initContainers: - {{ toYaml .Values.deployment.initContainers | nindent 6 }} - {{- end }} - {{- if .Values.nexus.nodeSelector }} - nodeSelector: - {{ toYaml .Values.nexus.nodeSelector | nindent 8 }} - {{- end }} - {{- if .Values.nexus.hostAliases }} - hostAliases: - {{ toYaml .Values.nexus.hostAliases | nindent 8 }} - {{- end }} - {{- if .Values.nexus.imagePullSecrets }} - imagePullSecrets: - {{- toYaml . | nindent 8 }} - {{- end }} - {{- if .Values.deployment.terminationGracePeriodSeconds }} - terminationGracePeriodSeconds: {{ .Values.deployment.terminationGracePeriodSeconds }} - {{- end }} - containers: - - name: {{ .Chart.Name }} - image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" - imagePullPolicy: {{ .Values.image.pullPolicy }} - - lifecycle: - {{- if .Values.deployment.postStart.command }} - postStart: - exec: - command: {{ .Values.deployment.postStart.command }} - {{- end }} - env: - {{ toYaml .Values.nexus.env | nindent 12 }} - envFrom: - {{ toYaml .Values.nexus.envFrom | nindent 12 }} - resources: - {{ toYaml .Values.nexus.resources | nindent 12 }} - ports: - - name: nexus-ui - containerPort: {{ .Values.nexus.nexusPort }} - {{- if .Values.nexus.docker.enabled }} - {{- range .Values.nexus.docker.registries }} - - name: docker-{{ .port }} - containerPort: {{ .port }} - {{- end }} - {{- end }} - livenessProbe: - httpGet: - path: {{ .Values.nexus.livenessProbe.path }} - port: {{ .Values.nexus.nexusPort }} - initialDelaySeconds: {{ .Values.nexus.livenessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.nexus.livenessProbe.periodSeconds }} - failureThreshold: {{ .Values.nexus.livenessProbe.failureThreshold }} - {{- if .Values.nexus.livenessProbe.timeoutSeconds }} - timeoutSeconds: {{ .Values.nexus.livenessProbe.timeoutSeconds }} - {{- end }} - readinessProbe: - httpGet: - path: {{ .Values.nexus.readinessProbe.path }} - port: {{ .Values.nexus.nexusPort }} - initialDelaySeconds: {{ .Values.nexus.readinessProbe.initialDelaySeconds }} - periodSeconds: {{ .Values.nexus.readinessProbe.periodSeconds }} - failureThreshold: {{ .Values.nexus.readinessProbe.failureThreshold }} - {{- if .Values.nexus.readinessProbe.timeoutSeconds }} - timeoutSeconds: {{ .Values.nexus.readinessProbe.timeoutSeconds }} - {{- end }} - volumeMounts: - - mountPath: /nexus-data - name: {{ template "nexus.name" . }}-data - {{- if .Values.config.enabled }} - - mountPath: {{ .Values.config.mountPath }} - name: {{ template "nexus.name" . }}-conf - {{- end }} - {{- if .Values.nexus.properties.override }} - - mountPath: /nexus-data/etc/nexus.properties - name: {{ template "nexus.name" . }}-properties - subPath: nexus.properties - {{- end }} - {{- if .Values.secret.enabled }} - - mountPath: {{ .Values.secret.mountPath }} - name: {{ template "nexus.name" . }}-secret - readOnly: {{ .Values.secret.readOnly }} - {{- end }} - {{- if .Values.deployment.additionalVolumeMounts}} - {{ toYaml .Values.deployment.additionalVolumeMounts | nindent 12 }} - {{- end }} - {{- if .Values.deployment.additionalContainers }} - {{ toYaml .Values.deployment.additionalContainers | nindent 8 }} - {{- end }} - {{- if .Values.nexus.securityContext }} - securityContext: - {{ toYaml .Values.nexus.securityContext | nindent 8 }} - {{- end }} - volumes: - - name: {{ template "nexus.name" . }}-data - {{- if .Values.persistence.enabled }} - persistentVolumeClaim: - claimName: {{ .Values.persistence.existingClaim | default (printf "%s-%s" (include "nexus.fullname" .) "data") }} - {{- else }} - emptyDir: {} - {{- end }} - {{- if .Values.config.enabled }} - - name: {{ template "nexus.name" . }}-conf - configMap: - name: {{ template "nexus.name" . }}-conf - {{- end }} - {{- if .Values.nexus.properties.override }} - - name: {{ template "nexus.name" . }}-properties - configMap: - name: {{ template "nexus.name" . }}-properties - items: - - key: nexus.properties - path: nexus.properties - {{- end }} - {{- if .Values.secret.enabled }} - - name: {{ template "nexus.name" . }}-secret - secret: - secretName: {{ template "nexus.name" . }}-secret - {{- end }} - {{- if .Values.deployment.additionalVolumes }} - {{ toYaml .Values.deployment.additionalVolumes | nindent 8 }} - {{- end }} - {{- with .Values.tolerations }} - tolerations: - {{ toYaml . | nindent 8 }} - {{- end }} diff --git a/nexus-repository-manager/templates/ingress.yaml b/nexus-repository-manager/templates/ingress.yaml deleted file mode 100644 index 6decf52..0000000 --- a/nexus-repository-manager/templates/ingress.yaml +++ /dev/null @@ -1,82 +0,0 @@ -{{- if .Values.ingress.enabled -}} -{{- $fullName := include "nexus.fullname" . -}} -{{- $svcPort := .Values.nexus.nexusPort -}} -{{- $ingressPath := .Values.ingress.path -}} -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ $fullName }} - labels: - {{- include "nexus.labels" . | nindent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} - {{- with .Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - {{- if .Values.ingress.ingressClassName }} - ingressClassName: {{ .Values.ingress.ingressClassName }} - {{- end }} - {{- if .Values.ingress.tls }} - tls: - {{- range .Values.ingress.tls }} - - hosts: - {{- range .hosts }} - - {{ . | quote }} - {{- end }} - secretName: {{ .secretName }} - {{- end }} - {{- end }} - rules: - - host: {{ .Values.ingress.hostRepo }} - http: - paths: - - path: {{ .Values.ingress.hostPath }} - pathType: Prefix - backend: - service: - name: {{ $fullName }} - port: - number: 8081 - -{{ if .Values.nexus.docker.enabled }} -{{ range $registry := .Values.nexus.docker.registries }} ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: {{ $fullName | trunc 49 }}-docker-{{ $registry.port }} - labels: - {{- include "nexus.labels" $ | nindent 4 }} - {{- if $.Values.nexus.extraLabels }} - {{- with $.Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} - {{- with $.Values.ingress.annotations }} - annotations: - {{- toYaml . | nindent 4 }} - {{- end }} -spec: - tls: - - hosts: - - {{ $registry.host | quote }} - secretName: {{ $registry.secretName }} - rules: - - host: {{ $registry.host }} - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: {{ $fullName | trunc 49 }}-docker-{{ $registry.port }} - port: - number: {{ $registry.port }} -{{- end }} {{- /* range of nexus.docker.registries */ -}} -{{- end }} {{- /* nexus.docker.enabled */ -}} -{{- end }} {{- /* ingress.enabled */ -}} diff --git a/nexus-repository-manager/templates/proxy-route.yaml b/nexus-repository-manager/templates/proxy-route.yaml deleted file mode 100644 index f66e135..0000000 --- a/nexus-repository-manager/templates/proxy-route.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{{- if .Values.nexusProxyRoute.enabled }} -apiVersion: route.openshift.io/v1 -kind: Route -metadata: - name: {{ template "nexus.fullname" . }} - labels: {{ .Values.nexusProxyRoute.labels }} - annotations: - {{- range $key, $value := .Values.nexusProxyRoute.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - host: {{ .Values.nexusProxyRoute.path }} - port: - targetPort: {{ template "nexus.fullname" . }} - tls: - insecureEdgeTerminationPolicy: Redirect - termination: edge - to: - kind: Service - name: {{ template "nexus.fullname" . }} - weight: 100 - wildcardPolicy: None -{{- end }} diff --git a/nexus-repository-manager/templates/pv.yaml b/nexus-repository-manager/templates/pv.yaml deleted file mode 100644 index 1f17872..0000000 --- a/nexus-repository-manager/templates/pv.yaml +++ /dev/null @@ -1,26 +0,0 @@ -{{- if not .Values.statefulset.enabled }} -{{- if .Values.persistence.pdName -}} -apiVersion: v1 -kind: PersistentVolume -metadata: - name: {{ .Values.persistence.pdName }} - labels: -{{ include "nexus.labels" . | indent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -spec: - capacity: - storage: {{ .Values.persistence.storageSize }} - accessModes: - - ReadWriteOnce - claimRef: - namespace: {{ .Release.Namespace }} - name: {{ template "nexus.fullname" . }}-data - gcePersistentDisk: - pdName: {{ .Values.persistence.pdName }} - fsType: {{ .Values.persistence.fsType }} -{{- end }} -{{- end }} diff --git a/nexus-repository-manager/templates/pvc.yaml b/nexus-repository-manager/templates/pvc.yaml deleted file mode 100644 index 32e9b78..0000000 --- a/nexus-repository-manager/templates/pvc.yaml +++ /dev/null @@ -1,30 +0,0 @@ -{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} -kind: PersistentVolumeClaim -apiVersion: v1 -metadata: - name: {{ template "nexus.fullname" . }}-data - labels: -{{ include "nexus.labels" . | indent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -{{- if .Values.persistence.annotations }} - annotations: -{{ toYaml .Values.persistence.annotations | indent 4 }} -{{- end }} -spec: - accessModes: - - {{ .Values.persistence.accessMode | quote }} - resources: - requests: - storage: {{ .Values.persistence.storageSize | quote }} -{{- if .Values.persistence.storageClass }} -{{- if (eq "-" .Values.persistence.storageClass) }} - storageClassName: "" -{{- else }} - storageClassName: "{{ .Values.persistence.storageClass }}" -{{- end }} -{{- end }} -{{- end }} diff --git a/nexus-repository-manager/templates/route.yaml b/nexus-repository-manager/templates/route.yaml deleted file mode 100644 index cf76e5b..0000000 --- a/nexus-repository-manager/templates/route.yaml +++ /dev/null @@ -1,27 +0,0 @@ -{{- if .Values.route.enabled }} -apiVersion: route.openshift.io/v1 -kind: Route -metadata: - name: {{ .Values.route.name }} - labels: {{ .Values.route.labels }} - annotations: - {{- range $key, $value := .Values.route.annotations }} - {{ $key }}: {{ $value | quote }} - {{- end }} -spec: - host: {{ .Values.route.path }} - port: - targetPort: {{ .Values.service.portName }} - tls: - insecureEdgeTerminationPolicy: Redirect - termination: edge - to: - kind: Service -{{- if .Values.service.name }} - name: {{ .Values.service.name }} -{{- else }} - name: {{ template "nexus.name" . }}-service -{{- end }} - weight: 100 - wildcardPolicy: None -{{- end }} diff --git a/nexus-repository-manager/templates/secret.yaml b/nexus-repository-manager/templates/secret.yaml deleted file mode 100644 index 3dbbcd4..0000000 --- a/nexus-repository-manager/templates/secret.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if .Values.secret.enabled -}} -apiVersion: v1 -kind: Secret -metadata: - name: {{ template "nexus.name" . }}-secret - labels: -{{ include "nexus.labels" . | indent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -data: -{{ toYaml .Values.secret.data | indent 2 }} -{{- end}} diff --git a/nexus-repository-manager/templates/service.yaml b/nexus-repository-manager/templates/service.yaml deleted file mode 100644 index ba7acb7..0000000 --- a/nexus-repository-manager/templates/service.yaml +++ /dev/null @@ -1,66 +0,0 @@ -{{- if .Values.service.enabled -}} ---- -apiVersion: v1 -kind: Service -metadata: - name: {{ include "nexus.fullname" . }} -{{- if .Values.service.annotations }} - annotations: -{{ toYaml .Values.service.annotations | indent 4 }} -{{- end }} - labels: - {{- include "nexus.labels" . | nindent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -spec: - type: {{ .Values.service.type }} - ports: - - port: {{ .Values.nexus.nexusPort }} - protocol: TCP - name: nexus-ui - selector: - {{- include "nexus.selectorLabels" . | nindent 4 }} - {{- if .Values.nexus.extraSelectorLabels }} - {{- with .Values.nexus.extraSelectorLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} - -{{- if .Values.nexus.docker.enabled }} -{{- range $registry := .Values.nexus.docker.registries }} ---- -apiVersion: v1 -kind: Service -metadata: - name: {{ include "nexus.fullname" $ | trunc 49 }}-docker-{{ $registry.port }} -{{- if $.Values.service.annotations }} - annotations: -{{ toYaml $.Values.service.annotations | indent 4 }} -{{- end }} - labels: - {{- include "nexus.labels" $ | nindent 4 }} - {{- if $.Values.nexus.extraLabels }} - {{- with $.Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -spec: - type: {{ $.Values.service.type }} - ports: - - port: {{ $registry.port }} - protocol: TCP - name: docker-{{ $registry.port }} - selector: - {{- include "nexus.selectorLabels" $ | nindent 4 }} - {{- if $.Values.nexus.extraSelectorLabels }} - {{- with $.Values.nexus.extraSelectorLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} -{{- end }} - -{{- end }} -{{- end }} diff --git a/nexus-repository-manager/templates/serviceaccount.yaml b/nexus-repository-manager/templates/serviceaccount.yaml deleted file mode 100644 index 5bb8fa5..0000000 --- a/nexus-repository-manager/templates/serviceaccount.yaml +++ /dev/null @@ -1,15 +0,0 @@ -{{- if .Values.serviceAccount.create -}} -apiVersion: v1 -kind: ServiceAccount -metadata: - name: {{ include "nexus.serviceAccountName" . }} - labels: {{- include "nexus.labels" . | nindent 4 }} - {{- if .Values.nexus.extraLabels }} - {{- with .Values.nexus.extraLabels }} - {{ toYaml . | indent 4 }} - {{- end }} - {{- end }} - {{- with .Values.serviceAccount.annotations }} - annotations: {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} diff --git a/nexus-repository-manager/templates/test/test-check-logs.yaml b/nexus-repository-manager/templates/test/test-check-logs.yaml deleted file mode 100644 index 43637fb..0000000 --- a/nexus-repository-manager/templates/test/test-check-logs.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# This test checks the logs to confirm the running app version is the same as the chart app version -# This test will run only if the flag persistence.enabled is true on the values.yaml file -{{- if .Values.persistence.enabled }} -apiVersion: v1 -kind: Pod -metadata: - name: "{{ .Release.Name }}-test-check-logs" - annotations: - "helm.sh/hook": test - "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded,hook-failed -spec: - containers: - - name: {{ .Release.Name }}-test-check-logs - image: busybox - command: ["/bin/sh"] - args: ["-c", "cat /nexus-data/log/nexus.log | grep {{ .Chart.AppVersion }} || exit 1"] - volumeMounts: - - mountPath: /nexus-data - name: {{ template "nexus.name" . }}-data - volumes: - - name: {{ template "nexus.name" . }}-data - persistentVolumeClaim: - claimName: {{ .Values.persistence.existingClaim | default (printf "%s-%s" (include "nexus.fullname" .) "data") }} - restartPolicy: Never -{{- end }} diff --git a/nexus-repository-manager/templates/test/test-connection.yaml b/nexus-repository-manager/templates/test/test-connection.yaml deleted file mode 100644 index 55f1036..0000000 --- a/nexus-repository-manager/templates/test/test-connection.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# This test checks that the server is up and running by making a wget -apiVersion: v1 -kind: Pod -metadata: - name: "{{ .Release.Name }}-test-connection" - annotations: - "helm.sh/hook": test - "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded,hook-failed -spec: - containers: - - name: {{ .Release.Name }}-test-connection - image: busybox - command: ['wget'] - args: ['{{ include "nexus.fullname" . }}:{{ .Values.nexus.nexusPort }}'] - restartPolicy: Never diff --git a/nexus-repository-manager/tests/deployment_test.yaml b/nexus-repository-manager/tests/deployment_test.yaml deleted file mode 100644 index 8eb0a1e..0000000 --- a/nexus-repository-manager/tests/deployment_test.yaml +++ /dev/null @@ -1,85 +0,0 @@ -suite: deployment -templates: - - deployment.yaml - - configmap-properties.yaml -tests: - - it: renders with defaults - template: deployment.yaml - asserts: - - hasDocuments: - count: 1 - - isKind: - of: Deployment - - equal: - path: apiVersion - value: apps/v1 - - equal: - path: metadata.name - value: RELEASE-NAME-nexus-repository-manager - - matchRegex: - path: metadata.labels.[app.kubernetes.io/name] - pattern: nexus-repository-manager - - matchRegex: - path: metadata.labels.[app.kubernetes.io/version] - pattern: 3\.\d+\.\d+ - - matchRegex: - path: spec.template.metadata.annotations.[checksum/configmap-properties] - pattern: .+ - - equal: - path: spec.replicas - value: 1 - - equal: - path: spec.strategy.type - value: Recreate - - matchRegex: - path: spec.template.spec.containers[0].image - pattern: sonatype/nexus3:3\.\d+\.\d+ - - equal: - path: spec.template.spec.containers[0].securityContext - value: null - - equal: - path: spec.template.spec.containers[0].imagePullPolicy - value: IfNotPresent - - equal: - path: spec.template.spec.containers[0].env - value: - - name: INSTALL4J_ADD_VM_PARAMS - value: -Xms2703M -Xmx2703M -XX:MaxDirectMemorySize=2703M -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap - - name: NEXUS_SECURITY_RANDOMPASSWORD - value: "true" - - equal: - path: spec.template.spec.containers[0].ports - value: - - containerPort: 8081 - name: nexus-ui - - equal: - path: spec.template.spec.containers[0].livenessProbe - value: - failureThreshold: 6 - httpGet: - path: / - port: 8081 - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - - equal: - path: spec.template.spec.containers[0].readinessProbe - value: - failureThreshold: 6 - httpGet: - path: / - port: 8081 - initialDelaySeconds: 30 - periodSeconds: 30 - timeoutSeconds: 10 - - equal: - path: spec.template.spec.containers[0].volumeMounts - value: - - mountPath: /nexus-data - name: nexus-repository-manager-data - - equal: - path: spec.template.spec.volumes - value: - - name: nexus-repository-manager-data - persistentVolumeClaim: - claimName: RELEASE-NAME-nexus-repository-manager-data diff --git a/nexus-repository-manager/tests/ingress_test.yaml b/nexus-repository-manager/tests/ingress_test.yaml deleted file mode 100644 index 9541c18..0000000 --- a/nexus-repository-manager/tests/ingress_test.yaml +++ /dev/null @@ -1,144 +0,0 @@ -suite: ingress -templates: - - ingress.yaml -tests: - - it: renders with defaults - set: - ingress: - enabled: true - asserts: - - hasDocuments: - count: 1 - - isKind: - of: Ingress - - equal: - path: apiVersion - value: networking.k8s.io/v1 - - equal: - path: metadata.labels.[app.kubernetes.io/instance] - value: RELEASE-NAME - - equal: - path: metadata.labels.[app.kubernetes.io/managed-by] - value: Helm - - matchRegex: - path: metadata.labels.[app.kubernetes.io/version] - pattern: \d+\.\d+\.\d+ - - matchRegex: - path: metadata.labels.[helm.sh/chart] - pattern: nexus-repository-manager-\d+\.\d+\.\d+ - - equal: - path: metadata.labels.[app.kubernetes.io/name] - value: nexus-repository-manager - - equal: - path: metadata.annotations - value: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - - - documentIndex: 0 - equal: - path: metadata.name - value: RELEASE-NAME-nexus-repository-manager - - documentIndex: 0 - equal: - path: spec - value: - ingressClassName: nginx - rules: - - host: repo.demo - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: RELEASE-NAME-nexus-repository-manager - port: - number: 8081 - - it: renders a second docker ingress - set: - ingress: - enabled: true - nexus: - docker: - enabled: true - registries: - - host: docker.repo.demo - port: 5000 - secretName: registry-secret - asserts: - - hasDocuments: - count: 2 - - isKind: - of: Ingress - - equal: - path: apiVersion - value: networking.k8s.io/v1 - - equal: - path: metadata.labels.[app.kubernetes.io/instance] - value: RELEASE-NAME - - equal: - path: metadata.labels.[app.kubernetes.io/managed-by] - value: Helm - - matchRegex: - path: metadata.labels.[app.kubernetes.io/version] - pattern: \d+\.\d+\.\d+ - - matchRegex: - path: metadata.labels.[helm.sh/chart] - pattern: nexus-repository-manager-\d+\.\d+\.\d+ - - equal: - path: metadata.labels.[app.kubernetes.io/name] - value: nexus-repository-manager - - equal: - path: metadata.annotations - value: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - - - documentIndex: 0 - equal: - path: metadata.name - value: RELEASE-NAME-nexus-repository-manager - - - documentIndex: 1 - equal: - path: metadata.name - value: RELEASE-NAME-nexus-repository-manager-docker-5000 - - documentIndex: 1 - equal: - path: spec - value: - rules: - - host: docker.repo.demo - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: RELEASE-NAME-nexus-repository-manager-docker-5000 - port: - number: 5000 - tls: - - hosts: - - docker.repo.demo - secretName: registry-secret - - - it: is disabled by default - asserts: - - hasDocuments: - count: 0 - - - it: renders with tls config when provided - set: - ingress: - enabled: true - tls: - - secretName: nexus-tls-local - hosts: - - repo.host - asserts: - - equal: - path: spec.tls - value: - - secretName: nexus-tls-local - hosts: - - repo.host diff --git a/nexus-repository-manager/values.yaml b/nexus-repository-manager/values.yaml deleted file mode 100644 index 321f5c8..0000000 --- a/nexus-repository-manager/values.yaml +++ /dev/null @@ -1,178 +0,0 @@ ---- -statefulset: - # This is not supported - enabled: false -# By default deploymentStrategy is set to rollingUpdate with maxSurge of 25% and maxUnavailable of 25% . you can change type to `Recreate` or can uncomment `rollingUpdate` specification and adjust them to your usage. -deploymentStrategy: Recreate -image: - # Sonatype Official Public Image - repository: sonatype/nexus3 - tag: 3.41.1 - pullPolicy: IfNotPresent - -nexus: - docker: - enabled: false - # registries: - # - host: chart.local - # port: 5000 - # secretName: registrySecret - env: - # minimum recommended memory settings for a small, person instance from - # https://help.sonatype.com/repomanager3/product-information/system-requirements - - name: INSTALL4J_ADD_VM_PARAMS - value: "-Xms2703M -Xmx2703M -XX:MaxDirectMemorySize=2703M -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap" - - name: NEXUS_SECURITY_RANDOMPASSWORD - value: "true" - properties: - override: false - data: - nexus.scripts.allowCreation: true - # See this article for ldap configuratioon options https://support.sonatype.com/hc/en-us/articles/216597138-Setting-Advanced-LDAP-Connection-Properties-in-Nexus-Repository-Manager - # nexus.ldap.env.java.naming.security.authentication: simple - # nodeSelector: - # cloud.google.com/gke-nodepool: default-pool - resources: - # minimum recommended memory settings for a small, person instance from - # https://help.sonatype.com/repomanager3/product-information/system-requirements - # requests: - # cpu: 4 - # memory: 8Gi - # limits: - # cpu: 4 - # memory: 8Gi - - # The ports should only be changed if the nexus image uses a different port - nexusPort: 8081 - - # Default the pods UID and GID to match the nexus3 container. - # Customize or remove these values from the securityContext as appropriate for - # your deployment environment. - securityContext: - runAsUser: 200 - runAsGroup: 200 - fsGroup: 200 - podAnnotations: {} - livenessProbe: - initialDelaySeconds: 30 - periodSeconds: 30 - failureThreshold: 6 - timeoutSeconds: 10 - path: / - readinessProbe: - initialDelaySeconds: 30 - periodSeconds: 30 - failureThreshold: 6 - timeoutSeconds: 10 - path: / - # hostAliases allows the modification of the hosts file inside a container - hostAliases: [] - # - ip: "192.168.1.10" - # hostnames: - # - "example.com" - # - "www.example.com" - - -imagePullSecrets: [] -nameOverride: "" -fullnameOverride: "" - -deployment: - # # Add annotations in deployment to enhance deployment configurations - annotations: {} - # # Add init containers. e.g. to be used to give specific permissions for nexus-data. - # # Add your own init container or uncomment and modify the given example. - initContainers: - # - name: fmp-volume-permission - # image: busybox - # imagePullPolicy: IfNotPresent - # command: ['chown','-R', '200', '/nexus-data'] - # volumeMounts: - # - name: nexus-data - # mountPath: /nexus-data - # Uncomment and modify this to run a command after starting the nexus container. - postStart: - command: # '["/bin/sh", "-c", "ls"]' - preStart: - command: # '["/bin/rm", "-f", "/path/to/lockfile"]' - terminationGracePeriodSeconds: 120 - additionalContainers: - additionalVolumes: - additionalVolumeMounts: - -ingress: - enabled: false - ingressClassName: nginx - annotations: - nginx.ingress.kubernetes.io/proxy-body-size: "0" - hostPath: / - hostRepo: repo.demo - # tls: - # - secretName: nexus-local-tls - # hosts: - # - repo.demo - - -service: - name: nexus3 - enabled: true - labels: {} - annotations: {} - type: ClusterIP - - -route: - enabled: false - name: docker - portName: docker - labels: - annotations: - # path: /docker - -nexusProxyRoute: - enabled: false - labels: - annotations: - # path: /nexus - -persistence: - enabled: true - accessMode: ReadWriteOnce - ## If defined, storageClass: - ## If set to "-", storageClass: "", which disables dynamic provisioning - ## If undefined (the default) or set to null, no storageClass spec is - ## set, choosing the default provisioner. (gp2 on AWS, standard on - ## GKE, AWS & OpenStack) - ## - # existingClaim: - # annotations: - # "helm.sh/resource-policy": keep - # storageClass: "-" - storageSize: 8Gi - # If PersistentDisk already exists you can create a PV for it by including the 2 following keypairs. - # pdName: nexus-data-disk - # fsType: ext4 - -tolerations: [] - -# Enable configmap and add data in configmap -config: - enabled: false - mountPath: /sonatype-nexus-conf - data: [] - -# # To use an additional secret, set enable to true and add data -secret: - enabled: false - mountPath: /etc/secret-volume - readOnly: true - data: [] - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: ""