Open tdaly61 opened 1 year ago
A couple of comments here...
Providing an option to expose an ingress is a standard Helm practice. ALTHOUGH, Most if not ALL Mojaloop's Ingress's are disabled in a Mojaloop Packaged release by default except for the services exposing the Mojaloop Family of APIs via a default/example DNS name such as {{service}}.local
, and these are done purely for convenience.
Here is a list of Ingress's that are enabled by default to my knowledge:
More info on this below as part of the first example.
As for the examples:
1. Ingres. there is a current thread of 44 replies on help-mojaloop with Dushime , where Miguel is providing copious assistance in his usual helpful and attentive fashion around Ingress endpoints for the standard helm installation of Mojaloop. Yet as developers working on the helm packaging we are shipping Ingres artifacts knowingly untested (see [further refine ingress subsequent to updating to networking/v1 project#2987](https://github.com/mojaloop/project/issues/2987) ) [This one certainly does have security implications]
☝️ A couple of points here:
2. kube-system (NTPD) this component is not deployed , nor used in the current releases and it is unclear that it has even been tested. If nothing else it is "bloat" increasing package sizes and increasing security "attack surface"
☝️ A couple of points here:
helm install mojaloop/kube-system
as an example.
Request Summary:
Proposal The DA should adopt and endorse a design policy regarding all core Mojaloop code and artifacts that "we will only release code or artifacts in a Mojaloop release that are well tested AND we will to the very best of our ability remove all non well tested code and artifacts from any future releases."
Ideally In conjunction with this design policy decision, there should be a high priority initial investigation undertaken to examine the current code base and remove as much unused and untested code and artifacts as possible in the short term.
Request Details:
This request is focused on Pillar #4 (quality product) and works in conjunction with DA #93 and DA 96
Definitions:
Background: Many may be un-aware that we have code and artifacts that are not at all tested or not well tested that we are releasing and providing as part of current Mojaloop releases and this means that any user who deploys a Mojaloop release is at risk of exposing failures and this risks users :
Also this chews up time for Mojaloop developers who will need to spend bulk time interacting and assisting users with issues that could have been avoided.
A final signficant issue here is that inclusion of untested code increases (unnecessarily) the risk of security violations as if nothing else it increases the attack surface of our application(s)
Example(s):
Ingres. there is a current thread of 44 replies on help-mojaloop with Dushime , where Miguel is providing copious assistance in his usual helpful and attentive fashion around Ingress endpoints for the standard helm installation of Mojaloop. Yet as developers working on the helm packaging we are shipping Ingres artifacts knowingly untested (see https://github.com/mojaloop/project/issues/2987 ) [This one certainly does have security implications]
kube-system (NTPD) this component is not deployed , nor used in the current releases and it is unclear that it has even been tested. If nothing else it is "bloat" increasing package sizes and increasing security "attack surface"
Bof/Version v15.0.0 (added post v15.0.0 release) On trying to deploy the Business Operations Framework(Bof), it became questionable as to if the Bof had been tested with v15.0.0 and it appears likely that it was only tested with IaC and the adequacy and effectiveness of that is largely inaccessible to the rest of the community.
These examples raise the question of what else is in the code base that is untested and should be removed.
Impact :
adopting this design proposal may have an impact on delivery dates for our next release BUT the positive impact to quality and security make this a positive investment in meeting future release dates.
better user experience and confidence
avoid reputational damage / build reputation for quality
save $$ on post-release support/hand-holding
Deadline: as soon as possible i.e. what are we going to ship in Mojaloop v15
Impact (Teams): core teams mostly , including those of us working on helm/kubernetes/install
Impact (Components): all code and artifacts
Accountability:
Decision(s):