= Web Portal Admin The administration of the web portal happens with Django Admin. [TIP] ==== * Production: https://portal.servala.com/admin[portal.servala.com^] * Staging: https://staging.portal.servala.com/admin[staging.portal.servala.com^] ==== == Service Catalog and Control-Plane Models image::portal-service-relations.drawio.svg[] Service:: The software service, top-level, categorized. + _Examples_: PostgreSQL, Redis, GitLab. + Admin: https://staging.portal.servala.com/admin/core/service/[staging^], https://portal.servala.com/admin/core/service/[prod^] Service Definition:: A correlation between a specific managed service offering with the API definition on the control-planes. It tells the Portal which Kubernetes API implements a managed service. + _Example_: "Forgejo by VSHN" is implemented by GVK `vshn.appcat.vshn.io/v1/VSHNForgejo` on the control-planes. + Admin: https://staging.portal.servala.com/admin/core/servicedefinition/[staging^], https://portal.servala.com/admin/core/servicedefinition/[prod^] Service Offering:: The service offering is the glue which connects a service with a service provider, the control-planes with the service definitions and plan information. It essentially tells the Portal which managed service is available on which control-plane with which specific configuration. It relates to "ControlPlane CRD" which is a correlation between "Service Offering", "Control Plane" and "Service Definition". _Example_: "Forgejo at Hetzner Cloud" which makes the Service "Forgejo" available at Hetzner Cloud and through "ControlPlane CRDs" it defines which service definition is available in which control-plane at Hetzner Cloud. It also specifies plans with features, pricing and terms. + Admin: https://staging.portal.servala.com/admin/core/serviceoffering/[staging^], https://portal.servala.com/admin/core/serviceoffering/[prod^] == Models In addition to the models described in <>, the following core models exist: Cloud Providers:: Cloud providers where service instances can be provisioned at. Control Planes:: Connections to Kubernetes API servers. Each control-plane represents a zone at a cloud provider. Organizations:: The main multi-tenant object. Organization Memberships:: Defines organization memberships including the roles in an organization. Organization Origins:: The origin of an organization. Where the organization is coming from, influences e.g. access to control-planes or service offerings. Billing Entities:: Billing contacts for Organizations - this is not further implemented yet. Plans:: Plans for service offerings. Service Categories:: Allows to categorize services. Service Instances:: Service instances provisioned on control-planes.