+
Skip to content

Conversation

rgee0
Copy link
Contributor

@rgee0 rgee0 commented Jun 26, 2025

Description

  • Reorder list of apps
  • Remove duplicate sealed-secrets
  • Extract function to lookup an app
  • Add test for new function

Motivation and Context

  • I have raised an issue to propose this change, which has been given a label of design/approved by a maintainer (required)

Working in this space on a different change and saw the opportunity to simplify and increase test coverage.

How Has This Been Tested?

Functional - print-table

|          TOOL           |                             DESCRIPTION                             |
|-------------------------|---------------------------------------------------------------------|
| argocd                  | Install argocd                                                      |
| cassandra               | Install cassandra                                                   |
| cert-manager            | Install cert-manager                                                |
| chart                   | Install the specified helm chart                                    |
| cockroachdb             | Install CockroachDB                                                 |
| consul-connect          | Install Consul Service Mesh                                         |
| cron-connector          | Install cron-connector for OpenFaaS                                 |
| crossplane              | Install Crossplane                                                  |
| docker-registry         | Install a community maintained Docker registry chart                |
| docker-registry-ingress | Install registry ingress with TLS                                   |
| falco                   | Install Falco                                                       |
| gitea                   | Install gitea                                                       |
| gitlab                  | Install GitLab                                                      |
| grafana                 | Install grafana                                                     |
| influxdb                | Install influxdb                                                    |
| ingress-nginx           | Install ingress-nginx                                               |
| inlets-operator         | Install inlets-operator                                             |
| istio                   | Install istio                                                       |
| jenkins                 | Install jenkins                                                     |
| kafka                   | Install Confluent Platform Kafka                                    |
| kafka-connector         | Install kafka-connector for OpenFaaS                                |
| kong-ingress            | Install kong-ingress for OpenFaaS                                   |
| kube-image-prefetch     | Install kube-image-prefetch                                         |
| kube-state-metrics      | Install kube-state-metrics                                          |
| kubernetes-dashboard    | Install kubernetes-dashboard                                        |
| kuma                    | Install Kuma                                                        |
| kyverno                 | Install Kyverno                                                     |
| linkerd                 | Install linkerd                                                     |
| loki                    | Install Loki for monitoring and tracing                             |
| metallb-arp             | Install MetalLB in L2 (ARP) mode                                    |
| metrics-server          | Install metrics-server                                              |
| minio                   | Install minio                                                       |
| mongodb                 | Install mongodb                                                     |
| mqtt-connector          | Install mqtt-connector for OpenFaaS                                 |
| nats-connector          | Install OpenFaaS connector for NATS                                 |
| nfs-provisioner         | Install nfs subdir external provisioner                             |
| opa-gatekeeper          | Install Open Policy Agent (OPA) Gatekeeper                          |
| openfaas                | Install openfaas                                                    |
| openfaas-ingress        | Install openfaas ingress with TLS                                   |
| openfaas-loki           | Install Loki-OpenFaaS and Configure Loki logs provider for OpenFaaS |
| portainer               | Install portainer to visualise and manage containers                |
| postgresql              | Install postgresql                                                  |
| prometheus              | Install Prometheus for monitoring                                   |
| qemu-static             | Install qemu-user-static                                            |
| rabbitmq                | Install rabbitmq                                                    |
| redis                   | Install redis                                                       |
| registry-creds          | Install registry-creds                                              |
| sealed-secret           | Install sealed-secrets                                              |
| tekton                  | Install Tekton pipelines and dashboard                              |
| traefik2                | Install traefik2                                                    |
| vault                   | Install vault                                                       |
| waypoint                | Install Waypoint                                                    |

There are 52 apps that you can install on your cluster.

Functional - looks for an app that doesn't exist, but is available as a tool

➜  arkade git:(refactorInstall) ✗ ./arkade install temporal     
Error: no such app. temporal is available as a tool, run "arkade get temporal" to get it

Functional - looks for an app that does exist

Note that the install fails on account of there not being a cluster available. The resolution of the app is the important part here.

➜  arkade git:(refactorInstall) ✗ ./arkade install waypoint
Node architecture: ""
Using Kubeconfig: /Users/rgee0/.kube/config
[Warning] unable to create namespace waypoint, may already exist: Unable to connect to the server: dial tcp: lookup 6962b845-fcd2-4a4c-b9f0-1fc18fd47296.k8s.ondigitalocean.com: no such host
Client: arm64, Darwin
2025/06/26 07:48:05 User dir established as: /Users/rgee0/.arkade/
"hashicorp" has been added to your repositories

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "hashicorp" chart repository
...Successfully got an update from the "confluentinc" chart repository
...Successfully got an update from the "openfaas" chart repository
Update Complete. ⎈Happy Helming!⎈

VALUES values.yaml
Command: /Users/rgee0/.arkade/bin/helm [upgrade --install waypoint hashicorp/waypoint --namespace waypoint --values /var/folders/22/3b_f27kj3s37lbfqz_fq44jw0000gp/T/charts/waypoint/values.yaml]
Error: Kubernetes cluster unreachable: Get "https://6962b845-fcd2-4a4c-b9f0-1fc18fd47296.k8s.ondigitalocean.com/version": dial tcp: lookup 6962b845-fcd2-4a4c-b9f0-1fc18fd47296.k8s.ondigitalocean.com: no such host
Error: exit code 1, stderr: Error: Kubernetes cluster unreachable: Get "https://6962b845-fcd2-4a4c-b9f0-1fc18fd47296.k8s.ondigitalocean.com/version": dial tcp: lookup 6962b845-fcd2-4a4c-b9f0-1fc18fd47296.k8s.ondigitalocean.com: no such host

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Maintenance

Documentation

  • I have updated the list of tools in README.md if (required) with ./arkade get --format markdown
  • I have updated the list of apps in README.md if (required) with ./arkade install --help

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I've read the CONTRIBUTION guide
  • I have signed-off my commits with git commit -s
  • I have tested this on arm, or have added code to prevent deployment

@alexellis
Copy link
Owner

@rgee0 thanks for this work. Could you rebase please?

@rgee0 rgee0 force-pushed the refactorInstall branch 2 times, most recently from 69f70f9 to 151e5a3 Compare August 13, 2025 18:12
Signed-off-by: Richard Gee <richard@technologee.co.uk>
@rgee0
Copy link
Contributor Author

rgee0 commented Aug 13, 2025

I think this is back to where it was following a rebase. I reran the original tests and the outcome was the same.

@alexellis alexellis merged commit 5f1a8a0 into alexellis:master Aug 18, 2025
2 checks passed
@alexellis
Copy link
Owner

alexellis commented Aug 18, 2025

OK thanks. Merged.. for release 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载