Lucas Roesler
b65e279f9f
feat: Add missing fields to the describe output
Add the function
* constraints
* environment variables
* secrets
* requests and limits
This can be tested as follows:
Create a test cluster using KinD
```sh
kind create cluster --config=cluster.yaml
arkade install openfaas -a=false --function-pull-policy=IfNotPresent --wait
faas-cli store deploy nodeinfo --annotation sample=true --label status=418
```
Now deploy a sample function
```sh
$ faas-cli describe nodeinfo
Name: nodeinfo
Status: Ready
Replicas: 1
Available replicas: 1
Invocations: 0
Image: ghcr.io/openfaas/nodeinfo:latest
Function process: <default>
URL: http://127.0.0.1:8080/function/nodeinfo
Async URL: http://127.0.0.1:8080/async-function/nodeinfo
Labels faas_function : nodeinfo
status : 418
Annotations sample : true
prometheus.io.scrape : false
Constraints <none>
Environment <none>
Secrets <none>
Requests <none>
Limits <none>
```
Now we add some more interesting values, like a secret and env variables.
```sh
$ faas-cli secret create db-password --from-literal=password
Creating secret: db-password.
Created: 202 Accepted
$ faas-cli store deploy nodeinfo --annotation sample=true --label status=418 --secret db-password --env db-user=postgres --env db-host=rds.aws.example.com
Deployed. 202 Accepted.
URL: http://127.0.0.1:8080/function/nodeinfo
$ faas-cli describe nodeinfo
Name: nodeinfo
Status: Ready
Replicas: 1
Available replicas: 1
Invocations: 0
Image: ghcr.io/openfaas/nodeinfo:latest
Function process: <default>
URL: http://127.0.0.1:8080/function/nodeinfo
Async URL: http://127.0.0.1:8080/async-function/nodeinfo
Labels: faas_function: nodeinfo
status: 418
uid: 736815901
Annotations: prometheus.io.scrape: false
sample: true
Constraints: <none>
Environment: <none>
Secrets: - db-password
Requests: <none>
Limits: <none>
```
To see how multiple Secrets and the Requests and Limits are rendered, use
```yaml
version: 1.0
provider:
name: openfaas
gateway: http://127.0.0.1:8080
functions:
nodeinfo:
lang: Dockerfile
image: ghcr.io/openfaas/nodeinfo:latest
secrets:
- cache-password
- db-password
environment:
db-host: rds.aws.example.com
cache-host: redis.aws.example.com
labels:
status: 481
annotations:
sample: "true"
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 200m
memory: 256Mi
```
then
```sh
$ faas-cli secret create cache-password --from-literal=password
Creating secret: cache-password.
Created: 202 Accepted
$ faas-cli deploy
Deploying: nodeinfo.
Deployed. 202 Accepted.
URL: http://127.0.0.1:8080/function/nodeinfo
$ faas-cli describe nodeinfo
Name: nodeinfo
Status: Ready
Replicas: 1
Available replicas: 1
Invocations: 0
Image: ghcr.io/openfaas/nodeinfo:latest
Function process: <default>
URL: http://127.0.0.1:8080/function/nodeinfo
Async URL: http://127.0.0.1:8080/async-function/nodeinfo
Labels: faas_function: nodeinfo
status: 481
uid: 679245186
Annotations: prometheus.io.scrape: false
sample: true
Constraints: <none>
Environment: <none>
Secrets: - cache-password
- db-password
Requests: CPU: 100m
Memory: 128Mi
Limits: CPU: 200m
Memory: 256Mi
```
Signed-off-by: Lucas Roesler <roesler.lucas@gmail.com>
2022-03-17 15:45:19 +00:00
..
2020-10-30 09:04:17 +00:00
2021-06-03 08:50:11 +01:00
2019-11-05 16:03:35 +00:00
2022-03-17 15:45:19 +00:00
2021-04-02 10:26:56 +01:00
2021-04-02 10:26:56 +01:00
2020-07-01 20:58:23 +01:00
2019-10-09 11:45:37 +01:00
2019-11-05 16:03:35 +00:00