Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/nuget-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ jobs:
csproj-paths: |
protocols\dotnet\Devolutions.NowClient\Devolutions.NowClient.csproj
protocols\dotnet\Devolutions.NowProto\Devolutions.NowProto.csproj
- library: UniGetUIPolicy
libpath: ./policies/dotnet/Devolutions.UniGetUI.Broker.Policy
- library: BrokerPolicy
libpath: ./policies/dotnet/Devolutions.Broker.Policy
csproj-paths: |
policies\dotnet\Devolutions.UniGetUI.Broker.Policy\Devolutions.UniGetUI.Broker.Policy.csproj
policies\dotnet\Devolutions.Broker.Policy\Devolutions.Broker.Policy.csproj

steps:
- name: Check out ${{ github.repository }}
Expand Down
28 changes: 14 additions & 14 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion policies/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Policies
========

This directory is reserved for the UniGetUI/PEDM policy engine libraries.
This directory is reserved for Devolutions broker policy engine libraries.

The future policy engine NuGet package and Rust crate will live here.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<IsPackable>false</IsPackable>
<RootNamespace>Devolutions.UniGetUI.Broker.Policy.Tests</RootNamespace>
<RootNamespace>Devolutions.Broker.Policy.Tests</RootNamespace>
</PropertyGroup>

<ItemGroup>
Expand All @@ -16,7 +16,7 @@
</ItemGroup>

<ItemGroup>
<ProjectReference Include="../Devolutions.UniGetUI.Broker.Policy/Devolutions.UniGetUI.Broker.Policy.csproj" />
<ProjectReference Include="../Devolutions.Broker.Policy/Devolutions.Broker.Policy.csproj" />
</ItemGroup>

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

using Xunit;

namespace Devolutions.UniGetUI.Broker.Policy.Tests;
namespace Devolutions.Broker.Policy.Tests;

