dariuszski / ziti-agent-wh Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
Role precedence idea:
if pod annotation (typically via a Deployment) with a "safe" separator, not space or comma;
else if explicit namespace annotation (can use the same annotation key, e.g., identity.openziti.io/roles
;
else deterministic (predictable, conventional) role like { deployment metadata.name }.{ namespace metadata.name}.{cluster metadata.name, else random ID}
This change will help to avoid confusion about which version of ziti is installed.
ref: https://github.com/openziti/ziti/blob/release-next/dist/docker-images/ziti-controller/Dockerfile
If the image will use ziti
CLI, even if it will not be based on the RedHat UBI, then we can add a build stage in our Dockerfile that sources a pinned ziti version.
example Dockerfile
ARG ZITI_CLI_TAG="latest"
ARG ZITI_CLI_IMAGE="docker.io/openziti/ziti-cli"
# this builds docker.io/openziti/ziti-k8s-agent
FROM ${ZITI_CLI_IMAGE}:${ZITI_CLI_TAG}
# set up image as root
USER root
# do stuff as root
RUN chmod 0755 /usr/local/bin/ziti-agent-wh
# drop privs to ziggy
USER ziggy
COPY ${DOCKER_BUILD_DIR}/deployment/bashrc /home/ziggy/.bashrc
ENTRYPOINT [ "ziti-agent-wh" ]
Need a retry behavior for Ziti CRUD ops that follows some kind of backoff policy to avoid hammering a limping controller
Each tproxy sidecar needs cluster DNS configuration to effect precedence:
For the MVP we can find and inject the coredns or kube-dns ClusterIP by the common label selector: k8s-app=kube-dns
e.g.,
kubectl --namespace kube-system \
get services --selector=k8s-app=kube-dns \
--output go-template='{{range .items}}{{ .spec.clusterIP }}{{"\n"}}{{end}}'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.