Skip to content

For discussion: some breaking changes #212

@gilesknap

Description

@gilesknap

The Last of the Breaking Changes for epics-containers

Intro

A few things that require breaking changes have been mounting up. Here I'm trying to collect everything I can think of it so we can have one last go at making the framework tidy, before it gets fully out into the wild and is no longer mutable.

Goals

  • Make helm charts look like standard patterns and easy to understand
  • Have all helm charts able to share the common fields from helm create (tolerations, labels etc.)
  • standardise on the method of making and publishing helm values schema
  • Make it easy and tidy to make a fastCS helm chart that works as an IOC or non IOC inside an epics-containers services repo or outside of one
  • make the PVC ArgoCD App have a prefix in its name so it can be deployed to the Accelerator with multiple services repos
  • make the ec tool more generally useful and not IOC specific
  • make tracking main in ArgoCD a possibility
  • Add a way to publish techUI assets to IOC instances (also use this mechanism for extra soft support)

Things to Change

  • Look hard at the config folder hashing problem - do we need a breaking change to make that work?
  • move epics-opis and epics-pvcs:
    • implement backup for autosave PVCS and execute for those IOCs that need it
    • Rename epics-pvcs ArgoCD application to ixx-pvcs (required for accelerator)
    • Rename epics-opis ArgoCD application and service to ixx-opis (required for accelerator)
    • Change all PVCs so that their PVs are retained when the PVC is deleted
    • restore backed up autosave
  • remove all of the the generated variables at the top of the ioc-instance helm chart such as $opisClaim $location etc
    • instead explcitly add them to the shared values.yaml
    • if they are missing then don't declare a PVC and don't mount
    • or some better pattern for discussion
  • rename iocEnv and globalEnv values to env and .global.env and make the former override the latter
  • structure ec-helm-charts/Charts like fastcs/Charts and add the helm schema precommit
  • Look hard at the config folder hashing problem - do we need a breaking change to make that work?
  • Also look at the techUI publishing problem.
  • remove ec-services from ixx-deployment/apps/values.yaml and only have services
    • then: have ec report it cannot stop services that dont support enabled
    • use a label on the pod to declare it supports enabled
  • UPDATE DOCUMENTATION to reflect the above (internal and external docs)

Required Improvements to ec

  • make argocd login happen on any command when cached creds are out of date
    • and cope with running over ssh from home (how?)
  • remove the confusing environment.sh or at least make it work in DLS (from services and deployment repos?)
  • make ec work for IOCs and non IOCs
  • add exec and attach to ec (requires that the argocd backend can also call kubectl)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions