Giter Club home page Giter Club logo

openaf-opacks's Introduction

openaf-opacks

List of OpenAF opacks:

Name Description
APIs
A collection of public REST APIs for currency check, country info, numbers & dates trivia, GeoIP, finance, weather and a test service.
AWS
Simplified and light AWS API calls to avoid including the heavy AWS Java SDK. Currently supports some Lambda, RDS, ECS, IAM, DYNAMO and SQS functions.
AsciiMo
Wrapper around AsciiMo/Figlet to produce ascii based banners.
Asciidoc
Provides a wrapper around asciidoctor.js enabling conversion to HTML
Avro
Provides a wrapper around handling Avro files.
Badgen
The Badgen library to generate badge like SVG rewritten for OpenAF
Bench
A collection of benchmark performance tests
BouncyCastle
Extra Java BouncyCastle crypto algorithms.
CmdUtils
Common object library for command utilities
Compress
Provides encapsulation for the Apache Compress library.
Compromise
Integrates the NPL Compromise lib (https://github.com/nlp-compromise/compromise) into a opack.
Confluence
Wrapper for the Confluence REST API
CopyFiles
Provides a generic script for configurable copy and syncing of several source and target folders on the same system. Can compare to copy only new files, rename successfull transfered files to done or any other action (like database update), translate a source filename to a target name, provide exclusion lists, etc.
DRProxy
DRProxy is a Debug Reverse Proxy to be used in helping debug HTTP/HTTPs communication. It allows the interception of pre-proxy and post-proxy requests for any debug need.
Debug
Debug wrapper functionality to transform comments into active debugging
Docker
A wrapper to access the amihaiemil/docker-java-api api to access a docker client.
DockerRegistry
A wrapper to access docker registry services.
Docsify
Wrapper to quickly build and server Docsify markdown documentation.
ElasticSearch
Provides ElasticSearch functionality for OpenAF scripts.
EncryptText
Encrypts a password by asking the user and not displaying on the shell session.
GCP
Simplified and light GCP API calls to avoid including the GCP Java SDK (work in progress)
GCS
Google Cloud Storage (GCS) wrapper
GIST
Provides an OpenAF channel implementation to use GitHub's GIST.
GenData
Helps in the quick generation of dummy data with already provided lists, custom lists, already provided functions (including telecom functions) and lists.
GitHub
GitHub partially API wrapper
GoogleCompiler
Google Closure Compiler, reducing size of Javascript files and makes them more efficient helping your application to load faster and reducing your bandwidth needs and provides warning for illegal JavaScript and warnings for potentially dangerous operations, helping you to produce JavaScript that is less buggy and easier to maintain.
GooglePhoneNumber
Provides a wrapper to use the google phone number library (https://github.com/googlei18n/libphonenumber/).
IMEICheck
Enables the checking of IMEIs for checksum validity and tries also to determine the equipment brand from a public database
InstallCert
Easy local installation of SSL certificates.
Jira
Wrapper for the JIRA REST API
KeepAlive
Keeps AF connections alive so that they don't timeout by sending pings regularly (useful with OpenAF-console)
Kube
Kubernetes REST API access wrapper
MDB
Provides hability to read MS Access (mdb) files as a JDBC database or directly using jackcess.
MSBot
Provides a wrapper to access the MS Bot Framework to allow for skype, slack and others interaction.
Mac
Wrapper around Mac functionality.
Maven
A Maven2 repositories access wrapper to get or update existing artifacts/jars.
Mermaid
Wrapper for Mermaid JS library
Mongo
An OpenAF channels implementation ('mongo') to access collections on MongoDBs. It also includes an utility object (e.g. MongoUtil).
Morse
Simple morse code translator
Notifications
Provides libraries to use notifications services. Currently pushover.js.
OpenAFLambdaLayers
Build the lambda layers to run OpenAF lambda functions
OpenAI
Wrapper around the OpenAI API functionality.
PEG
Wrapper around the Peggy javascript library allowing the parsing of grammars.
PasteBin
Wrapper around PasteBin functionality.
Prolog
Wrapper for the projob library to add prolog functionality.
QR
Generates and reads QR codes
RSS
A simple library to create and serve RSS feeds.
Redis
Wrapper to access Redis using the java Jedis client.
Robot
Wrapper of functionality that allows for the automation of keystrokes and mouse movements and clicks.
Rust
A simple wrapper for oJob Rust language support.
S3
Wrapper to access S3 compatible object storages as a client.
SQLDeveloperUtils
Provides utilities for SQLDeveloper version >= 4 (like encrypt and decrypt SQLDeveloper passwords)
ScaleWay
Wrapper around ScaleWay API
SerializedObjects
Package to Serialize and Unserialize Java Objects
SocksServer
Provides a wrapper around a Java SocksServer implementation
SysBench
Wrapper around SysBench to perform cpu, io and memory benchmark tests.
Terraform
OpenAF's wrapper around Terraform's functionality (e.g. converts HCL/TF to JSON and JSON to HCL/TF)
TimeLive
Wrapper for TimeLive timesheets API
Tunnels
Set a configuration file to automatically connect reusable SSH tunnels (port forwarding) whenever you need them.
UnixPAM
Provides UNIX PAM based authentication
XChart
Provides a wrapper to use the XChart java charts library. Allows the creation of png (or others) images of charts and html/css inline images of charts.
etcd3
Wrapper to access etcd3 functionality as a client
inBrowser
Provides a mini browser editor intended to use from openaf-console to edit objects or perform show/watch in a browser window.
initd
Creates initd scripts to use with the openaf's --daemon command line option.
oDoc2MD
Generating markdown documentation based on existing oDoc databases.
oJobIO
Service to provide easy-to-access oJobs for daily routines.
oPackServer
Provides an ojob or docker container to launch a private oPack server and easily add it to any OpenAF client.
oafproc
A command-line data processor for various input and output formats with query capabilities.
plugin-GIT
OpenAF plugin to access GIT repositories.
plugin-Ignite
OpenAF plugin to wrap Ignite functionality.
plugin-SMB
OpenAF plugin to access samba/window shares.
plugin-SVN
OpenAF plugin to access SVN repositories.
plugin-XLS
OpenAF plugin to create and modify XLS and DOC files.
rocksdb
OpenAF channels wrapper and utilities for RocksDB

openaf-opacks's People

Contributors

dependabot[bot] avatar github-actions[bot] avatar nmaguiar avatar nmsaguiar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

nmaguiar

openaf-opacks's Issues

S3: error when listing objects "folder"

Problem

When trying to use s3.listObjects on a prefix where there is a "folder" object, in MinIO, the error

java.lang.NullPointerException: Cannot invoke "io.minio.messages.ResponseDate.zonedDateTime()" because "this.lastModified" is null

occurs.

S3: Using environment variables for authentication

Describe the bug
When deploying the oPack S3 on an AWS environment where the credentials are environment variables based it will end in error trying to access IAM-role credentials.

To Reproduce
Steps to reproduce the behavior:

  1. Create a AWS Lambda function with the AWSLambdaLayers oPack
  2. Associate the necessary permissions to access a S3 bucket
  3. Write a script or oJob that performs a simple var s3 = new S3(); s3.listObjects("my-bucket")
  4. Running se.listObjects will produce the error

Expected behavior
Should try first to use io.minio.credentials.AwsEnvironmentProvider before io.minio.credentials.IamAwsProvider since MinIO client seems not to do it.

ElasticSearch opack: default user and password on new

When creating a new ElasticSearch instance:

var es = new ElasticSearch("http://a.server:9200");

If the aUser and aPassword are not provided it will fail to create. The workaround is to include empty user and password:

var es = new ElasticSearch("http://a.server:9200", "", "");

By default it should consider user and password as empty for ElasticSearch installations that don't have authentication.

ElasticSearch error 404 not found

Describe the bug
Whenever using ElasticSearch with an URL ending in a '/' it will produce 404 (not found errors)

To Reproduce
Steps to reproduce the behavior:

  1. Write similar code to:
loadLib("elasticsearch.js")
var es = new ElasticSearch("https://some.url:12345/")
es.getClusterHealth()
  1. Check the 404 not found error

Expected behavior
It should ignore the last '/'

AWS: Cannot find function trim in object

Description
When trying to use the oPack AWS in an AWS EC2 without an associated AWS IAM role the following error occurs:

TypeError: Cannot find function trim in object [object Object].

To Reproduce
Steps to reproduce the behavior:

  1. Install the AWS oPack on an AWS EC2
  2. Without proving any credentials try to instantiate: var aws = new AWS()
  3. The error will occur

Expected behavior
It should error out indicating that the AWS EC2 IAM role was not found.

Additional context
The same applies on AWS EKS for it's AWS EC2 nodes which don't have a configured AWS IAM role.

elasticsearch: encrypted user and pass

Encrypted user and password are not properly handled in new OpenAF builds.

To reproduce

  1. Install the latest nightly OpenAF build
  2. Install the ElasticSearch opack
  3. Try to access an ElasticSearch cluster with an encrypted password

Expected behavior
It should accept and use the encrypted password.

Kube: enable setting the kubeconfig file to use

Is your feature request related to a problem? Please describe.
When using the Kube oPack it can be useful to provide a different kubeconfig file.

Describe the solution you'd like
It should be possible, on a controlled way, to set the Kube config to use a specific kubeconfig file during the object instantiation.

Describe alternatives you've considered
It's possible to set the kubeconfig system property before but this would affect any other concurrent object instantiations:

java.lang.System.setProperty("kubeconfig", "/another/kubeconfig")
var kube = new Kube()

Additional context
n/a

inBrowser: add auto-indent

Switching between formats already produces an auto-indent as a side-effect. A specific option could be added to do this without having to switch between visualization/edition formats.

plugin-smb: listFiles doesn't add '/'

When a SMB object is created pointing to a shared folder if the suffix '/' is omitted and then the listFiles function is used no suffix '/' will be added. Using listFiles with the full path as an argument doesn't have this problem.

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.