public class PolicyTests
{
private static string PolicyCrateRoot { get; } = ResolvePolicyCrateRoot();

private static string SamplesDir => Path.Combine(PolicyCrateRoot, "assets", "samples");

private static string PolicySchema => Path.Combine(PolicyCrateRoot, "schema", "unigetui.package-policy.schema.json");
private static string PolicySchema => Path.Combine(PolicyCrateRoot, "schema", "devolutions.broker-policy.schema.json");

public static IEnumerable<object[]> PolicySamples() =>
Directory.GetFiles(SamplesDir, "*.policy.*").Select(f => new object[] { f });
Expand Down Expand Up @@ -130,14 +130,14 @@ private static PolicyDocument ParsePolicy(string path)
private static string ResolvePolicyCrateRoot([CallerFilePath] string thisFile = "")
{
var testsDir = Path.GetDirectoryName(thisFile)!;
return Path.GetFullPath(Path.Combine(testsDir, "..", "..", "rust", "unigetui-broker-policy"));
return Path.GetFullPath(Path.Combine(testsDir, "..", "..", "rust", "devolutions-broker-policy"));
}

private static string MinimalPolicyJson(string revision, string rules)
{
return $$"""
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
4 changes: 4 additions & 0 deletions policies/dotnet/Devolutions.Broker.Policy.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<Solution>
<Project Path="Devolutions.Broker.Policy.Tests/Devolutions.Broker.Policy.Tests.csproj"/>
<Project Path="Devolutions.Broker.Policy/Devolutions.Broker.Policy.csproj"/>
</Solution>
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<RootNamespace>Devolutions.UniGetUI.Broker.Policy</RootNamespace>
<AssemblyName>Devolutions.UniGetUI.Broker.Policy</AssemblyName>
<RootNamespace>Devolutions.Broker.Policy</RootNamespace>
<AssemblyName>Devolutions.Broker.Policy</AssemblyName>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

<PropertyGroup>
<PackageId>Devolutions.UniGetUI.Broker.Policy</PackageId>
<PackageId>Devolutions.Broker.Policy</PackageId>
<Version>0.0.0.0</Version>
<AssemblyTitle>Devolutions Agent UniGetUI package broker policy model</AssemblyTitle>
<Description>Policy creation and parsing APIs for the Devolutions Agent UniGetUI package broker.</Description>
<AssemblyTitle>Devolutions broker policy model</AssemblyTitle>
<Description>Policy creation and parsing APIs for Devolutions broker policies.</Description>
<Authors>Devolutions Inc.</Authors>
<Copyright>© Devolutions Inc. All rights reserved.</Copyright>
<PackageLicenseExpression>MIT OR Apache-2.0</PackageLicenseExpression>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.Text.Json.Serialization;

namespace Devolutions.UniGetUI.Broker.Policy;
namespace Devolutions.Broker.Policy;

/// <summary>Package operation type.</summary>
[JsonConverter(typeof(JsonStringEnumConverter<Operation>))]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using System.Text.Json;
using System.Text.Json.Serialization;

namespace Devolutions.UniGetUI.Broker.Policy;
namespace Devolutions.Broker.Policy;

public static class PolicyJson
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
using YamlDotNet.Core;
using YamlDotNet.RepresentationModel;

namespace Devolutions.UniGetUI.Broker.Policy;
namespace Devolutions.Broker.Policy;

public static class SchemaUris
{
public const string Policy = "https://aka.ms/unigetui/package-policy.schema.1.0.json";
public const string Policy = "https://devolutions.net/schemas/broker-policy.schema.1.0.json";
}

/// <summary>A policy document governing which package operations are allowed or denied.</summary>
Expand Down
4 changes: 0 additions & 4 deletions policies/dotnet/Devolutions.UniGetUI.Broker.Policy.slnx

This file was deleted.

6 changes: 3 additions & 3 deletions policies/dotnet/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Devolutions UniGetUI broker policy
==================================
Devolutions broker policy
=========================

This package provides .NET types and JSON/YAML parsing helpers for the UniGetUI package broker policy format.
This package provides .NET types and JSON/YAML parsing helpers for the Devolutions broker policy format.
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
[package]
name = "unigetui-broker-policy"
name = "devolutions-broker-policy"
version = "0.1.0"
edition = "2024"
license.workspace = true
homepage.workspace = true
repository.workspace = true
authors.workspace = true
readme = "README.md"
description = "UniGetUI package broker policy model and schema"
description = "Devolutions broker policy model and schema"
publish = true

[lints]
Expand All @@ -24,5 +24,5 @@ thiserror = "2"
url = "2"

[[bin]]
name = "generate-unigetui-broker-policy-schema"
name = "generate-devolutions-broker-policy-schema"
path = "tools/generate_schema.rs"
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
UniGetUI broker policy model
============================
Devolutions broker policy model
===============================

This crate provides the Rust policy model and JSON Schema helpers for the UniGetUI package broker policy format.
This crate provides the Rust policy model and JSON Schema helpers for the Devolutions broker policy format.

It contains only admin-authored policy types and schema generation utilities.
Broker request, response, server, transport, and execution types are intentionally out of scope.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"$schema": https://aka.ms/unigetui/package-policy.schema.1.0.json
"$schema": https://devolutions.net/schemas/broker-policy.schema.1.0.json
PolicyVersion: 1.0.0
PolicyType: PackageBrokerPolicy
Metadata:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$id": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$id": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"definitions": {
Expand Down Expand Up @@ -489,7 +489,7 @@
},
"PolicySchemaUri": {
"enum": [
"https://aka.ms/unigetui/package-policy.schema.1.0.json"
"https://devolutions.net/schemas/broker-policy.schema.1.0.json"
],
"type": "string"
},
Expand Down
14 changes: 14 additions & 0 deletions policies/rust/devolutions-broker-policy/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//! Devolutions broker policy model and schema helpers.

#![allow(clippy::std_instead_of_core, unused_qualifications)]

pub mod enums;
pub mod markers;
pub mod newtypes;
pub mod policy;
pub mod schema;

pub use enums::*;
pub use markers::*;
pub use newtypes::*;
pub use policy::*;
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ fixed_string_marker! {
}

/// Schema URI for package policy documents.
pub const POLICY_SCHEMA_URI: &str = "https://aka.ms/unigetui/package-policy.schema.1.0.json";
pub const POLICY_SCHEMA_URI: &str = "https://devolutions.net/schemas/broker-policy.schema.1.0.json";

fixed_string_marker! {
/// Marker type for the policy `$schema` field.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

use std::path::{Path, PathBuf};

use unigetui_broker_policy::PolicyDocument;
use devolutions_broker_policy::PolicyDocument;

fn samples_dir() -> PathBuf {
PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("assets/samples")
Expand Down Expand Up @@ -43,7 +43,7 @@ fn all_sample_policies_deserialize() {
#[test]
fn invalid_policy_unknown_field_fails_deserialization() {
let value = serde_json::json!({
"$schema": "https://aka.ms/unigetui/package-policy.schema.1.0.json",
"$schema": "https://devolutions.net/schemas/broker-policy.schema.1.0.json",
"PolicyVersion": "1.0.0",
"PolicyType": "PackageBrokerPolicy",
"Metadata": {
Expand Down Expand Up @@ -74,7 +74,7 @@ fn invalid_policy_fixture_fails_deserialization() {

#[test]
fn policy_schema_generates_valid_json() {
let schema = unigetui_broker_policy::schema::policy_schema_json();
let schema = devolutions_broker_policy::schema::policy_schema_json();
assert!(schema.is_object());
let obj = schema.as_object().unwrap();
assert!(
Expand All @@ -85,7 +85,7 @@ fn policy_schema_generates_valid_json() {

#[test]
fn policy_match_schema_requires_at_least_one_property() {
let schema = unigetui_broker_policy::schema::policy_schema_json();
let schema = devolutions_broker_policy::schema::policy_schema_json();
let min_properties = schema
.pointer("/definitions/PolicyRule/properties/Match/minProperties")
.and_then(serde_json::Value::as_u64);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
//! Generates the JSON schema for the policy document.
//!
//! Usage: `cargo run -p unigetui-broker-policy --bin generate-unigetui-broker-policy-schema`
//! Usage: `cargo run -p devolutions-broker-policy --bin generate-devolutions-broker-policy-schema`

#![allow(clippy::print_stdout, reason = "this is a developer-facing CLI tool")]
#![allow(clippy::std_instead_of_core, unused_crate_dependencies)]

use std::path::Path;

use devolutions_broker_policy::POLICY_SCHEMA_URI;
use devolutions_broker_policy::schema::policy_schema_json;
use serde_json::{Map, Value};
use unigetui_broker_policy::POLICY_SCHEMA_URI;
use unigetui_broker_policy::schema::policy_schema_json;

fn main() {
let crate_dir = Path::new(env!("CARGO_MANIFEST_DIR"));
let out_path = crate_dir.join("schema").join("unigetui.package-policy.schema.json");
let out_path = crate_dir.join("schema").join("devolutions.broker-policy.schema.json");

let schema = with_id(policy_schema_json(), POLICY_SCHEMA_URI);
let json = serde_json::to_string_pretty(&schema).expect("BUG: schema serialization failed");
Expand Down
18 changes: 0 additions & 18 deletions policies/rust/unigetui-broker-policy/src/lib.rs

This file was deleted.

Loading
Loading