All Projects → sonatype → helm3-charts

sonatype / helm3-charts

Licence: other
Helm3 charts for Nexus IQ

Programming Languages

shell
77523 projects
Mustache
554 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to helm3-charts

nexus-platform-plugin
Nexus Platform Plugin for Jenkins
Stars: ✭ 25 (-70.24%)
Mutual labels:  nexus-iq, lifecycle-integrations
K8s Intro Tutorials
Kubernetes Intro Tutorials
Stars: ✭ 183 (+117.86%)
Mutual labels:  minikube
Video Transcode Queue
A sample video upload platform as a kubernetes cluster (WIP)
Stars: ✭ 66 (-21.43%)
Mutual labels:  minikube
Kubernetes Envoy Example
Teaching myself about Envoy on Kubernetes
Stars: ✭ 116 (+38.1%)
Mutual labels:  minikube
Demo
Easy to use KubeVirt demo based on minikube.
Stars: ✭ 88 (+4.76%)
Mutual labels:  minikube
Sample Spring Microservices Kubernetes
sample spring boot application that uses some features provided by spring cloud kubernetes, spring cloud ribbon and zuul proxy deployed on Kubernetes
Stars: ✭ 123 (+46.43%)
Mutual labels:  minikube
Kubernetes Challenge
Kubernetes challenge
Stars: ✭ 30 (-64.29%)
Mutual labels:  minikube
distributed-cache-on-k8s-poc
[PoC] Distributed Cache with Akka Cluster Sharding and Akka HTTP on Kubernetes
Stars: ✭ 15 (-82.14%)
Mutual labels:  minikube
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+2946.43%)
Mutual labels:  minikube
Docker Machine Driver Vmware
Docker machine driver for VMware Fusion and Workstation.
Stars: ✭ 114 (+35.71%)
Mutual labels:  minikube
Gluu Docker
Project for Gluu Docker files
Stars: ✭ 103 (+22.62%)
Mutual labels:  minikube
Jhipster Microservices Example
JHipster Microservices Example using Spring Cloud, Spring Boot, Angular, Docker, and Kubernetes
Stars: ✭ 100 (+19.05%)
Mutual labels:  minikube
Laravel Docker K8s
Running Laravel project using Docker and Deploying using Kubernetes
Stars: ✭ 127 (+51.19%)
Mutual labels:  minikube
Openstack Helm
PROJECT HAS MOVED TO OPENSTACK
Stars: ✭ 67 (-20.24%)
Mutual labels:  minikube
Freshpod
Restart Pods on Minikube automatically on image rebuilds
Stars: ✭ 251 (+198.81%)
Mutual labels:  minikube
Local Development
[Deprecated] Run Hasura locally on your computer
Stars: ✭ 38 (-54.76%)
Mutual labels:  minikube
Kubeflow
Machine Learning Toolkit for Kubernetes
Stars: ✭ 11,028 (+13028.57%)
Mutual labels:  minikube
nextjs-graphql-auth
Authentication system using NextJS, GraphQL, Apollo Client, Apollo Server, MongoDB, Nginx, Docker, Docker-Compose and Kubernetes
Stars: ✭ 27 (-67.86%)
Mutual labels:  minikube
Aws Minikube
Single node Kubernetes instance implemented using Terraform and kubeadm
Stars: ✭ 101 (+20.24%)
Mutual labels:  minikube
Awesome Kubernetes
A curated list for awesome kubernetes sources 🚢🎉
Stars: ✭ 12,306 (+14550%)
Mutual labels:  minikube

Lint and Test Charts

Helm3 Charts for Sonatype Products

Nexus Repository 3 Helm charts are now being published to our Nexus Repository 3 Helm Repository.

Use the new repository to obtain the latest Nexus Repository 3 charts.

These charts are designed to work out of the box with minikube using both ingess and ingress dns addons.

The current releases have been tested on minikube v1.12.3 running k8s v1.18.3

User Documentation

See docs/index.md which is also https://sonatype.github.io/helm3-charts/

Contributing

See the contributing document for details.

For Sonatypers, note that external contributors must sign the CLA and the Dev-Ex team must verify this prior to accepting any PR.

Updating Charts

