Commit Graph

48 Commits

Author SHA1 Message Date
Sean Eagan a5730f8db8 Remove Tiller
For now we leave the tiller status enpdpoint, until
Shipyard has had a release to stop depending on it [0].

[0]: https://review.opendev.org/c/airship/shipyard/+/802718

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: If8a02d7118f6840fdbbe088b4086aee9a18ababb
2021-10-05 02:41:32 +00:00
Sean Eagan f3842f9fe1 Use helm 3 in chart build
`helm serve` is removed in helm 3 so this moves
to using local `file://` dependencies [0] instead.

[0]: https://helm.sh/docs/chart_best_practices/dependencies/#repository-urls

Signed-off-by: Sean Eagan <seaneagan1@gmail.com>
Change-Id: I2282e231591a89073e65d9db3f59e1baea707380
2021-10-05 02:41:21 +00:00
Phil Sphicas a3f11e5873 Tiller: listen on localhost by default
This change introduces a configuration option to control whether Tiller
listens on any IP addresses (the previous default), or binds only to
127.0.0.1 (the new default).

The same option is used for both the Armada and Tiller charts:
    .conf.tiller.listen_on_any (default: false)

The affected tiller command line argument is:
    -listen 127.0.0.1:port (if false)
    -listen :port (if true)

Listening on any address allows Helm client direct access to Tiller, via
'helm --host pod_ip:port'.

Listening on localhost does prevent connections directly to the pod IP,
but it does not preclude the use of 'kubectl port-forward' to establish
a connection to Tiller.

The Tiller container in the Armada pod exists only to service Armada via
127.0.0.1. The Helm client automatically sets up port forwarding (if it
has access to the Kubernetes API). As a result, this change should be
non-impacting. However, the previous behavior can be restored by setting
.conf.tiller.listen_on_any=true.

Change-Id: Id308976bac21cc521e8470516ce49ebd1942da68
2021-04-22 20:29:02 +00:00
Angie Wang b0980f7a87 Add configurations for helm/tiller sql storage backend
This adds two parameters to the armada and tiller charts
to allow to configure sql storage backend [0].

[0]: https://v2.helm.sh/docs/install/#sql-storage-backend

Change-Id: Iba621c4ebcb0e34d514358ac5970697e2215166c
Signed-off-by: Angie Wang <angie.wang@windriver.com>
2020-10-27 14:19:46 -04:00
Andrii Ostapenko 45ffa16648
Change helm-toolkit dependency version to ">= 0.1.0"
Since we introduced chart version check in gates, requirements are not
satisfied with strict check of 0.1.0

Change-Id: I70a3306b3722bfa0116d415ef11ed407eddf6834
2020-09-24 19:42:34 -05:00
KAVVA, JAGAN MOHAN REDDY (jk330k) 36efc4828d Move Tiller version to 2.16.9
Update Helm chart for Armada to use Tiller version 2.16.9.

depends on: https://review.opendev.org/#/c/749497/

Change-Id: I16f7a5e8e571f067154e79a5f2ceb18be7d8db2d
2020-09-17 10:48:44 -05:00
KHIYANI, RAHUL (rk0850) 6cc6346cde Add Docker default AppArmor profile to tiller chart
Change-Id: Ia8f876a9395a6fe4f18613f8f5318db3079a7ec1
2020-02-17 15:58:56 +00:00
Sean Eagan f688313341 Fix tiller kubernetes client caching
The cache dir could no longer be written to when
readOnlyRootFilesystem went into effect [0].

This adds a configurable volume/mount for the cache dir.

[0]: https://review.opendev.org/#/c/703881/

Change-Id: I63a7c8575041aa3c6fd523213f8dffb0542fb0e5
2020-02-06 15:09:56 -06:00
Zuul adc8f306aa Merge "Fix port conflict for tiller" 2020-02-03 15:27:22 +00:00
Kumar, Nishant (nk613n) 2203d1dad0 Fix port conflict for tiller
This change is primarily based on this PS-https://review.opendev.org/#/c/659369/

