Skip to content

Commit

Permalink
add app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz
Browse files Browse the repository at this point in the history
app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/README.md
app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/main.yaml
app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/values.schema.json
  • Loading branch information
catalogbot committed Nov 6, 2024
1 parent bb06de4 commit 810adf7
Show file tree
Hide file tree
Showing 5 changed files with 406 additions and 1 deletion.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
[![CircleCI](https://dl.circleci.com/status-badge/img/gh/giantswarm/app-operator/tree/master.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/giantswarm/app-operator/tree/master)

# app-operator

The app-operator manages apps in Kubernetes clusters. It is implemented
using [operatorkit].

## Important

Upon releasing a new version of the project, remember to reference it in the [Cluster Apps Operator Helm Chart](https://github.com/giantswarm/cluster-apps-operator/blob/28d9692bdff1e1f8a95b948cb91f593a5ec97536/helm/cluster-apps-operator/values.yaml#L3).

## Branches

- `master`
- Latest version using Helm 3.
- `helm2`
- Legacy support for Helm 2.

## app CR

The operator deploys charts hosted in a Helm repository. The app CRs are
used to generate chart CRs managed by [chart-operator] which is our agent
for automating deployments with Helm.

### Example app CR

```yaml
apiVersion: application.giantswarm.io/v1alpha1
kind: App
metadata:
creationTimestamp: null
labels:
app-operator.giantswarm.io/version: 1.0.0
name: prometheus
namespace: default
spec:
catalog: my-playground-catalog
config:
configMap:
name: f2def-cluster-values
namespace: f2def
secret:
name: f2def-cluster-values
namespace: f2def
kubeConfig:
context:
name: f2def
inCluster: false
secret:
name: f2def-kubeconfig
namespace: f2def
name: prometheus
namespace: monitoring
userConfig:
configMap:
name: prometheus-user-values
namespace: f2def
secret:
name: prometheus-user-values
namespace: f2def
version: 1.0.1
```
## Getting Project
Clone the git repository: https://github.com/giantswarm/app-operator.git
### How to build
Build it using the standard `go build` command.

```
go build github.com/giantswarm/app-operator
```
### Updating Chart CRD
- For workload clusters app-operator manages the chart CRD.
- When changes are made in [apiextensions-application](https://github.com/giantswarm/apiextensions-application)
they need to be synced here.
```sh
$ make sync-chart-crd
```

## Contact

- Mailing list: [giantswarm](https://groups.google.com/forum/!forum/giantswarm)
- IRC: #[giantswarm](irc://irc.freenode.org:6667/#giantswarm) on freenode.org
- Bugs: [issues](https://github.com/giantswarm/app-operator/issues)

## Contributing & Reporting Bugs

See [CONTRIBUTING](CONTRIBUTING.md) for details on submitting patches, the
contribution workflow as well as reporting bugs.

## License

app-operator is under the Apache 2.0 license. See the [LICENSE](LICENSE) file for
details.



[chart-operator]: https://github.com/giantswarm/chart-operator
[helm]: https://github.com/helm/helm
[operatorkit]: https://github.com/giantswarm/operatorkit
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
annotations:
application.giantswarm.io/metadata: https://giantswarm.github.io/control-plane-test-catalog/app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/main.yaml
application.giantswarm.io/readme: https://giantswarm.github.io/control-plane-test-catalog/app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/README.md
application.giantswarm.io/team: honeybadger
application.giantswarm.io/values-schema: https://giantswarm.github.io/control-plane-test-catalog/app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz-meta/values.schema.json
config.giantswarm.io/version: 1.x.x
chartApiVersion: v1
chartFile: app-operator-6.11.2-b5dae5f1f61d1e59c5bc0a126a3de03896724585.tgz
dateCreated: '2024-11-06T08:47:57.000746Z'
digest: 36812df9d893977df1439cf37b81a22d055c66e52d56f8c2d5305d7e95ce0212
home: https://github.com/giantswarm/app-operator
icon: https://s.giantswarm.io/app-icons/giantswarm/1/dark.svg
Original file line number Diff line number Diff line change
@@ -0,0 +1,270 @@
{
"$schema": "http://json-schema.org/schema#",
"type": "object",
"properties": {
"app": {
"type": "object",
"properties": {
"dependencyWaitTimeoutMinutes": {
"type": "integer"
},
"watchNamespace": {
"type": "string"
},
"workloadClusterID": {
"type": "string"
}
}
},
"bootstrapMode": {
"type": "object",
"properties": {
"apiServerPodPort": {
"type": "integer"
},
"enabled": {
"type": "boolean"
}
}
},
"deployment": {
"type": "object",
"properties": {
"management": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
},
"requests": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
}
}
},
"workload": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
},
"requests": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
}
}
}
}
},
"global": {
"type": "object",
"properties": {
"podSecurityStandards": {
"type": "object",
"properties": {
"enforced": {
"type": "boolean"
}
}
}
}
},
"groupID": {
"type": "integer"
},
"helm": {
"type": "object",
"properties": {
"http": {
"type": "object",
"properties": {
"clientTimeout": {
"type": "string"
}
}
}
}
},
"image": {
"type": "object",
"properties": {
"repository": {
"type": "string"
},
"tag": {
"type": "string"
}
}
},
"kubernetes": {
"type": "object",
"properties": {
"disableClientCache": {
"type": "boolean"
}
}
},
"kyvernoPolicyExceptions": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
},
"name": {
"type": "string"
},
"namespace": {
"type": "string"
},
"operatorkit": {
"type": "object",
"properties": {
"resyncPeriod": {
"type": "string"
}
}
},
"podSecurityContext": {
"type": "object",
"properties": {
"runAsNonRoot": {
"type": "boolean"
},
"seccompProfile": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
}
}
}
},
"port": {
"type": "integer"
},
"project": {
"type": "object",
"properties": {
"branch": {
"type": "string"
},
"commit": {
"type": "string"
}
}
},
"protocol": {
"type": "string"
},
"provider": {
"type": "object",
"properties": {
"kind": {
"type": "string"
}
}
},
"registry": {
"type": "object",
"properties": {
"domain": {
"type": "string"
}
}
},
"replicas": {
"type": "integer"
},
"securityContext": {
"type": "object",
"properties": {
"allowPrivilegeEscalation": {
"type": "boolean"
},
"capabilities": {
"type": "object",
"properties": {
"drop": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"privileged": {
"type": "boolean"
},
"runAsNonRoot": {
"type": "boolean"
},
"seccompProfile": {
"type": "object",
"properties": {
"type": {
"type": "string"
}
}
}
}
},
"serviceMonitor": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"interval": {
"type": "string"
},
"scrapeTimeout": {
"type": "string"
}
}
},
"userID": {
"type": "integer"
},
"verticalPodAutoscaler": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
}
}
}
}
Loading

0 comments on commit 810adf7

Please sign in to comment.