kubectl apply -f https://raw.githubusercontent.com/pavolloffay/kubecon-eu-2023-opentelemetry-kubernetes-tutorial/main/app/k8s.yaml
kubectl port-forward svc/frontend-service -n tutorial-application 4000:4000
kubectl patch deployment frontend-deployment -n tutorial-application -p '{"spec": {"template":{"metadata":{"annotations":{"instrumentation.opentelemetry.io/inject-sdk":"true"}}}} }'
kubectl patch deployment backend1-deployment -n tutorial-application -p '{"spec": {"template":{"metadata":{"annotations":{"instrumentation.opentelemetry.io/inject-python":"true"}}}} }'
Disclaimer: This piece is written anonymously. The names of a few particular companies are mentioned, but as common examples only.
This is a short write-up on things that I wish I'd known and considered before joining a private company (aka startup, aka unicorn in some cases). I'm not trying to make the case that you should never join a private company, but the power imbalance between founder and employee is extreme, and that potential candidates would
| package tlscfg | |
| import ( | |
| "crypto/tls" | |
| "fmt" | |
| "github.com/stretchr/testify/require" | |
| "go.uber.org/zap" | |
| "io/ioutil" | |
| "net/http" | |
| "testing" |
This issue contains my knowledge of SearchGuard configuration in image https://github.com/openshift/origin-aggregated-logging/tree/master/elasticsearch/sgconfig. Which is then used in https://github.com/openshift/elasticsearch-operator.
SearchGuard is configured in these files:
sg_action_groups.yml- ES privileges https://www.elastic.co/guide/en/shield/2.2/privileges-list.html mapped into SG groups . Note that there are cluster and index privileges. These grous are then used insg_roles.ymlsg_roles.yml- maps users with action groups - e.g.jaegercanREADsg_roles_mapping.yml- maps users/roles to authentication types
Curator will be authenticated via certificates:
| java.lang.Exception: Event onLoad failed for instrument class com.oracle.truffle.tools.agentscript.impl.AgentScriptInstrument and listener/factory com.oracle.truffle.tools.agentscript.impl.AgentObject$1@7fac1c65f790. | |
| at com.oracle.truffle.api.instrumentation.ProbeNode.exceptionEventForClientInstrument(ProbeNode.java:649) | |
| at com.oracle.truffle.api.instrumentation.InstrumentationHandler.notifySourceBindingLoaded(InstrumentationHandler.java:877) | |
| at com.oracle.truffle.api.instrumentation.InstrumentationHandler.notifySourceBindingsLoaded(InstrumentationHandler.java:865) | |
| at com.oracle.truffle.api.instrumentation.InstrumentationHandler.onLoad(InstrumentationHandler.java:209) | |
| at com.oracle.truffle.api.instrumentation.InstrumentAccessor$InstrumentImpl.onLoad(InstrumentAccessor.java:174) | |
| at com.oracle.truffle.api.impl.TVMCI.onLoad(TVMCI.java:154) | |
| at org.graalvm.compiler.truffle.runtime.GraalTVMCI.onLoad(GraalTVMCI.java:92) | |
| at org.graalvm.compiler.truffle.runtime.GraalTruffleRuntime.createClonedCallTarget(GraalT |
| cat <<EOF | kubectl apply -f - | |
| apiVersion: jaegertracing.io/v1 | |
| kind: Jaeger | |
| metadata: | |
| name: simple-prod | |
| spec: | |
| strategy: production | |
| storage: | |
| type: elasticsearch | |
| options: |
| """ | |
| Note: There are several variations to do the same thing (see # or). The idea | |
| is to choose the best (one or so) of the variations and implement that. I.E. | |
| these are different designs possibilities for the API. | |
| """ | |
| """ | |
| Filtering | |
| """ |
GOROOT=/home/ploffay/bin/go #gosetup GOPATH=/home/ploffay/projects/golang #gosetup /home/ploffay/bin/go/bin/go build -o /tmp/___go_build_main_go /home/ploffay/projects/golang/src/github.com/pavolloffay/github-changelog/cmd/main.go #gosetup /tmp/___go_build_main_go #gosetup getting pulls getting pulls getting pulls getting pulls getting pulls getting pulls
| @Traced | |
| @ApplicationScoped | |
| public class ConversationService { | |
| @Inject | |
| @RestClient | |
| private GreetingService greetingService; | |
| public String talk() { | |
| return greetingService.hello() + " -> " + greetingService.bonjour(); |
| # curator --config plugin/storage/es/curator.yml plugin/storage/es/ | |
| actions: | |
| 1: | |
| action: create_index | |
| description: Create archive index. | |
| options: | |
| name: jaeger-span-archive-000001 | |
| continue_if_exception: False | |
| disable_action: False | |
| 2: |