cloud-native-toolkit / planning

The is the planning repo to manage the cross project Epics and Issues. Tasks and Bugs
3 stars 1 forks source link

Change User Model to input a "Project Profile" rather than going into various configs within forked git iteration-zero which might be lost when overriding #223

Open rbarcia opened 4 years ago

rbarcia commented 4 years ago

Is your feature request related to a problem? Please describe. Current model is update files in subdirectories like terraform/stage-crc. Then I need to update the toolkit and I have to stash my changes and redo it.

Describe the solution you'd like 1.) User creates a profile file of tools and config cluster_type=ocp4 server_url=...... ibm_cloud_managed_servcide={...}

2.) ../runTerraform.sh -projectProfile=myFIle

Additional context Consider YAML as an input format so it can be operator driven in the future.

seansund commented 4 years ago

This is related to #224 . #224 is more about the wizard that guides the user selection process with the goal of ultimately producing a workspace directory that has all the desired modules. This story can be an intermediate step and/or the entry point for more advanced users.

The output of the UI/cli/interactive shell should be a yaml configuration file as described in this story. The yaml file can then be processed by the scripts to prepare the terraform modules for packaging in a private catalog or applying directly to the cluster. Eventually that yaml file could become a CR that the uber operator uses to configure the tools in the cluster.

seansund commented 4 years ago
tools:
  ci-pipeline:
   - type: jenkins
     config: {}
   - type: tekton
     config: {}
  cd-pipeline:
  quality-gate:
  contract-testing:
  library-management:
  artifact-management:
  image-registry:
  logging: 
    type: efk | cluster-logging-operator | ibm-managed-logdna | external-logdna | splunk
    config: {}
  monitoring-stack: 
    type: ibm-managed-sysdig | prometheus-grafana | cluster-monitoring-operator
    config: {}
  metering-stack: ?
    type: olm
    config: {}
  chatops-tools:
    type: slack | ... (configure build results)