Skip to content

Latest commit

 

History

History
278 lines (209 loc) · 7.45 KB

CHANGELOG.md

File metadata and controls

278 lines (209 loc) · 7.45 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

  • More prometheus metrics
  • More UX improvements

[v3.2.0] - 2020-11-25

Added

  • Google compatibility for refresh token (#32)
  • Alternative Kubeconfig context name and clusters name (#31)
  • Error page \o/

Fixed

  • Allow scopes overrides (#30)

[v3.1.0] - 2020-07-02

Added

  • Add templates and assets override support (#27)

Security

  • Removed secret logging during startup

[v3.0.1] - 2020-05-11

Added

  • Generate a full kubeconfig output based on cluster list Also add 2 configuration options:

    • web.kubeconfig.defaultCluster: default cluster name for kubeconfig (defaults to first cluster name in the clusters list)
    • web.kubeconfig.defaultNamespace: default namespace for kubeconfig (defaults to "default" by default...)

[v3.0.0] - 2020-05-11

Warning

Lot of breaking changes for:

  • cli
  • configuration

Please refers to the README.md for detailed documentation.

Added

  • Documentation

  • Kind and skaffold dev env

  • You can now override configuration using environment variables:

    "LOGINAPP_ABC" where ABC is the full path of the variable to override, exemple: LOGINAPP_OIDC_CLIENT_ID=mycustomid will override oidc.client.id key from config (issue #20)

  • Helm deployment

Changed

  • Change directory structure
  • Switch to cobra/viper for CLI
  • User packr for embed assets
  • In order to allow env var overrides, we had to change some variable name. All variables (excluded clusters vars) follow a lower camel case convention:
    • redirect_url --> redirectURL
    • root_ca --> rootCA
    • extra_scopes --> oidc.extra.scopes
    • extra_auth_code_opts --> oidc.extra.authCodeOpts
    • offline_as_scope --> oidc.offlineAsScope
    • cross_clients --> oidc.crossClients
    • main_username_claim --> web.mainUsernameClaim
    • main_client_id --> web.mainClientID

Removed

  • Remove dep as dependency manager, use go mod instead

  • Remove all vendor dependencies from repository

  • Assets are now included with the binary, these options are removed:

    • web.assets_dir
    • web.templates_dir

[2.7.0] - 2019-04-22

Added

  • Custom copy/paste fields (ex: kubectl config set-cluster [...]). Your can now setup clusters configuration:

    clusters:
      - name: mycluster
        server: https://mycluster.org
        certificate-authority: |
          -----BEGIN CERTIFICATE-----
          MIIC/zCCAeegAwIBAgIULkYvGJPRl50tMoVE4BNM0laRQncwDQYJKoZIhvcNAQEL
          BQAwDzENMAsGA1UEAwwEbXljYTAeFw0xOTAyMTgyMjA5NTJaFw0xOTAyMjgyMjA5
          NTJaMA8xDTALBgNVBAMMBG15Y2EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
          -----END CERTIFICATE-----
    
  • UX improvements, css/js has been changed for bootstrap

Removed

  • web_output.skip_main_page does not longer exists, the index page was useless

[2.6.0] - 2019-04-02

Added

  • Prometheus endpoint (:9090 by default)

    Current available metrics:

    • loginapp_request_total{"code", "method"}: Counter vector
    • loginapp_request_duration{"code", "method"}: Gauge vector

    More metrics will be added in feature minor upgrades

  • Support extra auth code options.

    loginapp now supports extra auth code options, to ensure compatibility with IdP like ADFS (see issue #16) Configuration option:

    [...]
    oidc:
      extra_auth_code_opts:
        resource: XXXXX
    [...]
    
  • Changelog :)

Changed

  • Code refactor: to easily add prometheus metrics, we had to split code. Current logic is:

    • cli.go: CLI related code
    • config.go: app configuration
    • handlers.go: main router handlers
    • logging.go: logging related code
    • main.go: app entrypoint
    • prometheus.go: prometheus metrics setup
    • routes.go: main router setup
    • server.go: server related code
    • templates.go: html templates
    • util.go: another util garbage file...

    Also update checks and go fmt

  • Improve user requests logging: add return code

2.5.0 - 2018-12-21

Added

2.4.1 - 2018-11-05

Fixed

  • License field issues

2.4.0 - 2018-10-28

Changed

  • Evacuate html templates from binary. It allows users to override default assets.

2.3.0 - 2018-10-24

Added

  • Customizable username claim. You can now change output username claim in loginapp configuration.

    Default is set to "name". "name" and "email" are common claims, the full list of supported claims are available at 'well-known' URL of your issuer (ex: https://dex.example.com/.well-known/openid-configuration)

  • Golang syntax improvements

Changed

  • Configuration checks methods: simply code to easily include new configuration option and associated check function

2.2.0 - 2018-10-11

Added

  • Debug output

Changed

  • Split CLI setup from main

Fixed

2.1.0 - 2018-08-15

Added

  • HTML frontend click/copy feature
  • Ability to use your own assets
  • Skip main page option (web_output.skip_main_page)
  • Document new opts in README, add a dev doc
  • Configuration checks

Changed

  • Code refactoring

Fixed

  • Multiple client_id in html render when using cross_client feature (related to option web_output.main_client_id).

2.0.2 - 2018-07-18

Added

  • Code checks and format: gofmt, errcheck, gocyclo, gosimple

2.0.1 - 2018-07-17

Added

  • App description and version in CLI

2.0.0 - 2018-07-13

Added

  • Apache 2.0 LICENSE

  • Dependencies management

  • Better example files

  • Real CLI (loginapp serve [configfile])

  • Support loglevel configuration

  • Exponential retry backoff when at startup when setting up provider

  • /healthz endpoint (for k8s) --> Check: provider is setup, provider availability

Changed

  • Code refactoring
  • Cleaner config format
  • More debug (ex: middleware logger for incoming requests)
  • Move code to root directory

Removed

  • No more alpine Docker image, only scratch

1.1.1 - 2018-04-24

Added

Removed

  • DockerHub repository

Fixed

  • Typos

1.1.0 - 2018-04-06

Added

  • Docker images (scratch and alpine)

Fixed

  • Typos and add precise title for cross client field

Removed

  • Useless entrypoint

1.0.0 - 2017-12-28

Added

  • Init