Sammy Kerata Oina 938dd6cb78 NOISSUE - mTLS support across services (#71)
* Implemented mTLS support across services

Extended gRPC configuration to support mutual TLS (mTLS) in agent and manager components for enhanced security. This includes the loading of Certificate Authority (CA) certificates, server, and client certificates, and keys. Updated README documentation to reflect the new environment variables required for mTLS configuration. Additionally, streamlined secure gRPC client connection setup and logging messages to indicate whether a service is running with TLS, mTLS, or without TLS.

The change ensures secure communication between services by verifying both client and server identities, thus addressing potential security concerns in network-level interactions.

Signed-off-by: SammyOina <sammyoina@gmail.com>

* Enhance agent cert handling and update copyright

- Implement function to create certificate files for the agent configuration dynamically, ensuring file paths are updated to reflect newly created files. This improves the agent's setup process by automating the certificate handling.
- Update copyright clause to reflect the new owning entity, Ultraviolet, affirming correct attribution and compliance with legal requirements.
- Refactor gRPC client connection code to remove redundant package alias, streamlining the codebase and improving readability.

Signed-off-by: SammyOina <sammyoina@gmail.com>

* Refactor cert loading with fallbacks

Removed redundant certificate file creation logic in the agent module and introduced a more robust loading mechanism in the gRPC server module to support direct byte content aside from file paths. This change simplifies the initial setup process for the agent by removing the need to create certificate files preemptively, thereby streamlining deployment in environments with varying filesystem access. It supports using certificate contents directly, enhancing compatibility with in-memory configurations or environments where file storage may not be ideal.

Signed-off-by: SammyOina <sammyoina@gmail.com>

* fix lint

Signed-off-by: SammyOina <sammyoina@gmail.com>

---------

Signed-off-by: SammyOina <sammyoina@gmail.com>
2024-02-08 10:07:51 +01:00
2024-02-07 16:16:27 +01:00
2024-01-09 19:56:31 +01:00
2023-03-27 13:56:05 +02:00
2024-01-25 15:29:16 +01:00
2024-01-25 15:29:16 +01:00

Cocos AI

Cocos AI (Confdential Computing System for AI/ML) is a platform for secure multiparty computation (SMPC) based on the Confidential Computing and Trusted Execution Environments (TEEs).

With Cocos AI it becomes possible to run AI/ML workloads on combined datasets from multiple organizations while guaranteeing the privacy and security of the data and the algorithms. Data is always encrypted, protected by hardware secure enclaves (Trusted Execution Environments), attested via secure remote attestation protocols, and invisible to cloud processors or any other 3rd party to which computation is offloaded.

Usage

The quickest way to start using Cocos is via the CLI. The latest version can be downloaded from the official releases page.

It can also be built and used from the project's root directory:

make cli
./build/cocos-cli version

Additional details on using the CLI can be found in the CLI documentation.

Documentation

Official documentation is hosted at [Cocos official docs page][docs]. Documentation is auto-generated, checkout the instructions on official docs repository.

License

Cocos AI is a proprietary product created by Ultraviolet company.

S
Description
Cocos AI - Confidential Computing System for AI
Readme 14 MiB
Languages
Go 95.4%
Shell 2.2%
Makefile 1.7%
Python 0.4%
Rust 0.3%