From 60b82c66b90f4d3141bb7c172da53c1e7445979e Mon Sep 17 00:00:00 2001 From: DeveloperDurp Date: Sun, 16 Oct 2022 12:16:03 -0500 Subject: [PATCH] nexus --- .../templates/nexus-repository-manager.yaml | 23 +++ nexus-repository-manager/values.yaml | 165 ++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 argocd/templates/nexus-repository-manager.yaml create mode 100644 nexus-repository-manager/values.yaml diff --git a/argocd/templates/nexus-repository-manager.yaml b/argocd/templates/nexus-repository-manager.yaml new file mode 100644 index 0000000..8adc91c --- /dev/null +++ b/argocd/templates/nexus-repository-manager.yaml @@ -0,0 +1,23 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: nexus-repository-manager + namespace: argocd +spec: + project: default + source: + repoURL: https://github.com/DeveloperDurp/homelab.git + targetRevision: main + path: nexus-repository-manager + directory: + recurse: true + destination: + server: https://kubernetes.default.svc + namespace: nexus-repository-manager + syncPolicy: + automated: + prune: true + selfHeal: false + syncOptions: + - CreateNamespace=true + diff --git a/nexus-repository-manager/values.yaml b/nexus-repository-manager/values.yaml new file mode 100644 index 0000000..b08cf5f --- /dev/null +++ b/nexus-repository-manager/values.yaml @@ -0,0 +1,165 @@ +nexus-repository-manager: + + deploymentStrategy: Recreate + image: + repository: sonatype/nexus3 + pullPolicy: Always + + nexus: + docker: + enabled: true + registries: + - host: docker.durp.info + port: 5000 + secretName: registry-secret + 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 + -Djava.util.prefs.userRoot=/nexus-data/javaprefs + - 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" + + 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: true + ingressClassName: nginx + annotations: + nginx.ingress.kubernetes.io/proxy-body-size: "0" + hostPath: / + hostRepo: nexus.durp.info + tls: + - secretName: nexus.durp.info + hosts: + - nexus.durp.info + + + 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 + storageClass: "longhorn" + storageSize: 8Gi + + 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: "" + \ No newline at end of file