Shoulder.dev Logo Shoulder.dev

Project Structure

actions/ - This directory contains the GitHub Actions workflows and configuration files for the project.
api/ - This directory contains the API definition and implementation for the Timoni tool.
api/v1alpha1/ - This subdirectory contains the API definition files for the v1alpha1 version of Timoni.
blueprints/ - This directory contains example configurations and templates for using Timoni.
cmd/ - This directory contains the command-line interface (CLI) implementation for Timoni.
docs/ - This directory contains documentation for Timoni, including user guides, API references, and marketing materials.
examples/ - This directory contains example projects that demonstrate how to use Timoni.
hack/ - This directory contains development-related files, such as scripts for building and testing the project.
internal/ - This directory contains the internal implementation details of Timoni, including the engine and runtime components.
logo/ - This directory contains the project logo files in various formats.
schemas/ - This directory contains the schema files used by Timoni for defining and validating configurations.
CODE_OF_CONDUCT.md - This file contains the code of conduct for the project, outlining expected behavior for contributors.
CONTRIBUTING.md - This file contains guidelines for contributing to the project, including how to submit pull requests and report issues.
DCO - This file contains the Developer Certificate of Origin (DCO) statement, which signifies that each commit is made by someone who has the legal right to submit it under the project's license.
LICENSE - This file contains the project license, which specifies the terms under which the project can be used, modified, and distributed.
Makefile - This file contains build instructions for the project using the Make build automation tool.
README.md - This file contains an introduction to the project, including its purpose, installation instructions, and usage examples.
SECURITY.md - This file contains information about security vulnerabilities and how to report them to the project maintainers.
go.mod - This file is used by Go to manage the project's dependencies.
go.sum - This file contains the cryptographic checksums for the project's dependencies, to ensure their integrity.
mkdocs.yml - This file contains the configuration for the MkDocs documentation generator.
proto-plugin.toml - This file contains the configuration for the Protocol Buffers plugin used by Timoni.

Entrypoints

cmd/timoni/main.go - The main entrypoint of the Timoni application. It initializes the command-line flags, sets up the cache directory, and starts the application with the provided configuration.
internal/config/kubeconfig.go - Handles loading and parsing of Kubernetes configuration files.
internal/config/timoni.go - Defines the configuration structure for the Timoni application.
internal/controller/controller.go - Contains the main logic for the Timoni controller, which processes the configuration and executes the desired actions.
internal/controller/kubeclient.go - Handles the interaction with the Kubernetes API using the Kubernetes client library.
internal/controller/log.go - Manages logging for the Timoni application.
internal/controller/utils.go - Contains various utility functions used throughout the Timoni controller.
internal/model/model.go - Defines the data structures and methods for the Timoni model, which represents the state of the application and the results of its actions.
internal/plugin/plugin.go - Handles loading and executing plugins, which can be used to extend the functionality of the Timoni application.
internal/plugin/pluginmanager.go - Manages the lifecycle of plugins, including loading, registering, and unloading.
internal/plugin/plugins/exampleplugin.go - An example plugin for the Timoni application, demonstrating how to create and use a custom plugin.
internal/timoni/timoni.go - The main entrypoint for the Timoni application's logic, which initializes the configuration, sets up the controller, and executes the desired actions.
pkg/timoni/version.go - Provides the version information for the Timoni application.

Coming Soon: Learn Directly From VS Code

Dive into a world where learning and coding merge seamlessly, right within your favorite development environment!

Introducing the Shoulder.dev VS Code Extension, your gateway to mastering new skills without ever leaving Visual Studio Code. Imagine having the power to learn directly from your IDE, where every line of code you write not only builds your project but also your proficiency.

Clone Repository

After downloading, proceed to clone the repository to your local machine by executing the following command in your terminal:

git clone https://github.com/stefanprodan/timoni/

Now, you can open the repository in your preferred code editor to explore or modify the project.

Screenshots

Here is an example of the VS Code Extension

Explanation