Git Product home page Git Product logo

cas-initializr's Introduction

CAS Initializr

CAS Initializr provides a build system and an API to dynamically generate CAS overlays. The project is based on Spring Initializr.

Build

You will need JDK 11 to run the CAS Initializr locally.

./gradlew clean build

Generate a Docker image from the build:

./gradlew bootBuildImage

Run

CAS Initializr is a Spring Boot application and can be run using the following command:

./gradlew :app:bootRun

Or run the Docker image:

imageTag=(`./gradlew casVersion --q`) && docker run --rm -p 8080:8080 -t apereo/cas-initializr:$imageTag 

The service will be available on http://localhost:8080.

Generating a project

Generate a vanilla CAS overlay:

curl http://localhost:8080/starter.zip -o cas.zip

Generate a CAS overlay package as a compressed tarball that contains indicated modules/dependencies selected by their identifier:

curl http://localhost:8080/starter.tgz -d dependencies=core | tar -xzvf -

Generate a CAS overlay for a specific version:

Must specify the appropriate spring boot version for the specified casVersion.

curl http://localhost:8080/starter.tgz -d "dependencies=core,oidc&casVersion=6.3.3&bootVersion=2.3.7.RELEASE" | tar  -xzvf -

Generate overlay projects for other CAS related applications:

curl http://localhost:8080/starter.tgz -d "type=cas-management-overlay" | tar  -xzvf -

Type can be one of:

  • cas-overlay (default)
  • cas-bootadmin-server-overlay
  • cas-config-server-overlay
  • cas-discovery-server-overlay
  • cas-management-overlay

Generate a CAS Overlay using latest cas-initializr deployed on heroku.com:

curl https://casinit.herokuapp.com/starter.tgz -d "dependencies=core,bootadmin,metrics,gitsvc,jsonsvc,redis" | tar  -xzvf -

Dependency List

Dependencies that can be requested must be specified by their identifier. To see a full list of all dependencies supported and available by this service, you can invoke the following command:

curl http://localhost:8080/dependencies

Typically, dependency identifiers match CAS server dependency/module artifact names without the cas-server- prefix.

Service metadata

The metadata lists the capabilities of the service, that is the available options for all request parameters (dependencies, type, bootVersion, etc.) A client to the service uses that information to initialize the select options and the tree of available dependencies.

You can grab the metadata on the root endpoint with the appropriate Accept header:

curl -H 'Accept: application/json' http://localhost:8080

Or using HTTPie:

http http://localhost:8080 Accept:application/json

cas-initializr's People

Contributors

mmoayyed avatar renovate[bot] avatar hdeadman avatar alexbde avatar dustinluck avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.