Workshop Request ================ The ``WorkshopRequest`` custom resource defines a workshop request. The raw custom resource definition for the ``WorkshopRequest`` custom resource can be viewed at: ``` kubectl get crd/workshoprequests.training.educates.dev -o yaml ``` Note that the ``WorkshopRequest`` custom resource is deprecated and should not be used. As deployment and use of workshops is now all typically managed via a training portal, there is no need to interact with internal custom resources directly such as ``WorkshopEnvironment``, ``WorkshopSession`` and ``WorkshopRequest``. In the case of ``WorkshopRequest``, it may be reimplemented and repurposed at a later time to allow request of workshop sessions via the training portal instance as an alternative to the training portal REST API. Specifying workshop environment ------------------------------- The ``WorkshopRequest`` custom resource is only used to request a workshop instance. It does not specify actual details needed to perform the deployment of the workshop instance. That information is instead sourced by the Educates operator from the ``WorkshopEnvironment`` and ``Workshop`` custom resources. The minimum required information in the workshop request is therefore just the name of the workshop environment. This is supplied by setting the ``environment.name`` field. ```yaml apiVersion: training.educates.dev/v1beta1 kind: WorkshopRequest metadata: name: lab-markdown-sample spec: environment: name: lab-markdown-sample ``` A request will only be successful if the ability to request a workshop instance for a workshop environment has been enabled for that workshop. Enabling of requests needs to have been specified in the ``WorkshopEnvironment`` custom resource for the workshop environment. If multiple workshop requests, whether for the same workshop environment or different ones, are created in the same namespace, the ``name`` defined in the ``metadata`` for the workshop request must be different for each. The value of this name is not important and is not used in naming of workshop instances. A user will need to remember it if they want to delete the workshop instance, which is done by deleting the workshop request. Specifying required access token -------------------------------- Where a workshop environment has been configured to require an access token when making workshop request against that environment, it can be specified by setting the ``environment.token`` field. ```yaml apiVersion: training.educates.dev/v1beta1 kind: WorkshopRequest metadata: name: lab-markdown-sample spec: environment: name: lab-markdown-sample token: lab-markdown-sample ``` Even with the token, if the workshop environment has restricted the namespaces a workshop request has been made from, and the workshop request was not created in one of the white listed namespaces, the request will fail.