Uploaded image for project: 'Service Binding'
  1. Service Binding
  2. APPSVC-1343

Primazactl- enable options in config file

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Normal Normal
    • Primaza 0.1
    • None
    • Service Binding
    • None
    • 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

              mmulholl Martin Mulholland (Inactive)
              mmulholl Martin Mulholland (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: