You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+8-8
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
+
1
2
# Iris
2
3
3
-
In Greek mythology, Iris (/ˈaɪrɪs/; Greek: Ἶρις) is the personification of the rainbow and messenger of the gods. She
4
-
was the handmaiden to Hera.
4
+
In Greek mythology, Iris(Ἶρις) is the personification of the rainbow and messenger of the gods. She was the handmaiden to Hera.
5
5
6
6
# Blog post
7
7
@@ -26,9 +26,9 @@ Note that Iris is designed to serve the org. It is not designed around serving a
26
26
Iris does not *add* information, only *copy* values that already exist. For example, it can label a VM instance with its zone, since this information is known; but it cannot add a "business unit" label because it does not know what business
27
27
unit a resource should be attributed to. For that, you should label all resources when creating them, e.g., in your Terraform scripts.
28
28
29
-
## Iris doesn't by default label all existing resources.
29
+
## Iris **doesn't**label all existing resources in the default setup.
30
30
31
-
To do it, see section [Labeling existing resources](#Labeling existingresources) below.
31
+
To do this, see section "[Labeling existing resources](#labeling-existing-resources)" below.
32
32
33
33
# Open source
34
34
Iris is open-source: Feel free to add functionality and add new types of labels. See the `TODO.md` file and Github issues for features and fixes you might do.
@@ -47,8 +47,8 @@ Or you can disable the schedule labeling.
47
47
48
48
## Labeling existing resources
49
49
50
-
* When you first use Iris, you may want to label all existing resources. This is not Iris' preferred flow for adding labels, but you can do it.
51
-
* To do this, deploy it with `label_all_on_cron: True` and wait for the next scheduled run, or manually trigger a run.
50
+
* When you first use Iris, you may want to label all existing resources. This is not Iris' default flow for adding labels, but you can do it.
51
+
* To do this, deploy it with `label_all_on_cron: True` and wait for the next scheduled run, or manually trigger a run through Cloud Scheduler.
52
52
* Thenּ, you may want to then redeploy Iris with `label_all_on_cron: False` to avoid the resource consumption of relabeling all resources with the same label every day forever.
53
53
54
54
# Supported Google Cloud resources
@@ -85,13 +85,13 @@ The part of the function name after `_gcp_` is used for the label key.
85
85
* You can deploy Iris in any project within your Google Cloud organization, but we recommend using a
*You need to have certain permissions to run the deployment script to deploy Iris on the org level--the deploy script sets up roles and log sink. You will need to have these roles on the *organization* where Iris is deployed. You do not need to have these roles if you are doing further re-deployments of new versions of Iris on the project level (where you use the `-p` switch on `deploy.sh`.
88
+
*Here are the required organization-level roles for you, the deployer, to allow the deploy script to set up roles and log sink. You do not need to have these roles if you are doing further re-deployments of new versions of Iris on the project level (where you use the `-p` switch on `deploy.sh`.
89
89
**Organization Role Administrator* so the deployment script can create a custom IAM role for Iris that allows to get and set labels.
90
90
* (Note that *Organization Owner* is not enough).
91
91
**Security Admin***or***Organization Administrator* so the deployment script can allow the Iris app engine service account to have the needed permissions.
92
92
**Logs Configuration Writer* so the deployment script can create an organization log sink that sends logs to PubSub.
93
93
94
-
*You need to have certain permissions to run the deployment script to deploy Iris on the project level.
94
+
*Here are the required project-level roles that you need on the Iris deployment project.
95
95
* One option: You can have *Project Owner* on the project where Iris is deployed
96
96
* Another option: You can have these roles.
97
97
**Project IAM Admin* to let the deployment script set up the bindings.
Copy file name to clipboardExpand all lines: TODO.md
+5-5
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,12 @@
1
1
# Improvements and fixes
2
2
## Note: see also Github Issues
3
3
4
-
* Instead of just the -c switch on install.sh, create consistency by adding an -e (for "event-driven") switch to mean "event-driven labeling". Running install.sh with neither -c or -e means the equivalent of having both -c -e.
5
-
In doing this, validate that any installation with only -c or only -e is NOT -p (project-only) or -o (org-only) and fail if so. (i.e., proceed with installation only if neither or both switches are used.)
4
+
* P2 Redo the whole thing with Cloud Asset Inventory including feeds.
5
+
Cloud Asset Inventory only recognizes assets for listing with a delay; and it is not clear whether the feeds are "real-time" or have a delay.
6
+
* P2 Instead of just the -c switch on install.sh, create consistency by adding an -e (for "event-driven") switch to mean "event-driven labeling". Running install.sh with neither -c or -e should mean the same as having both -c -e.
7
+
In doing this, validate that any installation with only -c or only -e is NOT -p (project-only) or -o (org-only) and fail if so. (i.e., proceed with installation if and only if neither or both switches are used.)
6
8
7
-
* P2 Even an empty AppEngine app (not Iris, just a Hello World with 3 lines of code in total) crashes on out-of-memory for the smalled AppEngine instance. Google has confirmed this. See if there is a workaround. This will same money.
9
+
* P2 Memory consumption: Even an empty AppEngine app (not Iris, just a Hello World with 3 lines of code in total) crashes on out-of-memory for the smalled AppEngine instance. Google has confirmed this. See if there is a workaround. This will same money.
8
10
9
11
* P2 PubSub push endpoint security:
10
12
Note: The token by itself is not very secure, though
@@ -49,8 +51,6 @@
49
51
50
52
* P3 Rethink the need for title case in class names. This is clumsy for `Cloudsql`.
51
53
52
-
* P3 Concurrent execution
53
-
* Init of multiple plugins is among the biggest slowdowns. They could be initialized concurrently.
54
54
55
55
* P4 Implement new labels, for example using ideas from
56
56
the [GCP Auto Tag project](https://github.com/doitintl/gcp-auto-tag/)
0 commit comments