pocketbase_plugin_ngrok

package module
v0.13.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 1, 2023 License: MIT Imports: 8 Imported by: 0

README

Test codecov

Overview

This plugin allow expose local Pocketbase with ngrok

This plugin can be used for development purposes, when you need to expose your local Pocketbase instance to the internet. For example, you can use it to test your Pocketbase app on mobile device.

Requirements

Installation

go get github.com/iamelevich/pocketbase-plugin-ngrok

Example

You can check examples in examples folder

package main

import (
	"context"
	ngrokPlugin "github.com/iamelevich/pocketbase-plugin-ngrok"
	"log"

	"github.com/pocketbase/pocketbase"
)

func main() {
	app := pocketbase.New()

	// Setup ngrok
	ngrokPlugin.MustRegister(app, &ngrokPlugin.Options{
		Ctx:       context.Background(),
		Enabled:   true,
		AuthToken: "YOUR_NGROK_AUTH_TOKEN", // Better to use ENV variable for that
	})

	if err := app.Start(); err != nil {
		log.Fatal(err)
	}
}

pocketbase_plugin_ngrok

import "github.com/iamelevich/pocketbase-plugin-ngrok"

Index

type Options

Options defines optional struct to customize the default plugin behavior.

type Options struct {
    // Ctx is a context that will be used to start ngrok tunnel.
    Ctx context.Context

    // Enabled defines if ngrok tunnel should be started.
    Enabled bool

    // AuthToken is your ngrok auth token. You can get it from https://dashboard.ngrok.com/auth
    AuthToken string

    // AfterSetup is a callback function that will be called after ngrok tunnel is started.
    AfterSetup func(url string) error
}

type Plugin

type Plugin struct {
    // contains filtered or unexported fields
}
func MustRegister
func MustRegister(app core.App, options *Options) *Plugin

MustRegister is a helper function that registers plugin and panics if error occurred.

func Register
func Register(app core.App, options *Options) (*Plugin, error)

Register registers plugin.

func (*Plugin) Validate
func (p *Plugin) Validate() error

Validate plugin options. Return error if some option is invalid.

Generated by gomarkdoc

Contributing

This pocketbase plugin is free and open source project licensed under the MIT License. You are free to do whatever you want with it, even offering it as a paid service.

Process

  • Fork the repo
  • Create a new branch
  • Make your changes
  • Create a pull request
  • Wait for review
  • Make changes if needed
  • Merge
  • Celebrate :)

Development setup

  • Install asdf and plugins for tools listed in .tool-versions file.
  • This repo also uses asdf-direnv. Install it and run direnv allow in the repo root.
  • Setup pre-commit hooks with pre-commit install -t commit-msg -t pre-commit

Testing

  • Run make test to run tests
  • Run make test-coverage to run tests with coverage report

Linting

  • Run make lint to run linters

Docs update in README

  • Install gomarkdoc
  • Run make docs to update docs in README

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Options

type Options struct {
	// Ctx is a context that will be used to start ngrok tunnel.
	Ctx context.Context

	// Enabled defines if ngrok tunnel should be started.
	Enabled bool

	// AuthToken is your ngrok auth token. You can get it from https://dashboard.ngrok.com/auth
	AuthToken string

	// AfterSetup is a callback function that will be called after ngrok tunnel is started.
	AfterSetup func(url string) error
}

Options defines optional struct to customize the default plugin behavior.

type Plugin

type Plugin struct {
	// contains filtered or unexported fields
}

func MustRegister

func MustRegister(app core.App, options *Options) *Plugin

MustRegister is a helper function that registers plugin and panics if error occurred.

func Register

func Register(app core.App, options *Options) (*Plugin, error)

Register registers plugin.

func (*Plugin) Validate

func (p *Plugin) Validate() error

Validate plugin options. Return error if some option is invalid.

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL