Skip to content

Typescript Kubernetes starter template, can be used to bootstrap a Node.JS TypeScript project that interfaces with the Kubernetes API

License

Notifications You must be signed in to change notification settings

curium-rocks/kube-starter-template

Repository files navigation

Typescript-Kube-Template

Quality Gate Status Coverage Security Rating Vulnerabilities Code Smells Bugs

This template provides a few things to kick start a project that interacts with the kubernetes api. In it's current form when you run npm start the project will connect to the kubernetes cluster set as your default context and build a deduplicated list of the container image information and print it to the terminal.

NPM Scripts

The following scripts are included in the NPM project configuration

  • lintlints the source code using eslint
  • lint:fix automatically fixes any lint errors that can be fixed automatically
  • test uses jest to run test suites
  • build compiles the typescript into js and places it in the dist folder
  • start runs the compiled js in dist

Structure

This is meant to include service abstractions, ideally each service should provide an interface/contract exposing the functionality that other things in the application need.

Currently this is setup to house factories or other items to provide instances of third party things/modules that will be bound by the InversifyJS IoC container so they can be injected into other things with @inject()

This houses interfaces/models with little to no logic, the intent is these items can be passed/returned from the abstractions in services and avoid tight coupling to third party types.

This defines symbols for each type that will be configured in the IoC container, these are used to identify the type when using @inject(TYPES.Services.Kubernetes) for example. For more information refer to inversify.

This file maps the types defined in ./src/types.ts to interface types. For more information refer to inversify.

After Using as Template Todo List

  1. Update Sonar Project Properties For Sonar Cloud
  2. Add SONARQUBE_KEY secret to your repo or org if not already present
  3. Point badges in README.md to correct location for you repo
  4. Update renovate.json to meet desired behavior for your needs, docs can be found here.
  5. Update this readme to reflect your project name and info

About

Typescript Kubernetes starter template, can be used to bootstrap a Node.JS TypeScript project that interfaces with the Kubernetes API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published