Skip to content

An OIDC application based on Okta resources and managed by Pulumi

Notifications You must be signed in to change notification settings

massimilianobaldo/good-programmers

Repository files navigation

Are you a Good Programmer? 👀

This project was developed alongside the company Kynetics with the Univeristy of Padova.

The idea wa to study Pulumi, a modern IaC tool, in order to create and provide an OIDC application based on Okta.

You can find an article with the explanation of all the project and how it was implemented.

Installation

Clone the repository

git clone https://github.com/massimilianobaldo/good-programmers

Usage

Ensure that you have setup a Pulumi's stack with the correct data from Okta.

Here is a guide.

Native mode

You need to have installed:

  • Node 16+
  • Pulumi CLI (already loged-in)

The simple usage is to install all the dependecies

npm install

Then, use the Pulumi CLI to provide the infrastructure

pulumi up

Change the vite.config.ts file under the folder api in order to use the correct host:

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'

// https://vitejs.dev/config/
export default defineConfig({
  server: {
    proxy: {
      "/api": {
        target: "http://localhost:4000",
        changeOrigin: true,
        secure: false,
        ws: true
      }
    }
  },
  plugins: [vue()]
})

Lastly, run in two different terminals

npm start -w app
npm start -w api

Go to localhost:3000 to use the application.

Docker mode

There is a docker-compose.yml that you can use to run the application.

You need to create a .env file in the root of the project folder and add the following fields

PULUMI_ACCESS_TOKEN=your-pulumi-token
PULUMI_CONFIG_PASSPHRASE=""

Then launch docker compose up and wait until you see to go to localhost:3000.

License

Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

About

An OIDC application based on Okta resources and managed by Pulumi

Resources

Stars

Watchers

Forks

Releases

No releases published