GithubHelp home page GithubHelp logo

config-framework-service's Introduction

Cray Configuration Framework Service

Generating the server

The OpenAPI specification automatically generates server code as a function of building the docker image, however, it may be desirable to generate the server code while writing and testing code locally, outside of the docker image itself. This is helpful when the openapi code in question generates stubbed content, to be later filled in by the application developer.

NOTE: Generated code that does not have Cray authored additions should not be checked in for this repository. The .gitignore file has patterns that match generated code to help prevent this kind of check-in.

To manually update the server code into your local checkout, run the following command:

$ cd $REPO
$ ./regenerate-server.sh

Testing

See cms-tools repo for details on running CT tests for this service.

Build Helpers

This repo uses some build helpers from the cms-meta-tools repo. See that repo for more details.

Local Builds

If you wish to perform a local build, you will first need to clone or copy the contents of the cms-meta-tools repo to ./cms_meta_tools in the same directory as the Makefile. When building on github, the cloneCMSMetaTools() function clones the cms-meta-tools repo into that directory.

For a local build, you will also need to manually write the .version, .docker_version (if this repo builds a docker image), and .chart_version (if this repo builds a helm chart) files. When building on github, this is done by the setVersionFiles() function.

Versioning

The version of this repo is generated dynamically at build time by running the version.py script in cms-meta-tools. The version is included near the very beginning of the github build output.

In order to make it easier to go from an artifact back to the source code that produced that artifact, a text file named gitInfo.txt is added to Docker images built from this repo. For Docker images, it can be found in the / folder. This file contains the branch from which it was built and the most recent commits to that branch.

For helm charts, a few annotation metadata fields are appended which contain similar information.

For RPMs, a changelog entry is added with similar information.

New Release Branches

When making a new release branch: * Be sure to set the .x and .y files to the desired major and minor version number for this repo for this release. * If an update_external_versions.conf file exists in this repo, be sure to update that as well, if needed.

Copyright and License

This project is copyrighted by Hewlett Packard Enterprise Development LP and is under the MIT license. See the LICENSE file for details.

When making any modifications to a file that has a Cray/HPE copyright header, that header must be updated to include the current year.

When creating any new files in this repo, if they contain source code, they must have the HPE copyright and license text in their header, unless the file is covered under someone else's copyright/license (in which case that should be in the header). For this purpose, source code files include Dockerfiles, Ansible files, RPM spec files, and shell scripts. It does not include Jenkinsfiles, OpenAPI/Swagger specs, or READMEs.

When in doubt, provided the file is not covered under someone else's copyright or license, then it does not hurt to add ours to the header.

Contributing

When making contributions, please update the .version file with the appropriate SemVer version for the changes.

config-framework-service's People

Contributors

dborman-hpe avatar dlaine-hpe avatar dlaine-hpe-2 avatar jsl-hpe avatar jsollom-hpe avatar juliansmit-hpe avatar landsteiner avatar mharding-hpe avatar mitcharf avatar mtupitsyn avatar rbak-hpe avatar rkleinman-hpe avatar taylorludwig avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

andyw-lala

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.