Add a new API group called `infrastructure`, generate its server, client code bases, and adjust rok CLI
Add a new API group called infrastructure
-
Create data models for the following resources:
-GlobalInfrastructureProvider
-InfrastructureProvider
-GlobalCloud
-Cloud
-
Create API definitions (CRUDL) for all infrastructure
resources -
Generate server code base for all infrastructure
resources
-python -m api_generator api_server api_generator.apidefs.infrastructure
-
Generate server unit test code base for all infrastructure
resources
-python -m api_generator test_server api_generator.apidefs.infrastructure
-
Generate client code base for all infrastructure
resources
-python -m api_generator api_client api_generator.apidefs.infrastructure
-
Generate client unit test code base for all infrastructure
resources
-python -m api_generator test_client api_generator.apidefs.infrastructure
-
Create unit tests factories
for allinfrastructure
resources -
Adjust generated server, client, and unit test code bases -
Create rok
CRUDL commands for allinfrastructure
resources -
Create e2e tests for all infrastructure
resources -
Update the docs
- Infrastructure code references - API generator
- rok CLI
Infrastructure resources
-
GlobalInfrastructureProvider
The
GlobalInfrastructureProvider
is aninfrastructure
non-namespaced resource that is available for all resources. It means, thatGlobalInfrastructureProvider
can be used for the LCM of everyCloud
(namespaced) resource. Resource should contain the access data to the infrastructure provider instance. -
InfrastructureProvider
The
InfrastructureProvider
is aninfrastructure
namespaced resource that is available only for resources from the same namespace. It means, thatInfrastructureProvider
can be used for LCM ofCloud
resources from the same namespace. Resource should contain the access data to the infrastructure provider instance. -
GlobalCloud
The
GlobalCloud
resource is aninfrastructure
non-namespaced resource that is available for all resources. It means, thatGlobalCloud
resource can be used by everyCluster
(namespaced) resource. -
Cloud
The
Cloud
resource is aninfrastructure
namespaced resource that is available only for resources from the same namespace. It means, thatCloud
resource can be used byCluster
resources from the same namespace.
Infrastructure resources data models
See the following data model for (namespaced) InfrastructureProvider
and Cloud
resources.
"Global" (non-namespaced) alternatives just exclude .spec.metadata.namespace
field, hence are basically the same and not included in this description.
Edited by Matej Feder