Git Product home page Git Product logo

back-stack's People

Contributors

djeremiah avatar patelrit avatar scubbo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

back-stack's Issues

Discrepancy between name of host cluster in Argo and Backstage

In backstage/catalog/resources/hostcluster.yaml, the Host cluster is named hostcluster. However, when it's registered with Argo, it is named in-cluster. This leads to a discrepancy when creating an application to run on the cluster (i.e. without creating "spoke" clusters), since line 65 of backstage/catalog/templates/application/template.yaml extracts the name of the Catalog-resource cluster as the cluster_id - resulting in an Argo Application trying to deploy to hostcluster when Argo only knows about a cluster named in-cluster.

I'm not sure how to resolve this. I was able to make a successful application deployment by manually changing Argo's view of the name of the cluster to hostcluster, to match the name in the Backstage catalog, but I'd rather find a way to do so from GitOps configuration rather than manual action. Some ideas:

  • when I tried changing the name in hostcluster.yaml to in-cluster (so that it would match what Argo calls the "self" cluster), Backstage became inaccessible - I got 502 Bad Gateway when accessing https://backstage-7f000001.nip.io, despite the pods, service, ingress etc. all looking healthy.
  • presumably if there was a way to override Argo's cluster-naming via GitOps configuration, that would work - but I don't see any such configuration in the source repo
  • alternatively, the backstage/catalog/templates/application/template.yaml file could be updated with some (pseudo-code) if (.name == 'hostcluster') then {'in-cluster'} else {.name} - but, as my pseudo-code probably makes clear, I have no idea how to accomplish that.

`helm upgrade ... --set-json` requires some version of `helm` >3.93 <=3.13.1

Issue

This line of the local-install.sh script uses --set-json, which appears to be unsupported on the version of helm I was previously using:

$ helm version
version.BuildInfo{Version:"v3.9.3", GitCommit:"414ff28d4029ae8c8b05d62aa06c7fe3dee2bc58", GitTreeState:"clean", GoVersion:"go1.17.13"}

$ helm upgrade --install ess-plugin-vault oci://xpkg.upbound.io/crossplane-contrib/ess-plugin-vault --namespace crossplane-system --set-json podAnnotations='{"vault.hashicorp.com/agent-inject": "true", "vault.hashicorp.com/agent-inject-token": "true", "vault.hashicorp.com/role": "crossplane", "vault.hashicorp.com/agent-run-as-user": "65532"}'

Error: unknown flag: --set-json

However, after upgrading helm, the command completed with no issues:

$ helm version
version.BuildInfo{Version:"v3.13.1", GitCommit:"3547a4b5bf5edb5478ce352e18858d8a552a4110", GitTreeState:"clean", GoVersion:"go1.20.8"}

$ helm upgrade --install ess-plugin-vault oci://xpkg.upbound.io/crossplane-contrib/ess-plugin-vault --namespace crossplane-system --set-json podAnnotations='{"vault.hashicorp.com/agent-inject": "true", "vault.hashicorp.com/agent-inject-token": "true", "vault.hashicorp.com/role": "crossplane", "vault.hashicorp.com/agent-run-as-user": "65532"}'

Pulled: xpkg.upbound.io/crossplane-contrib/ess-plugin-vault:0.1.0
Digest: sha256:449ccc4791b7d6e047bb4c1b3e6ec3bc42c2ad0d5ed2a5122ffaa1e16478b40b
Release "ess-plugin-vault" has been upgraded. Happy Helming!
NAME: ess-plugin-vault
LAST DEPLOYED: Fri Nov 10 16:19:05 2023
NAMESPACE: crossplane-system
STATUS: deployed
REVISION: 2
TEST SUITE: None

Proposed fix

Simple: Update to README.md mentioning the minimum required version of helm
Better: version check in local-install.sh which errors out if unsupported version of helm is present

Other notes

Right now I'm focused on getting my own version of the Stack up-and-running - I had a quick Google to look for the helm version which introduced --set-json, but couldn't find it. If no-one's picked this up by the time I have a working Stack, I'd be happy to address this myself.

Hub Cluster Up

Bash script to install:

  • Crossplane

Compositions to bootstrap:

  • Argo
  • Kyverno
  • Backstage

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.