-
Story
-
Resolution: Done
-
Normal
-
None
-
None
-
5
-
False
-
None
-
False
-
-
-
AppSvc Sprint 242, AppSvc Sprint 243
Owner: Architect:
Martin Mulholland
Story (Required)
As a Primaza Administrator, I would like to invoke primazactl without have to specify a long list of options on the command line.
Background (Required)
With the addition of multi-tenancy the options which must be set, for example, to create a application namespace is getting long.
Glossary
<List of new terms and definition used in this story>
Out of scope
- Deletion of resources
In Scope
- primazactl apply command
- -o --options-file for each command
Approach(Required)
Add the command primazactl apply that takes a config file and creates all the resources in the config file.
Add an option "-o --options-file" to take a config file containing options
if additional option are specified they overwrite the file values
primazactl -o <file> - primazactl creates/joins everything in the file
primazactl create tenant -o <file> - primazactl creates teanant based on values in the file.
primazactl join cluster -o <file> - primazactl joins cluster(s) based on values in the file.
primazactl worker join -o <file> -n <name> - primazactl joins named cluster based on values in the file.
primazactl create application-namespace -o <file> - primazactl creates application namespace based on values in the file
primazactl create application-namespace -o <file> primazactl creates service namespace.
The config file (as suggested by Francesco), for example would look like: ????
apiVersion: primaza.io/v1alpha1 kind: Tenant name: alice kubeconfig: ~/.kube/config context: primaza clusterEnvironments: - name: onprem-cluster environment: dev targetCluster: kubeconfig: ~/.kube/config context: onprem applicationNamespaces: -name: alice-app serviceNamespaces: -name: alice-svc - name: aws-cluster environment: dev targetCluster: kubeconfig: ~/.kube/config-aws context: aws applicationNamespaces: - name: aws-app serviceNamespaces: - name: aws-svc
Demo requirements(Required)
Show use of an options file when running primazactl.
Dependencies
_<Describes what this story depends on. Dependent Stories and EPICs should
be linked to the story.>_
Edge Case
_<Describe edge cases to consider when implementing the story and defining
tests>_
Acceptance Criteria
_<Provides a required and minimum list of acceptance tests for this story.
More is expected as the engineer implements this story>_
Development: primazactl accepts and acts on an options file.
QE: Add test in primazactl to use the config file.
Documentation: Yes, Readme to document option file format and use.
Upstream: <Inputs/Requirement details: Concept/Procedure>/ Not
Applicable
Downstream: <Inputs/Requirement details: Concept/Procedure>/ Not
Applicable
Release Notes Type: <New Feature/Enhancement/Known Issue/Bug
fix/Breaking change/Deprecated Functionality/Technology Preview>
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
v
Legend
Unknown
Verified
Unsatisfied