Restructure solution layout by module
This commit is contained in:
99
src/PacksRegistry/StellaOps.PacksRegistry.sln
Normal file
99
src/PacksRegistry/StellaOps.PacksRegistry.sln
Normal file
@@ -0,0 +1,99 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "StellaOps.PacksRegistry", "StellaOps.PacksRegistry", "{5E837028-56B3-94B8-18C9-620EA4BA051A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Core", "StellaOps.PacksRegistry\StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj", "{5827B712-158F-4C99-859A-308A612F9482}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Infrastructure", "StellaOps.PacksRegistry\StellaOps.PacksRegistry.Infrastructure\StellaOps.PacksRegistry.Infrastructure.csproj", "{1870FA80-A39D-4115-90AC-CB13E5640372}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Tests", "StellaOps.PacksRegistry\StellaOps.PacksRegistry.Tests\StellaOps.PacksRegistry.Tests.csproj", "{9594F2C3-D509-419E-81CC-615798845A53}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.WebService", "StellaOps.PacksRegistry\StellaOps.PacksRegistry.WebService\StellaOps.PacksRegistry.WebService.csproj", "{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Worker", "StellaOps.PacksRegistry\StellaOps.PacksRegistry.Worker\StellaOps.PacksRegistry.Worker.csproj", "{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|x64.Build.0 = Release|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{5827B712-158F-4C99-859A-308A612F9482}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372}.Release|x86.Build.0 = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|x64.Build.0 = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9594F2C3-D509-419E-81CC-615798845A53}.Release|x86.Build.0 = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|x64.Build.0 = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60}.Release|x86.Build.0 = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|x64.Build.0 = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{5827B712-158F-4C99-859A-308A612F9482} = {5E837028-56B3-94B8-18C9-620EA4BA051A}
|
||||
{1870FA80-A39D-4115-90AC-CB13E5640372} = {5E837028-56B3-94B8-18C9-620EA4BA051A}
|
||||
{9594F2C3-D509-419E-81CC-615798845A53} = {5E837028-56B3-94B8-18C9-620EA4BA051A}
|
||||
{316EBEF5-5749-486A-B9E8-A3DDE0AEAE60} = {5E837028-56B3-94B8-18C9-620EA4BA051A}
|
||||
{E6F019B3-D1BA-4E2D-808C-9A0A215096C5} = {5E837028-56B3-94B8-18C9-620EA4BA051A}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
17
src/PacksRegistry/StellaOps.PacksRegistry/AGENTS.md
Normal file
17
src/PacksRegistry/StellaOps.PacksRegistry/AGENTS.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Packs Registry Service — Agent Charter
|
||||
|
||||
## Mission
|
||||
Host signed Task Pack bundles with provenance and RBAC for Epic 12. Ensure packs are verifiable, auditable, and distributed safely, respecting the imposed rule to propagate similar safeguards elsewhere.
|
||||
|
||||
## Responsibilities
|
||||
- Maintain packs index, signature verification, provenance metadata, tenant visibility, and registry APIs.
|
||||
- Integrate with CLI, Task Runner, Orchestrator, Authority, Export Center, and DevOps tooling.
|
||||
- Guarantee deterministic digest computations, immutable history, and secure storage of pack artefacts.
|
||||
|
||||
## Module Layout
|
||||
- `StellaOps.PacksRegistry.Core/` — pack catalogue models, validation, lifecycle orchestration.
|
||||
- `StellaOps.PacksRegistry.Infrastructure/` — storage providers, signature verification hooks, provenance stores.
|
||||
- `StellaOps.PacksRegistry.WebService/` — registry APIs and RBAC enforcement.
|
||||
- `StellaOps.PacksRegistry.Worker/` — background reconciliation, mirroring, and rotation jobs.
|
||||
- `StellaOps.PacksRegistry.Tests/` — unit tests validating core/infrastructure logic.
|
||||
- `StellaOps.PacksRegistry.sln` — module solution.
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace StellaOps.PacksRegistry.Core;
|
||||
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace StellaOps.PacksRegistry.Infrastructure;
|
||||
|
||||
public class Class1
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj"/>
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
<OutputType>Exe</OutputType>
|
||||
|
||||
|
||||
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
|
||||
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
|
||||
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
|
||||
<UseConcelierTestInfra>false</UseConcelierTestInfra>
|
||||
|
||||
|
||||
<LangVersion>preview</LangVersion>
|
||||
|
||||
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
|
||||
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<PackageReference Include="xunit.v3" Version="3.0.0"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.3"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
<Content Include="xunit.runner.json" CopyToOutputDirectory="PreserveNewest"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
<Using Include="Xunit"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Infrastructure\StellaOps.PacksRegistry.Infrastructure.csproj"/>
|
||||
|
||||
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace StellaOps.PacksRegistry.Tests;
|
||||
|
||||
public class UnitTest1
|
||||
{
|
||||
[Fact]
|
||||
public void Test1()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"$schema": "https://xunit.net/schema/current/xunit.runner.schema.json"
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
|
||||
// Add services to the container.
|
||||
// Learn more about configuring OpenAPI at https://aka.ms/aspnet/openapi
|
||||
builder.Services.AddOpenApi();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// Configure the HTTP request pipeline.
|
||||
if (app.Environment.IsDevelopment())
|
||||
{
|
||||
app.MapOpenApi();
|
||||
}
|
||||
|
||||
app.UseHttpsRedirection();
|
||||
|
||||
var summaries = new[]
|
||||
{
|
||||
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
||||
};
|
||||
|
||||
app.MapGet("/weatherforecast", () =>
|
||||
{
|
||||
var forecast = Enumerable.Range(1, 5).Select(index =>
|
||||
new WeatherForecast
|
||||
(
|
||||
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
||||
Random.Shared.Next(-20, 55),
|
||||
summaries[Random.Shared.Next(summaries.Length)]
|
||||
))
|
||||
.ToArray();
|
||||
return forecast;
|
||||
})
|
||||
.WithName("GetWeatherForecast");
|
||||
|
||||
app.Run();
|
||||
|
||||
record WeatherForecast(DateOnly Date, int TemperatureC, string? Summary)
|
||||
{
|
||||
public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"profiles": {
|
||||
"http": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": false,
|
||||
"applicationUrl": "http://localhost:5151",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
},
|
||||
"https": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"launchBrowser": false,
|
||||
"applicationUrl": "https://localhost:7136;http://localhost:5151",
|
||||
"environmentVariables": {
|
||||
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
<PackageReference Include="Microsoft.AspNetCore.OpenApi" Version="10.0.0-rc.2.25502.107"/>
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj"/>
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Infrastructure\StellaOps.PacksRegistry.Infrastructure.csproj"/>
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,6 @@
|
||||
@StellaOps.PacksRegistry.WebService_HostAddress = http://localhost:5151
|
||||
|
||||
GET {{StellaOps.PacksRegistry.WebService_HostAddress}}/weatherforecast/
|
||||
Accept: application/json
|
||||
|
||||
###
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.AspNetCore": "Warning"
|
||||
}
|
||||
},
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
using StellaOps.PacksRegistry.Worker;
|
||||
|
||||
var builder = Host.CreateApplicationBuilder(args);
|
||||
builder.Services.AddHostedService<Worker>();
|
||||
|
||||
var host = builder.Build();
|
||||
host.Run();
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/launchsettings.json",
|
||||
"profiles": {
|
||||
"StellaOps.PacksRegistry.Worker": {
|
||||
"commandName": "Project",
|
||||
"dotnetRunMessages": true,
|
||||
"environmentVariables": {
|
||||
"DOTNET_ENVIRONMENT": "Development"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" ?>
|
||||
<Project Sdk="Microsoft.NET.Sdk.Worker">
|
||||
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
|
||||
|
||||
<UserSecretsId>dotnet-StellaOps.PacksRegistry.Worker-a5c025f8-62a4-498b-928b-5ed8f27c53de</UserSecretsId>
|
||||
|
||||
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<LangVersion>preview</LangVersion>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0-rc.2.25502.107"/>
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj"/>
|
||||
|
||||
|
||||
<ProjectReference Include="..\StellaOps.PacksRegistry.Infrastructure\StellaOps.PacksRegistry.Infrastructure.csproj"/>
|
||||
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
</Project>
|
||||
@@ -0,0 +1,16 @@
|
||||
namespace StellaOps.PacksRegistry.Worker;
|
||||
|
||||
public class Worker(ILogger<Worker> logger) : BackgroundService
|
||||
{
|
||||
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
||||
{
|
||||
while (!stoppingToken.IsCancellationRequested)
|
||||
{
|
||||
if (logger.IsEnabled(LogLevel.Information))
|
||||
{
|
||||
logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
|
||||
}
|
||||
await Task.Delay(1000, stoppingToken);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"Logging": {
|
||||
"LogLevel": {
|
||||
"Default": "Information",
|
||||
"Microsoft.Hosting.Lifetime": "Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.0.31903.59
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Core", "StellaOps.PacksRegistry.Core\StellaOps.PacksRegistry.Core.csproj", "{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Infrastructure", "StellaOps.PacksRegistry.Infrastructure\StellaOps.PacksRegistry.Infrastructure.csproj", "{C5FDDBA3-5D96-4158-810D-6597A96DA574}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.WebService", "StellaOps.PacksRegistry.WebService\StellaOps.PacksRegistry.WebService.csproj", "{4CE7EBE6-67A6-4947-8702-D123343FC297}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Worker", "StellaOps.PacksRegistry.Worker\StellaOps.PacksRegistry.Worker.csproj", "{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.PacksRegistry.Tests", "StellaOps.PacksRegistry.Tests\StellaOps.PacksRegistry.Tests.csproj", "{1FA70E02-C65A-484C-87E7-0A33EEB69573}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x64 = Debug|x64
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x64 = Release|x64
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|x64.Build.0 = Release|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{98FB93E5-21F8-4D24-AD54-1DF52070CAB8}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C5FDDBA3-5D96-4158-810D-6597A96DA574}.Release|x86.Build.0 = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|x64.Build.0 = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{4CE7EBE6-67A6-4947-8702-D123343FC297}.Release|x86.Build.0 = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|x64.Build.0 = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{7DE3DD7E-E1F9-4443-81E4-C7E4E80F5703}.Release|x86.Build.0 = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|x64.Build.0 = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{1FA70E02-C65A-484C-87E7-0A33EEB69573}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
16
src/PacksRegistry/StellaOps.PacksRegistry/TASKS.md
Normal file
16
src/PacksRegistry/StellaOps.PacksRegistry/TASKS.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Packs Registry Task Board — Epic 12: CLI Parity & Task Packs
|
||||
|
||||
## Sprint 41 – Foundations
|
||||
| ID | Status | Owner(s) | Depends on | Description | Exit Criteria |
|
||||
|----|--------|----------|------------|-------------|---------------|
|
||||
| PACKS-REG-41-001 | TODO | Packs Registry Guild | AUTH-PACKS-41-001 | Implement registry service, migrations for `packs_index`, `parity_matrix`, provenance docs; support pack upload/list/get, signature verification, RBAC enforcement, and provenance manifest storage. | Service builds/tests; signature verification works; RBAC validated; provenance stored; docs cross-linked. |
|
||||
|
||||
## Sprint 42 – Lifecycle & Governance
|
||||
| ID | Status | Owner(s) | Depends on | Description | Exit Criteria |
|
||||
|----|--------|----------|------------|-------------|---------------|
|
||||
| PACKS-REG-42-001 | TODO | Packs Registry Guild | PACKS-REG-41-001 | Add version lifecycle (promote/deprecate), tenant allowlists, provenance export, signature rotation, audit logs, and Offline Kit seed support. | Version lifecycle APIs live; allowlists enforced; rotation documented; audit logs recorded; offline kit seeds generated. |
|
||||
|
||||
## Sprint 43 – Mirroring & Compliance
|
||||
| ID | Status | Owner(s) | Depends on | Description | Exit Criteria |
|
||||
|----|--------|----------|------------|-------------|---------------|
|
||||
| PACKS-REG-43-001 | TODO | Packs Registry Guild | PACKS-REG-42-001 | Implement registry mirroring, pack signing policies, attestation integration, and compliance dashboards; integrate with Export Center. | Mirroring operational; signing policies enforced; attestation pipeline documented; dashboards live; export integration validated. |
|
||||
Reference in New Issue
Block a user