Change-Id: Ia213445be76b58870bec009b75a16a4e3374a5c3
2020-01-27 11:13:57 -06:00
KHIYANI, RAHUL (rk0850) da0f6e61ba Tiller-deploy: Add pod/container security context
This updates the tiller chart to include the pod
security context on the pod template.

This also adds the container security context to set
readOnlyRootFilesystem flag to true

Change-Id: I08694e58d057c04f7ba30ded5dca1207ceaac5e2
2020-01-22 16:09:56 -06:00
Samuel Pilla 50384e47c7 Upgrade Tiller to v2.16.1
This leaves support in Armada for tiller 2.13+ as
we don't use any new features since then, so don't
need to require a newer version.

Change-Id: I6e5343fe942794987bec140e23208dd04fcbfd44
2019-12-05 18:44:25 +00:00
Zuul 5fae57d179 Merge "Allow configuration of armada-api/tiller probes" 2019-10-11 14:33:38 +00:00
Zuul e88cbafd62 Merge "Use apps/v1 k8s controllers and add labels" 2019-10-08 20:29:12 +00:00
Itxaka d90eb125ed
Allow configuration of armada-api/tiller probes
Allows to configure the probes via values.yaml in both
the armada charts, which includes armada and tiller
containers, and in the standalone tiller chart

Also bumps the osh sha in tools/helm_tk.sh to latest
22ef25ab295d6b7c6797cfffaa77cf181c673e9b

Change-Id: I0bb0acf00ecc0b61f8d324fe9b6a8507c361e9fc
2019-10-07 20:49:26 +02:00
Hemanth Nakkina 1548d845ab Use apps/v1 k8s controllers and add labels
Update apiversion for ClusterRole, ClusterRoleBinding to rbac.authorization.k8s.io/v1
Update apiversion for deployment to apps/v1
Add selector match labels to deployment

This patch is similar to https://review.opendev.org/#/c/638276/
These changes are required to install armada, tiller helm charts against k8s 1.16.0

Change-Id: Ife08b4af4721c6c49c9c6faadd7fd31aa8700b39
2019-10-01 03:09:42 +05:30
Sean Eagan 3e40262ce3 Fix tiller storage configuration
Removes extra quotes which were getting included as
part of the storage argument.

Change-Id: I3e5c165694dc036b21ad14cf1b25648971d232c5
2019-09-27 13:50:25 -05:00
Zuul d5ab6a05c4 Merge "Allow to configure service network policy" 2019-09-27 10:36:41 +00:00
Sean Eagan 6c97853c26 Add configuration for tiller storage
This adds a parameter to the armada and tiller charts
to configure the tiller storage [0] type. For backward
compatibility, by default the parameter is not passed
to tiller, thus relying on the upstream default, which
is 'configmap'.

[0]: https://helm.sh/docs/using_helm/#tiller-s-release-information

Change-Id: I5d2a7558e3847331a0ce95c15b2e741f96130674
2019-09-23 10:02:23 -05:00
Evgeny L 2d320ff0aa Allow to configure service network policy
The patch introduces network policy configuration similar
to openstack-helm services. It allows users to configure
policies depending on the environment.

* Network policies are disabled by default.
* When enabled default policies allow all ingress and
  egress traffic (i.e. policy set to {}), this may be
  changed in future patch-sets.

Change-Id: Ie14a652830b4366e070ded91f8bbf83ca24d1007
2019-09-20 19:49:07 +00:00
Sean Eagan 42b972181a Fix release_uuid annotations
- Re-add annotation that was accidentally removed
- Fix wrong indentation
- Use programmatic indentation consistently

Change-Id: Ief9eb709d4db1152f133873bf68ef234649f20a9
2019-09-05 08:03:53 -05:00
Zuul 082aa624db Merge "Add release uuid annotation to POD spec" 2019-06-26 11:32:49 +00:00
Kumar, Nishant(nk613n) 6f608fd8cd Add release uuid annotation to POD spec
Change-Id: I1de990aa377cff5fcf9ce3918c22e81021521d44
2019-06-25 14:50:24 +00:00
Dejaeger, Darren (dd118r) c25533ae3d Add node selector to test pod and standalone tiller
This PS looks to add a node selector into the test pod's spec,
as well as the standalone tiller's spec.

