Skip to content

equinor/radix-cost-allocation

Repository files navigation

build workflow SCM Compliance

RADIX-COST-ALLOCATION

Pulls and stores container and node information into a SQL Server database.

We use helm charts to install on cluster

We use arm template and github action to create azure resources

Deploy SQL scripts

The SQL Server database and objects are deployed on push to master and release branch. All SQL scripts on azure-infrastructure must be idempotent.

Deploy to cluster

Installation on cluster is handled by flux through flux repo.

tag in git repository (in master branch) - matching to the version of Version in charts/Chart.yaml

Development Process

The radix-cost-allocation project follows a trunk-based development approach.

🔁 Workflow

  • External contributors should:

    • Fork the repository
    • Create a feature branch in their fork
  • Maintainers may create feature branches directly in the main repository.

✅ Merging Changes

All changes must be merged into the master branch using pull requests with squash commits.

The squash commit message must follow the Conventional Commits specification.

Release Process

Merging a pull request into master triggers the Prepare release pull request workflow.
This workflow analyzes the commit messages to determine whether the version number should be bumped — and if so, whether it's a major, minor, or patch change.

It then creates two pull requests:

  • one for the new stable version (e.g. 1.2.3), and
  • one for a pre-release version where -rc.[number] is appended (e.g. 1.2.3-rc.1).

Merging either of these pull requests triggers the Create releases and tags workflow.
This workflow reads the version stored in version.txt, creates a GitHub release, and tags it accordingly.

The new tag triggers the Build and deploy Docker and Helm workflow, which:

  • builds and pushes a new container image and Helm chart to ghcr.io, and
  • uploads the Helm chart as an artifact to the corresponding GitHub release.

Contributing

Want to contribute? Read our contributing guidelines

Generating mocks

We use gomock to generate mocks used in unit test. You need to regenerate mocks if you make changes to any of the interface types used by the application; Repository

make mocks

Update version

tag in git repository (in master branch) - matching to the version of appVersion in charts/Chart.yaml

Run following command to set tag (with corresponding version)

git tag v1.0.0
git push origin v1.0.0

Debugging locally

Create a copy of .env.template and name it .env. Set variables to allow local debugging. This file is ignored by git.


Security notification

About

Export resource usage and cost data from prometheus running in cluster to external sql db

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors