fakeserver
Illumio's cloud-operator streams data out to a server that you control.
The fakeserver provides a convenient way to test out the cloud-operator
without having a server to collect all those streams.
Running the fakeserver
From the repo root:
go run ./fakeserver
Pointing cloud-operator to fakeserver
fakeserver accepts a fake set of credentials. You can find the constants in
the code:
# fakeserver respects these:
# DefaultClientID = "client_id_1"
# DefaultClientSecret = "client_secret_1"
onboardingSecret:
clientId: "client_id_1"
clientSecret: "client_secret_1"
Next, you must put the IP address of where fakeserver can be reached from the
context of the cluster. Assuming that you're running fakeserver on the same
host you're running the k8s cluster that cloud-operator is installed into,
your first guess may be localhost. But that's not quite correct - as
cloud-operator actually runs inside of a pod. Thus, you must use
host.docker.internal to get to the host machine.
And as for the port, well fakeserver serves on 50053, by default
# This is where my k8s cluster can find my locally running services.
# '192.168.65.254' is some sort of magic IP addr for k8s...
env:
tlsSkipVerify: true
onboardingEndpoint: "https://host.docker.internal:50053/api/v1/k8s_cluster/onboard"
tokenEndpoint: "https://host.docker.internal:50053/api/v1/k8s_cluster/authenticate"
Putting it all together
I've gone ahead and created a file ./cloud-operator.fakeserver.yaml that
contains all of these data. You can use it directly to install an instance of
cloud-operator and run it against fakeserver.
Here's the command I used to install the helm chart. The --values flag is the
interesting part. By using these values, you will configure the cloud-operator
to do the oauth onboarding handshake against fakeserver and then send all
flows to it:
helm install illumio --namespace illumio-cloud --values ./fakeserver/cloud-operator.fakeserver.yaml ./cloud-operator/cloud-operator-1.0.0.tgz