Charts for Nexus IQ and for NXRM can be updated in charts/ directories. The most common updates will be to use new application images and to bump chart versions for release.

There should likely be no reason to update anything in docs/ by hand.

Test a chart in a local k8s cluster (like minikube) by installing the local copy from within each charts directory:

helm install --generate-name ./

Packaging and Indexing for Release

Sonatype CI build will package, commit, and publish to the official helm repository.

Upon update of the charts/, run build.sh from here in the project root to create tgz packages of the latest chart changes and regenerate the index.yaml file to the docs/ directory which is the root of the repo site.

The build process requires Helm 3.

Manually Testing the Helm Charts

To test Helm Charts locally you will need to follow the next steps:

  1. Install docker, helm, kubectl, and minikube, if you don't already have it on your local workstation.
    • You could also use docker with k8s enabled instead of minikube. You don't need both.
  2. Start up minikube: minikube start
  3. Confirm minikube is up and running: minikube status
  4. List the existing pods in the cluster: kubectl get pods (There should not be anything listed at this point.)
  5. Install the helm chart in any of these ways:
    • From a copy of the source: helm install iq {path/to/your/helm3-charts}/charts/nexus-iq --wait
    • From our production online repo: Add our helm repo locally as instructed at https://sonatype.github.io/helm3-charts/
  6. List installed servers with helm: helm list
  7. Watch the server start in kubernetes by running: kubectl get pods
  8. Use the pod name you get from last command to follow the console logs: kubectl logs -f iq-nexus-iq-server-xxx
  9. Confirm expected version numbers in those logs.
  10. Forward a localhost port to a port on the running pod: kubectl port-forward iq-nexus-iq-server-xxx 8070
  11. Connect and check that your fresh new server is successfully running: http://localhost:8070/
  12. Uninstall the server with helm: helm delete iq
  13. Confirm it's gone: helm list && kubectl get pods
  14. Shutdown minikube: minikube stop

Running Lint

Helm's Lint command will highlight formatting problems in the charts that need to be corrected.

helm lint charts/nexus-iq charts/nexus-repository-manager

Running Unit Tests

To unit test the helm charts you can follow the next steps:

  1. Install the unittest plugin for Helm: https://github.com/quintush/helm-unittest
  2. Run the tests for each individual chart:
    • cd charts/nexus-iq; helm unittest -3 -t junit -o test-output.xml .
    • cd charts/nexus-repository-manager; helm unittest -3 -t junit -o test-output.xml .

Running Integration Tests

You can run the integration tests for the helm charts by running the next commands.

Before running the integration tests:

  • Install docker, helm, kubectl, and minikube, if you don't already have it on your local workstation.
    • You could also use docker with k8s enabled instead of minikube.
  • The integration tests will be executed on a running cluster. Each test will create a new POD that will connect to the server installed by our helm chart. Check this

Running integration tests for Nexus IQ:

  1. From source code: helm install iq ./charts/nexus-iq --wait
  2. Run the tests: helm test iq

Running integration tests for Nexus Repository Manager:

  1. From source code: helm install nxrm ./charts/nexus-repository-manager --wait
  2. Run the tests: helm test nxrm

Further Notes on Usage

Resolver File and Ingress-DNS

Get the default values.yaml for each chart.

  • Nexus Repository: helm show values sonatype/nexus-repository-manager > repo-values.yaml
  • Nexus IQ: helm show values sonatype/nexus-iq-server > iq-values.yaml

Edit the values file you just downloaded to enable ingress support, and install the chart with those values:

  • Nexus Repository: helm install nexus-repo sonatype/nexus-repository-manager -f repo-values.yaml
  • Nexus IQ: helm install nexus-iq sonatype/nexus-iq-server -f iq-values.yaml

If you want to use the custom values file for the demo environment that expose the apps on a local domain of *.demo which is done by creating a resolver file. On a Mac it's /etc/resolver/minikube-minikube-demo with the following entries:

domain demo
nameserver 192.168.64.8
search_order 1
timeout 5

You'll need to update the IP address to match the running instance's IP address. Use minikube ip to get the address

Docs for Ingress-dns are here https://github.com/kubernetes/minikube/tree/master/deploy/addons/ingress-dns

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].