Change-Id: I8d2054f0d9d360cb6baaa7ff636348c5a4d18149
2019-06-20 11:26:31 -04:00
Sean Eagan 9573afd3c2 Prevent tiller from leaving releases in pending status
In general, stuck pending statuses can be avoided by not enabling
the tiller native wait flag when updating releases, since tiller
then marks the release completed directly after applying the
resources to kubernetes.

However, when updating tiller itself, once kubernetes sees the
updated tiller resource, it can bring tiller down
before it has a chance to mark the release which contains tiller
as completed, leaving it in pending status.

This adds a preStop hook to both the standalone and sidecar tiller
containers to simply sleep to give them a chance to finish updating
their release, before terminating.

Ideally tiller would handle this on its own
via signal handling, but it doesn't. We could try to query for
the absence of PENDING_*** releases via `helm ls` before exiting,
however the helm CLI is not available inside the tiller image, and
those releases could be getting updated from another tiller instance,
or had already got stuck in that state previously, in which case we
don't want to hold up tiller termination.

Change-Id: I300c613f2a89eb1406531ce0a9af85c429a886f2
2019-06-17 09:18:37 -05:00
Drew Walters 12f4e8d2c3 tools: Update Helm to v2.13.1
Helm v2.13.1 has been released [0], and is the next version of Helm
Armada is compatible with. Currently, Armada is not compatible with the
latest version of Helm toolkit due to a divergence caused in Helm v2.13.
This change uplifts Helm to v2.13.1 to restore compatibility with the
latest version of Helm toolkit.

[0] https://github.com/helm/helm/releases/tag/v2.13.1

Change-Id: Ieaf2475562c56530b6ec69c6a43611b4b47b7c83
2019-03-28 15:19:28 +00:00
Zuul 03dd1f27c1 Merge "Update missed refs to tiller 2.12.1" 2019-02-04 20:28:16 +00:00
Sean Eagan f54e316ddc Update missed refs to tiller 2.12.1
Update tiller version refs missed in the initial uplift [0].

[0]: https://review.openstack.org/#/c/630325/

Change-Id: I891d1a7ddcecdd25f0bdc5a95dc5301e79c7714c
2019-01-28 17:11:57 -06:00
Drew Walters 3abea31a1f CI: Add chart build gate
This commit introduces a chart build gate that triggers when changes are
made to charts in the charts/ directory.

Change-Id: Ieec10c36adfd0538e70ac47ad30ce314f24f712f
2019-01-28 11:35:58 -06:00
Mark Burnett eb7c112d2e Remove unused service from tiller chart
Change-Id: I398969076753b9f659319162fb24ac99abdbc62c
2018-09-27 10:41:15 -05:00
Matt McEuen 90618f549c Add release uuid to pods and rc objects
This PS adds the ability to attach a release uuid to pods and rc
objects as desired.  This can be used, for example, to force an
artificial manifest change in CICD scenarios, for upgradability
testing purposes.

Change-Id: I77147ca778d70ee6337c609185bbe421c040376a
2018-09-14 15:25:49 -05:00
Sean Eagan 9c3ebe68c7 Move to tiller v2.10.0
- Update Helm to v2.10.0
- Update hapi protoc gen files

Change-Id: Ibcf813e4d79df104e972fae9f9328fb49b403649
2018-08-28 17:07:31 -05:00
Marshall Margenau 68a507e81b Update Helm version
- Update Helm to v2.9.1
- Update hapi protoc gen files
- Update kubernetes client to >=6

Change-Id: I53480e26683cbaa2b148aaa0f574ee7fb6147ce5
2018-07-20 16:08:28 +00:00
Aaron Sheffield 8e47a11934 Update tiller Labels
- Adding labels to the metadata section.

Change-Id: I95589810c1378a0a4a8bfb35cb7d321c839846e3
2018-06-26 14:23:34 -05:00
Aaron Sheffield 5e0b8c7e5c Updated and Fixed Tiller Labels
- Added labels to tiller deploy.
- Updated labels location in tiller service.

