42 lines
1022 B
Rust
42 lines
1022 B
Rust
use kube::CustomResource;
|
|
use schemars::JsonSchema;
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
pub mod nmstate;
|
|
|
|
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
|
|
#[kube(
|
|
group = "operators.coreos.com",
|
|
version = "v1",
|
|
kind = "OperatorGroup",
|
|
namespaced
|
|
)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct OperatorGroupSpec {
|
|
pub target_namespaces: Vec<String>,
|
|
}
|
|
|
|
#[derive(CustomResource, Deserialize, Serialize, Clone, Debug, JsonSchema)]
|
|
#[kube(
|
|
group = "operators.coreos.com",
|
|
version = "v1alpha1",
|
|
kind = "Subscription",
|
|
namespaced
|
|
)]
|
|
#[serde(rename_all = "camelCase")]
|
|
pub struct SubscriptionSpec {
|
|
pub name: String,
|
|
pub source: String,
|
|
pub source_namespace: String,
|
|
pub channel: Option<String>,
|
|
pub install_plan_approval: Option<InstallPlanApproval>,
|
|
}
|
|
|
|
#[derive(Deserialize, Serialize, Clone, Debug, JsonSchema)]
|
|
pub enum InstallPlanApproval {
|
|
#[serde(rename = "Automatic")]
|
|
Automatic,
|
|
#[serde(rename = "Manual")]
|
|
Manual,
|
|
}
|