Requirements
Steps
1. Create a folder for the environment
This is a temporary place where we’ll create and configure our SE2 environment:2. Start up our Kubernetes cluster
Kubernetes clusters usually live on the cloud. However, with minikube, we can create a local one to use:3. Expose our cluster to the internet with ngrok
This command will forward all requests to a randomly-generated URL tohttp://localhost:80
4. Generate your SE2 manifests
Next we’ll be using Subo to generate our Kubernetes manifest files!.suborbital/ folder:
se2-deployment.yamlse2-autoscale.yamlse2-controlplane-deployment.yaml
5. Disable TLS checks in the SE2 environment
Open up.suborbital/se2-controlplane-deployment.yaml in your editor of choice, and make the following changes.
We are disabling the built-in TLS certificate provisioning, as ngrok already takes care of this for us.
Under the Builder Container:
delete containerPort: 8443
Delete the following key-value pair:
se2-builder-service:
6. Deploy to your cluster
Run the following Subo command to deploy SE2 to your cluster:7. Setup minikube tunneling
Let’s tell minikube to forward requests to port 80 to our cluster!8. Create an editor token
In order to test our editor, we’re going to come up with a plugin name, and create a token so we can access it! This can only be done as an API call from within your cluster. Since we’re currently not running an app in our cluster, we’ll just make the call from within! First, we’ll need the name of our control plane pod:se2-controlplane-deployment pod and start a bash session inside it:
curl:
curl installed, we can now get our editor token for testing:
IDENT: Customer identity, for example:com.example.12345PLUGIN_NAME: A name for your plugin This will give you a JSON response with a token. Let’s copy it!
9. Try out the plugin editor
The plugin editor is available through building a specific URL. We can do that now that we have all the ingredients. In your browser, try opening up the following URL:NGROK_DOMAIN: The domain generated byngrokin step 3EDITOR_TOKEN: The token generated by the control plane API in step 8IDENT: Customer identity, for example: com.example.12345PLUGIN_NAME: A name for your pluginLANGUAGE_TEMPLATE: A template to be prefilled when opening the editor for a new plugin, defaulting to AssemblyScript.