Change-Id: I8e71731ccea27738b59b4eaabe4fda32b5a4da53
2018-06-25 15:07:28 -05:00
Aaron Sheffield 48c19d37aa Add Pod Labels for Tiller
- Using helm-toolkit to add labels to tiller.

Change-Id: Ic8d36efc5c99e769298375931fda86033db77327
2018-06-22 16:05:24 -05:00
Zuul 19efc1ad03 Merge "Chart: Update Armada charts and make target" 2018-05-30 20:24:18 +00:00
Sean Eagan fe310b194e Remove references to old git repos
This removes references to the old att-comdev git repos, either updating
to the openstack github mirror or deleting as appropriate. Old project
name (UCP) references are left alone for now.

Change-Id: I53b294a3c574fa0bca4037e5e00ad31d92f26977
2018-05-29 10:15:13 -05:00
Pete Birley 058ea0edfb Chart: Update Armada charts and make target
This PS updates the Armada charts to be compaible with the current
helm-toolkit and also fixes the makefile.

Change-Id: Idf3113237f7fe8f80a70a727536df1419e270fc7
Signed-off-by: Pete Birley <pete@port.direct>
2018-05-21 20:05:34 +00:00
Anthony Lin 53dda10638 [398398] Add Armada/Tiller Resource Limits
1) Add resource limits
2) Add Liveness and Readiness Probes for Armada API
3) Remove duplicated Tiller deployment/service that is
   in the armada directory

Change-Id: I9a76ab177c8d71ba7ea6e4e0d265c3d70ba970dd
2018-03-29 00:44:27 +00:00
Scott Hussey b9e96b0f47 Enable tracing ability for tiller
- High verbosity doesn't log all RPC calls. So now allow tracing
  to be enabled on a deployment.

Change-Id: I12fe2ee9d1685906fcbbb6a417e249b793e8861c
2018-03-09 14:29:07 -06:00
Scott Hussey 59ae1fd767 Make tiller verbosity tunable
- conf.tiller.verbosity now sets the verbosity that tiller
  runs at within the pod. Default is "5".
- Update Makefile and helm_tk.sh so that 'make dry-run' and
  'make helm-lint' works for both tiller and armada charts

Change-Id: Ie1a8f2b44ea626af251915a762db3846784b4da4
2018-03-07 15:37:24 -06:00
Marshall Margenau e1b64d200b style(armada): quality of life and cleanup
- adding .editorconfig file
- minor cleanup in various files related to .editorconfig
- typos, whitespace, etc.
- other general housekeeping items on the codebase

Change-Id: I104f8dcb06aafb180da12f7ee4c0ded41fc07b9d
2018-02-12 10:27:11 -05:00
Hemanth Nakkina 72ac86329f fix(tiller): change manifest name for tiller service in chart values
Manifests key for tiller service used in template and values is
different. Change the values.yaml as per the name specified in
template files.

Closes #193 https://github.com/att-comdev/armada/issues/193

Change-Id: I4922cc6ac41ffb362bb86d5123a74825edf61c2b
2018-02-08 22:07:52 -05:00
Anthony Lin 146cf2f9e6 Update Armada Tiller Chart
We are seeing error [0] during deployment.

This is an attempt to fix the issue.

[0] Error Messages

StatusCode.UNKNOWN, configmaps is forbidden:
User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"

Change-Id: I9b962d3b173fc59685c95901581c4ad0f31aa4b9
2018-01-27 03:40:02 +00:00
Scott Hussey 06dfbb0584 Add tiller service account
- Create the 'tiller' service account
- Apply a cluster-admin role binding to this tiller

Change-Id: I0b8430bcbd76bff46ea57803d2c9d535c5301e2d
2018-01-25 10:21:24 -06:00
sb464f dcb8e66514 Bump tiller version to 2.7.2
Change-Id: I7f2ce42732e6402f990cea419d5ed2230fa3c047
2018-01-22 23:37:43 +00:00
gardlt 1887c0afb6 feat(chart): adding-tiller
- created tiller chart

Change-Id: Ia03d13bc05366d8a1f2e69073d732eee559826e0
2017-12-11 18:43:11 +00:00