Skip to content

Instantly share code, notes, and snippets.

@iggyzap
iggyzap / identity_server.json
Last active April 5, 2017 10:02
Chef Search results
knife search node "chef_environment:yyy AND roles:identity_server"
10 items found
Node Name: <node name 1>
Environment: yyy
FQDN: xxx
IP: xxx
Run List: role[identity_server], role[media_server], role[push_gw_server], role[survey_server], role[survey_ui_server], role[tracking_server], role[subscriber_server], role[transcoder_server]
Roles: identity_server, base, proxy_server, media_server, push_gw_server, survey_server, survey_ui_server, tracking_server, subscriber_server, transcoder_server
Recipes: madme-base, madme-iptables, madme-prometheus::node_exporter, madme-haproxy, madme-java8, madme-apps, madme-apache2, madme-ui-apps::default, madme-base::default, ntp::default, runit::default, build-essential::default, build-essential::_rhel, sudo::default, madme-base::geo-ip-database, ark::default, madme-base::geo-ip-city-database, madme-base::geo-ip-city-asia-pacific-database, madme-base::common-configuration, madme-base::s3events, madme-iptables::default, madme-haproxy::default, madm
@iggyzap
iggyzap / pom.xml
Created August 26, 2016 17:51
How to generate archive + run stuff with log4j2 replacing jul in spring-boot 1.3.x
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- add your stuff -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
@iggyzap
iggyzap / RedundantJsonSerializer.java
Last active February 22, 2016 14:21
Sometimes class naming in spring security is beyond human comprehension, especially since renderrrer from below does not reference OAuth2Exception as result of compilation.
/**
* Strategy for rendering a {@link OAuth2Exception} in cases where they cannot be rendered by the Spring dispatcher
* servlet (i.e. usually in a filter chain).
*
* @author <blame someone>
*
*/
public interface OAuth2ExceptionRenderer {
void handleHttpEntityResponse(HttpEntity<?> responseEntity, ServletWebRequest webRequest) throws Exception;
}
@iggyzap
iggyzap / what_is_wrong_with_spring_oauth_security.java
Created February 8, 2016 12:54
What is wrong with spring security ? Entry point is actually exit point, it does not do any authentication but exceptions translation but otherwise completely kosher.
/**
* If authentication fails and the caller has asked for a specific content type response, this entry point can send one,
* along with a standard 401 status. Add to the Spring Security configuration as an {@link AuthenticationEntryPoint} in
* the usual way.
*
* @author Dave Syer
*
*/
public class OAuth2AuthenticationEntryPoint extends AbstractOAuth2SecurityExceptionHandler implements
AuthenticationEntryPoint {
@iggyzap
iggyzap / kaka.logging.shit.scala
Created December 10, 2013 12:45
What happens with actor system when akka catches "fatal" exception - worse case scenario, it spits crap into System.err and kill JVM. On best case it shuts down local actor system.
protected def uncaughtExceptionHandler: Thread.UncaughtExceptionHandler =
new Thread.UncaughtExceptionHandler() {
def uncaughtException(thread: Thread, cause: Throwable): Unit = {
cause match {
case NonFatal(_) | _: InterruptedException | _: NotImplementedError | _: ControlThrowable ⇒ log.error(cause, "Uncaught error from thread [{}]", thread.getName)
case _ ⇒
if (settings.JvmExitOnFatalError) {
try {
log.error(cause, "Uncaught error from thread [{}] shutting down JVM since 'akka.jvm-exit-on-fatal-error' is enabled", thread.getName)
import System.err
def receiveMessage(remoteMessage: RemoteMessage): Unit = {
val remoteDaemon = provider.remoteDaemon
try {
remoteMessage.recipient match {
case `remoteDaemon` ⇒
if (useUntrustedMode) log.debug("dropping daemon message in untrusted mode")
else {
if (provider.remoteSettings.LogReceive) log.debug("received daemon message [{}]", remoteMessage)
remoteMessage.payload match {
@iggyzap
iggyzap / embedding.html
Last active December 22, 2015 10:10
Converting embedded GitHub code so it will work in livejournal editor using embed function
Original embed link:
<script src="https://gist.github.com/iggyzap/6357900.js"></script>
One that works with embed function:
<iframe src="https://gist.github.com/iggyzap/6357900.js"></iframe>
@iggyzap
iggyzap / AkkaBootstrap.java
Last active December 22, 2015 09:38
If you happen to use custom play 1.2.x plugin that wraps AKKA and somehow actors fail to send / receive messages with ClassNotFoundException then following hack can be used.
import akka.actor.*;
import java.lang.reflect.Field;
@OnApplicationStart(async = false)
public class AkkaBootstrap extends Job {
@Override
public void doJob() throws Exception {
ActorSystem system = Akka.getActorSystem(); //Akka there is custom plugin
// hack to use correct classloader so separate servers will be able to
@iggyzap
iggyzap / ActorTestBase.java
Created September 4, 2013 12:52
Base class that allows to unit-test akka actors in full isolation.
import akka.actor.*;
import akka.actor.ActorCell;
import akka.actor.ActorContext;
import org.jmock.Expectations;
import org.jmock.auto.Mock;
import org.jmock.integration.junit4.JUnitRuleMockery;
import org.jmock.lib.concurrent.Synchroniser;
import org.jmock.lib.legacy.ClassImposteriser;
import org.junit.AfterClass;
import org.junit.Before;
@iggyzap
iggyzap / BitSetIterable.java
Created August 27, 2013 19:25
Iterable wrapper for java.util.BitSet + simple unit test. Uses google guava.
import com.google.common.collect.AbstractIterator;
import java.util.BitSet;
import java.util.Iterator;
/**
* Iterable over BitSet, will represent a snapshot view of given bitset at time
* of obtaining iterator.
*/
public class BitSetIterable implements Iterable<Integer> {