Skip to content

Commit

Permalink
Create keystoneapi route and svc endpoint overrides
Browse files Browse the repository at this point in the history
Creates the route for the keystoneapi, also allows to customize the
route via override.

Generats the service override for the env with what is configured in
the externalEndpoints, or specified in the service template override.

Depends-On: openstack-k8s-operators/lib-common#313
Depends-On: openstack-k8s-operators/keystone-operator#289

Jira: OSP-26690
  • Loading branch information
stuggi committed Sep 14, 2023
1 parent 5112983 commit 0b50b16
Show file tree
Hide file tree
Showing 19 changed files with 2,367 additions and 716 deletions.
1,235 changes: 915 additions & 320 deletions apis/bases/core.openstack.org_openstackcontrolplanes.yaml

Large diffs are not rendered by default.

15 changes: 15 additions & 0 deletions apis/core/v1beta1/conditions.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ const (
// OpenStackControlPlaneKeystoneAPIReadyCondition Status=True condition which indicates if KeystoneAPI is configured and operational
OpenStackControlPlaneKeystoneAPIReadyCondition condition.Type = "OpenStackControlPlaneKeystoneAPIReady"

// OpenStackControlPlaneExposeKeystoneAPIReadyCondition Status=True condition which indicates if KeystoneAPI is exposed via a route
OpenStackControlPlaneExposeKeystoneAPIReadyCondition condition.Type = "OpenStackControlPlaneExposeKeystoneAPIReady"

// OpenStackControlPlanePlacementAPIReadyCondition Status=True condition which indicates if PlacementAPI is configured and operational
OpenStackControlPlanePlacementAPIReadyCondition condition.Type = "OpenStackControlPlanePlacementAPIReady"

Expand Down Expand Up @@ -75,6 +78,9 @@ const (
// OpenStackControlPlaneCeilometerReadyCondition Status=True condition which indicates if OpenStack Ceilometer service is configured and operational
OpenStackControlPlaneCeilometerReadyCondition condition.Type = "OpenStackControlPlaneCeilometerReady"

// OpenStackControlPlaneServiceOverrideReadyCondition Status=True condition which indicates if OpenStack service override has created ok
OpenStackControlPlaneServiceOverrideReadyCondition condition.Type = "OpenStackControlPlaneServiceOverrideReady"

// OpenStackControlPlaneManilaReadyInitMessage
OpenStackControlPlaneManilaReadyInitMessage = "OpenStackControlPlane Manila not started"

Expand Down Expand Up @@ -321,4 +327,13 @@ const (

// OpenStackControlPlaneCeilometerReadyErrorMessage
OpenStackControlPlaneCeilometerReadyErrorMessage = "OpenStackControlPlane Ceilometer error occured %s"

// OpenStackControlPlaneExposeServiceReadyInitMessage
OpenStackControlPlaneExposeServiceReadyInitMessage = "OpenStackControlPlane %s exposing service %s not started"

// OpenStackControlPlaneExposeServiceReadyErrorMessage
OpenStackControlPlaneExposeServiceReadyErrorMessage = "OpenStackControlPlane %s exposing service via route %s error occured %s"

// OpenStackControlPlaneExposeServiceReadyMessage
OpenStackControlPlaneExposeServiceReadyMessage = "OpenStackControlPlane %s service exposed"
)
24 changes: 22 additions & 2 deletions apis/core/v1beta1/openstackcontrolplane_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,20 @@ import (
ironicv1 "github.com/openstack-k8s-operators/ironic-operator/api/v1beta1"
keystonev1 "github.com/openstack-k8s-operators/keystone-operator/api/v1beta1"
condition "github.com/openstack-k8s-operators/lib-common/modules/common/condition"
"github.com/openstack-k8s-operators/lib-common/modules/common/route"
"github.com/openstack-k8s-operators/lib-common/modules/common/service"
"github.com/openstack-k8s-operators/lib-common/modules/common/util"
"github.com/openstack-k8s-operators/lib-common/modules/storage"
manilav1 "github.com/openstack-k8s-operators/manila-operator/api/v1beta1"
mariadbv1 "github.com/openstack-k8s-operators/mariadb-operator/api/v1beta1"
neutronv1 "github.com/openstack-k8s-operators/neutron-operator/api/v1beta1"
novav1 "github.com/openstack-k8s-operators/nova-operator/api/v1beta1"
octaviav1 "github.com/openstack-k8s-operators/octavia-operator/api/v1beta1"
ovnv1 "github.com/openstack-k8s-operators/ovn-operator/api/v1beta1"
placementv1 "github.com/openstack-k8s-operators/placement-operator/api/v1beta1"
swiftv1 "github.com/openstack-k8s-operators/swift-operator/api/v1beta1"
telemetryv1 "github.com/openstack-k8s-operators/telemetry-operator/api/v1beta1"
rabbitmqv1 "github.com/rabbitmq/cluster-operator/api/v1beta1"
octaviav1 "github.com/openstack-k8s-operators/octavia-operator/api/v1beta1"

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
Expand Down Expand Up @@ -186,9 +188,21 @@ type KeystoneSection struct {
Enabled bool `json:"enabled"`

// +kubebuilder:validation:Optional
//+operator-sdk:csv:customresourcedefinitions:type=spec
// +operator-sdk:csv:customresourcedefinitions:type=spec
// Template - Overrides to use when creating the Keystone service
Template keystonev1.KeystoneAPISpec `json:"template,omitempty"`

// +kubebuilder:validation:Optional
// +operator-sdk:csv:customresourcedefinitions:type=spec
// APIOverride, provides the ability to override the generated manifest of several child resources.
APIOverride Override `json:"apiOverride,omitempty"`
}

// Override to override the generated manifest of several child resources.
type Override struct {
// +kubebuilder:validation:Optional
// Route overrides to use when creating the public service endpoint
Route *route.OverrideSpec `json:"route,omitempty"`
}

// PlacementSection defines the desired state of Placement service
Expand Down Expand Up @@ -304,6 +318,12 @@ type RabbitmqTemplate struct {

// MetalLBConfig to configure the MetalLB loadbalancer service
type MetalLBConfig struct {
// +kubebuilder:validation:Optional
// +kubebuilder:validation:Enum=internal;public
// +kubebuilder:default=internal
// Endpoint, OpenStack endpoint this service maps to
Endpoint service.Endpoint `json:"endpoint"`

// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
//+operator-sdk:csv:customresourcedefinitions:type=spec
Expand Down
22 changes: 22 additions & 0 deletions apis/core/v1beta1/zz_generated.deepcopy.go

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

24 changes: 24 additions & 0 deletions apis/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,27 @@ require (
// mschuppert: map to latest commit from release-4.13 tag
// must consistent within modules and service operators
replace github.com/openshift/api => github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 //allow-merging

replace github.com/openstack-k8s-operators/lib-common/modules/common => github.com/stuggi/lib-common/modules/common v0.0.0-20230911170028-26ca518cd865

replace github.com/openstack-k8s-operators/keystone-operator/api => github.com/stuggi/keystone-operator/api v0.0.0-20230912063902-82736148d8fc

replace github.com/openstack-k8s-operators/glance-operator/api => github.com/stuggi/glance-operator/api v0.0.0-20230912064037-b1835ec01b14

replace github.com/openstack-k8s-operators/placement-operator/api => github.com/stuggi/placement-operator/api v0.0.0-20230912064112-375b8961dce7

replace github.com/openstack-k8s-operators/cinder-operator/api => github.com/stuggi/cinder-operator/api v0.0.0-20230912064142-4363cf90c64d

replace github.com/openstack-k8s-operators/neutron-operator/api => github.com/stuggi/neutron-operator/api v0.0.0-20230912064213-9c65387e37d9

replace github.com/openstack-k8s-operators/nova-operator/api => github.com/stuggi/nova-operator/api v0.0.0-20230912064252-3668b7b79821

replace github.com/openstack-k8s-operators/heat-operator/api => github.com/stuggi/heat-operator/api v0.0.0-20230912064325-06379c71c112

replace github.com/openstack-k8s-operators/horizon-operator/api => github.com/stuggi/horizon-operator/api v0.0.0-20230912064356-0cc7bfe37f46

replace github.com/openstack-k8s-operators/manila-operator/api => github.com/stuggi/manila-operator/api v0.0.0-20230912064432-a831a61faa48

replace github.com/openstack-k8s-operators/swift-operator/api => github.com/stuggi/swift-operator/api v0.0.0-20230912064504-dd015b608f8a

replace github.com/openstack-k8s-operators/infra-operator/apis => github.com/stuggi/infra-operator/apis v0.0.0-20230912054946-9552634a4ba0
48 changes: 24 additions & 24 deletions apis/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -129,42 +129,18 @@ github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M=
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7 h1:rncLxJBpFGqBztyxCMwNRnMjhhIDOWHJowi6q8G6koI=
github.com/openshift/api v0.0.0-20230414143018-3367bc7e6ac7/go.mod h1:ctXNyWanKEjGj8sss1KjjHQ3ENKFm33FFnS5BKaIPh4=
github.com/openstack-k8s-operators/cinder-operator/api v0.1.2-0.20230912143019-2ce9f1cea12b h1:ax6i3ML2CLcz+UJ41DfQHKYuUcGML2ZH2PGMChGnqH4=
github.com/openstack-k8s-operators/cinder-operator/api v0.1.2-0.20230912143019-2ce9f1cea12b/go.mod h1:QD2nQaZ37AsOaiSu14iVC5S21dembQdgqRbpDVFyGPM=
github.com/openstack-k8s-operators/glance-operator/api v0.1.2-0.20230912090835-5ccb2647d10e h1:jfCL/W4efjARF+K2WiIEsiOx0UgGL0oFWuEs9R0qT5s=
github.com/openstack-k8s-operators/glance-operator/api v0.1.2-0.20230912090835-5ccb2647d10e/go.mod h1:EyWZbdyzJM2hEz1dDDo87oQic1HGUdi46vAtH6Y7DnU=
github.com/openstack-k8s-operators/heat-operator/api v0.1.1-0.20230911073135-583b418e2e11 h1:H/U2GRg8QJHsoaWhDC6qzAnsNRef+dy3XQl8RWiGjmU=
github.com/openstack-k8s-operators/heat-operator/api v0.1.1-0.20230911073135-583b418e2e11/go.mod h1:KtEFblq7sClPla24NEWXBEg5CF+MduNLWxZMKkHfydM=
github.com/openstack-k8s-operators/horizon-operator/api v0.1.1-0.20230911061705-4eae31871623 h1:pDMZiJKlUdEyvNNEg6VfD8fQEFycVWFYkFa5uC7RMvg=
github.com/openstack-k8s-operators/horizon-operator/api v0.1.1-0.20230911061705-4eae31871623/go.mod h1:z/0JxfYapexCadeHNAp+fi4DD5RM3B1dVf9VZeU+NH4=
github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230913075242-b99f5f160494 h1:uJtzeDtYH/JSrK7rtPRWUdFwVcdI8rZF/uZo2lJb+rQ=
github.com/openstack-k8s-operators/infra-operator/apis v0.1.1-0.20230913075242-b99f5f160494/go.mod h1:6Q2/5GUJWCaHewpdHM+KzbdhLsRj4qKcZmLuIyUCLBk=
github.com/openstack-k8s-operators/ironic-operator/api v0.1.1-0.20230905103647-804dc6fa8609 h1:OkT7jHKLFJzmpn5c6JLrOjuVu1M4aSTasPkvxJPSbRE=
github.com/openstack-k8s-operators/ironic-operator/api v0.1.1-0.20230905103647-804dc6fa8609/go.mod h1:gqzI6uzYMAiN9tlCrMeQ4b9rTcv9iRSUVb30WzVnR3Y=
github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230830083045-d73d07cca617 h1:+Sz5kbF6QzXgKROXp3S+X22ZHdt68zvj1tBOu94OGKU=
github.com/openstack-k8s-operators/keystone-operator/api v0.1.1-0.20230830083045-d73d07cca617/go.mod h1:CmUe4tHh990eRUj6Ou8gD9JE0PQ38LGnUu3kaaP8K50=
github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230913075424-2680ce4b6ad2 h1:/ez+9PSwtucQ9v1I5X72xlP5UJztTMPH4M5gDAJAatc=
github.com/openstack-k8s-operators/lib-common/modules/common v0.1.1-0.20230913075424-2680ce4b6ad2/go.mod h1:bG2JdbaO4bR4u8rtXZ7MgmMELuEseTkL2BPgk9JBYmY=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230913075424-2680ce4b6ad2 h1:4L5DRfSnomBfyRwCfAzqQwk0+osnIbyJ1VvKBy+tzyY=
github.com/openstack-k8s-operators/lib-common/modules/openstack v0.1.1-0.20230913075424-2680ce4b6ad2/go.mod h1:NZ6weu5xOAkNPTqg1luC22DO7ZbyqiilRkvrFfhjFm0=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.1.1-0.20230913075424-2680ce4b6ad2 h1:WqquubnK/hLqeZpTnNjjBCloo3HgvKhCrhEDNyQg21I=
github.com/openstack-k8s-operators/lib-common/modules/storage v0.1.1-0.20230913075424-2680ce4b6ad2/go.mod h1:UKzRiNlmYVIE7Ggc6+qd7MMrNBL20sgW46rhP+U0Ilc=
github.com/openstack-k8s-operators/manila-operator/api v0.1.1-0.20230912125045-4da11a09ebf2 h1:5I5MF0rd5SznXT1WJs0G03jummIgGc4Z3ME9XOroGnM=
github.com/openstack-k8s-operators/manila-operator/api v0.1.1-0.20230912125045-4da11a09ebf2/go.mod h1:sGB0OZ9nKBnWh2KjAgypjHvuOutD3jnoB097vVEBug4=
github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230912174650-9fb4c4a76e55 h1:iwa4MpjFHCl+qfiimlUwVm1BV+LGjbGYtXIwLe/QHwk=
github.com/openstack-k8s-operators/mariadb-operator/api v0.1.1-0.20230912174650-9fb4c4a76e55/go.mod h1:rh0jKCJYeHXVWfJnXl22AuaTRkYfHwmKuK6O3IeTG4A=
github.com/openstack-k8s-operators/neutron-operator/api v0.1.1-0.20230913071115-4ade0257c3ae h1:6sEI+5cch94kTfX8Sk6Lb88KoXqJepjZ28Wog1GDtmA=
github.com/openstack-k8s-operators/neutron-operator/api v0.1.1-0.20230913071115-4ade0257c3ae/go.mod h1:DpLilirABsL8i64eqG1ve8W4E7JPa8K5ArvFI7MViyI=
github.com/openstack-k8s-operators/nova-operator/api v0.1.2-0.20230913074219-532bc7f74c7f h1:LRsdHIBHplSCXApuBJbPAemGCbG24GlpBj6T2OtJpFE=
github.com/openstack-k8s-operators/nova-operator/api v0.1.2-0.20230913074219-532bc7f74c7f/go.mod h1:w2QuIpfuu3sLtfyZC+6FBVV8a5HHnmfV9v3RsOHkbA0=
github.com/openstack-k8s-operators/octavia-operator/api v0.0.0-20230911154103-78b1322efc54 h1:W3oAcEraBQD8rxw8qxbiATeOMG1MzyAProKdkdTEHHI=
github.com/openstack-k8s-operators/octavia-operator/api v0.0.0-20230911154103-78b1322efc54/go.mod h1:sJ7VsKIMkPjUOLKPNSg0/ZBXOwHDIPUzEq1pb7oEyWM=
github.com/openstack-k8s-operators/ovn-operator/api v0.1.1-0.20230912211243-092fb4240e96 h1:ycgTjQ4pmFp14BqOt1gC4SInQ/3OKxt404nI3U3ov1M=
github.com/openstack-k8s-operators/ovn-operator/api v0.1.1-0.20230912211243-092fb4240e96/go.mod h1:0zpkMBsrFbFP+AfaJKvREHomqsXcPnUCOT0/LzKmga0=
github.com/openstack-k8s-operators/placement-operator/api v0.1.1-0.20230911081408-0f9d8374b397 h1:R+4UtLIUQfsARVJxXgVelE4SMXOcftAejbRaK0Yl+3Q=
github.com/openstack-k8s-operators/placement-operator/api v0.1.1-0.20230911081408-0f9d8374b397/go.mod h1:gsI+bvX70Y7NXZtAL36V18qufVO0xYW6Z2rbEKL5Nqo=
github.com/openstack-k8s-operators/swift-operator/api v0.1.1-0.20230906065118-40fc718651fe h1:O/uTEQXJdBepFjg6GDWytc3Henlrifi8WaNs1bad8gs=
github.com/openstack-k8s-operators/swift-operator/api v0.1.1-0.20230906065118-40fc718651fe/go.mod h1:HrDnaSOYvnqZITCiUI5r+6W2q+m4zify9X8d+P0Q9RE=
github.com/openstack-k8s-operators/telemetry-operator/api v0.1.1-0.20230913080550-78d80615b7f1 h1:9b92+bDt0BCV/vbt95L4b2VX5Fsv/J5fsXGoXVHZ4+g=
github.com/openstack-k8s-operators/telemetry-operator/api v0.1.1-0.20230913080550-78d80615b7f1/go.mod h1:nYAEI/2u2DzXtZoMBIRkogHPpjskwrfJAJ/+XeIcosc=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
Expand Down Expand Up @@ -200,6 +176,30 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stuggi/cinder-operator/api v0.0.0-20230912064142-4363cf90c64d h1:qD1pGt1zTRlqDm4XAZZqA+mtACyNfPxOHaxMXMLTNXY=
github.com/stuggi/cinder-operator/api v0.0.0-20230912064142-4363cf90c64d/go.mod h1:O6fV36kapUvTNt+NdlyHBywsN1Jpkr0HgAtwBtb4cnI=
github.com/stuggi/glance-operator/api v0.0.0-20230912064037-b1835ec01b14 h1:Ww6bWfezapFxFUwy9kIC6kQnBsRGJFfZBCz4XOc9iB0=
github.com/stuggi/glance-operator/api v0.0.0-20230912064037-b1835ec01b14/go.mod h1:6Sop4vSA/75iN70Ru+NtAH/DzuQHXifL5noHivDzty0=
github.com/stuggi/heat-operator/api v0.0.0-20230912064325-06379c71c112 h1:2jDLczUICX7+8IpHZdq3wUL09S/RCkBfYjrKxaTomuk=
github.com/stuggi/heat-operator/api v0.0.0-20230912064325-06379c71c112/go.mod h1:PkZ8A/g058XrwdwH9Hg7wqkymOuZd7BLa8pqpbunziQ=
github.com/stuggi/horizon-operator/api v0.0.0-20230912064356-0cc7bfe37f46 h1:LcryvrDSFEX47dnqGTEH+VwwEBe2uvfdacxjQV/QTQU=
github.com/stuggi/horizon-operator/api v0.0.0-20230912064356-0cc7bfe37f46/go.mod h1:U/YEMhqBGsCibemyrEKMWVMY0g5vmUTu6qJMjqlYQAk=
github.com/stuggi/infra-operator/apis v0.0.0-20230912054946-9552634a4ba0 h1:Os/WrLK19hepIAx61awEtM/LHJzCVIup+nRkq1Hj1Qs=
github.com/stuggi/infra-operator/apis v0.0.0-20230912054946-9552634a4ba0/go.mod h1:jr5z9ymxnTTpm5FvsjzUoI1REhHIOb3cX6hLfe+6e8A=
github.com/stuggi/keystone-operator/api v0.0.0-20230912063902-82736148d8fc h1:LoBQyr2K6+VcGR+8cSFWZ/MAlfP3LOOnzdYpab6kkZE=
github.com/stuggi/keystone-operator/api v0.0.0-20230912063902-82736148d8fc/go.mod h1:VJ9FF+3b7Cr2Fih5lqq8l8bKgDtWqnIO2g1C3vuqUug=
github.com/stuggi/lib-common/modules/common v0.0.0-20230911170028-26ca518cd865 h1:6KbPTZCQRwZ/dUKLkyyIaKjT2HcMQDqjEcBQjEPXRv0=
github.com/stuggi/lib-common/modules/common v0.0.0-20230911170028-26ca518cd865/go.mod h1:Mqg9hyHpWPda62750vqmk5TajxP3zbYPDP1rtSH7mg0=
github.com/stuggi/manila-operator/api v0.0.0-20230912064432-a831a61faa48 h1:8l9mhdx8GOJ+mNSRxvj+nhbjAwMtCS14sim7C9ADIGk=
github.com/stuggi/manila-operator/api v0.0.0-20230912064432-a831a61faa48/go.mod h1:voBVkP3Juh3JHYV76xTBidBzvcfxmqtSuz+gy5Rp6ws=
github.com/stuggi/neutron-operator/api v0.0.0-20230912064213-9c65387e37d9 h1:O1qVQoBbjc4u+Moka5nhWqNa5+gZvKr44VJDxmo7lE4=
github.com/stuggi/neutron-operator/api v0.0.0-20230912064213-9c65387e37d9/go.mod h1:tIzmny+yjmkDWaxuF5+OdJrtSpvhsIS4JK49et9zNTA=
github.com/stuggi/nova-operator/api v0.0.0-20230912064252-3668b7b79821 h1:ZTCQAflcPdQNSMSOwDdYgR1xsS8pZewRK/Tkzcs5LGQ=
github.com/stuggi/nova-operator/api v0.0.0-20230912064252-3668b7b79821/go.mod h1:TA5LYEchViKXHKLeeLzttEgUKb2lXTXNScOHztfNnWQ=
github.com/stuggi/placement-operator/api v0.0.0-20230912064112-375b8961dce7 h1:eBDSBuYWN7R6Jzb6MbF+pNaLvkwG2JSoSFpegik2oXM=
github.com/stuggi/placement-operator/api v0.0.0-20230912064112-375b8961dce7/go.mod h1:f3mKPqK51G4PIyIPbFNQTHQVycUzK+juptR0ccNeTHc=
github.com/stuggi/swift-operator/api v0.0.0-20230912064504-dd015b608f8a h1:ThC1WZhqifl9MZQTwMPD+uP+Aj/pOFQOIw4EycvjQk0=
github.com/stuggi/swift-operator/api v0.0.0-20230912064504-dd015b608f8a/go.mod h1:wEEI8Mv+LkzbkiiEianV1CXgOgHVgqj93W7XQ1W+SVg=
github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU=
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ=
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
Expand Down
Loading

0 comments on commit 0b50b16

Please sign in to comment.