Skip to content

joegasewicz/locksmith

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

21 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Locksmith Identity server

This is a WIP & will be production ready in v1.0

Admin Console

Admin Console

Usages

To run locksmith locally, first run the docker-compose make cmd

make docker-compose

Now you can run locksmith

go run locksmith.go

Config

Create a yaml file called locksmith.yaml

To set default users & role types. The user.role must match the roles values.

version: 1
roles:
  - admin
  - teachers
  - students
users:
  - name: admin
    role: admin
    email: test1@gmail.com
    password: admin
... etc.

Docker Image

Pull down locksmith from the Docker registry

docker pull bandnoticeboard/locksmith:v1.0.2

Or select a version here - bandnoticeboard/locksmith

Docker Compose

Example of running locksmith with Docker Compose. This example also include the required postgres database configuration.

  postgres_locksmith:
    image: "postgres:latest"
    ports:
      - "5431:5432"
    environment:
      - POSTGRES_USER=admin
      - POSTGRES_PASSWORD=admin
      - POSTGRES_DB=identity_db
    volumes:
      - ./db/identitydb_vol/:/var/lib/postgresql/data

  locksmith:
    image: "bandnoticeboard/locksmith:v1.0.2"
    ports:
      - "7001:7001"
    env_file:
      - ".env-dev"
    depends_on:
      - postgres_locksmith
    restart: on-failure

Environment Variables

  • TOKEN_SECRET
  • PGDATABASE
  • PGUSER
  • PGPASSWORD
  • PGPORT
  • PGHOST

Example .env file

TOKEN_SECRET=wizard
PGDATABASE=identity_db
PGUSER=admin
PGPASSWORD=admin
PGPORT=5431
PGHOST=host.docker.internal

Endpoints

  • GET http://127.0.0.1:7001/health Response:
{"Health":"OK"}

Authors

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT